release-it 15.10.3 → 15.10.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -78,16 +78,18 @@ Per-project installation as shown above is recommended, but global installs are
78
78
  - From npm: `npm install -g release-it`
79
79
  - From Homebrew: `brew install release-it`
80
80
 
81
- ## GitHub Actions
81
+ ## Videos, articles & examples
82
82
 
83
- Want to use release-it with GitHub Actions to fully automate the whole process? Enjoy this great walk-through: [How to
84
- use GitHub Actions & Release-It to Easily Release Your Code][18] (by [David from Kodaps][19]).
83
+ Here's a list of interesting external resources:
85
84
 
86
- See [Continuous Integration environments][9] for more details.
85
+ - Video: [How to use GitHub Actions & Release-It to Easily Release Your Code][18]
86
+ - Article: [Monorepo Semantic Releases][19] ([repo][20])
87
+
88
+ Want to add yours to the list? Just open a pull request!
87
89
 
88
90
  ## Configuration
89
91
 
90
- Out of the box, release-it has sane defaults, and [plenty of options][20] to configure it. Most projects use a
92
+ Out of the box, release-it has sane defaults, and [plenty of options][21] to configure it. Most projects use a
91
93
  `.release-it.json` file in the project root, or a `release-it` property in `package.json`.
92
94
 
93
95
  Here's a quick example `.release-it.json`:
@@ -103,7 +105,7 @@ Here's a quick example `.release-it.json`:
103
105
  }
104
106
  ```
105
107
 
106
- → See [Configuration][21] for more details.
108
+ → See [Configuration][22] for more details.
107
109
 
108
110
  ## Interactive vs. CI mode
109
111
 
@@ -121,15 +123,15 @@ Use `--only-version` to use a prompt only to determine the version, and automate
121
123
 
122
124
  How does release-it determine the latest version?
123
125
 
124
- 1. For projects with a `package.json`, its `version` will be used (see [npm][22] to skip this).
126
+ 1. For projects with a `package.json`, its `version` will be used (see [npm][23] to skip this).
125
127
  2. Otherwise, release-it uses the latest Git tag to determine which version should be released.
126
128
  3. As a last resort, `0.0.0` will be used as the latest version.
127
129
 
128
130
  Alternatively, a plugin can be used to override this (e.g. to manage a `VERSION` or `composer.json` file):
129
131
 
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)
132
+ - [@release-it/bumper][24] to read from or bump the version in any file
133
+ - [@release-it/conventional-changelog][25] to get a recommended bump based on commit messages
134
+ - [release-it-calver-plugin][26] to use CalVer (Calendar Versioning)
133
135
 
134
136
  Add the `--release-version` flag to print the **next** version without releasing anything.
135
137
 
@@ -138,35 +140,35 @@ Add the `--release-version` flag to print the **next** version without releasing
138
140
  Git projects are supported well by release-it, automating the tasks to stage, commit, tag and push releases to any Git
139
141
  remote.
140
142
 
141
- → See [Git][26] for more details.
143
+ → See [Git][27] for more details.
142
144
 
143
145
  ## GitHub Releases
144
146
 
145
147
  GitHub projects can have releases attached to Git tags, containing release notes and assets. There are two ways to add
146
- [GitHub releases][27] in your release-it flow:
148
+ [GitHub releases][28] in your release-it flow:
147
149
 
148
150
  1. Automated (requires a `GITHUB_TOKEN`)
149
151
  2. Manual (using the GitHub web interface with pre-populated fields)
150
152
 
151
- → See [GitHub Releases][28] for more details.
153
+ → See [GitHub Releases][29] for more details.
152
154
 
153
155
  ## GitLab Releases
154
156
 
155
157
  GitLab projects can have releases attached to Git tags, containing release notes and assets. To automate [GitLab
156
- releases][29]:
158
+ releases][30]:
157
159
 
158
160
  - Configure `gitlab.release: true`
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].
161
+ - Obtain a [personal access token][31] (release-it only needs the "api" scope).
162
+ - Make sure the token is [available as an environment variable][32].
161
163
 
162
- → See [GitLab Releases][32] for more details.
164
+ → See [GitLab Releases][33] for more details.
163
165
 
164
166
  ## Changelog
165
167
 
166
168
  By default, release-it generates a changelog, to show and help select a version for the new release. Additionally, this
167
169
  changelog serves as the release notes for the GitHub or GitLab release.
168
170
 
169
- The [default command][20] is based on `git log ...`. This setting (`git.changelog`) can be overridden. To further
171
+ The [default command][21] is based on `git log ...`. This setting (`git.changelog`) can be overridden. To further
170
172
  customize the release notes for the GitHub or GitLab release, there's `github.releaseNotes` or `gitlab.releaseNotes`.
171
173
  Make sure any of these commands output the changelog to `stdout`. Note that release-it by default is agnostic to commit
172
174
  message conventions. Plugins are available for:
@@ -178,14 +180,14 @@ message conventions. Plugins are available for:
178
180
 
179
181
  To print the changelog without releasing anything, add the `--changelog` flag.
180
182
 
181
- → See [Changelog][33] for more details.
183
+ → See [Changelog][34] for more details.
182
184
 
183
185
  ## Publish to npm
184
186
 
185
187
  With a `package.json` in the current directory, release-it will let `npm` bump the version in `package.json` (and
186
188
  `package-lock.json` if present), and publish to the npm registry.
187
189
 
188
- → See [Publish to npm][22] for more details.
190
+ → See [Publish to npm][23] for more details.
189
191
 
190
192
  ## Manage pre-releases
191
193
 
@@ -193,7 +195,7 @@ With release-it, it's easy to create pre-releases: a version of your software th
193
195
  it's not in the stable semver range yet. Often "alpha", "beta", and "rc" (release candidate) are used as identifiers for
194
196
  pre-releases. An example pre-release version is `2.0.0-beta.0`.
195
197
 
196
- → See [Manage pre-releases][34] for more details.
198
+ → See [Manage pre-releases][35] for more details.
197
199
 
198
200
  ## Update or re-run existing releases
199
201
 
@@ -223,7 +225,7 @@ Use the optional `:plugin` part in the middle to hook into a life cycle method e
223
225
  The core plugins include `version`, `git`, `npm`, `github`, `gitlab`.
224
226
 
225
227
  Note that hooks like `after:git:release` will not run when either the `git push` failed, or when it is configured not to
226
- be executed (e.g. `git.push: false`). See [execution order][35] for more details on execution order of plugin lifecycle
228
+ be executed (e.g. `git.push: false`). See [execution order][36] for more details on execution order of plugin lifecycle
227
229
  methods.
228
230
 
229
231
  All commands can use configuration variables (like template strings). An array of commands can also be provided, they
@@ -241,7 +243,7 @@ will run one after another. Some example release-it configuration:
241
243
  }
242
244
  ```
243
245
 
244
- The variables can be found in the [default configuration][20]. Additionally, the following variables are exposed:
246
+ The variables can be found in the [default configuration][21]. Additionally, the following variables are exposed:
245
247
 
246
248
  ```text
247
249
  version
@@ -272,7 +274,7 @@ Using Inquirer.js inside custom hook scripts might cause issues (since release-i
272
274
 
273
275
  Use `--dry-run` to show the interactivity and the commands it _would_ execute.
274
276
 
275
- → See [Dry Runs][36] for more details.
277
+ → See [Dry Runs][37] for more details.
276
278
 
277
279
  ## Troubleshooting & debugging
278
280
 
@@ -288,62 +290,62 @@ Since v11, release-it can be extended in many, many ways. Here are some plugins:
288
290
 
289
291
  | Plugin | Description |
290
292
  | ----------------------------------------- | ----------------------------------------------------------------------------- |
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 |
293
+ | [@release-it/bumper][24] | Read & write the version from/to any file |
294
+ | [@release-it/conventional-changelog][25] | Provides recommended bump, conventional-changelog, and updates `CHANGELOG.md` |
295
+ | [@release-it/keep-a-changelog][38] | Maintain CHANGELOG.md using the Keep a Changelog standards |
296
+ | [@release-it-plugins/lerna-changelog][39] | Integrates lerna-changelog into the release-it pipeline |
297
+ | [@release-it-plugins/workspaces][40] | Releases each of your projects configured workspaces |
298
+ | [release-it-calver-plugin][26] | Enables Calendar Versioning (calver) with release-it |
299
+ | [@grupoboticario/news-fragments][41] | An easy way to generate your changelog file |
300
+ | [@j-ulrich/release-it-regex-bumper][42] | Regular expression based version read/write plugin for release-it |
299
301
 
300
302
  Internally, release-it uses its own plugin architecture (for Git, GitHub, GitLab, npm).
301
303
 
302
- → See all [release-it plugins on npm][42].
304
+ → See all [release-it plugins on npm][43].
303
305
 
304
- → See [plugins][43] for documentation to write plugins.
306
+ → See [plugins][44] for documentation to write plugins.
305
307
 
306
308
  ## Use release-it programmatically
307
309
 
308
310
  While mostly used as a CLI tool, release-it can be used as a dependency to integrate in your own scripts. See [use
309
- release-it programmatically][44] for example code.
311
+ release-it programmatically][45] for example code.
310
312
 
311
313
  ## Example projects using release-it
312
314
 
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]
315
+ - [axios/axios][46]
316
+ - [blockchain/blockchain-wallet-v4-frontend][47]
317
+ - [callstack/react-native-paper][48]
318
+ - [ember-cli/ember-cli][49]
319
+ - [js-cookie/js-cookie][50]
320
+ - [metalsmith/metalsmith][51]
321
+ - [mozilla/readability][52]
322
+ - [pahen/madge][53]
323
+ - [redis/node-redis][54]
324
+ - [reduxjs/redux][55]
325
+ - [saleor/saleor][56]
326
+ - [Semantic-Org/Semantic-UI-React][57]
327
+ - [shipshapecode/shepherd][58]
328
+ - [StevenBlack/hosts][59]
329
+ - [swagger-api/swagger-ui][60] + [swagger-editor][61]
330
+ - [tabler/tabler][62] + [tabler-icons][63]
331
+ - [youzan/vant][64]
332
+ - [Repositories that depend on release-it][65]
333
+ - GitHub search for [path:\*\*/.release-it.json][66]
332
334
 
333
335
  ## Legacy Node.js
334
336
 
335
337
  The latest major version is v15, supporting Node.js 14 and up (as Node.js v12 is EOL). Use release-it v14 for
336
- environments running Node.js v10 and v12. Also see [CHANGELOG.md][66].
338
+ environments running Node.js v10 and v12. Also see [CHANGELOG.md][67].
337
339
 
338
340
  ## Links
339
341
 
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.
342
+ - See [CHANGELOG.md][67] for major/breaking updates, and [releases][68] for a detailed version history.
343
+ - To **contribute**, please read [CONTRIBUTING.md][69] first.
344
+ - Please [open an issue][70] if anything is missing or unclear in this documentation.
343
345
 
344
346
  ## License
345
347
 
346
- [MIT][70]
348
+ [MIT][71]
347
349
 
348
350
  [1]: #git
349
351
  [2]: #hooks
@@ -363,55 +365,56 @@ environments running Node.js v10 and v12. Also see [CHANGELOG.md][66].
363
365
  [16]: ./docs/npm.md#yarn
364
366
  [17]: ./docs/recipes/monorepo.md
365
367
  [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
368
+ [19]: https://medium.com/valtech-ch/monorepo-semantic-releases-db114811efa5
369
+ [20]: https://github.com/b12k/monorepo-semantic-releases
370
+ [21]: ./config/release-it.json
371
+ [22]: ./docs/configuration.md
372
+ [23]: ./docs/npm.md
373
+ [24]: https://github.com/release-it/bumper
374
+ [25]: https://github.com/release-it/conventional-changelog
375
+ [26]: https://github.com/casmith/release-it-calver-plugin
376
+ [27]: ./docs/git.md
377
+ [28]: https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases
378
+ [29]: ./docs/github-releases.md
379
+ [30]: https://docs.gitlab.com/ce/user/project/releases/
380
+ [31]: https://gitlab.com/profile/personal_access_tokens
381
+ [32]: ./docs/environment-variables.md
382
+ [33]: ./docs/gitlab-releases.md
383
+ [34]: ./docs/changelog.md
384
+ [35]: ./docs/pre-releases.md
385
+ [36]: ./docs/plugins.md#execution-order
386
+ [37]: ./docs/dry-runs.md
387
+ [38]: https://github.com/release-it/keep-a-changelog
388
+ [39]: https://github.com/release-it-plugins/lerna-changelog
389
+ [40]: https://github.com/release-it-plugins/workspaces
390
+ [41]: https://github.com/grupoboticario/news-fragments
391
+ [42]: https://github.com/j-ulrich/release-it-regex-bumper
392
+ [43]: https://www.npmjs.com/search?q=keywords:release-it-plugin
393
+ [44]: ./docs/plugins.md
394
+ [45]: ./docs/recipes/programmatic.md
395
+ [46]: https://github.com/axios/axios
396
+ [47]: https://github.com/blockchain/blockchain-wallet-v4-frontend
397
+ [48]: https://github.com/callstack/react-native-paper
398
+ [49]: https://github.com/ember-cli/ember-cli
399
+ [50]: https://github.com/js-cookie/js-cookie
400
+ [51]: https://github.com/metalsmith/metalsmith
401
+ [52]: https://github.com/mozilla/readability
402
+ [53]: https://github.com/pahen/madge
403
+ [54]: https://github.com/redis/node-redis
404
+ [55]: https://github.com/reduxjs/redux
405
+ [56]: https://github.com/saleor/saleor
406
+ [57]: https://github.com/Semantic-Org/Semantic-UI-React
407
+ [58]: https://github.com/shipshapecode/shepherd
408
+ [59]: https://github.com/StevenBlack/hosts
409
+ [60]: https://github.com/swagger-api/swagger-ui
410
+ [61]: https://github.com/swagger-api/swagger-editor
411
+ [62]: https://github.com/tabler/tabler
412
+ [63]: https://github.com/tabler/tabler-icons
413
+ [64]: https://github.com/youzan/vant
414
+ [65]: https://github.com/release-it/release-it/network/dependents
415
+ [66]: https://github.com/search?q=path%3A**%2F.release-it.json&type=code
416
+ [67]: ./CHANGELOG.md
417
+ [68]: https://github.com/release-it/release-it/releases
418
+ [69]: ./.github/CONTRIBUTING.md
419
+ [70]: https://github.com/release-it/release-it/issues/new
420
+ [71]: ./LICENSE
@@ -40,7 +40,7 @@ class Plugin {
40
40
  afterRelease() {}
41
41
 
42
42
  getContext(path) {
43
- const context = Object.assign({}, this.options, this.context);
43
+ const context = _.merge({}, this.options, this.context);
44
44
  return path ? _.get(context, path) : context;
45
45
  }
46
46
 
@@ -8,7 +8,7 @@ import mime from 'mime-types';
8
8
  import _ from 'lodash';
9
9
  import retry from 'async-retry';
10
10
  import newGithubReleaseUrl from 'new-github-release-url';
11
- import ProxyAgent from 'proxy-agent';
11
+ import { ProxyAgent } from 'proxy-agent';
12
12
  import { format, parseVersion, readJSON, e } from '../../util.js';
13
13
  import Release from '../GitRelease.js';
14
14
  import prompts from './prompts.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-it",
3
- "version": "15.10.3",
3
+ "version": "15.10.5",
4
4
  "description": "Generic CLI tool to automate versioning and package publishing-related tasks.",
5
5
  "keywords": [
6
6
  "build",
@@ -61,15 +61,15 @@
61
61
  "license": "MIT",
62
62
  "dependencies": {
63
63
  "@iarna/toml": "2.2.5",
64
- "@octokit/rest": "19.0.7",
64
+ "@octokit/rest": "19.0.11",
65
65
  "async-retry": "1.3.3",
66
66
  "chalk": "5.2.0",
67
67
  "cosmiconfig": "8.1.3",
68
68
  "execa": "7.1.1",
69
69
  "git-url-parse": "13.1.0",
70
70
  "globby": "13.1.4",
71
- "got": "12.6.0",
72
- "inquirer": "9.2.0",
71
+ "got": "12.6.1",
72
+ "inquirer": "9.2.6",
73
73
  "is-ci": "3.0.1",
74
74
  "issue-parser": "6.0.0",
75
75
  "lodash": "4.17.21",
@@ -77,11 +77,11 @@
77
77
  "new-github-release-url": "2.0.0",
78
78
  "node-fetch": "3.3.1",
79
79
  "open": "9.1.0",
80
- "ora": "6.3.0",
80
+ "ora": "6.3.1",
81
81
  "os-name": "5.1.0",
82
82
  "promise.allsettled": "1.0.6",
83
- "proxy-agent": "5.0.0",
84
- "semver": "7.5.0",
83
+ "proxy-agent": "6.2.1",
84
+ "semver": "7.5.1",
85
85
  "shelljs": "0.8.5",
86
86
  "update-notifier": "6.0.2",
87
87
  "url-join": "5.0.0",
@@ -90,8 +90,8 @@
90
90
  },
91
91
  "devDependencies": {
92
92
  "@octokit/request-error": "3.0.3",
93
- "ava": "5.2.0",
94
- "eslint": "8.39.0",
93
+ "ava": "5.3.0",
94
+ "eslint": "8.41.0",
95
95
  "eslint-config-prettier": "8.8.0",
96
96
  "eslint-plugin-ava": "14.0.0",
97
97
  "eslint-plugin-import": "2.27.5",
@@ -102,8 +102,8 @@
102
102
  "prettier": "2.8.8",
103
103
  "remark-cli": "11.0.0",
104
104
  "remark-preset-webpro": "0.0.2",
105
- "sinon": "15.0.4",
106
- "strip-ansi": "7.0.1"
105
+ "sinon": "15.1.0",
106
+ "strip-ansi": "7.1.0"
107
107
  },
108
108
  "engines": {
109
109
  "node": ">=14.9"