@justeat/eslint-config-fozzie

Just Eat's JS ESLint config, which follows our styleguide

Usage no npm install needed!

<script type="module">
  import justeatEslintConfigFozzie from 'https://cdn.skypack.dev/@justeat/eslint-config-fozzie';
</script>

README

eslint-config-fozzie

npm version Build Status

This package provides Just Eat's base JS .eslintrc as an extensible shared config.

It extends the eslint-config-airbnb-base ruleset with our own set of JS linting rules.

Many thanks to the work that the Airbnb team have put in on creating their template for extension rules – we have liberally borrowed from their structure and documentation in creating this ruleset.

Usage

eslint-config-fozzie

Our default export contains all of our ESLint rules, including ECMAScript 6+. It requires eslint and eslint-plugin-import.

  1. Install the correct versions of each package, which are listed by the command:
npm info "@justeat/eslint-config-fozzie@latest" peerDependencies

Linux/OSX users can simply run

(
  export PKG=@justeat/eslint-config-fozzie;
  npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
)

Which produces and runs a command like:

  npm install --save-dev @justeat/eslint-config-fozzie eslint@^#.#.# eslint-plugin-import@^#.#.#

Windows users can either install all the peer dependencies manually, or use the install-peerdeps cli tool.

npm install -g install-peerdeps
install-peerdeps --dev @justeat/eslint-config-fozzie

The cli will produce and run a command like:

npm install --save-dev @justeat/eslint-config-fozzie eslint@^#.#.# eslint-plugin-import@^#.#.#
  1. Add "extends": "@justeat/eslint-config-fozzie" to your .eslintrc file, which should look like this:
// Use this file as a starting point for your project's .eslintrc.js
// Copy this file, and add rule overrides as needed.
module.exports = {
    extends: '@justeat/eslint-config-fozzie'
}

Testing

You can run tests on this ruleset with npm test.

You can make sure this module lints with itself using npm run lint.