@box/frontend-configdeprecated

Common config files for frontend projects

Usage no npm install needed!

<script type="module">
  import boxFrontendConfig from 'https://cdn.skypack.dev/@box/frontend-config';
</script>

README

npm version

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;