semi-auto npm releases

This commit is contained in:
Matthias Kretschmann 2017-06-06 16:32:43 +02:00
parent 4b1e4b327c
commit b4af8f4f08
Signed by: m
GPG Key ID: 606EEEF3C479A91F
2 changed files with 34 additions and 1 deletions

View File

@ -19,6 +19,7 @@
- [Usage](#usage)
- [Speed Optimizations](#speed-optimizations)
- [Warnings](#warnings)
- [npm releases](#npmreleases)
- [Authors](#authors)
- [License](#license)
- [API reference](API.md)
@ -120,6 +121,34 @@ An example BigchainDB Server-generated keypair (encoded in `base58`):
Your package should be able to take in the decoded version of the **private** key and return you the
same **public** key (once you encode that to `base58`).
## npm releases
For a new **patch release**, execute on the machine where you're logged into your npm account:
```bash
npm run release
```
Command is powered by [`release-it`](https://github.com/webpro/release-it) package, defined in the `package.json`.
That's what the command does without any user interaction:
- create release commit by updating version in `package.json`
- create tag for that release commit
- push commit & tag
- create a new release on GitHub, with change log auto-generated from commit messages
- publish to npm as a new release
If you want to create a **minor** or **major release**, use these commands:
```bash
npm run release-minor
```
```bash
npm run release-major
```
## Authors
Inspired by [`js-bigchaindb-quickstart`](https://github.com/sohkai/js-bigchaindb-quickstart) of @sohkhai [thanks]

View File

@ -18,7 +18,10 @@
"build:cjs": "cross-env BABEL_ENV=cjs babel ./src -d dist/node",
"build:dist": "cross-env NODE_ENV=production webpack -p",
"clean": "rimraf dist/bundle dist/node",
"test": "echo \"Error: no test specified AWWWW YEAHHH\" && exit 1"
"test": "echo \"Error: no test specified AWWWW YEAHHH\" && exit 1",
"release": "./node_modules/release-it/bin/release.js --src.tagName='v%s' --github.release --npm.publish --non-interactive",
"release-minor": "./node_modules/release-it/bin/release.js minor --src.tagName='v%s' --github.release --npm.publish --non-interactive",
"release-major": "./node_modules/release-it/bin/release.js major --src.tagName='v%s' --github.release --npm.publish --non-interactive"
},
"devDependencies": {
"babel-cli": "^6.22.2",
@ -37,6 +40,7 @@
"eslint": "^3.14.1",
"eslint-config-ascribe": "^3.0.1",
"eslint-plugin-import": "^2.2.0",
"release-it": "^2.7.3",
"rimraf": "^2.5.4",
"webpack": "^2.2.1"
},