Building JS projects is complicated.
The @build-chores packages collect common JavaScript tooling configurations and reduces the friction setting up a new JavaScript project. The tooling contains the following parts:
- Code transpilation using Babel.
- Code linting using ESLint.
- Type checking with Flow.
- Lint stage files using lint-staged.
- Commit messafe linting using Commitlint.
- Test code using AVA.
- Instrument your code using IstanbulJS.
| Package | Version | Description |
|---|---|---|
@build-chores/babel-preset |
A default Babel configuration, targeting Node 8. It provides support for Flow type declarations and class fields and properties. | |
@build-chores/eslint-config-lint |
A curated configuration for ESLint with support for Flow, Prettier and promises. | |
@build-chores/staged |
Lint staged JS, JSON and *.rc files using lint-staged. | |
@build-chores/commitlint |
Enforce rules for your commit messages. | |
@build-chores/test |
Configure your AVA test runner to play nice with your custom Babel configuration and provide test coverage reports. |
Install the @build-chores packages as required:
yarn add --dev @build-chores/babel-preset \
@build-chores/eslint-config-lint \
@build-chores/staged \
@build-chores/commitlint \
@build-chores/test
See the respective packages for details on how to configure them. The project-example collects all relevant configuration changes for a quick overview.
See the contribution guide and join the contributors!
