Bounce in Style
The Bounce style guide, formatter, and commit validator.
Goal
- Single source of truth for all linting, formatting, commit message validation, changelog generator, semantic versioning
- Minimal config
- Compatible with all Bounce Typescript projects (Express, React, React Native)
Install
- Remove any installations of ESLint or Prettier & all associated config files (keep your
.eslintignore
and .prettierignore
files) - Install with npm
npm install bounce-in-style -D
yarn add bounce-in-style -D
Usage
Git/Husky hook (recommended)
- Fresh install of Husky (version 6 has some major changes, ensure to remove existing Husky installations prior to starting)
npm uninstall husky
npm install husky -D
npx husky install
- Add this "prepare" script to package.json so that husky gets setup on
npm install
:
{
"scripts": {
"prepare": "husky install"
}
}
- Add git hook with Husky (replace
npx
with yarn
if using yarn)
npx husky add .husky/pre-commit "npx bis --staged --react"
npx husky add .husky/pre-commit "npx bis --staged --react-native"
npx husky add .husky/pre-commit "npx bis --staged"
CLI
npx bis -h
yarn bis -h
Bounce project recommendations
Running tsc
All Bounce projects should have a git hook (either pre-commit or pre-push) for running tsc
.
Extending ESLint config
We don't recommend extending the config when using internal to Bounce, instead a PR should be made into this repo to add the change for everyone. If you do need to extend the config, you can treat it like any other eslint config. The simplest way to do so can be seen in the .eslintrc
file at the root of this repo.
What's next