Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic conversion using init does not take into account $npm_package #226

Open
ben-eb opened this issue Dec 13, 2020 · 0 comments
Open

Comments

@ben-eb
Copy link

ben-eb commented Dec 13, 2020

  • nps version: 5.10.0
  • node version: 12.16.1
  • npm version: 6.13.4

Scripts file (or at least the relevant bits):

module.exports = {
  scripts: {
    build: 'eleventy --input src --output dst',
    develop: '$npm_package_scripts_build --serve',
    test: 'echo "Error: no test specified" && exit 1'
  }
};

The command executed:

nps develop

The output:

nps is executing `develop` : $npm_package_scripts_build --serve
/bin/sh: --serve: command not found
The script called "develop" which runs "$npm_package_scripts_build --serve" failed with exit code 127 https://github.com/sezna/nps/blob/master/other/ERRORS_AND_WARNINGS.md#failed-with-exit-code

Problem description:

npm allows templating in values from package.json; a script like $npm_package_scripts_build --serve would be expanded out to eleventy --input src --output dst --serve (given a build script of eleventy --input src --output dst). As nps init blows away the existing scripts, even if this variable were templated in it would not be valid.

Suggested solution:

Perhaps it could be enough to throw on init if one of these variables are found, since automatic conversion is not necessarily what you want. For instance, you could have a script like this:

{
  "scripts": {
    "version": "echo Current version: v$npm_package_version"
  }
}

Capturing the version as a static value into your package-scripts.js on nps init is not equivalent here. 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant