diff --git a/package.json b/package.json index 1fd7f4e..1df7bfb 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "author": "elastic.io GmbH ", "engine": "node >=4.1.0", "scripts": { + "prepublish": "./prepublish.js", "pretest": "gulp jscs", "test": "gulp test" }, diff --git a/prepublish.js b/prepublish.js new file mode 100755 index 0000000..df07a08 --- /dev/null +++ b/prepublish.js @@ -0,0 +1,14 @@ +#! /usr/bin/env node + +var re = /^\d\d?\.\d\d?\.\d\d?$/; +var version = require('./package.json').version; +var versionIsPrerelease = !re.test(version); +var npmTagIsLatest = process.env.npm_config_tag === 'latest'; +var publishShouldBeRejected = npmTagIsLatest && versionIsPrerelease; + +if (publishShouldBeRejected) { + console.error('It seems that version "%s" is pre-release. Rejecting publishing it to latest npm tag.', version); + console.error(' Did you mean this?'); + console.error(' npm publish --tag=dev'); + process.exit(1); +}