eslint-config-moneyforward
v4.1.2
Published
Money Forward's ESLint rules as an extensible shared config.
Downloads
23,834
Readme
eslint-config-moneyforward
This package provides moneyforward's .eslintrc
as an extensible shared config.
Usage
1. Install dependencies (and peer dependencies)
npm install --save-dev eslint-config-moneyforward eslint
2. Configure ESLint
2a. for Flat Config
Within your ESLint config file (eslint.config.js
):
import { essentials } from 'eslint-config-moneyforward/flat';
export default [...essentials];
If you need TypeScript Support:
-import { essentials } from 'eslint-config-moneyforward/flat';
+import { essentials, typescript } from 'eslint-config-moneyforward/flat';
export default [
...essentials,
+ ...typescript,
];
Must be added after essentials
.
We also provide various other rule sets that you can configure to suit your project.
import {
essentials,
jsdoc,
next,
node,
react,
storybook,
test,
typescript,
} from 'eslint-config-moneyforward/flat';
export default [
...essentials,
...jsdoc,
...next,
...node,
...react,
...storybook,
...test.react,
...typescript,
];
2b. for eslintrc format
Within your ESLint config file:
{
"extends": ["moneyforward/essentials"]
}
If you need React Support:
{
"extends": [
"moneyforward/essentials",
+ "moneyforward/react",
]
}
Must be added after essentials
.
We also provide various other rule sets that you can configure to suit your project.
{
"extends": [
"moneyforward/essentials",
"moneyforward/jsdoc",
"moneyforward/next",
"moneyforward/node",
"moneyforward/react",
"moneyforward/storybook",
"moneyforward/test/react",
"moneyforward/typescript"
]
}
| Rule set | Summary | Dependencies |
| -----------: | :---------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| essentials
| Contains basic, import, and promise recommended rules | eslint
eslint-plugin-promise
eslint-plugin-import
|
| jsdoc
| Contains JSDoc recommended rules | eslint-plugin-jsdoc
|
| next
| Contains Next.js recommended rules | @next/eslint-plugin-next
|
| node
| Contains Node.js recommended rules | eslint-plugin-n
|
| react
| Contains React recommended rules | eslint-plugin-jsx-a11y
eslint-plugin-react-hooks
eslint-plugin-react
|
| storybook
| Contains Storybook recommended rules | eslint-plugin-storybook
|
| test/react
| Contains Jest and React Testing Library rules | eslint-plugin-jest
eslint-plugin-jest-dom
eslint-plugin-testing-library
|
| typescript
| Contains TypeScript recommended rules | @eslint-typescript/eslint-plugin
@eslint-typescript/parser
|
Using Prettier
If you use Prettier to format your code, you must disable any rules in moneyforward/essentials
that conflict with Prettier.
1. Install dependencies
npm install --save-dev eslint-config-prettier
2. Configure ESLint
Within your ESLint config file:
// eslint.config.js
import { essentials, react } from 'eslint-config-moneyforward/flat';
+import prettier from 'eslint-config-prettier';
export default [
...essentials,
...react,
+ prettier,
],
// .eslintrc.js
{
"extends": [
"moneyforward/essentials",
"moneyforward/react",
+ "prettier"
]
}
By adding the prettier
configuration to extends
in the ESLint configuration, you can disable all rules in ...essentials
(or moneyforward/essentials
) that conflict with Prettier.
Migrate from an existing configuration
eslint-config-moneyforward contains various plugins related to different rule sets. Therefore, users don't need to install them separately. If you have installed them in your existing configuration, we recommend uninstalling them.
npm uninstall eslint-plugin-promise eslint-plugin-import \
eslint-plugin-jsdoc \
@next/eslint-plugin-next \
eslint-plugin-n \
eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks \
eslint-plugin-storybook \
eslint-plugin-jest eslint-plugin-testing-library \
@eslint-typescript/eslint-plugin @eslint-typescript/parser
Versioning
- Increment major version: Changed error rules.
- Increment minor version: Changed warn rules.
- Increment patch version: Not changed error and warn rules.
License
Open source licensed as MIT.