# @callidescope/graph 中文文档

规范地址：https://npmcn.com/package/%40callidescope/graph/

版本：0\.0\.73
npm 元数据更新时间：2026-11-09T03:14:50.127Z
中文译文更新时间：2026-11-09T05:06:03.677Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40callidescope/graph
原文对照：https://npmcn.com/package/%40callidescope/graph/?lang=original
项目主页：https://github.com/organizzolini/codebase/tree/main/projects/ic-suite/callidescope/callidescope-graph#readme
源码仓库：https://github.com/organizzolini/codebase

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：244 kB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：6 个
- peer 依赖：typescript ^6\.0\.3
- 首次发布：2026-10-04T22:26:21.846Z
- 最新版本发布：2026-11-09T03:14:49.776Z
- 近 30 天下载量：9935（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：71（近 12 个月 71 个）

## 中文简介

TypeScript AST 用于 Callidescope 的书法绘制器和调用存储深度和宽度

## 安装

```sh
npm install @callidescope/graph
```

也可以使用：`pnpm add @callidescope/graph`、`yarn add @callidescope/graph`、`bun add @callidescope/graph`

## README

# QQ Callidescope 图形

[![npm](https://img.shields.io/npm/v/@callidescope/graph?logo=npm&label=npm)](https://www.npmjs.com/package/@callidescope/graph)

**构建来自可追溯的TypeScript源的调用图并测量其深度和广度.**

这个包是叶子 [`@callidescope/cli`](https://npmcn.com/package/%40callidescope/callidescope-cli/README.md) 包图:它取决于 仅在 [`@callidescope/configuration`](https://npmcn.com/package/%40callidescope/callidescope-configuration/README.md) 财务报告和审定财务报表 `@codebase/observability`,这里没有达到 [`@callidescope/output`](https://npmcn.com/package/%40callidescope/callidescope-output/README.md)。 。 。 .

```bash
npm install --save-dev @callidescope/graph
```

## 此套件拥有什么

-   **`program`** ——编译可追溯的 TypeScript 项目
-   **`workspace`** 解决哪些项目和档案属于范围
-   **`callables`** - 发现可通知的声明
-   **`entry-points`** ——解决已配置的切入点
-   **`class-hierarchy`** - 确定对接成员的具体执行,上限为 `MAXIMUM_IMPLEMENTATION_CANDIDATES`
-   **`signatures`** - 读取可调用签名
-   **`documentation`** - 阅读可调用的文件评论
-   **`edges`** ——解决呼叫站点向被呼叫者申报
-   **`graph`** ——将以上集合为 `CallGraph`编号 :`CondensedGraph` 并测量其深度和广度

## 测试

```bash
nx run callidescope-graph:vitest
```

## \* 调和

这个项目源于 [巢-服务-项目](https://npmcn.com/configuration/conformetry-templates/nestjs-service-project) 符合模板.

## 调用镜

追踪到的呼叫堆栈 `projects/ic-suite/callidescope/callidescope-graph`首先最深处 每个框架显示它需要什么,它返回什么,以及它的文件内容.

| 措施 | 数值 |
| --- | --- |
| 可调用 | 209号 |
| 文件 | 64国道 |
| 追踪的电话 | 201 (韩语) |
| 调用堆栈 | 页:1 |
| 最深的堆栈 | 页:1 |
| 通过重复堆叠 | 0 个 |
| 无法接听的电话 | 6个 |

### 限制

如项目本身所宣布的那样,对该项目作出何种判断 `callidescope.config.ts`。 。 。 .

| 限制 | 数值 |
| --- | --- |
| `maximumDepth` | 第11个 |
| `maximumBreadth` | 第9条 |

### 调用堆栈( 深度)

**1\. 联合国. `ProgramService.resolveProjectFiles`** ——深度 5 个孤儿

```text
🚀 ProgramService.resolveProjectFiles(project: WorkspaceProject): readonly string[] [projects/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:262]
  └─> ProgramService.buildProgram(args: { project: WorkspaceProject; workspaceRoot: string; }): ProjectProgram [projects/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:115]
     ↳ Builds one project's program, checker, and owned-file set.
    └─> CompilerHostService.createHost(args: { options: ts.CompilerOptions; workspaceRoot: string; }): ts.CompilerHost [projects/ic-suite/callidescope/callidescope-graph/src/modules/program/compiler-host.service.ts:119]
       ↳ Creates a compiler host that reuses already-parsed source files. `setParentNodes` is on because the rest of the package…
      └─> CompilerHostService.resolveModuleCache(options: ts.CompilerOptions, workspaceRoot: string): ts.ModuleResolutionCache [projects/ic-suite/callidescope/callidescope-graph/src/modules/program/compiler-host.service.ts:79]
         ↳ Returns the module resolution cache for one working directory.
        └─> CompilerHostService.createModuleResolutionCache(…)(fileName: string): string [projects/ic-suite/callidescope/callidescope-graph/src/modules/program/compiler-host.service.ts:91]
```

**2\. 联合国. `CallablesService.visit`** ——深度 5 个孤儿

```text
🚀 CallablesService.visit(node: ts.Node): void [projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:49]
  └─> CallablesService.describe(args: DescribeCallableArguments): DiscoveredCallable [projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:122]
     ↳ Turns one declaration into a fully described node.
    └─> CallableIdentityService.readDisplayName(declaration: CallableDeclaration): string [projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:131]
       ↳ Builds the qualified name a report prints for a callable.
      └─> CallableIdentityService.readMemberName(declaration: CallableDeclaration): string [projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:193]
         ↳ Reads the member name, falling back to the shape it was written in.
        └─> CallableIdentityService.readBindingName(node: ts.Node): string | undefined [projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:50]
           ↳ Reads the name a property, variable, or parameter declaration binds.
```

**3个. `FileFilterService.isExcluded`** 深度 4 个孤儿

```text
🚀 FileFilterService.isExcluded(workspaceRelativePath: string): boolean [projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:206]
  └─> FileFilterService.isExcludedByOwningProject(…): boolean [projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:60]
     ↳ True when the project owning a file excludes it with a glob of its own.
    └─> WorkspaceService.resolveOwningProject(…): WorkspaceProject | undefined [projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:271]
       ↳ Names the traced project whose root most narrowly contains a file. "Contains" means the deepest of `args.projects`…
      └─> WorkspaceService.isContainedByRoot(args: { root: string; workspaceRelativePath: string; }): boolean [projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:115]
         ↳ True when a project's root is a path-segment prefix of a file's path.
```

还有一个呼叫堆栈

**4.四. `FileFilterService.isExcluded`** - 深度2 孤儿根

```text
🚀 FileFilterService.isExcluded(workspaceRelativePath: string): boolean [projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:161]
  └─> FileFilterService.some(…)(glob: string): boolean [projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:163]
```

### 面包

| 可调用 | 面包 | 直接打电话 | 地点 |
| --- | --- | --- | --- |
| `CallablesService.describe` | 第8条 | `CallableIdentityService.readDisplayName`, (中文(简体) ), `CallableIdentityService.readEnclosingTypeName`, (中文(简体) ), `CallableIdentityService.buildId`, (中文(简体) ), `CallableIdentityService.isExported`, (中文(简体) ), `CallableIdentityService.readKind`, (中文(简体) ), `CallableIdentityService.readLocation`, (中文(简体) ), `CallableIdentityService.readMemberName`, (中文(简体) ), `CallableIdentityService.countStatements` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:122` |
| `EdgesService.buildSiteEdges` | 第7条 | `EdgesService.collectCallbackEdges`, (中文(简体) ), `EdgesService.resolveSite`, (中文(简体) ), `EdgesService.filter(…)`, (中文(简体) ), `EdgesService.filter(…)`, (中文(简体) ), `EdgesService.map(…)`, (中文(简体) ), `EdgesService.filter(…)`, (中文(简体) ), `EdgesService.readLocation` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:59` |
| `SymbolResolutionService.resolveSymbol` | 6个 | `SymbolResolutionService.unwrapAlias`, (中文(简体) ), `SymbolResolutionService.every(…)`, (中文(简体) ), `SymbolResolutionService.readBodied`, (中文(简体) ), `SymbolResolutionService.readResolution`, (中文(简体) ), `SymbolResolutionService.find(…)`, (中文(简体) ), `SymbolResolutionService.resolveThroughHierarchy` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:165` |

96个

| 可调用 | 面包 | 直接打电话 | 地点 |
| --- | --- | --- | --- |
| `WorkspaceService.discoverProjects` | 页:1 | `WorkspaceService.map(…)`, (中文(简体) ), `WorkspaceService.findAllProjectDirectories`, (中文(简体) ), `WorkspaceService.isExcludedProject`, (中文(简体) ), `ProgramConfigurationError.constructor`, (中文(简体) ), `WorkspaceService.toSorted(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:186` |
| `ProgramService.assignOwnership` | 页:1 | `ProgramService.toRealPath`, (中文(简体) ), `ProgramService.map(…)`, (中文(简体) ), `WorkspaceService.toWorkspaceRelative`, (中文(简体) ), `WorkspaceService.resolveOwningProject`, (中文(简体) ), `ProgramService.find(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:64` |
| `EntriesService.resolve` | 页:1 | `EntriesService.toRules`, (中文(简体) ), `EntriesService.map(…)`, (中文(简体) ), `EntriesService.classifyEveryCallable`, (中文(简体) ), `EntriesService.rootDeclaredAddresses`, (中文(简体) ), `EntriesService.promoteOrphans` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:312` |
| `GraphAssemblyService.assemble` | 页:1 | `GraphService.assemble`, (中文(简体) ), `EdgesService.build`, (中文(简体) ), `ComponentsService.condense`, (中文(简体) ), `BreadthService.measure`, (中文(简体) ), `GraphDepthService.measure` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/graph-assembly.service.ts:43` |
| `AddressService.resolve` | 页:1 | `AddressService.parseAddress`, (中文(简体) ), `AddressService.describeInvalidAddress`, (中文(简体) ), `AddressService.findMatches`, (中文(简体) ), `AddressService.toCandidates` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/address.service.ts:235` |
| `ClassesService.resolveImplementations` | 页:1 | `ClassesService.collectDerived`, (中文(简体) ), `ClassesService.filter(…)`, (中文(简体) ), `ClassesService.filterAssignable`, (中文(简体) ), `ClassesService.flatMap(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/classes/classes.service.ts:204` |
| `DocumentationService.read` | 页:1 | `DocumentationService.readSymbol`, (中文(简体) ), `DocumentationService.readSummary`, (中文(简体) ), `DocumentationService.filter(…)`, (中文(简体) ), `DocumentationService.map(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/documentation/documentation.service.ts:78` |
| `AddressService.describeCandidates` | 3个 | `AddressService.countCandidatesByLine`, (中文(简体) ), `AddressService.some(…)`, (中文(简体) ), `AddressService.map(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/address.service.ts:181` |
| `AddressService.listAddresses` | 3个 | `AddressService.toAddress`, (中文(简体) ), `AddressService.map(…)`, (中文(简体) ), `AddressService.toSorted(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/address.service.ts:212` |
| `ProgramService.buildProgram` | 3个 | `ProgramService.parseConfiguration`, (中文(简体) ), `CompilerHostService.createHost`, (中文(简体) ), `ProgramService.map(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:115` |
| `ProgramService.parseConfiguration` | 3个 | `ProgramService.readJsonConfigFile(…)`, (中文(简体) ), `ProgramConfigurationError.constructor`, (中文(简体) ), `ProgramService.map(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:147` |
| `ProgramService.buildPrograms` | 3个 | `WorkspaceService.walkImportedProjectClosure`, (中文(简体) ), `ProgramService.toSorted(…)`, (中文(简体) ), `ProgramService.assignOwnership` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:254` |
| `CallablesService.collectFromProgram` | 3个 | `CallablesService.readOwnedPath`, (中文(简体) ), `WorkspaceService.isTestFile`, (中文(简体) ), `CallablesService.collectFromFile` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:77` |
| `ClassesService.indexProgram` | 3个 | `ExternalService.isExternal`, (中文(简体) ), `ClassesService.indexMembers`, (中文(简体) ), `ClassesService.indexHeritage` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/classes/classes.service.ts:178` |
| `EdgesService.collectCallbackEdges` | 3个 | `EdgesService.map(…)`, (中文(简体) ), `EdgesService.filter(…)`, (中文(简体) ), `EdgesService.map(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:127` |
| `EntriesService.classify` | 3个 | `EntriesService.hasConfiguredDecorator`, (中文(简体) ), `EntriesService.isCommandRunnerMethod`, (中文(简体) ), `EntriesService.isBootstrapFunction` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:67` |
| `ComponentsService.condense` | 3个 | `ComponentsService.openNode`, (中文(简体) ), `ComponentsService.step`, (中文(简体) ), `ComponentsService.buildSuccessors` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/components.service.ts:183` |
| `AddressService.parseAddress` | 2个 | `AddressService.parseSymbolPath`, (中文(简体) ), `AddressService.toWorkspaceRelative` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/address.service.ts:89` |
| `CallableIdentityService.readDisplayName` | 2个 | `CallableIdentityService.readMemberName`, (中文(简体) ), `CallableIdentityService.readEnclosingTypeName` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:131` |
| `CallableIdentityService.readMemberName` | 2个 | `CallableIdentityService.readBindingName`, (中文(简体) ), `CallableIdentityService.describeCallbackArgument` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:193` |
| `WorkspaceService.findProjectDirectories` | 2个 | `WorkspaceService.toWorkspaceRelative`, (中文(简体) ), `WorkspaceService.isExcludedFromScan` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:66` |
| `WorkspaceService.walkImportedProjectClosure` | 2个 | `WorkspaceService.resolveOwningProject`, (中文(简体) ), `WorkspaceService.isClosureDestination` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:342` |
| `FileFilterService.isExcludedByOwningProject` | 2个 | `WorkspaceService.resolveOwningProject`, (中文(简体) ), `FileFilterService.some(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:60` |
| `CompilerHostService.createHost` | 2个 | `CompilerHostService.resolveModuleCache`, (中文(简体) ), `CompilerHostService.memoize` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/program/compiler-host.service.ts:119` |
| `ProgramService.readPulledInPaths` | 2个 | `ProgramService.toRealPath`, (中文(简体) ), `WorkspaceService.toWorkspaceRelative` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:195` |
| `ProgramService.resolveProjectFiles` | 2个 | `ProgramService.buildProgram`, (中文(简体) ), `ProgramService.readPulledInPaths` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:262` |
| `CallablesService.visit` | 2个 | `CallablesService.isCallableDeclaration`, (中文(简体) ), `CallablesService.describe` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:49` |
| `CallablesService.readOwnedPath` | 2个 | `ProgramService.toRealPath`, (中文(简体) ), `WorkspaceService.toWorkspaceRelative` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:164` |
| `ClassesService.readMemberDeclarations` | 2个 | `ClassesService.filter(…)`, (中文(简体) ), `ClassesService.filter(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/classes/classes.service.ts:148` |
| `CallSitesService.visit` | 2个 | `CallSitesService.isNestedBody`, (中文(简体) ), `CallSitesService.readFunctionArguments` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/call-sites.service.ts:62` |
| `SymbolResolutionService.resolveThroughHierarchy` | 2个 | `SymbolResolutionService.readOwner`, (中文(简体) ), `ClassesService.resolveImplementations` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:217` |
| `SymbolResolutionService.resolve` | 2个 | `SymbolResolutionService.readCalleeName`, (中文(简体) ), `SymbolResolutionService.resolveSymbol` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:267` |
| `EdgesService.readLocation` | 2个 | `WorkspaceService.toWorkspaceRelative`, (中文(简体) ), `ProgramService.toRealPath` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:176` |
| `EdgesService.resolveCallableId` | 2个 | `WorkspaceService.toWorkspaceRelative`, (中文(简体) ), `ProgramService.toRealPath` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:202` |
| `EdgesService.resolveSite` | 2个 | `SymbolResolutionService.resolveConstructor`, (中文(简体) ), `SymbolResolutionService.resolve` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:226` |
| `EdgesService.build` | 2个 | `CallSitesService.collect`, (中文(简体) ), `EdgesService.buildSiteEdges` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:251` |
| `EntriesService.classifyEveryCallable` | 2个 | `EntriesService.classify`, (中文(简体) ), `EntriesService.readRules` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:102` |
| `EntriesService.hasConfiguredDecorator` | 2个 | `EntriesService.some(…)`, (中文(简体) ), `EntriesService.readDecoratorNames` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:117` |
| `EntriesService.rootDeclaredAddresses` | 2个 | `EntriesService.listDeclaringConfigurations`, (中文(简体) ), `EntriesService.rootDeclaredAddress` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:262` |
| `PathsService.buildDeepestPath` | 2个 | `PathsService.orderMembers`, (中文(简体) ), `PathsService.buildFrame` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/paths.service.ts:59` |
| `PathsService.buildFrame` | 2个 | `DocumentationService.read`, (中文(简体) ), `SignaturesService.read` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/paths.service.ts:103` |
| `AddressDepthService.toStack` | 2个 | `PathsService.buildFrame`, (中文(简体) ), `AddressDepthService.isLowerBound` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:105` |
| `AddressDepthService.buildDownwardStacks` | 2个 | `AddressDepthService.traverse`, (中文(简体) ), `AddressDepthService.map(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:172` |
| `AddressDepthService.buildUpwardStacks` | 2个 | `AddressDepthService.traverse`, (中文(简体) ), `AddressDepthService.map(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:195` |
| `ComponentsService.finishFrame` | 2个 | `ComponentsService.closeNode`, (中文(简体) ), `ComponentsService.liftLowLink` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/components.service.ts:72` |
| `ComponentsService.step` | 2个 | `ComponentsService.finishFrame`, (中文(简体) ), `ComponentsService.visitSuccessor` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/components.service.ts:116` |
| `ComponentsService.visitSuccessor` | 2个 | `ComponentsService.openNode`, (中文(简体) ), `ComponentsService.liftLowLink` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/components.service.ts:139` |
| `GraphDepthService.measure` | 2个 | `GraphDepthService.combine`, (中文(简体) ), `GraphDepthService.hasUnresolved` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/graph-depth.service.ts:95` |
| `GraphService.assemble` | 2个 | `GraphService.append`, (中文(简体) ), `GraphService.map(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/graph.service.ts:44` |
| `AddressService.toCandidates` | 1个 | `AddressService.map(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/address.service.ts:137` |
| `AddressService.map(…)` | 1个 | `AddressService.toAddress` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/address.service.ts:223` |
| `CallableIdentityService.isExported` | 1个 | `CallableIdentityService.findAncestor(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:111` |
| `CallableIdentityService.readEnclosingTypeName` | 1个 | `CallableIdentityService.findAncestor(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:139` |
| `CallableIdentityService.readKind` | 1个 | `CallableIdentityService.readBoundKind` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:152` |
| `WorkspaceService.findAllProjectDirectories` | 1个 | `WorkspaceService.findProjectDirectories` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:44` |
| `WorkspaceService.isExcludedProject` | 1个 | `WorkspaceService.toWorkspaceRelative` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:145` |
| `WorkspaceService.map(…)` | 1个 | `WorkspaceService.toWorkspaceRelative` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:189` |
| `WorkspaceService.resolveOwningProject` | 1个 | `WorkspaceService.isContainedByRoot` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:271` |
| `FileFilterService.buildFileFilter` | 1个 | `FileFilterService.listIgnoredFiles` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:137` |
| `FileFilterService.isExcluded` | 1个 | `FileFilterService.some(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:161` |
| `FileFilterService.isExcluded` | 1个 | `FileFilterService.isExcludedByOwningProject` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:206` |
| `CompilerHostService.resolveModuleCache` | 1个 | `CompilerHostService.createModuleResolutionCache(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/program/compiler-host.service.ts:79` |
| `ProgramService.map(…)` | 1个 | `ProgramService.toRealPath` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:133` |
| `CallablesService.collect` | 1个 | `CallablesService.collectFromProgram` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:191` |
| `ExternalService.isExternal` | 1个 | `ExternalService.computeVerdict` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/classes/external.service.ts:64` |
| `ClassesService.filterAssignable` | 1个 | `ClassesService.filter(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/classes/classes.service.ts:86` |
| `ClassesService.build` | 1个 | `ClassesService.indexProgram` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/classes/classes.service.ts:171` |
| `ClassesService.flatMap(…)` | 1个 | `ClassesService.readMemberDeclarations` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/classes/classes.service.ts:232` |
| `CallSitesService.readFunctionArguments` | 1个 | `CallSitesService.filter(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/call-sites.service.ts:42` |
| `CallSitesService.collect` | 1个 | `CallSitesService.visit` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/call-sites.service.ts:54` |
| `SymbolResolutionService.readBodied` | 1个 | `SymbolResolutionService.filter(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:88` |
| `SymbolResolutionService.filter(…)` | 1个 | `SymbolResolutionService.isBodyCarrying` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:91` |
| `SymbolResolutionService.every(…)` | 1个 | `ExternalService.isExternal` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:183` |
| `SymbolResolutionService.find(…)` | 1个 | `SymbolResolutionService.isAbstractMember` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:203` |
| `EdgesService.filter(…)` | 1个 | `ExternalService.isExternal` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:77` |
| `EdgesService.map(…)` | 1个 | `EdgesService.resolveCallableId` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:80` |
| `EdgesService.filter(…)` | 1个 | `EdgesService.isExcludedCallee` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:89` |
| `EdgesService.map(…)` | 1个 | `EdgesService.resolveCallableId` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:134` |
| `EdgesService.map(…)` | 1个 | `EdgesService.readLocation` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:142` |
| `EdgesService.isExcludedCallee` | 1个 | `EdgesService.some(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:162` |
| `EntriesService.isCommandRunnerMethod` | 1个 | `EntriesService.hasConfiguredDecorator` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:135` |
| `EntriesService.promoteOrphans` | 1个 | `EntriesService.readRules` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:171` |
| `EntriesService.readDecoratorNames` | 1个 | `EntriesService.map(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:192` |
| `EntriesService.rootDeclaredAddress` | 1个 | `AddressService.resolve` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:233` |
| `EntriesService.map(…)` | 1个 | `EntriesService.toRules` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:320` |
| `SignaturesService.read` | 1个 | `SignaturesService.map(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/signatures/signatures.service.ts:62` |
| `SignaturesService.map(…)` | 1个 | `SignaturesService.readParameter` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/signatures/signatures.service.ts:72` |
| `AddressDepthService.isLowerBound` | 1个 | `AddressDepthService.some(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:71` |
| `AddressDepthService.step` | 1个 | `AddressDepthService.follow` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:79` |
| `AddressDepthService.traverse` | 1个 | `AddressDepthService.step` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:143` |
| `AddressDepthService.map(…)` | 1个 | `AddressDepthService.toStack` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:182` |
| `AddressDepthService.map(…)` | 1个 | `AddressDepthService.toStack` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:205` |
| `BreadthService.describeDirectCalls` | 1个 | `BreadthService.toReferences` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/breadth.service.ts:59` |
| `ComponentsService.buildSuccessors` | 1个 | `ComponentsService.map(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/components.service.ts:160` |
| `GraphDepthService.combine` | 1个 | `GraphDepthService.foldSuccessors` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/graph-depth.service.ts:30` |
| `GraphDepthService.hasUnresolved` | 1个 | `GraphDepthService.some(…)` | `projects/ic-suite/callidescope/callidescope-graph/src/modules/graph/graph-depth.service.ts:83` |

## \\\\ 代码endix

依赖图导出 [代码](https://github.com/Organizzolini/codebase/tree/main/projects/ic-suite/codependix/codependix-cli),由 `nx run configuration:codependix:write`。 。 。 .

### 邻里

```mermaid
graph LR
  callidescope_cli["callidescope-cli"]
  callidescope_configuration["callidescope-configuration"]
  callidescope_core["callidescope-core"]
  callidescope_graph["callidescope-graph"]
  callidescope_nx["callidescope-nx"]
  callidescope_output["callidescope-output"]
  observability["observability"]
  callidescope_cli --> callidescope_graph
  callidescope_graph --> callidescope_configuration
  callidescope_graph --> callidescope_core
  callidescope_graph --> observability
  callidescope_nx --> callidescope_graph
  callidescope_output --> callidescope_graph
  classDef subject fill:#7c3aed,color:#fff,stroke:#4c1d95,stroke-width:2px
  class callidescope_graph subject
```

### NestJS 模块图

```mermaid
flowchart LR
  CallablesModule
  ClassesModule
  DocumentationModule
  EdgesModule
  EntriesModule
  GraphModule
  LoggerModule([LoggerModule])
  ProgramModule
  SignaturesModule
  WorkspaceModule
  CallablesModule --> ProgramModule
  CallablesModule --> WorkspaceModule
  EdgesModule --> CallablesModule
  EdgesModule --> ClassesModule
  EdgesModule --> ProgramModule
  EdgesModule --> WorkspaceModule
  EntriesModule --> CallablesModule
  GraphModule --> DocumentationModule
  GraphModule --> EdgesModule
  GraphModule --> SignaturesModule
  ProgramModule --> WorkspaceModule
```

_四舍五入的模块是全局的:每个模块都可以注入,因此其边缘被忽略._

### 文件导入

```mermaid
graph LR
  file_callidescope_config_ts["callidescope.config.ts"]
  file_codependix_config_ts["codependix.config.ts"]
  file_codometer_config_ts["codometer.config.ts"]
  file_coinagerie_config_ts["coinagerie.config.ts"]
  file_eslint_config_ts["eslint.config.ts"]
  file_src_index_ts["src/index.ts"]
  file_src_modules_callables_address_constants_ts["src/modules/callables/address.constants.ts"]
  file_src_modules_callables_address_service_ts["src/modules/callables/address.service.ts"]
  file_src_modules_callables_address_service_unit_test_ts["src/modules/callables/address.service.unit.test.ts"]
  file_src_modules_callables_address_types_ts["src/modules/callables/address.types.ts"]
  file_src_modules_callables_callable_identity_service_ts["src/modules/callables/callable-identity.service.ts"]
  file_src_modules_callables_callable_identity_service_unit_test_ts["src/modules/callables/callable-identity.service.unit.test.ts"]
  file_src_modules_callables_callables_constants_ts["src/modules/callables/callables.constants.ts"]
  file_src_modules_callables_callables_module_ts["src/modules/callables/callables.module.ts"]
  file_src_modules_callables_callables_service_ts["src/modules/callables/callables.service.ts"]
  file_src_modules_callables_callables_service_unit_test_ts["src/modules/callables/callables.service.unit.test.ts"]
  file_src_modules_callables_callables_types_ts["src/modules/callables/callables.types.ts"]
  file_src_modules_classes_classes_constants_ts["src/modules/classes/classes.constants.ts"]
  file_src_modules_classes_classes_module_ts["src/modules/classes/classes.module.ts"]
  file_src_modules_classes_classes_service_ts["src/modules/classes/classes.service.ts"]
  file_src_modules_classes_classes_service_unit_test_ts["src/modules/classes/classes.service.unit.test.ts"]
  file_src_modules_classes_classes_types_ts["src/modules/classes/classes.types.ts"]
  file_src_modules_classes_external_service_ts["src/modules/classes/external.service.ts"]
  file_src_modules_classes_external_service_unit_test_ts["src/modules/classes/external.service.unit.test.ts"]
  file_src_modules_documentation_documentation_constants_ts["src/modules/documentation/documentation.constants.ts"]
  file_src_modules_documentation_documentation_module_ts["src/modules/documentation/documentation.module.ts"]
  file_src_modules_documentation_documentation_service_ts["src/modules/documentation/documentation.service.ts"]
  file_src_modules_documentation_documentation_service_unit_test_ts["src/modules/documentation/documentation.service.unit.test.ts"]
  file_src_modules_documentation_documentation_types_ts["src/modules/documentation/documentation.types.ts"]
  file_src_modules_edges_call_sites_service_ts["src/modules/edges/call-sites.service.ts"]
  file_src_modules_edges_call_sites_service_unit_test_ts["src/modules/edges/call-sites.service.unit.test.ts"]
  file_src_modules_edges_edges_constants_ts["src/modules/edges/edges.constants.ts"]
  file_src_modules_edges_edges_module_ts["src/modules/edges/edges.module.ts"]
  file_src_modules_edges_edges_service_ts["src/modules/edges/edges.service.ts"]
  file_src_modules_edges_edges_service_unit_test_ts["src/modules/edges/edges.service.unit.test.ts"]
  file_src_modules_edges_edges_types_ts["src/modules/edges/edges.types.ts"]
  file_src_modules_edges_symbol_resolution_service_ts["src/modules/edges/symbol-resolution.service.ts"]
  file_src_modules_edges_symbol_resolution_service_unit_test_ts["src/modules/edges/symbol-resolution.service.unit.test.ts"]
  file_src_modules_entries_entries_constants_ts["src/modules/entries/entries.constants.ts"]
  file_src_modules_entries_entries_module_ts["src/modules/entries/entries.module.ts"]
  file_src_modules_entries_entries_service_ts["src/modules/entries/entries.service.ts"]
  file_src_modules_entries_entries_service_unit_test_ts["src/modules/entries/entries.service.unit.test.ts"]
  file_src_modules_entries_entries_types_ts["src/modules/entries/entries.types.ts"]
  file_src_modules_graph_address_depth_constants_ts["src/modules/graph/address-depth.constants.ts"]
  file_src_modules_graph_address_depth_service_ts["src/modules/graph/address-depth.service.ts"]
  file_src_modules_graph_address_depth_service_unit_test_ts["src/modules/graph/address-depth.service.unit.test.ts"]
  file_src_modules_graph_address_depth_types_ts["src/modules/graph/address-depth.types.ts"]
  file_src_modules_graph_breadth_service_ts["src/modules/graph/breadth.service.ts"]
  file_src_modules_graph_breadth_service_unit_test_ts["src/modules/graph/breadth.service.unit.test.ts"]
  file_src_modules_graph_components_constants_ts["src/modules/graph/components.constants.ts"]
  file_src_modules_graph_components_service_ts["src/modules/graph/components.service.ts"]
  file_src_modules_graph_components_service_unit_test_ts["src/modules/graph/components.service.unit.test.ts"]
  file_src_modules_graph_components_types_ts["src/modules/graph/components.types.ts"]
  file_src_modules_graph_graph_assembly_service_ts["src/modules/graph/graph-assembly.service.ts"]
  file_src_modules_graph_graph_assembly_service_unit_test_ts["src/modules/graph/graph-assembly.service.unit.test.ts"]
  file_src_modules_graph_graph_assembly_types_ts["src/modules/graph/graph-assembly.types.ts"]
  file_src_modules_graph_graph_depth_service_ts["src/modules/graph/graph-depth.service.ts"]
  file_src_modules_graph_graph_depth_service_unit_test_ts["src/modules/graph/graph-depth.service.unit.test.ts"]
  file_src_modules_graph_graph_constants_ts["src/modules/graph/graph.constants.ts"]
  file_src_modules_graph_graph_module_ts["src/modules/graph/graph.module.ts"]
  file_src_modules_graph_graph_service_ts["src/modules/graph/graph.service.ts"]
  file_src_modules_graph_graph_service_unit_test_ts["src/modules/graph/graph.service.unit.test.ts"]
  file_src_modules_graph_graph_types_ts["src/modules/graph/graph.types.ts"]
  file_src_modules_graph_paths_service_ts["src/modules/graph/paths.service.ts"]
  file_src_modules_graph_paths_service_unit_test_ts["src/modules/graph/paths.service.unit.test.ts"]
  file_src_modules_program_compiler_host_service_ts["src/modules/program/compiler-host.service.ts"]
  file_src_modules_program_compiler_host_service_unit_test_ts["src/modules/program/compiler-host.service.unit.test.ts"]
  file_src_modules_program_program_constants_ts["src/modules/program/program.constants.ts"]
  file_src_modules_program_program_module_ts["src/modules/program/program.module.ts"]
  file_src_modules_program_program_service_ts["src/modules/program/program.service.ts"]
  file_src_modules_program_program_service_unit_test_ts["src/modules/program/program.service.unit.test.ts"]
  file_src_modules_program_program_types_ts["src/modules/program/program.types.ts"]
  file_src_modules_signatures_signatures_constants_ts["src/modules/signatures/signatures.constants.ts"]
  file_src_modules_signatures_signatures_module_ts["src/modules/signatures/signatures.module.ts"]
  file_src_modules_signatures_signatures_service_ts["src/modules/signatures/signatures.service.ts"]
  file_src_modules_signatures_signatures_service_unit_test_ts["src/modules/signatures/signatures.service.unit.test.ts"]
  file_src_modules_signatures_signatures_types_ts["src/modules/signatures/signatures.types.ts"]
  file_src_modules_workspace_file_filter_service_ts["src/modules/workspace/file-filter.service.ts"]
  file_src_modules_workspace_file_filter_service_unit_test_ts["src/modules/workspace/file-filter.service.unit.test.ts"]
  file_src_modules_workspace_workspace_constants_ts["src/modules/workspace/workspace.constants.ts"]
  file_src_modules_workspace_workspace_module_ts["src/modules/workspace/workspace.module.ts"]
  file_src_modules_workspace_workspace_service_ts["src/modules/workspace/workspace.service.ts"]
  file_src_modules_workspace_workspace_service_unit_test_ts["src/modules/workspace/workspace.service.unit.test.ts"]
  file_src_modules_workspace_workspace_types_ts["src/modules/workspace/workspace.types.ts"]
  file_testing_mocks_ts["testing/mocks.ts"]
  file_testing_modules_ts["testing/modules.ts"]
  file_testing_programs_ts["testing/programs.ts"]
  file_testing_setup_ts["testing/setup.ts"]
  file_vite_config_ts["vite.config.ts"]
  file_vitest_config_ts["vitest.config.ts"]
  file_src_modules_callables_address_service_ts --> file_src_modules_callables_address_constants_ts
  file_src_modules_callables_address_service_ts --> file_src_modules_callables_address_types_ts
  file_src_modules_callables_address_service_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_callables_address_service_unit_test_ts --> file_src_modules_callables_address_service_ts
  file_src_modules_callables_address_service_unit_test_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_callables_address_service_unit_test_ts --> file_testing_mocks_ts
  file_src_modules_callables_address_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_callables_address_types_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_callables_callable_identity_service_ts --> file_src_modules_callables_callables_constants_ts
  file_src_modules_callables_callable_identity_service_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_callables_callable_identity_service_unit_test_ts --> file_src_modules_callables_callable_identity_service_ts
  file_src_modules_callables_callable_identity_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_callables_callable_identity_service_unit_test_ts --> file_testing_programs_ts
  file_src_modules_callables_callables_module_ts --> file_src_modules_callables_address_service_ts
  file_src_modules_callables_callables_module_ts --> file_src_modules_callables_callable_identity_service_ts
  file_src_modules_callables_callables_module_ts --> file_src_modules_callables_callables_service_ts
  file_src_modules_callables_callables_module_ts --> file_src_modules_program_program_module_ts
  file_src_modules_callables_callables_module_ts --> file_src_modules_workspace_workspace_module_ts
  file_src_modules_callables_callables_service_ts --> file_src_modules_callables_callable_identity_service_ts
  file_src_modules_callables_callables_service_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_callables_callables_service_ts --> file_src_modules_program_program_service_ts
  file_src_modules_callables_callables_service_ts --> file_src_modules_program_program_types_ts
  file_src_modules_callables_callables_service_ts --> file_src_modules_workspace_workspace_service_ts
  file_src_modules_callables_callables_service_unit_test_ts --> file_src_modules_callables_callables_service_ts
  file_src_modules_callables_callables_service_unit_test_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_callables_callables_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_callables_callables_service_unit_test_ts --> file_testing_programs_ts
  file_src_modules_callables_callables_types_ts --> file_src_modules_program_program_types_ts
  file_src_modules_callables_callables_types_ts --> file_src_modules_workspace_workspace_types_ts
  file_src_modules_classes_classes_module_ts --> file_src_modules_classes_classes_service_ts
  file_src_modules_classes_classes_module_ts --> file_src_modules_classes_external_service_ts
  file_src_modules_classes_classes_service_ts --> file_src_modules_classes_classes_constants_ts
  file_src_modules_classes_classes_service_ts --> file_src_modules_classes_classes_types_ts
  file_src_modules_classes_classes_service_ts --> file_src_modules_classes_external_service_ts
  file_src_modules_classes_classes_service_ts --> file_src_modules_program_program_types_ts
  file_src_modules_classes_classes_service_unit_test_ts --> file_src_modules_classes_classes_constants_ts
  file_src_modules_classes_classes_service_unit_test_ts --> file_src_modules_classes_classes_service_ts
  file_src_modules_classes_classes_service_unit_test_ts --> file_src_modules_classes_classes_types_ts
  file_src_modules_classes_classes_service_unit_test_ts --> file_src_modules_classes_external_service_ts
  file_src_modules_classes_classes_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_classes_classes_service_unit_test_ts --> file_testing_programs_ts
  file_src_modules_classes_classes_types_ts --> file_src_modules_program_program_types_ts
  file_src_modules_classes_external_service_unit_test_ts --> file_src_modules_classes_external_service_ts
  file_src_modules_classes_external_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_documentation_documentation_module_ts --> file_src_modules_documentation_documentation_service_ts
  file_src_modules_documentation_documentation_service_ts --> file_src_modules_documentation_documentation_constants_ts
  file_src_modules_documentation_documentation_service_ts --> file_src_modules_documentation_documentation_types_ts
  file_src_modules_documentation_documentation_service_unit_test_ts --> file_src_modules_documentation_documentation_service_ts
  file_src_modules_documentation_documentation_service_unit_test_ts --> file_src_modules_documentation_documentation_types_ts
  file_src_modules_documentation_documentation_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_documentation_documentation_service_unit_test_ts --> file_testing_programs_ts
  file_src_modules_documentation_documentation_types_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_edges_call_sites_service_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_edges_call_sites_service_ts --> file_src_modules_edges_edges_types_ts
  file_src_modules_edges_call_sites_service_unit_test_ts --> file_src_modules_edges_call_sites_service_ts
  file_src_modules_edges_call_sites_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_edges_call_sites_service_unit_test_ts --> file_testing_programs_ts
  file_src_modules_edges_edges_constants_ts --> file_src_modules_edges_edges_types_ts
  file_src_modules_edges_edges_module_ts --> file_src_modules_callables_callables_module_ts
  file_src_modules_edges_edges_module_ts --> file_src_modules_classes_classes_module_ts
  file_src_modules_edges_edges_module_ts --> file_src_modules_edges_call_sites_service_ts
  file_src_modules_edges_edges_module_ts --> file_src_modules_edges_edges_service_ts
  file_src_modules_edges_edges_module_ts --> file_src_modules_edges_symbol_resolution_service_ts
  file_src_modules_edges_edges_module_ts --> file_src_modules_program_program_module_ts
  file_src_modules_edges_edges_module_ts --> file_src_modules_workspace_workspace_module_ts
  file_src_modules_edges_edges_service_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_edges_edges_service_ts --> file_src_modules_classes_external_service_ts
  file_src_modules_edges_edges_service_ts --> file_src_modules_edges_call_sites_service_ts
  file_src_modules_edges_edges_service_ts --> file_src_modules_edges_edges_types_ts
  file_src_modules_edges_edges_service_ts --> file_src_modules_edges_symbol_resolution_service_ts
  file_src_modules_edges_edges_service_ts --> file_src_modules_program_program_service_ts
  file_src_modules_edges_edges_service_ts --> file_src_modules_workspace_workspace_service_ts
  file_src_modules_edges_edges_service_unit_test_ts --> file_src_modules_classes_classes_constants_ts
  file_src_modules_edges_edges_service_unit_test_ts --> file_src_modules_edges_call_sites_service_ts
  file_src_modules_edges_edges_service_unit_test_ts --> file_src_modules_edges_edges_service_ts
  file_src_modules_edges_edges_service_unit_test_ts --> file_src_modules_edges_symbol_resolution_service_ts
  file_src_modules_edges_edges_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_edges_edges_service_unit_test_ts --> file_testing_programs_ts
  file_src_modules_edges_edges_types_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_edges_symbol_resolution_service_ts --> file_src_modules_classes_classes_service_ts
  file_src_modules_edges_symbol_resolution_service_ts --> file_src_modules_classes_external_service_ts
  file_src_modules_edges_symbol_resolution_service_ts --> file_src_modules_edges_edges_constants_ts
  file_src_modules_edges_symbol_resolution_service_ts --> file_src_modules_edges_edges_types_ts
  file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_src_modules_classes_classes_service_ts
  file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_src_modules_classes_external_service_ts
  file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_src_modules_edges_edges_constants_ts
  file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_src_modules_edges_edges_types_ts
  file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_src_modules_edges_symbol_resolution_service_ts
  file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_testing_programs_ts
  file_src_modules_entries_entries_module_ts --> file_src_modules_callables_callables_module_ts
  file_src_modules_entries_entries_module_ts --> file_src_modules_entries_entries_service_ts
  file_src_modules_entries_entries_service_ts --> file_src_modules_callables_address_service_ts
  file_src_modules_entries_entries_service_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_entries_entries_service_ts --> file_src_modules_entries_entries_constants_ts
  file_src_modules_entries_entries_service_ts --> file_src_modules_entries_entries_types_ts
  file_src_modules_entries_entries_service_unit_test_ts --> file_src_modules_callables_address_service_ts
  file_src_modules_entries_entries_service_unit_test_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_entries_entries_service_unit_test_ts --> file_src_modules_entries_entries_service_ts
  file_src_modules_entries_entries_service_unit_test_ts --> file_src_modules_entries_entries_types_ts
  file_src_modules_entries_entries_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
  file_src_modules_entries_entries_service_unit_test_ts --> file_src_modules_graph_graph_types_ts
  file_src_modules_entries_entries_service_unit_test_ts --> file_testing_mocks_ts
  file_src_modules_entries_entries_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_entries_entries_service_unit_test_ts --> file_testing_programs_ts
  file_src_modules_entries_entries_types_ts --> file_src_modules_callables_address_types_ts
  file_src_modules_entries_entries_types_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_entries_entries_types_ts --> file_src_modules_graph_graph_types_ts
  file_src_modules_graph_address_depth_service_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_graph_address_depth_service_ts --> file_src_modules_graph_address_depth_constants_ts
  file_src_modules_graph_address_depth_service_ts --> file_src_modules_graph_address_depth_types_ts
  file_src_modules_graph_address_depth_service_ts --> file_src_modules_graph_paths_service_ts
  file_src_modules_graph_address_depth_service_unit_test_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_graph_address_depth_service_unit_test_ts --> file_src_modules_documentation_documentation_service_ts
  file_src_modules_graph_address_depth_service_unit_test_ts --> file_src_modules_graph_address_depth_service_ts
  file_src_modules_graph_address_depth_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
  file_src_modules_graph_address_depth_service_unit_test_ts --> file_src_modules_graph_paths_service_ts
  file_src_modules_graph_address_depth_service_unit_test_ts --> file_src_modules_signatures_signatures_service_ts
  file_src_modules_graph_address_depth_service_unit_test_ts --> file_testing_mocks_ts
  file_src_modules_graph_address_depth_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_graph_address_depth_types_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_graph_address_depth_types_ts --> file_src_modules_graph_graph_types_ts
  file_src_modules_graph_breadth_service_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_graph_breadth_service_ts --> file_src_modules_graph_graph_types_ts
  file_src_modules_graph_breadth_service_unit_test_ts --> file_src_modules_graph_breadth_service_ts
  file_src_modules_graph_breadth_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
  file_src_modules_graph_breadth_service_unit_test_ts --> file_src_modules_graph_graph_types_ts
  file_src_modules_graph_breadth_service_unit_test_ts --> file_testing_mocks_ts
  file_src_modules_graph_breadth_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_graph_components_service_ts --> file_src_modules_graph_components_constants_ts
  file_src_modules_graph_components_service_ts --> file_src_modules_graph_components_types_ts
  file_src_modules_graph_components_service_ts --> file_src_modules_graph_graph_types_ts
  file_src_modules_graph_components_service_unit_test_ts --> file_src_modules_graph_components_service_ts
  file_src_modules_graph_components_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
  file_src_modules_graph_components_service_unit_test_ts --> file_src_modules_graph_graph_types_ts
  file_src_modules_graph_components_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_graph_graph_assembly_service_ts --> file_src_modules_edges_edges_service_ts
  file_src_modules_graph_graph_assembly_service_ts --> file_src_modules_graph_breadth_service_ts
  file_src_modules_graph_graph_assembly_service_ts --> file_src_modules_graph_components_service_ts
  file_src_modules_graph_graph_assembly_service_ts --> file_src_modules_graph_graph_assembly_types_ts
  file_src_modules_graph_graph_assembly_service_ts --> file_src_modules_graph_graph_depth_service_ts
  file_src_modules_graph_graph_assembly_service_ts --> file_src_modules_graph_graph_service_ts
  file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_src_modules_graph_breadth_service_ts
  file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_src_modules_graph_components_service_ts
  file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_src_modules_graph_graph_assembly_service_ts
  file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_src_modules_graph_graph_assembly_types_ts
  file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_src_modules_graph_graph_depth_service_ts
  file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
  file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_testing_programs_ts
  file_src_modules_graph_graph_assembly_types_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_graph_graph_assembly_types_ts --> file_src_modules_graph_graph_types_ts
  file_src_modules_graph_graph_depth_service_ts --> file_src_modules_graph_graph_types_ts
  file_src_modules_graph_graph_depth_service_unit_test_ts --> file_src_modules_graph_components_service_ts
  file_src_modules_graph_graph_depth_service_unit_test_ts --> file_src_modules_graph_graph_depth_service_ts
  file_src_modules_graph_graph_depth_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
  file_src_modules_graph_graph_depth_service_unit_test_ts --> file_src_modules_graph_graph_types_ts
  file_src_modules_graph_graph_depth_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_graph_graph_module_ts --> file_src_modules_documentation_documentation_module_ts
  file_src_modules_graph_graph_module_ts --> file_src_modules_edges_edges_module_ts
  file_src_modules_graph_graph_module_ts --> file_src_modules_graph_address_depth_service_ts
  file_src_modules_graph_graph_module_ts --> file_src_modules_graph_breadth_service_ts
  file_src_modules_graph_graph_module_ts --> file_src_modules_graph_components_service_ts
  file_src_modules_graph_graph_module_ts --> file_src_modules_graph_graph_assembly_service_ts
  file_src_modules_graph_graph_module_ts --> file_src_modules_graph_graph_depth_service_ts
  file_src_modules_graph_graph_module_ts --> file_src_modules_graph_graph_service_ts
  file_src_modules_graph_graph_module_ts --> file_src_modules_graph_paths_service_ts
  file_src_modules_graph_graph_module_ts --> file_src_modules_signatures_signatures_module_ts
  file_src_modules_graph_graph_service_ts --> file_src_modules_edges_edges_types_ts
  file_src_modules_graph_graph_service_ts --> file_src_modules_graph_graph_types_ts
  file_src_modules_graph_graph_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
  file_src_modules_graph_graph_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_graph_paths_service_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_graph_paths_service_ts --> file_src_modules_documentation_documentation_service_ts
  file_src_modules_graph_paths_service_ts --> file_src_modules_graph_graph_types_ts
  file_src_modules_graph_paths_service_ts --> file_src_modules_signatures_signatures_service_ts
  file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_documentation_documentation_service_ts
  file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_graph_components_service_ts
  file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_graph_graph_depth_service_ts
  file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
  file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_graph_paths_service_ts
  file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_signatures_signatures_service_ts
  file_src_modules_graph_paths_service_unit_test_ts --> file_testing_mocks_ts
  file_src_modules_graph_paths_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_program_compiler_host_service_unit_test_ts --> file_src_modules_program_compiler_host_service_ts
  file_src_modules_program_compiler_host_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_program_program_module_ts --> file_src_modules_program_compiler_host_service_ts
  file_src_modules_program_program_module_ts --> file_src_modules_program_program_service_ts
  file_src_modules_program_program_module_ts --> file_src_modules_workspace_workspace_module_ts
  file_src_modules_program_program_service_ts --> file_src_modules_program_compiler_host_service_ts
  file_src_modules_program_program_service_ts --> file_src_modules_program_program_constants_ts
  file_src_modules_program_program_service_ts --> file_src_modules_program_program_types_ts
  file_src_modules_program_program_service_ts --> file_src_modules_workspace_workspace_service_ts
  file_src_modules_program_program_service_ts --> file_src_modules_workspace_workspace_types_ts
  file_src_modules_program_program_service_unit_test_ts --> file_src_modules_program_compiler_host_service_ts
  file_src_modules_program_program_service_unit_test_ts --> file_src_modules_program_program_constants_ts
  file_src_modules_program_program_service_unit_test_ts --> file_src_modules_program_program_service_ts
  file_src_modules_program_program_service_unit_test_ts --> file_src_modules_workspace_workspace_service_ts
  file_src_modules_program_program_service_unit_test_ts --> file_src_modules_workspace_workspace_types_ts
  file_src_modules_program_program_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_program_program_types_ts --> file_src_modules_workspace_workspace_types_ts
  file_src_modules_signatures_signatures_module_ts --> file_src_modules_signatures_signatures_service_ts
  file_src_modules_signatures_signatures_service_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_signatures_signatures_service_ts --> file_src_modules_signatures_signatures_constants_ts
  file_src_modules_signatures_signatures_service_ts --> file_src_modules_signatures_signatures_types_ts
  file_src_modules_signatures_signatures_service_unit_test_ts --> file_src_modules_signatures_signatures_service_ts
  file_src_modules_signatures_signatures_service_unit_test_ts --> file_src_modules_signatures_signatures_types_ts
  file_src_modules_signatures_signatures_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_signatures_signatures_service_unit_test_ts --> file_testing_programs_ts
  file_src_modules_signatures_signatures_types_ts --> file_src_modules_callables_callables_types_ts
  file_src_modules_workspace_file_filter_service_ts --> file_src_modules_workspace_workspace_service_ts
  file_src_modules_workspace_file_filter_service_ts --> file_src_modules_workspace_workspace_types_ts
  file_src_modules_workspace_file_filter_service_unit_test_ts --> file_src_modules_workspace_file_filter_service_ts
  file_src_modules_workspace_file_filter_service_unit_test_ts --> file_src_modules_workspace_workspace_service_ts
  file_src_modules_workspace_file_filter_service_unit_test_ts --> file_src_modules_workspace_workspace_types_ts
  file_src_modules_workspace_file_filter_service_unit_test_ts --> file_testing_modules_ts
  file_src_modules_workspace_workspace_module_ts --> file_src_modules_workspace_file_filter_service_ts
  file_src_modules_workspace_workspace_module_ts --> file_src_modules_workspace_workspace_service_ts
  file_src_modules_workspace_workspace_service_ts --> file_src_modules_program_program_constants_ts
  file_src_modules_workspace_workspace_service_ts --> file_src_modules_workspace_workspace_constants_ts
  file_src_modules_workspace_workspace_service_ts --> file_src_modules_workspace_workspace_types_ts
  file_src_modules_workspace_workspace_service_unit_test_ts --> file_src_modules_program_program_constants_ts
  file_src_modules_workspace_workspace_service_unit_test_ts --> file_src_modules_workspace_workspace_service_ts
  file_src_modules_workspace_workspace_service_unit_test_ts --> file_src_modules_workspace_workspace_types_ts
  file_src_modules_workspace_workspace_service_unit_test_ts --> file_testing_modules_ts
  file_testing_mocks_ts --> file_src_modules_callables_callables_types_ts
  file_testing_modules_ts --> file_src_modules_callables_callables_module_ts
  file_testing_modules_ts --> file_src_modules_classes_classes_module_ts
  file_testing_modules_ts --> file_src_modules_documentation_documentation_module_ts
  file_testing_modules_ts --> file_src_modules_edges_edges_module_ts
  file_testing_modules_ts --> file_src_modules_entries_entries_module_ts
  file_testing_modules_ts --> file_src_modules_graph_graph_module_ts
  file_testing_modules_ts --> file_src_modules_program_program_module_ts
  file_testing_modules_ts --> file_src_modules_signatures_signatures_module_ts
  file_testing_modules_ts --> file_src_modules_workspace_workspace_module_ts
  file_testing_programs_ts --> file_src_modules_callables_callable_identity_service_ts
  file_testing_programs_ts --> file_src_modules_callables_callables_service_ts
  file_testing_programs_ts --> file_src_modules_classes_classes_service_ts
  file_testing_programs_ts --> file_src_modules_classes_external_service_ts
  file_testing_programs_ts --> file_src_modules_edges_call_sites_service_ts
  file_testing_programs_ts --> file_src_modules_edges_edges_service_ts
  file_testing_programs_ts --> file_src_modules_edges_symbol_resolution_service_ts
  file_testing_programs_ts --> file_src_modules_program_compiler_host_service_ts
  file_testing_programs_ts --> file_src_modules_program_program_service_ts
  file_testing_programs_ts --> file_src_modules_program_program_types_ts
  file_testing_programs_ts --> file_src_modules_workspace_workspace_service_ts
```

## 缩写表

### 项目

![Lines of Code](https://img.shields.io/badge/Lines_of_Code-12294-22c55e?style=flat-square) ![Repository Size](https://img.shields.io/badge/Repository_Size-406.70_kB-6b7280?style=flat-square) ![Folders](https://img.shields.io/badge/Folders-12-4a4a4a?style=flat-square) ![Source Files](https://img.shields.io/badge/Source_Files-90-3178c6?style=flat-square)

### 计量目标

![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-14.51_kB_gzip-6b7280?style=flat-square)

### 类型脚本

![TypeScript Files](https://img.shields.io/badge/TypeScript_Files-90-3178c6?style=flat-square) ![Interfaces](https://img.shields.io/badge/Interfaces-51-0ea5e9?style=flat-square) ![Generic Declarations](https://img.shields.io/badge/Generic_Declarations-1-0369a1?style=flat-square) ![Enums](https://img.shields.io/badge/Enums-0-f97316?style=flat-square) ![Decorators](https://img.shields.io/badge/Decorators-31-db2777?style=flat-square) ![Doc Comments](https://img.shields.io/badge/Doc_Comments-307-6366f1?style=flat-square) ![Static Methods](https://img.shields.io/badge/Static_Methods-0-166534?style=flat-square)

### Java 脚本

![JavaScript Files](https://img.shields.io/badge/JavaScript_Files-0-f7df1e?style=flat-square) ![Test Files](https://img.shields.io/badge/Test_Files-22-10b981?style=flat-square) ![External Packages](https://img.shields.io/badge/External_Packages-14-8b5cf6?style=flat-square) ![Classes](https://img.shields.io/badge/Classes-32-7c3aed?style=flat-square) ![Functions](https://img.shields.io/badge/Functions-534-16a34a?style=flat-square) ![Methods](https://img.shields.io/badge/Methods-186-15803d?style=flat-square) ![Sync Functions](https://img.shields.io/badge/Sync_Functions-653-4ade80?style=flat-square) ![Async Functions](https://img.shields.io/badge/Async_Functions-67-059669?style=flat-square) ![Constants](https://img.shields.io/badge/Constants-759-dc2626?style=flat-square) ![Imports](https://img.shields.io/badge/Imports-445-0284c7?style=flat-square) ![Exported Symbols](https://img.shields.io/badge/Exported_Symbols-124-ea580c?style=flat-square) ![Comments](https://img.shields.io/badge/Comments-587-64748b?style=flat-square) ![Comment Lines](https://img.shields.io/badge/Comment_Lines-1281-475569?style=flat-square) ![TODO Comments](https://img.shields.io/badge/TODO_Comments-0-ca8a04?style=flat-square)

### 蟒

![Python Files](https://img.shields.io/badge/Python_Files-0-3776ab?style=flat-square) ![Python Lines](https://img.shields.io/badge/Python_Lines-0-4b8bbe?style=flat-square) ![Python Classes](https://img.shields.io/badge/Python_Classes-0-7c3aed?style=flat-square) ![Python Functions](https://img.shields.io/badge/Python_Functions-0-16a34a?style=flat-square) ![Python Protocols](https://img.shields.io/badge/Python_Protocols-0-0ea5e9?style=flat-square) ![Python Constants](https://img.shields.io/badge/Python_Constants-0-dc2626?style=flat-square) ![Python Imports](https://img.shields.io/badge/Python_Imports-0-0284c7?style=flat-square) ![Python Decorators](https://img.shields.io/badge/Python_Decorators-0-db2777?style=flat-square) ![Docstrings](https://img.shields.io/badge/Docstrings-0-6366f1?style=flat-square) ![Docstring Lines](https://img.shields.io/badge/Docstring_Lines-0-818cf8?style=flat-square) ![Python Comments](https://img.shields.io/badge/Python_Comments-0-64748b?style=flat-square) ![Python Comment Lines](https://img.shields.io/badge/Python_Comment_Lines-0-475569?style=flat-square)

### 贾森

![JSON Files](https://img.shields.io/badge/JSON_Files-4-a16207?style=flat-square) ![JSON Lines](https://img.shields.io/badge/JSON_Lines-164-ca8a04?style=flat-square) ![JSON Objects](https://img.shields.io/badge/JSON_Objects-38-7c3aed?style=flat-square) ![JSON Arrays](https://img.shields.io/badge/JSON_Arrays-12-8b5cf6?style=flat-square) ![JSON Properties](https://img.shields.io/badge/JSON_Properties-100-0284c7?style=flat-square) ![JSON Strings](https://img.shields.io/badge/JSON_Strings-91-16a34a?style=flat-square) ![JSON Numbers](https://img.shields.io/badge/JSON_Numbers-1-059669?style=flat-square) ![JSON Booleans](https://img.shields.io/badge/JSON_Booleans-6-0ea5e9?style=flat-square) ![JSON Nulls](https://img.shields.io/badge/JSON_Nulls-0-64748b?style=flat-square) ![JSON Items](https://img.shields.io/badge/JSON_Items-44-475569?style=flat-square) \[耶稣\]

## 常见问题

### @callidescope/graph 是什么？

TypeScript AST 用于 Callidescope 的书法绘制器和调用存储深度和宽度

### 如何安装 @callidescope/graph？

在项目目录运行 npm install @callidescope/graph，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：typescript（^6\.0\.3）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @callidescope/graph 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @callidescope/graph 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @callidescope/graph 可以商用吗？

@callidescope/graph 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @callidescope/graph 的下载量有多少？

根据 npm 官方下载统计，@callidescope/graph 在 2026/10/09 – 2026/11/07 这 30 天内被下载 9,935 次，日均约 331 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @callidescope/graph 还在维护吗？

最新版本 0\.0\.73 发布于 2026/11/09（今天）；至今共发布 71 个版本，其中过去 12 个月发布了 71 个；首次发布于 2026/10/05。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

