@enonic/eslint-config

中文文档
3.0.0发布于 2026/10/09MITCommonJS近 30 天下载 2548

Enonic为JavaScript和TypeScript制定的ESLint规则.

中文使用文档
文档目录7 节
  1. 安装
  2. 使用量
  3. 配置
  4. XP 和浏览器
  5. 香草 Java 脚本
  6. 类型脚本
  7. 许可证

环境 ESLint 配置

安装

  1. 安装配置的最新版本 :
npm install --save-dev @enonic/eslint-config
  1. 安装命令列出的每个软件包的正确版本:
npm info "@enonic/eslint-config@latest" peerDependencies

狦 别 需要插入 TypeScript, 您应该跳过此步骤( 见 香草配置) (中文(简体) ).

确保你输入所有相同的版本 @typescript-eslint/eslint-plugin 财务报告和审定财务报表 @typescript-eslint/parser 软件包.

使用量

.eslintrc.json

{
    "extends": "@enonic/eslint-config",
    "overrides": [
        {
            "files": ["*.ts", "*.tsx"],
            "parserOptions": {
                "project": "./tsconfig.json"
            }
        }
    ]
}

有些规则要求 parserServices 因此,将产生 project 必须明确规定财产。 注意, TypeScript 配置被 *.ts编号 :*.tsx 范围.

配置

除此以外 @enonic/eslint-config,这个软件包包含另外四个配置:

独立

  • @enonic/eslint-config/vanilla 应替换 JavaScript 中默认配置.
  • @enonic/eslint-config/typescript 应当替换 TypeScript 工程中的默认配置.

帮助者

  • @enonic/eslint-config/browser 为 linting 浏览器文件(资产)添加了额外的配置.
  • @enonic/eslint-config/xp 添加了 XP 全局变量, 并允许给 XP 使用的文件 .

帮助者必须结合默认,香草,或打字符配置.

XP 和浏览器

您的项目可能同时包含服务器端和客户端端文件 。 在这种情况下,为了防止对不适当的文件使用特定配置,使用超接可能是合理的:

.eslintrc.json

{
    "extends": "@enonic/eslint-config",
    "overrides": [
+       {
+           "files": [
+               "src/main/resources/assets/*.js",
+               "src/main/resources/assets/*.ts"
+           ],
+           "extends": "@enonic/eslint-config/browser"
+       },
+       {
+           "files": [
+               "src/main/resources/lib/*.js",
+               "src/main/resources/lib/*.ts"
+           ],
+           "extends": "@enonic/eslint-config/xp"
+       },
        {
            "files": ["*.ts", "*.tsx"],
            "parserOptions": {
                "project": "./tsconfig.json"
            }
        }
    ]
}

香草 Java 脚本

默认配置将同时插入TS和JS文件. 如果您的项目不使用 TypeScript, 那么 @enonic/eslint-config/vanilla 可取而代之使用配置. project 不得指定财产。 也不得安装与TS有关的其他同伴依赖.

.eslintrc.json

{
-   "extends": "@enonic/eslint-config",
+   "extends": "@enonic/eslint-config/vanilla",
    "overrides": [
-       {
-           "files": ["*.ts", "*.tsx"],
-           "parserOptions": {
-               "project": "./tsconfig.json"
-           }
-       }
+       {
+           "files": ["src/main/resources/assets/*.js"],
+           "extends": "@enonic/eslint-config/browser"
+       },
+       {
+           "files": ["src/main/resources/lib/*.js"],
+           "extends": "@enonic/eslint-config/xp"
+       }
    ]
}

类型脚本

当使用类型脚本配置而不是默认配置时, project 属性必须移动到 parserOptions 于相相相根下. 如果您只插入 TypeScript 文件, 此配置应该比默认配置更可取 。 它将配置文件简化了一点.

.eslintrc.json

{
-   "extends": "@enonic/eslint-config",
+   "extends": "@enonic/eslint-config/typescript",
+   "parserOptions": {
+       "project": "./tsconfig.json"
+   }
    "overrides": [
-       {
-           "files": ["*.ts", "*.tsx"],
-           "parserOptions": {
-               "project": "./tsconfig.json"
-           }
-       }
+       {
+           "files": ["src/main/resources/assets/*.ts"],
+           "extends": "@enonic/eslint-config/browser"
+       },
+       {
+           "files": ["src/main/resources/lib/*.ts"],
+           "extends": "@enonic/eslint-config/xp"
+       }
    ]
}

许可证

麻省理工学院 © 音效

版本与发布记录

@enonic/eslint-config 共发布 13 个版本,首次发布于 2022/05/23;过去 12 个月发布了 4 个版本。

版本发布日期距今
3.0.0latest2026/10/091 个月前
2.3.02026/05/076 个月前
2.2.12025/12/1710 个月前
2.2.02025/12/1710 个月前
2.1.02025/08/111.3 年前
2.0.12024/11/192 年前

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

@enonic/eslint-config 是什么?

Enonic为JavaScript和TypeScript制定的ESLint规则.

如何安装 @enonic/eslint-config?

在项目目录运行 npm install @enonic/eslint-config,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:eslint(^10.0.0)、typescript(^5.8.3)、typescript-eslint(^8.50.0)、@typescript-eslint/parser(^8.50.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@enonic/eslint-config 支持 TypeScript 吗?

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

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

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

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

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

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

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

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

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