5.1.0 • Published 5 months ago

eslint-config-moneyforward v5.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

eslint-config-moneyforward

Version License

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 setSummaryDependencies
essentialsContains basic, import, and promise recommended ruleseslint eslint-plugin-promise eslint-plugin-import eslint-plugin-unicorn
jsdocContains JSDoc recommended ruleseslint-plugin-jsdoc
nextContains Next.js recommended rules@next/eslint-plugin-next
nodeContains Node.js recommended ruleseslint-plugin-n
reactContains React recommended ruleseslint-plugin-jsx-a11y eslint-plugin-react-hooks eslint-plugin-react
storybookContains Storybook recommended ruleseslint-plugin-storybook
test/reactContains Jest and React Testing Library ruleseslint-plugin-jest eslint-plugin-jest-dom eslint-plugin-testing-library
typescriptContains 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-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

Versioning

  • Increment major version: Changed error rules.
  • Increment minor version: Changed warn rules.
  • Increment patch version: Not changed error and warn rules.

Troubleshooting

License

Open source licensed as MIT.