Nest framework TypeScript starter repository.
$ npm install# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:covInstall and add to devDependencies:
npm i --save-dev standard-version
Add an npm run script to your package.json:
{
"scripts": {
"release": "standard-version"
}
}Now you can use npm run release in place of npm version.
This has the benefit of making your repo/package more portable, so that other developers can cut releases without having to globally install standard-version on their machine.
Install globally (add to your PATH):
npm i -g standard-version
Now you can use standard-version in place of npm version.
This has the benefit of allowing you to use standard-version on any repo/package without adding a dev dependency to each one.
As of [email protected], npx is installed alongside npm. Using npx you can use standard-version without having to keep a package.json file by running: npx standard-version.
This method is especially useful when using standard-version in non-JavaScript projects.
You can configure standard-version either by:
- Placing a
standard-versionstanza in yourpackage.json(assuming your project is JavaScript). - Creating a
.versionrc,.versionrc.jsonor.versionrc.js.
- If you are using a
.versionrc.jsyour default export must be a configuration object, or a function returning a configuration object.
Any of the command line parameters accepted by standard-version can instead
be provided via configuration. Please refer to the conventional-changelog-config-spec for details on available configuration options.
By default (as of 6.0.0), standard-version uses the conventionalcommits preset.
This preset:
- Adheres closely to the conventionalcommits.org specification.
- Is highly configurable, following the configuration specification
maintained here.
- We've documented these config settings as a recommendation to other tooling makers.
There are a variety of dials and knobs you can turn related to CHANGELOG generation.
As an example, suppose you're using GitLab, rather than GitHub, you might modify the following variables:
commitUrlFormat: the URL format of commit SHAs detected in commit messages.compareUrlFormat: the URL format used to compare two tags.issueUrlFormat: the URL format used to link to issues.
Making these URLs match GitLab's format, rather than GitHub's.
NOTE: To pass nested configurations to the CLI without defining them in the
package.jsonuse dot notation as the parameterse.g. --skip.changelog.
To generate your changelog for your first release, simply do:
# npm run script
npm run release -- --first-release
# global bin
standard-version --first-release
# npx
npx standard-version --first-releaseThis will tag a release without bumping the version bumpFiles1.
When you are ready, push the git tag and npm publish your first release. \o/
If you typically use npm version to cut a new release, do this instead:
# npm run script
npm run release
# or global bin
standard-versionAs long as your git commit messages are conventional and accurate, you no longer need to specify the semver type - and you get CHANGELOG generation for free! \o/
After you cut a release, you can push the new git tag and npm publish (or npm publish --tag next) when you're ready.
Use the flag --prerelease to generate pre-releases:
Suppose the last version of your code is 1.0.0, and your code to be committed has patched changes. Run:
# npm run script
npm run release -- --prereleaseThis will tag your version as: 1.0.1-0.
If you want to name the pre-release, you specify the name via --prerelease <name>.
For example, suppose your pre-release should contain the alpha prefix:
# npm run script
npm run release -- --prerelease alphaThis will tag the version as: 1.0.1-alpha.0
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
- Author - Kamil Myśliwiec
- Website - https://nestjs.com
- Twitter - @nestframework
Nest is MIT licensed.