5.3.0 • Published 7 months ago

@goodbyenjn/eslint-config v5.3.0

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

@goodbyenjn/eslint-config

个人使用的一套 ESLint 规则。基于 eslint-config-alloy@antfu/eslint-config,并增加了 eslint-plugin-import-xeslint-plugin-react-hooks 插件。

目前已适配 ESLint flat config。

这是一个 ESM 模块,已弃用 CommonJS 支持。

使用方法

npm install --save-dev eslint @goodbyenjn/eslint-config
# or
pnpm add -D eslint @goodbyenjn/eslint-config
# or
yarn add -D eslint @goodbyenjn/eslint-config

在你的项目根目录下创建一个 eslint.config.mjs 文件,并将以下内容复制进去:

import { withGoodbyeNJNConfig } from "@goodbyenjn/eslint-config";

export default withGoodbyeNJNConfig();

本配置会根据 package.json 文件中是否存在 reactvuetypescript 依赖项来自动启用对应的规则。

你也可以手动覆盖相关配置,例如:

import { withGoodbyeNJNConfig } from "@goodbyenjn/eslint-config";

export default [
    ...withGoodbyeNJNConfig({
        // 禁用 TypeScript 相关规则
        typescript: false,

        // 启用 React 相关规则
        react: {
            // 手动指定 React 版本
            version: "18",

            // 覆盖 React 相关规则
            overrides: {
                "react/react-in-jsx-scope": "off",
            },
        },

        // 启用 Vue 相关规则
        vue: true,
    }),
];

本配置带类型定义,所以在进行配置时会有智能提示。

与 Prettier 配合使用

npm install --save-dev prettier
# or
pnpm add -D prettier
# or
yarn add -D prettier

在你的项目根目录下创建一个 prettier.config.mjs 文件,并将以下内容复制进去:

import { withGoodbyeNJNConfig } from "@goodbyenjn/eslint-config/prettier";

export default withGoodbyeNJNConfig();

本配置会自动忽略 .gitignore 中列出的文件,并且会忽略一些常见的文件,例如 dist.next.nuxt.output.vercelpackage-lock.jsonyarn.lockpnpm-lock.yaml 等。详细列表请查看 globs.ts 文件。

如果你需要忽略其他文件,可以在 prettier.config.mjs 中添加 ignores 选项,例如:

import { withGoodbyeNJNConfig } from "@goodbyenjn/eslint-config/prettier";

export default withGoodbyeNJNConfig({
    // 忽略所有的 JSON 文件
    files: ["*.json"],
});

其中 ignores 选项的格式与 Prettier 配置中的 overrides[].files 选项相同。详情请参考 Prettier 文档

5.3.0

7 months ago

5.2.1

7 months ago

5.2.0

7 months ago

5.1.0

8 months ago

5.0.0

8 months ago

4.1.1

9 months ago

4.0.0

10 months ago