Skip to content

Conversation

angrychow
Copy link
Contributor

@angrychow angrychow commented Aug 21, 2025

What type of PR is this?

Check the PR title.

  • This PR title match the format: <type>(optional scope): <description>
  • The description of this PR title is user-oriented and clear enough for others to understand.
  • Attach the PR updating the user documentation if the current PR requires user awareness at the usage level. User docs repo

(Optional) Translate the PR title into Chinese.

使用 ts-node 实现了简单的 TypeScript UniAST Parser

(Optional) More detailed description for this PR(en: English/zh: Chinese).

en:

Introduces a TypeScript AST parser that extracts method calls, variable references, and dependencies from TypeScript codebases, generating UNIAST JSON output. The parser requires proper configuration including specifying the correct tsconfig.json location and project dependencies setup, and may need Node.js memory adjustment for large repositories. Current limitations include handling of circular dependencies (choosing one randomly as main), dynamic imports, TypeScript decorators, and external symbols without .d.ts declaration files.

zh(optional):

引入了一个 TypeScript AST 解析器,该解析器能够从 TypeScript 代码库中提取方法调用、变量引用和依赖关系,并生成 UNIAST JSON 输出。该解析器需要正确配置,包括指定正确的 tsconfig.json 文件路径和项目依赖设置,对于大型代码库可能还需要调整 Node.js 内存限制。目前的局限性包括:难以处理循环依赖(会随机选择一个作为主依赖)、动态导入、TypeScript 装饰器、缺少 .d.ts 声明文件的外部符号。

(Optional) Which issue(s) this PR fixes:

(optional) The PR that updates user documentation:

See ts-parser/README.md

@welkeyever welkeyever self-assigned this Aug 25, 2025
@welkeyever
Copy link
Member

Part of #64

@welkeyever welkeyever mentioned this pull request Aug 26, 2025
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants