@canonical/typescript-config

中文文档
0.44.0发布于 2026/10/23LGPL-3.0零依赖构建来源已验证近 30 天下载 9471

Canonical 的标准类型脚本配置

中文使用文档
文档目录4 节
  1. 开始
  2. 配置
  3. 历史
  4. 洞穴

条形字体配置

这个软件包为Canonical的TypeScript项目提供了中央配置.

反应项目见 反应配置。 。 。 .

开始

  1. 安装打字符 : bun add -d typescript
  2. 安装此配置 : bun add -d @canonical/typescript-config
  3. 创建一个 tsconfig.json 在您的工程根中存档,并扩展此配置.
{
  "extends": "@canonical/typescript-config"
}

配置

此配置允许以下行为 :

  1. ES2023 图书馆 包含: ES2023 typeScript 项目的库.
  2. NodeNext 模块:为节点项目提供模块解析,同时提供CJS和无害环境管理支持.
    1. 明确导入文件扩展名( 例如 ), ./Button/index.js 改为 ./Button) (中文(简体) ).
  3. ES2023 目标: ES2023 ECMAScript版本. 出自现代JavaScript语法,省去遗留变换和多填充.
  4. 严格模式: 启用严格类型检查和若干其他严格性设置.

历史

此配置根植于 Canonical React 组件打字符配置。 。 。 . 它被普遍用于支持非反应性项目,并且更低等.

以下选项已经从原始配置中更改:

  • "module": "esnext" → "module": "NodeNext":为了更严格的节点相容输出和模块分辨率,提高导入语法的一致性,并改进无害环境管理/CJS的互操作性.
  • "target": "es6" → "target": "ES2023"
  • "lib": ["dom", "dom.iterable", "esnext"] → "lib": ["ES2023"] (单位:千美元)DOM 如果浏览器项目需要,可以手动添加)
  • "strict": false → "strict": true
  • "noUnusedParameters": true + 按严格模式抵消
  • "noUnusedLocals": true + 按严格模式抵消
  • "noImplicitReturns": true + 按严格模式抵消
  • "noFallthroughCasesInSwitch": true + 按严格模式抵消
  • "skipLibCheck": true − 无法进行更严格的依赖类型检查
  • "esModuleInterop": true • 由 "module": "NodeNext",将节点配置与无害环境管理互操作性相结合
  • "allowSyntheticDefaultImports": true • 禁用更严格的进口检查

洞穴

NodeNext 文选. Node 模块分辨率

在使用TypeScript的NodeNext模块分辨率时,TypeScript期望文件遵循Node.js的ES模块(ESM)分辨率规则,这需要明确的.js扩展来进行导入. 这一方法与无害环境管理公约相匹配,其中必须具体说明索引.js文件。 这与节点模块分辨率不同,该模块默认为CommonJS,允许目录导入而无需指定索引文件. 最佳做法:

Use Explicit File Extensions: With NodeNext, include file extensions (e.g., ./Button/index.js).
Maintain an index.ts for Exports: Collect all exports in a single index.ts at the package root for easier imports.
Consider the Module Type: Use Node resolution if CommonJS is preferred; otherwise, NodeNext for ESM compliance.

这种方法与Node.js和捆绑机都保持相容性.

换句话说,通过使用NodeNext,我们的目标是与ES模块规格相兼容,这需要明确导入 mymodule/index.js 文件而不是简单的 mymodule/。 。 。 .

版本与发布记录

@canonical/typescript-config 共发布 34 个版本,首次发布于 2026/02/10;过去 12 个月发布了 34 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.44.0latest2026/10/2317 天前
0.43.02026/10/011 个月前
0.43.0-experimental.0experimental2026/09/291 个月前
0.42.02026/09/281 个月前
0.40.02026/09/211 个月前
0.38.02026/09/161 个月前

其他发布通道:a → 0.12.0,experimental → 0.43.0-experimental.0。

关于 @canonical/typescript-config 的常见问题

@canonical/typescript-config 是什么?

Canonical 的标准类型脚本配置

如何安装 @canonical/typescript-config?

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

@canonical/typescript-config 支持 TypeScript 吗?

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

@canonical/typescript-config 可以商用吗?

@canonical/typescript-config 使用 LGPL-3.0 许可。弱 Copyleft:作为库被调用时通常不要求开源你自己的代码,但修改库本身需以 LGPL 开源;前端打包合并后的适用边界存在不同理解。以上为概括,不构成法律意见,请以许可原文为准。

@canonical/typescript-config 的下载量有多少?

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

@canonical/typescript-config 还在维护吗?

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