diff options
-rw-r--r-- | package.json | 2 | ||||
-rw-r--r-- | scripts/installable.sh | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/package.json b/package.json index 6838c2938..e959f48fd 100644 --- a/package.json +++ b/package.json @@ -180,7 +180,7 @@ "tap": "tap --timeout 240 test/tap/*.js", "test-all": "npm run test-legacy && npm test", "preversion": "bash scripts/update-authors.sh && git add AUTHORS && git commit -m \"update AUTHORS\" || true", - "prepublish": "node bin/npm-cli.js prune --prefix=. --no-global && rimraf test/*/*/node_modules && make -j4 doc", + "prepublish": "bash scripts/installable.sh && node bin/npm-cli.js prune --prefix=. --no-global && rimraf test/*/*/node_modules && make -j4 doc", "dumpconf": "env | grep npm | sort | uniq" }, "license": "Artistic-2.0" diff --git a/scripts/installable.sh b/scripts/installable.sh new file mode 100644 index 000000000..1d5a90c29 --- /dev/null +++ b/scripts/installable.sh @@ -0,0 +1,13 @@ +#!/bin/bash +npmver=$(perl -E "say q{$npm_config_user_agent} =~ m{/(\S+)}") + +if semver -r ^3.0.0-0 $npmver > /dev/null; then + echo "Packaging with $npmver" +else + echo "[0;41;4mPackaging or installing [1mnpm@$npm_package_version[22m with [1mnpm@$npmver[22m is impossible.[0m" 1>&2 + echo "[0;41;3mPlease install [1mnpm@^3.0.0-0[22m from the registry and use that or run your command with[0m" 1>&2 + echo "[0;41;3mthis version of npm with:[0m" 1>&2 + npmargs=$(node -e "a=$npm_config_argv; console.log(a.original.join(' '))") + echo "[1m $npm_node_execpath $PWD $npmargs[0m" 1>&2 + exit 1 +fi |