17个稳定版本 (4个主要版本)

5.0.3 2023年9月24日
5.0.2 2023年9月23日
4.2.1 2023年2月10日
3.2.0 2023年2月8日
1.0.0 2022年11月13日

#318编程语言 中排名

Download history 11/week @ 2024-03-09 57/week @ 2024-03-30 1/week @ 2024-04-06 550/week @ 2024-04-13

每月下载 73次

ISC OR Apache-2.0

42KB
951

tsconfig-includes

Build Status

tsconfig-includes 列出用于monorepo包的TypeScript编译过程中使用的文件。虽然 tsc --listFilesOnly 只列出目标包中的输入文件,但 tsconfig-includes 列出目标包及其所有内部依赖项中的输入文件。您可以使用此列表来确定包的输入何时已更改,以决定是否重新构建包或使用缓存的版本。


lib.rs:

列出TypeScript编译器在编译过程中使用的源代码文件。返回值是一个从monorepo根目录开始的相对路径列表,按字母顺序排序。

计算此文件列表有两种方法:精确方法和估计方法。

**精确**方法使用TypeScript编译器的listFilesOnly标志作为可信来源。我们不尝试独立重新实现此算法,因为这需要遵循JavaScript和TypeScript代码中的import语句。请参阅tsconfig exclude文档

重要:exclude 改变由于include设置而包含的文件。由排除指定的文件仍然可以通过代码中的导入语句、类型包含、/// <reference指令或指定在files列表中而成为代码库的一部分。

TypeScript编译器是一个实现等同于规范的工程,因此此枚举方法以“规范”定义的输出准确性为代价,换取了调用TypeScript编译器的运行时惩罚。

**估计**方法使用tsconfig.json文件中include属性的glob列表来计算源文件列表。

此估计目前不够精确(并且可能保持这种状态)-- 它尽可能地遵循exclude或基于文件类型的规则。

如果通配符模式不包括文件扩展名,则只包含支持扩展名的文件(默认情况下为.ts、.tsx和.d.ts,如果allowJs设置为true,则还包括.js和.jsx),但不保证完全兼容。

没有任何保证可以完全兼容。

此外,此方法不执行源代码分析以跟踪导入的文件。

如果您关注速度,可能希望使用估计方法,因为它的速度比精确方法快几个数量级。

依赖项

~12–22MB
~231K SLoC