|
2 | 2 | An es7/typescript starter for building javascript libraries:
|
3 | 3 |
|
4 | 4 | * Write **standard, future javascript** – with stable es7 features – today ([stage 3](https://github.com/tc39/proposals) or [finished](https://github.com/tc39/proposals/blob/master/finished-proposals.md) features)
|
5 |
| -* Use optional typescript typings to improve tooling, linting, and documentation generation |
6 |
| -* Export as an [es module](https://github.com/rollup/rollup/wiki/pkg.module), making your work **fully tree-shakable** for consumers using es imports (like [Rollup](http://rollupjs.org/) or [Webpack 2](https://webpack.js.org/)) |
| 5 | +* [Optionally use typescript](https://basarat.gitbooks.io/typescript/content/docs/why-typescript.html) to improve tooling, linting, and documentation generation |
| 6 | +* Export as a [javascript module](http://jsmodules.io/), making your work **fully tree-shakable** for consumers using [es6 imports](https://github.com/rollup/rollup/wiki/pkg.module) (like [Rollup](http://rollupjs.org/) or [Webpack 2](https://webpack.js.org/)) |
7 | 7 | * Export typescript declarations to improve your downstream development experience
|
8 |
| -* Backwards compatibility for Node.js CommonJS imports (v4 or greater) |
| 8 | +* Backwards compatibility for Node.js-style (CommonJS) imports (v4 or greater) |
9 | 9 | * Both [strict](config/tsconfig.strict.json) and [flexible](config/tsconfig.flexible.json) typing configurations available
|
10 | 10 |
|
11 | 11 | So we can have nice things:
|
12 | 12 | * Generate API documentation (HTML or JSON) [without a mess of JSDoc tags](https://blog.cloudflare.com/generating-documentation-for-typescript-projects/) to maintain
|
13 |
| -* Co-located, atomic, concurrent tests with [AVA](https://github.com/avajs/ava) |
| 13 | +* Collocated, atomic, concurrent unit tests with [AVA](https://github.com/avajs/ava) |
14 | 14 | * Source-mapped code coverage reports with [nyc](https://github.com/istanbuljs/nyc)
|
15 | 15 | * Configurable code coverage testing (for continuous integration)
|
16 | 16 |
|
17 | 17 | ## Get started
|
18 | 18 |
|
19 | 19 | Before you start, consider configuring or switching to an [editor with good typescript support](https://github.com/Microsoft/TypeScript/wiki/TypeScript-Editor-Support).
|
20 | 20 |
|
| 21 | +To see how this starter can be used, check out the [`examples`](./examples) folder. |
| 22 | + |
21 | 23 | ## Development zen
|
22 | 24 |
|
23 | 25 |
|
@@ -71,6 +73,19 @@ For more advanced documentation generation, you can provide your own [typedoc th
|
71 | 73 | $ yarn docs:json
|
72 | 74 | ```
|
73 | 75 |
|
| 76 | +## Generate Changelog & Release |
| 77 | + |
| 78 | +This project is tooled for [Conventional Changelog](https://github.com/conventional-changelog/conventional-changelog) to make managing releases easier. See the [standard-version](https://github.com/conventional-changelog/standard-version) documentation for more information on the workflow. |
| 79 | + |
| 80 | +```bash |
| 81 | +# bump package.json version, update CHANGELOG.md, git tag the release |
| 82 | +$ yarn release |
| 83 | +# Release without bumping package.json version |
| 84 | +$ yarn release -- --first-release |
| 85 | +# PGP sign the release |
| 86 | +$ yarn release -- --sign |
| 87 | +``` |
| 88 | + |
74 | 89 | ## All package scripts
|
75 | 90 |
|
76 | 91 | You can run the `info` script for information on each available package script.
|
@@ -102,6 +117,8 @@ docs:
|
102 | 117 | Generate API documentation and open it in a browser
|
103 | 118 | docs:json:
|
104 | 119 | Generate API documentation in typedoc JSON format
|
| 120 | +release: |
| 121 | + Bump package.json version, update CHANGELOG.md, tag a release |
105 | 122 | ```
|
106 | 123 | ## Notes
|
107 | 124 |
|
|
0 commit comments