# @canva/app-eslint-plugin 中文文档

规范地址：https://npmcn.com/package/%40canva/app-eslint-plugin/

版本：1\.1\.0
npm 元数据更新时间：2026-11-02T01:55:09.404Z
中文译文更新时间：2026-11-09T01:28:04.803Z
软件包许可：SEE LICENSE IN LICENSE\.md

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40canva/app-eslint-plugin
原文对照：https://npmcn.com/package/%40canva/app-eslint-plugin/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：34.7 kB，14 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：13 个
- peer 依赖：eslint ^9\.23\.0
- 首次发布：2025-03-10T21:44:26.679Z
- 最新版本发布：2026-11-02T01:55:09.195Z
- 近 30 天下载量：39359（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 7 个）

## 中文简介

与 Canva 的 Apps SDK 共同构建的 ESLint 规则和共享配置

## 安装

```sh
npm install @canva/app-eslint-plugin
```

也可以使用：`pnpm add @canva/app-eslint-plugin`、`yarn add @canva/app-eslint-plugin`、`bun add @canva/app-eslint-plugin`

## README

# @canva/app-slint-plugin (英语)

与Canva合作的ESLint插件.

![ESLint](https://img.shields.io/badge/ESLint-3A33D1?logo=eslint) ![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)

## 目录

-   [导言](https://npmcn.com/package/%40canva/app-eslint-plugin/#readme-introduction)
-   [设置](https://npmcn.com/package/%40canva/app-eslint-plugin/#readme-setup)
    -   [1\. 安装](https://npmcn.com/package/%40canva/app-eslint-plugin/#readme-1-install)
    -   [2\. 配置](https://npmcn.com/package/%40canva/app-eslint-plugin/#readme-2-configure)
-   [可共享配置](https://npmcn.com/package/%40canva/app-eslint-plugin/#readme-shareable-configuration)
-   [更改日志](https://npmcn.com/package/%40canva/app-eslint-plugin/#readme-changelog)
-   [捐款](https://npmcn.com/package/%40canva/app-eslint-plugin/#readme-contributing)
-   [许可证](https://npmcn.com/package/%40canva/app-eslint-plugin/#readme-license)

## 导言

这个 `@canva/app-eslint-plugin` 软件包是一个ESLint插件,用于提供配置默认和与Canva合作的规则.

## 设置

如果你正在使用这个 [Canva Apps SDK 启动套件](https://github.com/canva-sdks/canva-apps-sdk-starter-kit),或者你已经使用了 [坎瓦语CLI](https://www.npmjs.com/package/@canva/cli) 创建 Canva SDK 应用程序,即 `@canva/app-eslint-plugin` 软件包已经安装和配置.

### 1\. 安装

您可以迁移已有的 Canva SDK 应用程序, 或者使用 `@canva/app-eslint-plugin` 软件包,不基于启动套件,也不来自Canva CLI。 首先将软件包安装为开发依赖:

```bash
npm install @canva/app-eslint-plugin --save-dev
```

### 2\. 配置

您可以通过导入 ESLint 插件来使用 `@canva/app-eslint-plugin` 软件包,并应用所提供的共享配置。 将软件包导入到您的 Eslint [平面配置](https://eslint.org/docs/latest/use/configure/migration-guide)数字 :

```js
// eslint.config.js
import canva from "@canva/app-eslint-plugin";

export default [
  ...canva.configs.apps,
  // your existing eslint config
];
```

要选择更严格的内衬,请使用严格的配置 :

```js
// eslint.config.mjs
import canva from "@canva/app-eslint-plugin";

export default [...canva.configs.apps_strict];
```

严格的林入增加了导入验证,反应钩和无障碍规则, 测试库规则、 蛇案类型文件名和绝对导入 在目录之间。 它没有规定试跑者.

## 可共享配置

此软件包提供以下配置集:

-   `apps` - 创造和维持高质量 [Canva 应用程序 SDK](https://www.canva.dev/docs/apps/) 应用程序.
-   `apps_strict` - 那个 `apps` 配置时附加了严格的规则.
-   `apps_no_i18n` - 这是相同的 `apps` 配置但不需要翻译应用程序。 大多数应用应该支持国际化, 然而由于一些应用目前可能无法翻译的信息数量有限.
-   `apps_i18n` - 这只是部分 `apps` 配置 _没有_ 列入 `apps_no_i18n` 配置 。 一般来说,最好使用 `apps` 直接配置 .

这些组合包括由其他软件包提供的以下配置组合:

-   [建议的ESLint](https://eslint.org/docs/latest/use/configure/configuration-files#using-predefined-configurations)。 。 。 .
-   [建议的打字方式、风格和严格](https://typescript-eslint.io/users/configs)。 。 。 .
-   [建议的埃斯林特-插剂反应](https://github.com/jsx-eslint/eslint-plugin-react?tab=readme-ov-file#recommended)。 。 。 .
-   [建议的埃斯林特-插座-喷雾剂](https://github.com/jest-community/eslint-plugin-jest?tab=readme-ov-file#shareable-configurations)。 。 。 .

此外,还配置了下列规则:

-   QQ 配置设置规则启用于 :
    -   📦 `apps` 财务报告和审定财务报表 `apps_no_i18n`
    -   🌐 `apps` 财务报告和审定财务报表 `apps_i18n`

| 插件 | 规则 | 💼 |
| --- | --- | --- |
| @ typescript- eslint/ eslint- plugin | 无非核加固 | 📦 |
| @ typescript- eslint/ eslint- plugin | 无空功能 | 📦 |
| @ typescript- eslint/ eslint- plugin | 连续型进口 | 📦 |
| @ typescript- eslint/ eslint- plugin | 无显性 | 📦 |
| @ typescript- eslint/ eslint- plugin | 无空界面 | 📦 |
| @ typescript- eslint/ eslint- plugin | 一致类型定义 | 📦 |
| @ typescript- eslint/ eslint- plugin | 明确成员无障碍 | 📦 |
| @ typescript- eslint/ eslint- plugin | 命名-公约 | 📦 |
| 埃斯林特语name | 无此无效 | 📦 |
| @ typescript- eslint/ eslint- plugin | 无此无效 | 📦 |
| @ typescript- eslint/ eslint- plugin | 无未使用表达式 | 📦 |
| 埃斯林特语name | 无未使用 vars | 📦 |
| @ typescript- eslint/ eslint- plugin | 无未使用 vars | 📦 |
| @ typescript- eslint/ eslint- plugin | 无要求进口 | 📦 |
| 埃斯林特- 插座- 捷运 | 无限制匹配者 | 📦 |
| 反应 | jsx- curly- brace- 存在 | 📦 |
| 反应 | jsx-tag- 间隔 | 📦 |
| 反应 | 自闭合 | 📦 |
| 反应 | 无未说明原因的实体 | 📦 |
| 反应 | jsx- 使用- 反应 | 📦 |
| 反应 | 反应- ins- jsx- 瞄准镜 | 📦 |
| 埃斯林特语name | 默认大小写 | 📦 |
| 埃斯林特语name | 电子数据 | 📦 |
| 埃斯林特语name | 无电话 | 📦 |
| 埃斯林特语name | 无控制台 | 📦 |
| 埃斯林特语name | 无 | 📦 |
| 埃斯林特语name | 无内部声明 | 📦 |
| 埃斯林特语name | 无新包装 | 📦 |
| 埃斯林特语name | 无限制全球 | 📦 |
| 埃斯林特语name | 无限制财产 | 📦 |
| 埃斯林特语name | 无限制语法 | 📦 |
| 埃斯林特语name | 无限制进口 | 📦 |
| 埃斯林特语name | 无返回等待 | 📦 |
| 埃斯林特语name | 无投掷-升 | 📦 |
| 埃斯林特语name | 无效 | 📦 |
| 埃斯林特语name | 无 | 📦 |
| 埃斯林特语name | 对象短手 | 📦 |
| 埃斯林特语name | 偏好缩放 | 📦 |
| 埃斯林特语name | 偏好对象扩展 | 📦 |
| 埃斯林特语name | 偏好恢复的段落 | 📦 |
| 埃斯林特语name | 偏好宽度 | 📦 |
| 埃斯林特语name | 弧度 | 📦 |
| 斯林特-插孔-独角兽 | 偏好节点- 议定书 | 📦 |
| 反应 | 无折旧 | 📦 |
| 反应 | 禁止内容 | 📦 |
| 斯林特-插孔-独角兽 | 文件名大小写 | 📦 |
| @ typescript- eslint/ eslint- plugin | 无要求进口 | 📦 |
| 埃斯林特语name | 无控制台 | 📦 |
| 埃斯林特-插图格式化js | 无效 | 🌐 |
| 埃斯林特-插图格式化js | 无立体字符串 jsx | 🌐 |
| 埃斯林特-插图格式化js | 执行描述 | 🌐 |
| 埃斯林特-插图格式化js | 执行- 默认消息 | 🌐 |
| 埃斯林特-插图格式化js | 执行方 | 🌐 |
| 埃斯林特-插图格式化js | 无编号 | 🌐 |
| 埃斯林特-插图格式化js | 没有情感 | 🌐 |
| 埃斯林特-插图格式化js | 无用信息 | 🌐 |
| 埃斯林特-插图格式化js | 无多层 | 🌐 |
| 埃斯林特-插图格式化js | 无抵销 | 🌐 |
| 埃斯林特-插图格式化js | 块列表元素 | 🌐 |
| 埃斯林特-插图格式化js | 无复合选择器 | 🌐 |
| 埃斯林特-插图格式化js | 无立体字符串对象 | 🌐 |

## 更改日志

见 `CHANGELOG.md` 文档.

## 捐款

我们正在积极开发这个一揽子计划,但目前不接受第三方的捐款. 如果您想要求修改或添加软件包,请通过 [Canva 开发者社区](https://community.canva.dev/)。 。 。 .

## 许可证

见 `LICENSE.md` 文档.

## 常见问题

### @canva/app-eslint-plugin 是什么？

与 Canva 的 Apps SDK 共同构建的 ESLint 规则和共享配置

### 如何安装 @canva/app-eslint-plugin？

在项目目录运行 npm install @canva/app-eslint-plugin，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：eslint（^9\.23\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @canva/app-eslint-plugin 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @canva/app-eslint-plugin 支持 ESM 还是 CommonJS？

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

### @canva/app-eslint-plugin 可以商用吗？

@canva/app-eslint-plugin 使用 SEE LICENSE IN LICENSE\.md 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @canva/app-eslint-plugin 的下载量有多少？

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

### @canva/app-eslint-plugin 还在维护吗？

最新版本 1\.1\.0 发布于 2026/11/02（7 天前）；至今共发布 14 个版本，其中过去 12 个月发布了 7 个；首次发布于 2025/03/11。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

