检查数字/ 类型字符配置
版权所有 2021-2026 检查 Digit, LLC
导言
此模块包含标准检查 Digit 类型Script 配置, 以及我们的标准构建工具 builder。 。 。 .
类型脚本配置
- 目前支持节点24.18.0至但不包括节点25,或节点26及以上.
- 节点25故意不属于支持合同.
- 发射
esnext,带有默认库,以避免降级. 旨在选择应用光谱测试 解决在特定环境中没有使用较新特性的任何问题。 浏览器和Node.js是快速移动的 目标,并且可以随时添加语言特性. - 使用该
module类型esnext。 。 。 . - 为最大严格性设置了所有编译器选项.
构建器
builder 是一个命令行工具,从TypeScript源生成无害环境管理模块.
打算用于向国家预防机制发布一个软件包,或捆绑一个软件包用于部署.
用这个 tsc 用于生成类型,以及 esbuild 用于生成代码.
说明: 页:1 require 函数将被定义为一个全局变量,以便
动态 requires由CommonJS子模块. 这不是Node.js的问题,而是会在浏览器环境中引起问题.
选项
--type要生成的输出类型。 默认为module(ESM) (英语). 有效值为module或者说types。 。 。 .--entryPoint捆绑的切入点,相对于inDir。 如果不提供, inDir 中的文件将 作为单独未分解的文件处理.--inDir输入源代码目录.--outDir输出目录.--outFile相对于--outDir此选项用于单文件捆绑,以及--entryPoint。 。 。 .--external从捆绑中排除的外部模块。 内建node模块自动排除. 通配符*可用于排除多个外部模块.--minify是否对输出进行最小化.--sourceMap是否包含内入源图.
实例
# build ESM .mjs files from TypeScript source
npx builder --type=module --outDir=build-esm
# build single-file ESM .mjs bundle from TypeScript source
npx builder --type=module --outDir=build-esm-bundle --entryPoint=index.ts --outFile=index.mjs
测试
这个单元包括一些集成式测试,
以确保 TypeScript 的特定版本将相互操作
与 builder,除运行时间外,Check Digit使用的库和框架:
- 最近的TC39提案
- 由 AWS Lambda, Google Cloud 函数和 Azure 函数支持的节点版本
- ESLint和
@typescript-eslint/eslint-plugin - 内建
node:test运行 prettiertsc,以及 TypeScript 各版本中引入的具体功能esbuild- Wallaby.js (支助)
node:test依赖本地节点类型选择支持)
我们这样做是为了确保TypeScript的升级不会打破这些依赖性, 并且这些相关项目的更新不会中断构建.
注意: TypeScript 的新主要版本不是立即 由eslint、更漂亮、打字-slint、, 包括: 我们的政策是等到这些项目得到充分支持 新版本的TypeScript,和/或在这些测试中不发出警告,在发布之前.
关于版本的注释
由于TypeScript本身不坚持 semver,严格的semver有点复杂. 因此,我们的"最大努力"政策是:
- 每次更新到最小节点目标(如节点18到节点20),或更改为主要编译器输出选项
(例如:.
module, (中文(简体) ),target或者说moduleResolution)将产生本单元新的主要版本. 我们和最新版本的LTS节点 由亚马逊·兰布达支持, Google云函数和Azure函数. - 每个"主要"版本的TypeScript(例如.
5.7.x改为5.8.x)将产生这个模块的新小版本. - 对TypeScript(例如.
5.7.2改为5.7.3)或密钥依赖(如节点)22.11转到节点22.14(中文(简体) ) 可能 结果是补丁.
记住,任何对TypeScript的更新都有可能打破你的构建. 但希望能有所帮助.
安装
npm add -D @checkdigit/typescript-config
注意: 您不需要明确安装 TypeScript 本身, 因为最近支持的版本是作为
相对依赖关系 @checkdigit/typescript-config。 。 。 .
确定你的项目 tsconfig.json 扩展 @checkdigit/typescript-config。 。 。 .
示例 tsconfig.json
{
"extends": "@checkdigit/typescript-config"
}
注意此配置有 moduleResolution 设置为 bundler。 。 。 .
这需要使用 builder 命令
生成用于部署的工作代码.
许可证
麻省理工学院