gpt4 book ai didi

typescript - 如何解析、修改和重新生成 TypeScript 文件(如 jscodeshift)的 AST?

转载 作者:搜寻专家 更新时间:2023-10-30 20:43:38 27 4
gpt4 key购买 nike

我的用例:我正在构建一个 Yeoman generator , 修改 TypeScript 文件;方式类似于:

  • 添加import语句
  • 将组件导入 AngularJS 模块

Yeoman 建议为此任务使用 AST 解析器:

The most reliable way to do so is to parse the file AST (abstract syntax tree) and edit it.

类似 jscodeshift 的工具使这对于 JavaScript 文件相当简单,但它似乎不支持 TypeScript。是否有类似的工具来解析和修改 TypeScript 文件的 AST?

最佳答案

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/

https://dsherret.github.io/ts-simple-ast/setup/ast-viewers

https://dsherret.github.io/ts-simple-ast/manipulation/

关于typescript - 如何解析、修改和重新生成 TypeScript 文件(如 jscodeshift)的 AST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45466913/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com