我的用例:我正在构建一个Yeoman generator,它会修改TypeScript文件;以类似的方式:
import
语句Yeoman建议使用AST解析器执行此任务:
最可靠的方法是解析文件AST(抽象语法树)并对其进行编辑。
像jscodeshift这样的工具使JavaScript文件相当简单,但它似乎不支持TypeScript。是否有任何类似的工具来解析和修改TypeScript文件的AST?
答案 0 :(得分:2)
ts-simple-ast
是否符合您的需求?
import { Project } from "ts-simple-ast";
const project = new Project();
// ...lots of code here that manipulates, copies, moves, and deletes files...
const sourceFile = project.getSourceFile("Models/Person.ts");
const importDeclaration = sourceFile.addImportDeclaration({
defaultImport: "MyClass",
moduleSpecifier: "./file"
});
// when you're all done, call this and it will save everything to the file system
project.save();
https://github.com/dsherret/ts-simple-ast
https://dsherret.github.io/ts-simple-ast/
答案 1 :(得分:0)
自v0.6.0(https://github.com/facebook/jscodeshift/releases/tag/v0.6.0)起,看来jscodeshift
通过ts
选项支持TypeScript(tsx
和--parser
)。