@@ -58,13 +58,18 @@ npx release-it
58
58
59
59
You will be prompted to select the new version, and more prompts will follow based on your configuration.
60
60
61
+ ## Experimental: knowledge base
62
+
63
+ You might want to ask your questions in the [ Release It! knowledge base] [ 14 ] (powered by OpenAI and [ 7-docs] [ 15 ] ). This
64
+ is an experimental knowledge base, answers may be incorrect.
65
+
61
66
## Yarn
62
67
63
- Using Yarn? Please see the [ npm section on Yarn] [ 14 ] .
68
+ Using Yarn? Please see the [ npm section on Yarn] [ 16 ] .
64
69
65
70
## Monorepos
66
71
67
- Using a monorepo? Please see this [ monorepo recipe] [ 15 ] .
72
+ Using a monorepo? Please see this [ monorepo recipe] [ 17 ] .
68
73
69
74
## Global Installation
70
75
@@ -76,13 +81,13 @@ Per-project installation as shown above is recommended, but global installs are
76
81
## GitHub Actions
77
82
78
83
Want to use release-it with GitHub Actions to fully automate the whole process? Enjoy this great walk-through: [ How to
79
- use GitHub Actions & Release-It to Easily Release Your Code] [ 16 ] (by [ David from Kodaps] [ 17 ] ).
84
+ use GitHub Actions & Release-It to Easily Release Your Code] [ 18 ] (by [ David from Kodaps] [ 19 ] ).
80
85
81
86
→ See [ Continuous Integration environments] [ 9 ] for more details.
82
87
83
88
## Configuration
84
89
85
- Out of the box, release-it has sane defaults, and [ plenty of options] [ 18 ] to configure it. Most projects use a
90
+ Out of the box, release-it has sane defaults, and [ plenty of options] [ 20 ] to configure it. Most projects use a
86
91
` .release-it.json ` file in the project root, or a ` release-it ` property in ` package.json ` .
87
92
88
93
Here's a quick example ` .release-it.json ` :
@@ -98,7 +103,7 @@ Here's a quick example `.release-it.json`:
98
103
}
99
104
```
100
105
101
- → See [ Configuration] [ 19 ] for more details.
106
+ → See [ Configuration] [ 21 ] for more details.
102
107
103
108
## Interactive vs. CI mode
104
109
@@ -116,15 +121,15 @@ Use `--only-version` to use a prompt only to determine the version, and automate
116
121
117
122
How does release-it determine the latest version?
118
123
119
- 1 . For projects with a ` package.json ` , its ` version ` will be used (see [ npm] [ 20 ] to skip this).
124
+ 1 . For projects with a ` package.json ` , its ` version ` will be used (see [ npm] [ 22 ] to skip this).
120
125
2 . Otherwise, release-it uses the latest Git tag to determine which version should be released.
121
126
3 . As a last resort, ` 0.0.0 ` will be used as the latest version.
122
127
123
128
Alternatively, a plugin can be used to override this (e.g. to manage a ` VERSION ` or ` composer.json ` file):
124
129
125
- - [ @release-it/bumper ] [ 21 ] to read from or bump the version in any file
126
- - [ @release-it/conventional-changelog ] [ 22 ] to get a recommended bump based on commit messages
127
- - [ release-it-calver-plugin] [ 23 ] to use CalVer (Calendar Versioning)
130
+ - [ @release-it/bumper ] [ 23 ] to read from or bump the version in any file
131
+ - [ @release-it/conventional-changelog ] [ 24 ] to get a recommended bump based on commit messages
132
+ - [ release-it-calver-plugin] [ 25 ] to use CalVer (Calendar Versioning)
128
133
129
134
Add the ` --release-version ` flag to print the ** next** version without releasing anything.
130
135
@@ -133,35 +138,35 @@ Add the `--release-version` flag to print the **next** version without releasing
133
138
Git projects are supported well by release-it, automating the tasks to stage, commit, tag and push releases to any Git
134
139
remote.
135
140
136
- → See [ Git] [ 24 ] for more details.
141
+ → See [ Git] [ 26 ] for more details.
137
142
138
143
## GitHub Releases
139
144
140
145
GitHub projects can have releases attached to Git tags, containing release notes and assets. There are two ways to add
141
- [ GitHub releases] [ 25 ] in your release-it flow:
146
+ [ GitHub releases] [ 27 ] in your release-it flow:
142
147
143
148
1 . Automated (requires a ` GITHUB_TOKEN ` )
144
149
2 . Manual (using the GitHub web interface with pre-populated fields)
145
150
146
- → See [ GitHub Releases] [ 26 ] for more details.
151
+ → See [ GitHub Releases] [ 28 ] for more details.
147
152
148
153
## GitLab Releases
149
154
150
155
GitLab projects can have releases attached to Git tags, containing release notes and assets. To automate [ GitLab
151
- releases] [ 27 ] :
156
+ releases] [ 29 ] :
152
157
153
158
- Configure ` gitlab.release: true `
154
- - Obtain a [ personal access token] [ 28 ] (release-it only needs the "api" scope).
155
- - Make sure the token is [ available as an environment variable] [ 29 ] .
159
+ - Obtain a [ personal access token] [ 30 ] (release-it only needs the "api" scope).
160
+ - Make sure the token is [ available as an environment variable] [ 31 ] .
156
161
157
- → See [ GitLab Releases] [ 30 ] for more details.
162
+ → See [ GitLab Releases] [ 32 ] for more details.
158
163
159
164
## Changelog
160
165
161
166
By default, release-it generates a changelog, to show and help select a version for the new release. Additionally, this
162
167
changelog serves as the release notes for the GitHub or GitLab release.
163
168
164
- The [ default command] [ 18 ] is based on ` git log ... ` . This setting (` git.changelog ` ) can be overridden. To further
169
+ The [ default command] [ 20 ] is based on ` git log ... ` . This setting (` git.changelog ` ) can be overridden. To further
165
170
customize the release notes for the GitHub or GitLab release, there's ` github.releaseNotes ` or ` gitlab.releaseNotes ` .
166
171
Make sure any of these commands output the changelog to ` stdout ` . Note that release-it by default is agnostic to commit
167
172
message conventions. Plugins are available for:
@@ -173,22 +178,22 @@ message conventions. Plugins are available for:
173
178
174
179
To print the changelog without releasing anything, add the ` --changelog ` flag.
175
180
176
- → See [ Changelog] [ 31 ] for more details.
181
+ → See [ Changelog] [ 33 ] for more details.
177
182
178
183
## Publish to npm
179
184
180
185
With a ` package.json ` in the current directory, release-it will let ` npm ` bump the version in ` package.json ` (and
181
186
` package-lock.json ` if present), and publish to the npm registry.
182
187
183
- → See [ Publish to npm] [ 20 ] for more details.
188
+ → See [ Publish to npm] [ 22 ] for more details.
184
189
185
190
## Manage pre-releases
186
191
187
192
With release-it, it's easy to create pre-releases: a version of your software that you want to make available, while
188
193
it's not in the stable semver range yet. Often "alpha", "beta", and "rc" (release candidate) are used as identifiers for
189
194
pre-releases. An example pre-release version is ` 2.0.0-beta.0 ` .
190
195
191
- → See [ Manage pre-releases] [ 32 ] for more details.
196
+ → See [ Manage pre-releases] [ 34 ] for more details.
192
197
193
198
## Update or re-run existing releases
194
199
@@ -218,7 +223,7 @@ Use the optional `:plugin` part in the middle to hook into a life cycle method e
218
223
The core plugins include ` version ` , ` git ` , ` npm ` , ` github ` , ` gitlab ` .
219
224
220
225
Note that hooks like ` after:git:release ` will not run when either the ` git push ` failed, or when it is configured not to
221
- be executed (e.g. ` git.push: false ` ). See [ execution order] [ 33 ] for more details on execution order of plugin lifecycle
226
+ be executed (e.g. ` git.push: false ` ). See [ execution order] [ 35 ] for more details on execution order of plugin lifecycle
222
227
methods.
223
228
224
229
All commands can use configuration variables (like template strings). An array of commands can also be provided, they
@@ -236,7 +241,7 @@ will run one after another. Some example release-it configuration:
236
241
}
237
242
```
238
243
239
- The variables can be found in the [ default configuration] [ 18 ] . Additionally, the following variables are exposed:
244
+ The variables can be found in the [ default configuration] [ 20 ] . Additionally, the following variables are exposed:
240
245
241
246
``` text
242
247
version
@@ -267,7 +272,7 @@ Using Inquirer.js inside custom hook scripts might cause issues (since release-i
267
272
268
273
Use ` --dry-run ` to show the interactivity and the commands it _ would_ execute.
269
274
270
- → See [ Dry Runs] [ 34 ] for more details.
275
+ → See [ Dry Runs] [ 36 ] for more details.
271
276
272
277
## Troubleshooting & debugging
273
278
@@ -283,62 +288,62 @@ Since v11, release-it can be extended in many, many ways. Here are some plugins:
283
288
284
289
| Plugin | Description |
285
290
| ----------------------------------------- | ----------------------------------------------------------------------------- |
286
- | [ @release-it/bumper ] [ 21 ] | Read & write the version from/to any file |
287
- | [ @release-it/conventional-changelog ] [ 22 ] | Provides recommended bump, conventional-changelog, and updates ` CHANGELOG.md ` |
288
- | [ @release-it/keep-a-changelog ] [ 35 ] | Maintain CHANGELOG.md using the Keep a Changelog standards |
289
- | [ @release-it-plugins/lerna-changelog ] [ 36 ] | Integrates lerna-changelog into the release-it pipeline |
290
- | [ @release-it-plugins/workspaces ] [ 37 ] | Releases each of your projects configured workspaces |
291
- | [ release-it-calver-plugin] [ 23 ] | Enables Calendar Versioning (calver) with release-it |
292
- | [ @grupoboticario/news-fragments ] [ 38 ] | An easy way to generate your changelog file |
293
- | [ @j-ulrich/release-it-regex-bumper ] [ 39 ] | Regular expression based version read/write plugin for release-it |
291
+ | [ @release-it/bumper ] [ 23 ] | Read & write the version from/to any file |
292
+ | [ @release-it/conventional-changelog ] [ 24 ] | Provides recommended bump, conventional-changelog, and updates ` CHANGELOG.md ` |
293
+ | [ @release-it/keep-a-changelog ] [ 37 ] | Maintain CHANGELOG.md using the Keep a Changelog standards |
294
+ | [ @release-it-plugins/lerna-changelog ] [ 38 ] | Integrates lerna-changelog into the release-it pipeline |
295
+ | [ @release-it-plugins/workspaces ] [ 39 ] | Releases each of your projects configured workspaces |
296
+ | [ release-it-calver-plugin] [ 25 ] | Enables Calendar Versioning (calver) with release-it |
297
+ | [ @grupoboticario/news-fragments ] [ 40 ] | An easy way to generate your changelog file |
298
+ | [ @j-ulrich/release-it-regex-bumper ] [ 41 ] | Regular expression based version read/write plugin for release-it |
294
299
295
300
Internally, release-it uses its own plugin architecture (for Git, GitHub, GitLab, npm).
296
301
297
- → See all [ release-it plugins on npm] [ 40 ] .
302
+ → See all [ release-it plugins on npm] [ 42 ] .
298
303
299
- → See [ plugins] [ 41 ] for documentation to write plugins.
304
+ → See [ plugins] [ 43 ] for documentation to write plugins.
300
305
301
306
## Use release-it programmatically
302
307
303
308
While mostly used as a CLI tool, release-it can be used as a dependency to integrate in your own scripts. See [ use
304
- release-it programmatically] [ 42 ] for example code.
309
+ release-it programmatically] [ 44 ] for example code.
305
310
306
311
## Example projects using release-it
307
312
308
- - [ axios/axios] [ 43 ]
309
- - [ blockchain/blockchain-wallet-v4-frontend] [ 44 ]
310
- - [ callstack/react-native-paper] [ 45 ]
311
- - [ ember-cli/ember-cli] [ 46 ]
312
- - [ js-cookie/js-cookie] [ 47 ]
313
- - [ metalsmith/metalsmith] [ 48 ]
314
- - [ mozilla/readability] [ 49 ]
315
- - [ pahen/madge] [ 50 ]
316
- - [ redis/node-redis] [ 51 ]
317
- - [ reduxjs/redux] [ 52 ]
318
- - [ saleor/saleor] [ 53 ]
319
- - [ Semantic-Org/Semantic-UI-React] [ 54 ]
320
- - [ shipshapecode/shepherd] [ 55 ]
321
- - [ StevenBlack/hosts] [ 56 ]
322
- - [ swagger-api/swagger-ui] [ 57 ] + [ swagger-editor] [ 58 ]
323
- - [ tabler/tabler] [ 59 ] + [ tabler-icons] [ 60 ]
324
- - [ youzan/vant] [ 61 ]
325
- - [ Repositories that depend on release-it] [ 62 ]
326
- - GitHub search for [ path:\*\* /.release-it.json] [ 63 ]
313
+ - [ axios/axios] [ 45 ]
314
+ - [ blockchain/blockchain-wallet-v4-frontend] [ 46 ]
315
+ - [ callstack/react-native-paper] [ 47 ]
316
+ - [ ember-cli/ember-cli] [ 48 ]
317
+ - [ js-cookie/js-cookie] [ 49 ]
318
+ - [ metalsmith/metalsmith] [ 50 ]
319
+ - [ mozilla/readability] [ 51 ]
320
+ - [ pahen/madge] [ 52 ]
321
+ - [ redis/node-redis] [ 53 ]
322
+ - [ reduxjs/redux] [ 54 ]
323
+ - [ saleor/saleor] [ 55 ]
324
+ - [ Semantic-Org/Semantic-UI-React] [ 56 ]
325
+ - [ shipshapecode/shepherd] [ 57 ]
326
+ - [ StevenBlack/hosts] [ 58 ]
327
+ - [ swagger-api/swagger-ui] [ 59 ] + [ swagger-editor] [ 60 ]
328
+ - [ tabler/tabler] [ 61 ] + [ tabler-icons] [ 62 ]
329
+ - [ youzan/vant] [ 63 ]
330
+ - [ Repositories that depend on release-it] [ 64 ]
331
+ - GitHub search for [ path:\*\* /.release-it.json] [ 65 ]
327
332
328
333
## Legacy Node.js
329
334
330
335
The latest major version is v15, supporting Node.js 14 and up (as Node.js v12 is EOL). Use release-it v14 for
331
- environments running Node.js v10 and v12. Also see [ CHANGELOG.md] [ 64 ] .
336
+ environments running Node.js v10 and v12. Also see [ CHANGELOG.md] [ 66 ] .
332
337
333
338
## Links
334
339
335
- - See [ CHANGELOG.md] [ 64 ] for major/breaking updates, and [ releases] [ 65 ] for a detailed version history.
336
- - To ** contribute** , please read [ CONTRIBUTING.md] [ 66 ] first.
337
- - Please [ open an issue] [ 67 ] if anything is missing or unclear in this documentation.
340
+ - See [ CHANGELOG.md] [ 66 ] for major/breaking updates, and [ releases] [ 67 ] for a detailed version history.
341
+ - To ** contribute** , please read [ CONTRIBUTING.md] [ 68 ] first.
342
+ - Please [ open an issue] [ 69 ] if anything is missing or unclear in this documentation.
338
343
339
344
## License
340
345
341
- [ MIT] [ 68 ]
346
+ [ MIT] [ 70 ]
342
347
343
348
[ 1 ] : #git
344
349
[ 2 ] : #hooks
@@ -353,58 +358,60 @@ environments running Node.js v10 and v12. Also see [CHANGELOG.md][64].
353
358
[ 11 ] : https://github.com/release-it/release-it/workflows/Cross-OS%20Tests/badge.svg
354
359
[ 12 ] : https://www.npmjs.com/package/release-it
355
360
[ 13 ] : https://badge.fury.io/js/release-it.svg
356
- [ 14 ] : ./docs/npm.md#yarn
357
- [ 15 ] : ./docs/recipes/monorepo.md
358
- [ 16 ] : https://www.youtube.com/watch?v=7pBcuT7j_A0
359
- [ 17 ] : https://twitter.com/KodapsAcademy
360
- [ 18 ] : ./config/release-it.json
361
- [ 19 ] : ./docs/configuration.md
362
- [ 20 ] : ./docs/npm.md
363
- [ 21 ] : https://github.com/release-it/bumper
364
- [ 22 ] : https://github.com/release-it/conventional-changelog
365
- [ 23 ] : https://github.com/casmith/release-it-calver-plugin
366
- [ 24 ] : ./docs/git.md
367
- [ 25 ] : https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases
368
- [ 26 ] : ./docs/github-releases.md
369
- [ 27 ] : https://docs.gitlab.com/ce/user/project/releases/
370
- [ 28 ] : https://gitlab.com/profile/personal_access_tokens
371
- [ 29 ] : ./docs/environment-variables.md
372
- [ 30 ] : ./docs/gitlab-releases.md
373
- [ 31 ] : ./docs/changelog.md
374
- [ 32 ] : ./docs/pre-releases.md
375
- [ 33 ] : ./docs/plugins.md#execution-order
376
- [ 34 ] : ./docs/dry-runs.md
377
- [ 35 ] : https://github.com/release-it/keep-a-changelog
378
- [ 36 ] : https://github.com/release-it-plugins/lerna-changelog
379
- [ 37 ] : https://github.com/release-it-plugins/workspaces
380
- [ 38 ] : https://github.com/grupoboticario/news-fragments
381
- [ 39 ] : https://github.com/j-ulrich/release-it-regex-bumper
382
- [ 40 ] : https://www.npmjs.com/search?q=keywords:release-it-plugin
383
- [ 41 ] : ./docs/plugins.md
384
- [ 42 ] : ./docs/recipes/programmatic.md
385
- [ 43 ] : https://github.com/axios/axios
386
- [ 44 ] : https://github.com/blockchain/blockchain-wallet-v4-frontend
387
- [ 45 ] : https://github.com/callstack/react-native-paper
388
- [ 46 ] : https://github.com/ember-cli/ember-cli
389
- [ 47 ] : https://github.com/js-cookie/js-cookie
390
- [ 48 ] : https://github.com/metalsmith/metalsmith
391
- [ 49 ] : https://github.com/mozilla/readability
392
- [ 50 ] : https://github.com/pahen/madge
393
- [ 51 ] : https://github.com/redis/node-redis
394
- [ 52 ] : https://github.com/reduxjs/redux
395
- [ 53 ] : https://github.com/saleor/saleor
396
- [ 54 ] : https://github.com/Semantic-Org/Semantic-UI-React
397
- [ 55 ] : https://github.com/shipshapecode/shepherd
398
- [ 56 ] : https://github.com/StevenBlack/hosts
399
- [ 57 ] : https://github.com/swagger-api/swagger-ui
400
- [ 58 ] : https://github.com/swagger-api/swagger-editor
401
- [ 59 ] : https://github.com/tabler/tabler
402
- [ 60 ] : https://github.com/tabler/tabler-icons
403
- [ 61 ] : https://github.com/youzan/vant
404
- [ 62 ] : https://github.com/release-it/release-it/network/dependents
405
- [ 63 ] : https://github.com/search?q=path%3A**%2F.release-it.json&type=code
406
- [ 64 ] : ./CHANGELOG.md
407
- [ 65 ] : https://github.com/release-it/release-it/releases
408
- [ 66 ] : ./.github/CONTRIBUTING.md
409
- [ 67 ] : https://github.com/release-it/release-it/issues/new
410
- [ 68 ] : ./LICENSE
361
+ [ 14 ] : https://release-it.deno.dev
362
+ [ 15 ] : https://github.com/7-docs/7-docs
363
+ [ 16 ] : ./docs/npm.md#yarn
364
+ [ 17 ] : ./docs/recipes/monorepo.md
365
+ [ 18 ] : https://www.youtube.com/watch?v=7pBcuT7j_A0
366
+ [ 19 ] : https://twitter.com/KodapsAcademy
367
+ [ 20 ] : ./config/release-it.json
368
+ [ 21 ] : ./docs/configuration.md
369
+ [ 22 ] : ./docs/npm.md
370
+ [ 23 ] : https://github.com/release-it/bumper
371
+ [ 24 ] : https://github.com/release-it/conventional-changelog
372
+ [ 25 ] : https://github.com/casmith/release-it-calver-plugin
373
+ [ 26 ] : ./docs/git.md
374
+ [ 27 ] : https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases
375
+ [ 28 ] : ./docs/github-releases.md
376
+ [ 29 ] : https://docs.gitlab.com/ce/user/project/releases/
377
+ [ 30 ] : https://gitlab.com/profile/personal_access_tokens
378
+ [ 31 ] : ./docs/environment-variables.md
379
+ [ 32 ] : ./docs/gitlab-releases.md
380
+ [ 33 ] : ./docs/changelog.md
381
+ [ 34 ] : ./docs/pre-releases.md
382
+ [ 35 ] : ./docs/plugins.md#execution-order
383
+ [ 36 ] : ./docs/dry-runs.md
384
+ [ 37 ] : https://github.com/release-it/keep-a-changelog
385
+ [ 38 ] : https://github.com/release-it-plugins/lerna-changelog
386
+ [ 39 ] : https://github.com/release-it-plugins/workspaces
387
+ [ 40 ] : https://github.com/grupoboticario/news-fragments
388
+ [ 41 ] : https://github.com/j-ulrich/release-it-regex-bumper
389
+ [ 42 ] : https://www.npmjs.com/search?q=keywords:release-it-plugin
390
+ [ 43 ] : ./docs/plugins.md
391
+ [ 44 ] : ./docs/recipes/programmatic.md
392
+ [ 45 ] : https://github.com/axios/axios
393
+ [ 46 ] : https://github.com/blockchain/blockchain-wallet-v4-frontend
394
+ [ 47 ] : https://github.com/callstack/react-native-paper
395
+ [ 48 ] : https://github.com/ember-cli/ember-cli
396
+ [ 49 ] : https://github.com/js-cookie/js-cookie
397
+ [ 50 ] : https://github.com/metalsmith/metalsmith
398
+ [ 51 ] : https://github.com/mozilla/readability
399
+ [ 52 ] : https://github.com/pahen/madge
400
+ [ 53 ] : https://github.com/redis/node-redis
401
+ [ 54 ] : https://github.com/reduxjs/redux
402
+ [ 55 ] : https://github.com/saleor/saleor
403
+ [ 56 ] : https://github.com/Semantic-Org/Semantic-UI-React
404
+ [ 57 ] : https://github.com/shipshapecode/shepherd
405
+ [ 58 ] : https://github.com/StevenBlack/hosts
406
+ [ 59 ] : https://github.com/swagger-api/swagger-ui
407
+ [ 60 ] : https://github.com/swagger-api/swagger-editor
408
+ [ 61 ] : https://github.com/tabler/tabler
409
+ [ 62 ] : https://github.com/tabler/tabler-icons
410
+ [ 63 ] : https://github.com/youzan/vant
411
+ [ 64 ] : https://github.com/release-it/release-it/network/dependents
412
+ [ 65 ] : https://github.com/search?q=path%3A**%2F.release-it.json&type=code
413
+ [ 66 ] : ./CHANGELOG.md
414
+ [ 67 ] : https://github.com/release-it/release-it/releases
415
+ [ 68 ] : ./.github/CONTRIBUTING.md
416
+ [ 69 ] : https://github.com/release-it/release-it/issues/new
417
+ [ 70 ] : ./LICENSE
0 commit comments