This package provides Mywork's .eslintrc as an extensible shared config.
We export three ESLint configurations for your usage.
Our default export contains all of our ESLint rules, including ECMAScript 6+ and React. It requires eslint
, eslint-plugin-import
, eslint-plugin-react
, eslint-plugin-react-hooks
, eslint-config-airbnb
, eslint-plugin-jest
and eslint-plugin-jsx-a11y
.
- Install the correct versions of each package, which are listed by the command:
npm info "eslint-config-mywork@latest" peerDependencies
If using npm 5+, use this shortcut
npx install-peerdeps --dev eslint-config-mywork
If using yarn, you can also use the shortcut described above if you have npm 5+ installed on your machine, as the command will detect that you are using yarn and will act accordingly.
Otherwise, run npm info "eslint-config-mywork@latest" peerDependencies
to list the peer dependencies and versions, then run yarn add --dev <dependency>@<version>
for each listed peer dependency.
If using npm < 5, Linux/OSX users can run
(
export PKG=eslint-config-mywork;
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 eslint-config-mywork eslint@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-react@^#.#.# eslint-plugin-react-hooks@^#.#.#
If using npm < 5, 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 eslint-config-mywork
The cli will produce and run a command like:
npm install --save-dev eslint-config-mywork eslint@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-react@^#.#.# eslint-plugin-react-hooks@^#.#.#
- Add
"extends": "mywork"
to your.eslintrc
This entry point enables the linting rules for Typescript. To use, add "extends": ["mywork/typescript"]
to your .eslintrc
If you use prettier in your project, you should also add "extends": [mywork/prettier]
to your .eslintrc
You can use our recommended configs for .prettierrc.json
{
"bracketSpacing": true,
"jsxBracketSameLine": false,
"jsxSingleQuote": false,
"quoteProps": "as-needed",
"singleQuote": true,
"semi": true,
"tabWidth": 2,
"trailingComma": "all"
}