allow-publish-version v1.0.0-rc.1
Allow Publish Version
Allow Publish Version util protects your NPM package from being accidentally
published with invalid version. Use it with prepublishOnly script of package.json.
It will check your package version to be valid NPM subset of semver
with exact prerelease record. Valid versions might look like 1.0.0 or 1.0.0-beta.1.
Installation
npm i allow-publish-versionUsage
- Add
prepublishOnlyscript inpackage.json. - Run
npm publishwhen you're ready to publish your package, ornpm publish --dry-runto test.
Example package.json:
{
"version" : "1.0.0-alpha.1",
"scripts": {
"prepublishOnly": "allow-publish-version"
},
}By default there will be alpha, beta and rc prereleases allowed.
Examples
Valid versions:
1.0.0
1.0.0-pre.1
1.0.0-pre.beta.1Invalid versions:
1.0 # Not a valid semver.
1.0.0-beta # No prerelease version.
1.0.0-pre.0 # Prerelease index should start from 1.
1.0.0-pre.1.0 # Prerelease name couldn't contain numbers.
1.0.0-beta.0+x64 # Builds are not supported by NPM.Configuration
APV could be configured to use another prerelease scheme with package.json.
{
"version" : "1.0.0-nightly.1",
"scripts": {
"prepublishOnly": "allow-publish-version"
},
"allowPublishVersion": {
"prereleases": ["nightly", "beta"]
}
}API
AllowPublishVersionRecord
AllowPublishVersionFlag | AllowPublishVersionList | AllowPublishVersionDictConfiguration value AllowPublishVersionRecord describes the value of allowPublishVersion field of package.json.
AllowPublishVersionFlag
trueBoolean value true turns default APV configuration on.
Example:
{
"allowPublishVersion": true
}AllowPublishVersionList
Array<string>Array should contain allowed prerelease names or picomatch-compatible glob patterns.
Example:
{
"allowPublishVersion": ["beta", "pre.*"]
}AllowPublishVersionDict
{
prereleases: Array<string>
}Dictionary holds single field prereleases. This field contains allowed prerelease names or picomatch-compatible glob patterns.
Example:
{
"allowPublishVersion": {
"prereleases": ["beta", "pre.*"]
}
}License
MIT.
5 years ago