Release It! v3
Update now: npm install -g release-it
Remember, there is a "dry run" option, and a "no-questions-asked mode", working well together using release-it -dn
:
New features
- Animated spinners, checkmarks and duration (in
--non-interactive
mode). - Disable specific tasks within the release process (e.g. skip tagging the commit).
- Use
--no-
with CLI arguments to negate boolean settings, such as--no-npm.publish
or--no-src.tag
. - Separate
github
andnpm
configuration for source and dist repos. - Support for public scoped npm packages.
Breaking changes
- npm
npm.publish
is nowtrue
by default.- The
npm. forcePublishSourceRepo
is removed. Setnpm.publish
anddist.npm.publish
totrue
as needed.
- Github Release
- Former
githubAssets
are now atgithub.assets
anddist.github.assets
. - Set
github.release
and/ordist.github.release
totrue
as needed
- Former
- Generic
- The local configuration file
.release.json
must be renamed to.release-it.json
. - The
--message
shortcut is no longer available (usesrc.commitMessage
). - The
prereleaseId
option is renamed topreReleaseId
. - Removed
src.beforeStageCommand
. It was pointless, as it was executed right beforebuildCommand
(dist.beforeStageCommand
is still there). - Removed implicit verbose output. Use
--verbose
as needed. release-it --debug
is now accompanied byDEBUG=release-it:* release-it
.
- The local configuration file
Under the hood
- Finally, a test suite.
- Use modern JavaScript (ES6+)
- Transpile unsupported features using babel-register.
- Use ES Modules (
import/export
) with @std/esm. - Switch from when.js to async/await and native promises.
- Use eslint + prettier for code aesthetics/consistency.
- Switch from home-made async file copy module to cpy.
- Switch from minimist to yargs-parser for CLI argument parsing.
- Use ora for spinners and checkmarks.
- Use debug package for debug output.
- Less retries for GitHub releases/upload assets when it seems pointless to do so.
Latest changeset:
- Move gh-pages doc updater command (8f94fea)
- Move
beforeStartCommand
andisGitRepo
up (59d5f73) - Restore support for
--debug
arg & enable more colors for debug (526e30e) - Make release test more stand-alone (0acf626)
- Use local git repo in test (6860c5a)
- Minor refactoring of task runner (c6de5a3)
- No need to pass branch at all by default (ae88f4c)
- Fancier readme + CONTRIBUTING.md (b47fa0a)
- Create CODE_OF_CONDUCT.md (#112) (c88c96d)