Money Forward's ESLint rules as an extensible shared config.
npm install eslint-config-moneyforward

This package provides moneyforward's .eslintrc as an extensible shared config.
``bash`
npm install --save-dev eslint-config-moneyforward eslint
#### 2a. for Flat Config
Within your ESLint config file (eslint.config.js):
`js
import { essentials } from 'eslint-config-moneyforward/flat';
export default [...essentials];
`
If you need TypeScript Support:
`diff
-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.
`js
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:
`json`
{
"extends": ["moneyforward/essentials"]
}
If you need React Support:
`diff`
{
"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.
`json`
{
"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
eslint-plugin-unicorn
|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
|
If you use Prettier to format your code, you must disable any rules in moneyforward/essentials that conflict with Prettier.
`bash`
npm install --save-dev eslint-config-prettier
Within your ESLint config file:
`diff
// eslint.config.js
import { essentials, react } from 'eslint-config-moneyforward/flat';
+import prettier from 'eslint-config-prettier';
export default [
...essentials,
...react,
+ prettier,
],
`
`diff
// .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.
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.
`bash``
npm uninstall eslint-plugin-promise eslint-plugin-import eslint-plugin-unicorn \
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
- Increment major version: Changed error rules.
- Increment minor version: Changed warn rules.
- Increment patch version: Not changed error and warn rules.
- ESLint Configuration Issue with Non-Standard TSConfig Filenames in Flat Config
Open sourceĀ licensed as MIT.