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 在 编程语言 中排名
每月下载 73次
42KB
951 行
tsconfig-includes
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