3.1.7 • Published 3 years ago
@build-script/export-all-in-one v3.1.7
export-all-in-one
在你的 TypeScript 项目中“收集”所有export语句,把它们从一个入口文件中重新导出,于是其他人可以import { 任何, 东西 } from '@你的/包'。而不需要了解任何、东西在哪个文件里。你可以在不同版本间瞎几把改文件路径,没有人会察觉。
使用方法:
一、安装
npm -g install build-script二、修改你的 tsconfig
由于种种限制,outDir 是必须的。不支持原地编译。
三、使用魔法
tsconfig.json 可以省略,这两个命令的先后顺序无所谓
export-all-in-one ./path/to/tsconfig.json
tsc -p ./path/to/tsconfig.json💥BOOM,所有东西都导出了。
提示:
- 你还需要在
package.json中设置入口文件
这个工具会在你的outDir文件夹里创建_export_all_in_one_index.js,你需要把package.json中的main指向它。 - 同时还要改
package.json中的 types 或 typings 字段,值为./docs/package-public.d.ts - 当探测到“双包模式”时,这个工具同时还会创建
_export_all_in_one_index.cjs,你需要修改package.json中的exports。
链接:
选项与配置:
如果一个导出的符号有注释文档(/** */):
- 带有
@extern标签的会被导出 - 带有
@internal标签的会被隐藏(.d.ts 和_export_all_in_one_index 里都不会有它) - 没用注释,或没有上面两种标签:使用默认设置(exportEverything)
没有export的符号无论加什么都不会被导出。
在package.json中的配置:
{
"exportAllInOne": {
"exportEverything": true
}
}| 配置 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| exportEverything | boolean | true | 符号如果不加注释,默认应该被导出还是隐藏 |
这个包会做:
- 通过你的
tsconfig.json和 typescript api 解析你项目涉及到的文件(所以不被 tsc 处理的文件也不会被这个包处理) - 收集各个文件中导出的符号信息
- 在临时文件夹里生成一个
_export_all_in_one_index.ts - 调用和 typescript 编译
_export_all_in_one_index.ts然后把结果复制到outDir里 - 调用
@microsoft/api-extractor分析_export_all_in_one_index.ts然后把结果复制到你的包/docs/里
限制:
显然,你的多个文件不可以导出同一个名称,但你本来也不该这么做,除非你想让用户的 IDE 懵逼
默认导出会被变成命名导出,名称就是文件名(不建议用默认导出)
3.1.3
3 years ago
3.1.7
3 years ago
3.1.6
3 years ago
3.1.5
3 years ago
3.1.4
3 years ago
3.1.2
4 years ago
3.1.1
4 years ago
3.1.0
4 years ago
3.0.26
4 years ago
3.0.25
4 years ago
3.0.24
4 years ago
3.0.23
5 years ago
3.0.22
5 years ago
3.0.21
5 years ago
3.0.20
5 years ago
3.0.19
5 years ago
3.0.18
5 years ago
3.0.17
5 years ago
3.0.16
5 years ago
3.0.15
5 years ago
3.0.14
5 years ago
3.0.13
5 years ago
3.0.12
5 years ago
3.0.11
5 years ago
3.0.10
5 years ago
3.0.9
5 years ago
3.0.8
6 years ago
3.0.7
6 years ago