Files
stale/CONTRIBUTING.md
Geoffrey Testelin c2acfb4dd3 chore(release): provide a way to create a local release with less grunt work (#429)
* docs(contributing): add information to update the changelog

* docs(changelog): add a first draft

it needs to contain the new PRs and only contains a not very nice version of the previous release to have an example

* chore(release): propose a way to locally generate a release
2021-06-02 17:06:55 -04:00

68 lines
1.4 KiB
Markdown

# Building and testing
Install the dependencies.
```bash
$ npm install
```
Build the typescript and package it for distribution.
```bash
$ npm run build && npm run pack
```
Run the tests :heavy_check_mark:
```bash
$ npm test
```
Run the tests and display only the first failing tests :heavy_check_mark:
```bash
$ npm test:only-errors
```
Run the tests with the watch mode :heavy_check_mark:
```bash
$ npm test:watch
```
Run the linter and fix (almost) every issue for you :heavy_check_mark:
```bash
$ npm lint:all:fix
```
# Before creating a PR
## Build and quality checks
Build, lint, package and test everything.
```bash
$ npm all
```
# Release
Based on [standard-version](https://github.com/conventional-changelog/standard-version).
## Define the new version
You can run `npm run release:dry-run` to create a dry-run, or you can directly run `npm run release` to create a new local release.
It will run `prerelease` beforehand to build and pack everything.
If the `prerelease` succeeded, a bump of version will happen based on the unreleased commits.
It will:
- Update the _package.json_ version field
- Update the _package-lock.json_ version field
- Update the _CHANGELOG.md_ to include the release notes of the new version
- Create a local tag
- Create a commit
If everything generated seems ok for you, you can push your tag by running `git push --follow-tags origin {your-branch-name}`.