TypeScript API在几个版本之前公开了customTransformer
API。
我想创建一个处理导入语句(可能也需要)的转换器,以解决包依赖关系,例如 webpack , browserify 或 parcel 做。
幸运的是,TypeScript本身已经将customTransformer API用于非常相似的目的:
transformAMDModule at src/compiler/transformers/module/module.ts line 120
但是,该代码依赖于许多内部字段/ API(并且并没有完全执行此处所需的操作)。
可以在公共API中完成此任务吗?即使是简化/部分版本。
要澄清:这是关于将应用程序的外部依赖项(例如react
,moment
,lodash
)与应用程序代码本身捆绑在一起。尽管TypeScript
当前支持--outFile
参数,但这仅将应用程序代码组装在一起,而没有依赖关系。
P.S。通过Twitter/486timetable提出相同的问题,并将在此处反映出所有有用的更新,以提高可搜索性。
答案 0 :(得分:0)
没有正式答案,但这是GitHub上的my own exploration:
ts.Program
和ts.TypeChecker
对象,并从AST中嗅出模式。理想情况下,它需要抓住:
import ... from "a-module"
语句require("a-module")
同步通话import("a-module")
异步调用define
语法require
异步调用(行为与全局同步require
不同)React
-> import React from "react"
import
语句并非完全简单,但实际上可行。希望#TypeScript小组的人可以纠正任何错误?