- TypeScript
- Tests with Jest
- Linting with ESLint
- Lint rules from Airbnb via this package
- Continuous Integration with CircleCI
- Code coverage with Jest shared to Codecov
- Documentation generation with TypeDoc
- Documentation publishing with GH Pages
- Commits with Commitizen
- Releases with Semantic Release
node_modules/.bin/tsc -p .
npm run build && npm run test-build
npm run build+test -- -- --collect-coverage
npx git-cz
node_modules/.bin/codecov
node_modules/.bin/typedoc --out docs --module commonjs lib
node_modules/.bin/gh-pages --dist docs
node_modules/.bin/eslint lib tests --ext .js,.jsx,.ts,.tsx
node_modules/.bin/jest
npm test -- -c jest.config.build.js
node_modules/.bin/jest --collect-coverage
- Add project to CircleCI and Codecov
- Add Codecov token to CircleCI environment variables
- Verify webooks on Github
- Add Github personal access tokens for release tokens
- Add NPM access tokens for distribution
- Install the Codecov Github App
Create releases by merging to a release branch and running semantic-release on that branch. A release branch (e.g. release
) will need to be pushed to the repo origin in order to execute semantic release on any branch because one release branch is required and pre-release branches do not count.
{
"branches": [
{ "name": "pre-alpha", "prerelease": true },
{ "name": "alpha", "prerelease": true },
{ "name": "beta", "prerelease": true },
"release",
"+([0-9])?(.{+([0-9]),x}).x"
]
}