eslint-config-cheminfo
Version:
Shared ESLint config for cheminfo and ml.js projects
71 lines (46 loc) • 2.09 kB
Markdown
Shared ESLint config for cheminfo and ml.js projects.
> [!IMPORTANT]
> Configs now require using the ESLint Flat Config format.
> See the [migration guide](https://github.com/cheminfo/eslint-config/blob/main/MIGRATION.md) for more information.
```console
npm i -D eslint-config-cheminfo eslint
```
Create a `eslint.config.mjs` file with the following contents:
```js
import { defineConfig } from 'eslint/config';
import cheminfo from 'eslint-config-cheminfo';
export default defineConfig(cheminfo);
```
You can then customise the config for your project.
Create ESLint scripts in your `package.json`:
```json
{
"scripts": {
"eslint": "eslint src",
"eslint-fix": "npm run eslint -- --fix"
}
}
```
This package exports three separate configurations:
- [`eslint-config-cheminfo/base`](configs/base.js): The base config with most rules. At least this config should be used in all projects.
- [`eslint-config-cheminfo/jsdoc`](configs/jsdoc.js): Rules from the [jsdoc plugin](https://github.com/gajus/eslint-plugin-jsdoc) to help improve the documentation of our libraries.
- [`eslint-config-cheminfo/unicorn`](configs/unicorn.js): Additional opinionated rules selected from the [unicorn plugin](https://github.com/sindresorhus/eslint-plugin-unicorn).
- [`eslint-config-cheminfo/vitest`](configs/vitest.js): Rules from the [Vitest plugin](https://github.com/vitest-dev/eslint-plugin-vitest).
The default export from [`eslint-config-cheminfo`](configs/cheminfo.js) combines all of them.
https://github.com/cheminfo/eslint-config-cheminfo-typescript
https://github.com/cheminfo/eslint-config-cheminfo-react
To extend both the TypeScript and React configs, use the following template:
```js
import { defineConfig } from 'eslint/config';
import typescript from 'eslint-config-cheminfo-typescript';
import react from 'eslint-config-cheminfo-react/base';
export default defineConfig(typescript, react);
```