@cruk/eslint-config

中文文档
6.0.1发布于 2026/06/11MITES Module零依赖近 30 天下载 3874

脚印打字程序规则

中文使用文档
文档目录8 节
  1. 它会做什么
  2. 兼容性
  3. 安装
  4. 国家预防机制
  5. Monorepo 安装
  6. 配置
  7. 示例
  8. 释放

ESLint 配置

这些是ESLint的设置

它会做什么

基于当前推荐的最佳做法,此设置会提示您的 JavaScript 和 TypeScript 代码 .

兼容性

  • 节点 22
  • 节点 24

安装

国家预防机制

npm i -D @cruk/eslint-config

Monorepo 安装

如果您正在使用像 NX 这样的单曲工具 nx run many -t=eslint 然后您需要在根部安装 eslint 的依赖性 . 如果您正在使用像 npm 工作空间这样的单重工具 npm run eslint --ws --if-present 您需要在每个软件包中安装 eslint 依赖性

配置

创建( 或更新) a eslint.config.mjs 文件在您的 repo 根中,或者如果您在每个软件包的根中有单个 repo 。 如果您拥有一个大型的多包单体,则特别推荐,因为同时在所有包上运行的eslint可能会超过JS堆积大小限制.

示例

Kitchen switch expaple 中也包含使用一些相容性工具的更古老的配置:

import { FlatCompat } from "@eslint/eslintrc";
import tsParser from "@typescript-eslint/parser";
import path from "path";
import { fileURLToPath } from "url";
import { fixupConfigRules } from "@eslint/compat";

import { config as crukConfig } from "@cruk/eslint-config";

const __filename = fileURLToPath(import.meta.url); // get the resolved path to the file
const __dirname = path.dirname(__filename); // get the name of the directory
const compat = new FlatCompat({
  // import.meta.dirname is available after Node.js v20.11.0
  baseDirectory: import.meta.dirname,
});

const config = [
  ...crukConfig,
  ...compat.config({
    extends: ["next"],
    settings: {
      next: {
        rootDir: ".",
      },
    },
  }),
  {
    languageOptions: {
      parser: tsParser,
      parserOptions: {
        tsconfigRootDir: __dirname,
        project: ["./tsconfig.json"],
      },
    },
    rules: {
      "@next/next/no-img-element": "off",
    },
    files: ["src/**/*.ts", "src/**/*.tsx", "playwright/**/*.ts"],
    ignores: [".next", ".swc", "test-results", "node_modules"],
  },
];

export default fixupConfigRules(config);

你可以运行测试你的设置是否正确

npx eslint --fix-dry-run .

释放

释放前

  1. 请更新软件包中的版本编号. json并遵循版本编号的 semver 标准.
  2. 运行 nvm use 确保您在正确的节点版本.
  3. 运行 npm i 以确保锁文件中的正确版本.
  4. 更新 ChangeGELOG.md 应列出发布时的更改, 指令位于文件底部 .
  5. 这些更改需要合并为主.

释放

  1. 确定您有正确的权限 。 @ cruk org 在国家预防机制.
  2. 运行发行脚本 npm run release

这个应该用 release-it 允许您选择与套件 JSON 中描述的相同的版本编号,它应该照顾其余的:

  • 它运行 npm ci
  • 它的建设
  • 它制造和推出标签
  • 释放了国家防范机制
  • 它请求您在 github 上记录释放,并自动生成释放笔记.
  1. 同意所有这些步骤 释放它走过, 当Github打开 释放点击 Publish 按钮。 如果有什么不对的释放 - 它应该退后.
  2. 当它打开 github 创建放出/tag时,使用自动生成来创建放出注释.

版本与发布记录

@cruk/eslint-config 共发布 23 个版本,首次发布于 2021/09/27;过去 12 个月发布了 3 个版本。

版本发布日期距今
6.0.1latest2026/06/114 个月前
6.0.02026/06/114 个月前
5.0.02025/12/0811 个月前
4.0.02025/01/221.8 年前
3.1.12024/09/242 年前
3.0.12024/04/292 年前

关于 @cruk/eslint-config 的常见问题

@cruk/eslint-config 是什么?

脚印打字程序规则

如何安装 @cruk/eslint-config?

在项目目录运行 npm install @cruk/eslint-config,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@eslint/js(^10)、@types/node(^24)、eslint(^10)、eslint-config-prettier(^10.0.1)、eslint-plugin-prettier(^5.2.2)、eslint-plugin-promise(^7.3.0)、prettier(^3)、typescript-eslint(^8.61.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@cruk/eslint-config 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/cruk__eslint-config 是否存在。

@cruk/eslint-config 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@cruk/eslint-config 可以商用吗?

@cruk/eslint-config 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@cruk/eslint-config 的下载量有多少?

根据 npm 官方下载统计,@cruk/eslint-config 在 2026/10/11 – 2026/11/09 这 30 天内被下载 3,874 次,日均约 129 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cruk/eslint-config 还在维护吗?

最新版本 6.0.1 发布于 2026/06/11(4 个月前);至今共发布 23 个版本,其中过去 12 个月发布了 3 个;首次发布于 2021/09/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。