upver
v1.0.0
Published
Updates the version string within a list of files with a new version string, and `git add`s the changed files.
Downloads
13
Readme
upver
Updates the version string within a list of files with a new version string, and
git add
s the changed files.
This module can be used with corp-semantic-release or plain NPM to update the version number in a list of files when the package's version number is changed. See Usage
Install
npm install upver
- Create a YAML configuration file with this format (and note the
<@VERSION@>
placeholder for the new version string):
- file: path/to/file/relative/to/project/root.yml
search: Regex search for, e.g.: '"version": (".+")'
replacement: The tet to replace the search string. E.g. '"version": "<@VERSION@>"'
- file: ...
search: ...
replacement: ...
- Configure
package.json
to point to the location of the above configuration file:
"config": {
"upver": "path/to/upver/config.file.yml"
}
Usage
This module gets the version number as an argument to the module, or from package.json
.
There are three ways you could use upver
:
The files that are changed are git add
ed in preparation for the changes being committed by npm version
in subsequent steps.
In the following example, upver
does NOT receive the version as an argument but queries package.json
to get the bumped version.
"scripts": {
"version": "upver"
}
The files that are changed are git add
ed in preparation for the changes being committed corp-semantic-release
in subsequent steps.
Both of the following examples are equivalent:
"scripts": {
"corp-release": "corp-semantic-release --pre-commit updateFiles",
"updateFiles": "upver"
}
"scripts": {
"corp-release": "corp-semantic-release",
"version": "upver"
}
NOTE: semantic-release
does not commit file changes to git, but rather publishes the changes to NPM, then uploads a ZIP file to GitHub.
This means that the files versioned by upver
will only contain the correct version when you install the module (not in git or on your
file-system). That's just how the semantic-release
tool works.
Example:
"scripts": {
"semantic-release": "semantic-release pre && upver && npm publish && semantic-release post"
}
Contributing
See CONTRIBUTING.md.
License
This software is licensed under the MIT Licence. See LICENSE.