1NPM-VERSION(1) NPM-VERSION(1)
2
3
4
6 npm-version - Bump a package version
7
8 Synopsis
9 npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]
10
11 'npm [-v | --version]' to print npm version
12 'npm view <pkg> version' to view a package's published version
13 'npm ls' to inspect current package/dependency versions
14
15 Description
16 Run this in a package directory to bump the version and write the new
17 data back to package.json, package-lock.json, and, if present,
18 npm-shrinkwrap.json.
19
20 The newversion argument should be a valid semver string, a valid second
21 argument to semver.inc https://github.com/npm/node-semver#functions
22 (one of patch, minor, major, prepatch, preminor, premajor, prerelease),
23 or from-git. In the second case, the existing version will be incre‐
24 mented by 1 in the specified field. from-git will try to read the lat‐
25 est git tag, and use that as the new npm version.
26
27 If run in a git repo, it will also create a version commit and tag.
28 This behavior is controlled by git-tag-version (see below), and can be
29 disabled on the command line by running npm --no-git-tag-version ver‐
30 sion. It will fail if the working directory is not clean, unless the
31 -f or --force flag is set.
32
33 If supplied with -m or --message config option, npm will use it as a
34 commit message when creating a version commit. If the message config
35 contains %s then that will be replaced with the resulting version num‐
36 ber. For example:
37
38 npm version patch -m "Upgrade to %s for reasons"
39
40 If the sign-git-tag config is set, then the tag will be signed using
41 the -s flag to git. Note that you must have a default GPG key set up
42 in your git config for this to work properly. For example:
43
44 $ npm config set sign-git-tag true
45 $ npm version patch
46
47 You need a passphrase to unlock the secret key for
48 user: "isaacs (http://blog.izs.me/) <i@izs.me>"
49 2048-bit RSA key, ID 6C481CF6, created 2010-08-31
50
51 Enter passphrase:
52
53 If preversion, version, or postversion are in the scripts property of
54 the package.json, they will be executed as part of running npm version.
55
56 The exact order of execution is as follows:
57
58 1. Check to make sure the git working directory is clean before we get
59 started. Your scripts may add files to the commit in future steps.
60 This step is skipped if the --force flag is set.
61
62 2. Run the preversion script. These scripts have access to the old ver‐
63 sion in package.json. A typical use would be running your full test
64 suite before deploying. Any files you want added to the commit
65 should be explicitly added using git add.
66
67 3. Bump version in package.json as requested (patch, minor, major,
68 etc).
69
70 4. Run the version script. These scripts have access to the new version
71 in package.json (so they can incorporate it into file headers in
72 generated files for example). Again, scripts should explicitly add
73 generated files to the commit using git add.
74
75 5. Commit and tag.
76
77 6. Run the postversion script. Use it to clean up the file system or
78 automatically push the commit and/or tag.
79
80
81 Take the following example:
82
83 "scripts": {
84 "preversion": "npm test",
85 "version": "npm run build && git add -A dist",
86 "postversion": "git push && git push --tags && rm -rf build/temp"
87 }
88
89 This runs all your tests, and proceeds only if they pass. Then runs
90 your build script, and adds everything in the dist directory to the
91 commit. After the commit, it pushes the new commit and tag up to the
92 server, and deletes the build/temp directory.
93
94 Configuration
95 allow-same-version
96 • Default: false
97
98 • Type: Boolean
99
100
101 Prevents throwing an error when npm version is used to set the new ver‐
102 sion to the same value as the current version.
103
104 git-tag-version
105 • Default: true
106
107 • Type: Boolean
108
109
110 Commit and tag the version change.
111
112 commit-hooks
113 • Default: true
114
115 • Type: Boolean
116
117
118 Run git commit hooks when committing the version change.
119
120 sign-git-tag
121 • Default: false
122
123 • Type: Boolean
124
125
126 Pass the -s flag to git to sign the tag.
127
128 Note that you must have a default GPG key set up in your git config for
129 this to work properly.
130
131 See Also
132 • npm help init
133
134 • npm help run-script
135
136 • npm help scripts
137
138 • npm help package.json
139
140 • npm help semver
141
142 • npm help config
143
144
145
146
147 April 2021 NPM-VERSION(1)