Frontend related configs used by other Box frontend projects. Unless you are a part of another Box project, you should not be consuming any code from here. It is completely unsupported and can be highly unstable.
Publishing
This project is published on public npmjs.
To push a new release, use yarn release:major
or yarn release:minor
or yarn release:patch
.
Dependencies
See package.json for peer dependencies.
ESLint
Import eslintrc.js
from this project and re-export it within your own project's eslintrc.js
. Add any overrides as necessary, but it is recommended that you ideally should not be having any overrides at all.
module.exports = require('@box/frontend-config/eslint/eslintrc.js');
Stylelint
Project: https://github.com/stylelint/stylelint
Import stylelint.config.js
from this project and re-export it within your own project's stylelint.config.js
.
module.exports = require('@box/frontend-config/stylelint/stylelint.config.js');
Prettier
Project: https://github.com/prettier/prettier
Import prettierrc.js
from this project and re-export it within your own project's prettierrc.js
.
module.exports = require('@box/frontend-config/prettier/prettierrc.js');
Commit Linter
Project: https://github.com/marionebl/commitlint
Import commitlint.config.js
from this project and re-export it within your own project's commitlint.config.js
.
module.exports = require('@box/frontend-config/commitlint/commitlint.config.js');
You will also need to use something like husky for git hooks. And then add the following to your package.json
.
"husky": {
"hooks": {
"commit-msg": "commitlint -e"
}
}
Dotfiles
dotfiles folder contains a few files that can used in your own project. Use them as needed and by renaming them to have a begining dot.
Overriding
Add any overrides as necessary, but it is recommended that you ideally should not be having any overrides at all. To add overrides just extend the imported config with your own rules.
var eslintrc = require('@box/frontend-config/eslint/eslintrc.js');
eslintrc.rules = {
...eslintrc.rules,
'some/override': 0,
};
module.exports = eslintrc;