agent-ide 0.13.6 → 0.13.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -7
- package/dist/core/call-hierarchy/call-hierarchy-analyzer.d.ts +11 -2
- package/dist/core/call-hierarchy/call-hierarchy-analyzer.d.ts.map +1 -1
- package/dist/core/call-hierarchy/call-hierarchy-analyzer.js +233 -25
- package/dist/core/call-hierarchy/call-hierarchy-analyzer.js.map +1 -1
- package/dist/core/change-signature/call-site-updater.d.ts +0 -1
- package/dist/core/change-signature/call-site-updater.d.ts.map +1 -1
- package/dist/core/change-signature/call-site-updater.js +0 -2
- package/dist/core/change-signature/call-site-updater.js.map +1 -1
- package/dist/core/change-signature/change-signature-engine.d.ts +9 -1
- package/dist/core/change-signature/change-signature-engine.d.ts.map +1 -1
- package/dist/core/change-signature/change-signature-engine.js +190 -5
- package/dist/core/change-signature/change-signature-engine.js.map +1 -1
- package/dist/core/change-signature/signature-parser.d.ts +0 -5
- package/dist/core/change-signature/signature-parser.d.ts.map +1 -1
- package/dist/core/change-signature/signature-parser.js +6 -34
- package/dist/core/change-signature/signature-parser.js.map +1 -1
- package/dist/core/deadcode/file-operations.d.ts.map +1 -1
- package/dist/core/deadcode/file-operations.js +3 -1
- package/dist/core/deadcode/file-operations.js.map +1 -1
- package/dist/core/deadcode/import-cleaner.d.ts.map +1 -1
- package/dist/core/deadcode/import-cleaner.js +3 -1
- package/dist/core/deadcode/import-cleaner.js.map +1 -1
- package/dist/core/deadcode/range-expander.d.ts +9 -1
- package/dist/core/deadcode/range-expander.d.ts.map +1 -1
- package/dist/core/deadcode/range-expander.js +115 -41
- package/dist/core/deadcode/range-expander.js.map +1 -1
- package/dist/core/foundations/file-utils.d.ts.map +1 -1
- package/dist/core/foundations/file-utils.js +6 -3
- package/dist/core/foundations/file-utils.js.map +1 -1
- package/dist/core/foundations/indexing/file-index.d.ts +5 -2
- package/dist/core/foundations/indexing/file-index.d.ts.map +1 -1
- package/dist/core/foundations/indexing/file-index.js +11 -3
- package/dist/core/foundations/indexing/file-index.js.map +1 -1
- package/dist/core/foundations/indexing/index-cache-serializer.d.ts +133 -0
- package/dist/core/foundations/indexing/index-cache-serializer.d.ts.map +1 -0
- package/dist/core/foundations/indexing/index-cache-serializer.js +217 -0
- package/dist/core/foundations/indexing/index-cache-serializer.js.map +1 -0
- package/dist/core/foundations/indexing/index-engine.d.ts +11 -5
- package/dist/core/foundations/indexing/index-engine.d.ts.map +1 -1
- package/dist/core/foundations/indexing/index-engine.js +31 -22
- package/dist/core/foundations/indexing/index-engine.js.map +1 -1
- package/dist/core/foundations/indexing/index.d.ts +4 -1
- package/dist/core/foundations/indexing/index.d.ts.map +1 -1
- package/dist/core/foundations/indexing/index.js +2 -1
- package/dist/core/foundations/indexing/index.js.map +1 -1
- package/dist/core/foundations/indexing/symbol-index.d.ts +7 -1
- package/dist/core/foundations/indexing/symbol-index.d.ts.map +1 -1
- package/dist/core/foundations/indexing/symbol-index.js +54 -3
- package/dist/core/foundations/indexing/symbol-index.js.map +1 -1
- package/dist/core/foundations/indexing/types.d.ts +3 -2
- package/dist/core/foundations/indexing/types.d.ts.map +1 -1
- package/dist/core/foundations/indexing/types.js +8 -6
- package/dist/core/foundations/indexing/types.js.map +1 -1
- package/dist/core/foundations/symbol-finder/call-site-parser.d.ts.map +1 -1
- package/dist/core/foundations/symbol-finder/call-site-parser.js +3 -1
- package/dist/core/foundations/symbol-finder/call-site-parser.js.map +1 -1
- package/dist/core/foundations/symbol-finder/symbol-finder.d.ts +0 -2
- package/dist/core/foundations/symbol-finder/symbol-finder.d.ts.map +1 -1
- package/dist/core/foundations/symbol-finder/symbol-finder.js +15 -11
- package/dist/core/foundations/symbol-finder/symbol-finder.js.map +1 -1
- package/dist/core/impact/dependency-extractor.d.ts +11 -3
- package/dist/core/impact/dependency-extractor.d.ts.map +1 -1
- package/dist/core/impact/dependency-extractor.js +149 -34
- package/dist/core/impact/dependency-extractor.js.map +1 -1
- package/dist/core/impact/file-scanner.d.ts.map +1 -1
- package/dist/core/impact/file-scanner.js +3 -2
- package/dist/core/impact/file-scanner.js.map +1 -1
- package/dist/core/impact/impact-analyzer.d.ts +8 -1
- package/dist/core/impact/impact-analyzer.d.ts.map +1 -1
- package/dist/core/impact/impact-analyzer.js +27 -8
- package/dist/core/impact/impact-analyzer.js.map +1 -1
- package/dist/core/impact/path-resolver.d.ts.map +1 -1
- package/dist/core/impact/path-resolver.js +11 -10
- package/dist/core/impact/path-resolver.js.map +1 -1
- package/dist/core/impact/types.d.ts.map +1 -1
- package/dist/core/impact/types.js +2 -1
- package/dist/core/impact/types.js.map +1 -1
- package/dist/core/move/file-scanner.d.ts +12 -0
- package/dist/core/move/file-scanner.d.ts.map +1 -1
- package/dist/core/move/file-scanner.js +58 -30
- package/dist/core/move/file-scanner.js.map +1 -1
- package/dist/core/move/glob-move-planner.d.ts +29 -0
- package/dist/core/move/glob-move-planner.d.ts.map +1 -0
- package/dist/core/move/glob-move-planner.js +48 -0
- package/dist/core/move/glob-move-planner.js.map +1 -0
- package/dist/core/move/index.d.ts +2 -0
- package/dist/core/move/index.d.ts.map +1 -1
- package/dist/core/move/index.js +1 -0
- package/dist/core/move/index.js.map +1 -1
- package/dist/core/move/move-engine.js +2 -2
- package/dist/core/move/move-engine.js.map +1 -1
- package/dist/core/move/path-calculator.d.ts +2 -0
- package/dist/core/move/path-calculator.d.ts.map +1 -1
- package/dist/core/move/path-calculator.js +36 -16
- package/dist/core/move/path-calculator.js.map +1 -1
- package/dist/core/move/path-utils.d.ts +2 -1
- package/dist/core/move/path-utils.d.ts.map +1 -1
- package/dist/core/move/path-utils.js +18 -28
- package/dist/core/move/path-utils.js.map +1 -1
- package/dist/core/move-member/change-applier.d.ts.map +1 -1
- package/dist/core/move-member/change-applier.js +3 -1
- package/dist/core/move-member/change-applier.js.map +1 -1
- package/dist/core/move-member/extractors/typescript-extractor.d.ts.map +1 -1
- package/dist/core/move-member/extractors/typescript-extractor.js +32 -28
- package/dist/core/move-member/extractors/typescript-extractor.js.map +1 -1
- package/dist/core/move-member/file-change-preparer.d.ts +5 -0
- package/dist/core/move-member/file-change-preparer.d.ts.map +1 -1
- package/dist/core/move-member/file-change-preparer.js +51 -11
- package/dist/core/move-member/file-change-preparer.js.map +1 -1
- package/dist/core/move-member/member-extractor.d.ts +0 -2
- package/dist/core/move-member/member-extractor.d.ts.map +1 -1
- package/dist/core/move-member/member-extractor.js +13 -22
- package/dist/core/move-member/member-extractor.js.map +1 -1
- package/dist/core/move-member/move-member-engine.d.ts +0 -1
- package/dist/core/move-member/move-member-engine.d.ts.map +1 -1
- package/dist/core/move-member/move-member-engine.js +0 -2
- package/dist/core/move-member/move-member-engine.js.map +1 -1
- package/dist/core/move-member/reference-updater.d.ts.map +1 -1
- package/dist/core/move-member/reference-updater.js +7 -10
- package/dist/core/move-member/reference-updater.js.map +1 -1
- package/dist/core/rename/reference-updater.d.ts +1 -0
- package/dist/core/rename/reference-updater.d.ts.map +1 -1
- package/dist/core/rename/reference-updater.js +48 -46
- package/dist/core/rename/reference-updater.js.map +1 -1
- package/dist/core/rename/rename-engine.d.ts +0 -1
- package/dist/core/rename/rename-engine.d.ts.map +1 -1
- package/dist/core/rename/rename-engine.js +9 -22
- package/dist/core/rename/rename-engine.js.map +1 -1
- package/dist/infrastructure/cache/cache-manager.d.ts.map +1 -1
- package/dist/infrastructure/cache/cache-manager.js +4 -5
- package/dist/infrastructure/cache/cache-manager.js.map +1 -1
- package/dist/infrastructure/cache/index-disk-cache.d.ts +46 -0
- package/dist/infrastructure/cache/index-disk-cache.d.ts.map +1 -0
- package/dist/infrastructure/cache/index-disk-cache.js +150 -0
- package/dist/infrastructure/cache/index-disk-cache.js.map +1 -0
- package/dist/infrastructure/cache/index.d.ts.map +1 -1
- package/dist/infrastructure/cache/index.js +1 -0
- package/dist/infrastructure/cache/index.js.map +1 -1
- package/dist/infrastructure/cache/memory-cache.d.ts.map +1 -1
- package/dist/infrastructure/cache/memory-cache.js +3 -1
- package/dist/infrastructure/cache/memory-cache.js.map +1 -1
- package/dist/infrastructure/formatters/index.d.ts +1 -2
- package/dist/infrastructure/formatters/index.d.ts.map +1 -1
- package/dist/infrastructure/formatters/index.js +1 -2
- package/dist/infrastructure/formatters/index.js.map +1 -1
- package/dist/infrastructure/formatters/query-formatter.d.ts.map +1 -1
- package/dist/infrastructure/formatters/query-formatter.js +9 -18
- package/dist/infrastructure/formatters/query-formatter.js.map +1 -1
- package/dist/infrastructure/formatters/query-types.d.ts +15 -145
- package/dist/infrastructure/formatters/query-types.d.ts.map +1 -1
- package/dist/infrastructure/formatters/query-types.js +3 -18
- package/dist/infrastructure/formatters/query-types.js.map +1 -1
- package/dist/infrastructure/formatters/strategies/base-formatter.d.ts +1 -20
- package/dist/infrastructure/formatters/strategies/base-formatter.d.ts.map +1 -1
- package/dist/infrastructure/formatters/strategies/base-formatter.js +0 -8
- package/dist/infrastructure/formatters/strategies/base-formatter.js.map +1 -1
- package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.d.ts.map +1 -1
- package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.js +7 -0
- package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.js.map +1 -1
- package/dist/infrastructure/formatters/strategies/cycles-formatter.d.ts +15 -0
- package/dist/infrastructure/formatters/strategies/cycles-formatter.d.ts.map +1 -0
- package/dist/infrastructure/formatters/strategies/cycles-formatter.js +29 -0
- package/dist/infrastructure/formatters/strategies/cycles-formatter.js.map +1 -0
- package/dist/infrastructure/formatters/strategies/impact-formatter.d.ts +15 -0
- package/dist/infrastructure/formatters/strategies/impact-formatter.d.ts.map +1 -0
- package/dist/infrastructure/formatters/strategies/impact-formatter.js +31 -0
- package/dist/infrastructure/formatters/strategies/impact-formatter.js.map +1 -0
- package/dist/infrastructure/formatters/strategies/index.d.ts +3 -4
- package/dist/infrastructure/formatters/strategies/index.d.ts.map +1 -1
- package/dist/infrastructure/formatters/strategies/index.js +3 -4
- package/dist/infrastructure/formatters/strategies/index.js.map +1 -1
- package/dist/infrastructure/logging/index.d.ts +2 -0
- package/dist/infrastructure/logging/index.d.ts.map +1 -0
- package/dist/infrastructure/logging/index.js +2 -0
- package/dist/infrastructure/logging/index.js.map +1 -0
- package/dist/infrastructure/logging/logger.d.ts +25 -0
- package/dist/infrastructure/logging/logger.d.ts.map +1 -0
- package/dist/infrastructure/logging/logger.js +54 -0
- package/dist/infrastructure/logging/logger.js.map +1 -0
- package/dist/infrastructure/parser/analysis-types.d.ts.map +1 -1
- package/dist/infrastructure/parser/base.d.ts +1 -6
- package/dist/infrastructure/parser/base.d.ts.map +1 -1
- package/dist/infrastructure/parser/base.js +4 -16
- package/dist/infrastructure/parser/base.js.map +1 -1
- package/dist/infrastructure/parser/index.d.ts +2 -2
- package/dist/infrastructure/parser/index.d.ts.map +1 -1
- package/dist/infrastructure/parser/index.js +1 -1
- package/dist/infrastructure/parser/index.js.map +1 -1
- package/dist/infrastructure/parser/interface.d.ts +0 -7
- package/dist/infrastructure/parser/interface.d.ts.map +1 -1
- package/dist/infrastructure/parser/interface.js +0 -1
- package/dist/infrastructure/parser/interface.js.map +1 -1
- package/dist/infrastructure/parser/registry.d.ts.map +1 -1
- package/dist/infrastructure/parser/registry.js +2 -1
- package/dist/infrastructure/parser/registry.js.map +1 -1
- package/dist/infrastructure/parser/types.d.ts +12 -3
- package/dist/infrastructure/parser/types.d.ts.map +1 -1
- package/dist/infrastructure/parser/types.js +7 -2
- package/dist/infrastructure/parser/types.js.map +1 -1
- package/dist/infrastructure/storage/file-system.d.ts.map +1 -1
- package/dist/infrastructure/storage/file-system.js +5 -1
- package/dist/infrastructure/storage/file-system.js.map +1 -1
- package/dist/interfaces/cli/cached-index-engine.d.ts +25 -0
- package/dist/interfaces/cli/cached-index-engine.d.ts.map +1 -0
- package/dist/interfaces/cli/cached-index-engine.js +59 -0
- package/dist/interfaces/cli/cached-index-engine.js.map +1 -0
- package/dist/interfaces/cli/cli.d.ts +1 -0
- package/dist/interfaces/cli/cli.d.ts.map +1 -1
- package/dist/interfaces/cli/cli.js +33 -19
- package/dist/interfaces/cli/cli.js.map +1 -1
- package/dist/interfaces/cli/command-utils.d.ts +17 -1
- package/dist/interfaces/cli/command-utils.d.ts.map +1 -1
- package/dist/interfaces/cli/command-utils.js +53 -3
- package/dist/interfaces/cli/command-utils.js.map +1 -1
- package/dist/interfaces/cli/commands/call-hierarchy.command.d.ts.map +1 -1
- package/dist/interfaces/cli/commands/call-hierarchy.command.js +57 -17
- package/dist/interfaces/cli/commands/call-hierarchy.command.js.map +1 -1
- package/dist/interfaces/cli/commands/change-signature.command.d.ts +12 -0
- package/dist/interfaces/cli/commands/change-signature.command.d.ts.map +1 -1
- package/dist/interfaces/cli/commands/change-signature.command.js +131 -12
- package/dist/interfaces/cli/commands/change-signature.command.js.map +1 -1
- package/dist/interfaces/cli/commands/cycles.command.d.ts +1 -1
- package/dist/interfaces/cli/commands/cycles.command.d.ts.map +1 -1
- package/dist/interfaces/cli/commands/cycles.command.js +13 -11
- package/dist/interfaces/cli/commands/cycles.command.js.map +1 -1
- package/dist/interfaces/cli/commands/deadcode.command.d.ts.map +1 -1
- package/dist/interfaces/cli/commands/deadcode.command.js +18 -19
- package/dist/interfaces/cli/commands/deadcode.command.js.map +1 -1
- package/dist/interfaces/cli/commands/find-references.command.d.ts.map +1 -1
- package/dist/interfaces/cli/commands/find-references.command.js +35 -11
- package/dist/interfaces/cli/commands/find-references.command.js.map +1 -1
- package/dist/interfaces/cli/commands/impact.command.d.ts +1 -1
- package/dist/interfaces/cli/commands/impact.command.js +6 -13
- package/dist/interfaces/cli/commands/impact.command.js.map +1 -1
- package/dist/interfaces/cli/commands/index.d.ts +1 -1
- package/dist/interfaces/cli/commands/index.d.ts.map +1 -1
- package/dist/interfaces/cli/commands/index.js +1 -1
- package/dist/interfaces/cli/commands/index.js.map +1 -1
- package/dist/interfaces/cli/commands/move-command-options.d.ts +14 -0
- package/dist/interfaces/cli/commands/move-command-options.d.ts.map +1 -0
- package/dist/interfaces/cli/commands/move-command-options.js +2 -0
- package/dist/interfaces/cli/commands/move-command-options.js.map +1 -0
- package/dist/interfaces/cli/commands/move-glob-command-handler.d.ts +8 -0
- package/dist/interfaces/cli/commands/move-glob-command-handler.d.ts.map +1 -0
- package/dist/interfaces/cli/commands/move-glob-command-handler.js +186 -0
- package/dist/interfaces/cli/commands/move-glob-command-handler.js.map +1 -0
- package/dist/interfaces/cli/commands/move.command.d.ts.map +1 -1
- package/dist/interfaces/cli/commands/move.command.js +62 -241
- package/dist/interfaces/cli/commands/move.command.js.map +1 -1
- package/dist/interfaces/cli/commands/rename.command.d.ts.map +1 -1
- package/dist/interfaces/cli/commands/rename.command.js +40 -26
- package/dist/interfaces/cli/commands/rename.command.js.map +1 -1
- package/dist/interfaces/cli/commands/search.command.d.ts +11 -0
- package/dist/interfaces/cli/commands/search.command.d.ts.map +1 -0
- package/dist/interfaces/cli/commands/search.command.js +110 -0
- package/dist/interfaces/cli/commands/search.command.js.map +1 -0
- package/dist/interfaces/cli/unified-output-handler.d.ts +5 -0
- package/dist/interfaces/cli/unified-output-handler.d.ts.map +1 -1
- package/dist/interfaces/cli/unified-output-handler.js +8 -1
- package/dist/interfaces/cli/unified-output-handler.js.map +1 -1
- package/dist/plugins/javascript/declaration-analyzer.d.ts.map +1 -1
- package/dist/plugins/javascript/declaration-analyzer.js +5 -2
- package/dist/plugins/javascript/declaration-analyzer.js.map +1 -1
- package/dist/plugins/javascript/parser.d.ts +6 -4
- package/dist/plugins/javascript/parser.d.ts.map +1 -1
- package/dist/plugins/javascript/parser.js +97 -15
- package/dist/plugins/javascript/parser.js.map +1 -1
- package/dist/plugins/javascript/reference-finder.d.ts.map +1 -1
- package/dist/plugins/javascript/reference-finder.js +3 -1
- package/dist/plugins/javascript/reference-finder.js.map +1 -1
- package/dist/plugins/javascript/types.js +10 -10
- package/dist/plugins/javascript/types.js.map +1 -1
- package/dist/plugins/shared/constants.d.ts +1 -1
- package/dist/plugins/shared/constants.d.ts.map +1 -1
- package/dist/plugins/shared/constants.js +7 -1
- package/dist/plugins/shared/constants.js.map +1 -1
- package/dist/plugins/shared/parser-helpers.d.ts.map +1 -1
- package/dist/plugins/shared/parser-helpers.js +1 -0
- package/dist/plugins/shared/parser-helpers.js.map +1 -1
- package/dist/plugins/shared/utils/memory-monitor.d.ts.map +1 -1
- package/dist/plugins/shared/utils/memory-monitor.js +3 -2
- package/dist/plugins/shared/utils/memory-monitor.js.map +1 -1
- package/dist/plugins/shared/utils/object.d.ts.map +1 -1
- package/dist/plugins/shared/utils/object.js +8 -12
- package/dist/plugins/shared/utils/object.js.map +1 -1
- package/dist/plugins/typescript/declaration-analyzer.d.ts.map +1 -1
- package/dist/plugins/typescript/declaration-analyzer.js +9 -4
- package/dist/plugins/typescript/declaration-analyzer.js.map +1 -1
- package/dist/plugins/typescript/language-service.js +1 -1
- package/dist/plugins/typescript/language-service.js.map +1 -1
- package/dist/plugins/typescript/parser.d.ts +1 -6
- package/dist/plugins/typescript/parser.d.ts.map +1 -1
- package/dist/plugins/typescript/parser.js +7 -33
- package/dist/plugins/typescript/parser.js.map +1 -1
- package/dist/plugins/typescript/pattern-analyzer.d.ts.map +1 -1
- package/dist/plugins/typescript/pattern-analyzer.js +3 -1
- package/dist/plugins/typescript/pattern-analyzer.js.map +1 -1
- package/dist/plugins/typescript/reference-finder.d.ts.map +1 -1
- package/dist/plugins/typescript/reference-finder.js +3 -1
- package/dist/plugins/typescript/reference-finder.js.map +1 -1
- package/dist/plugins/typescript/tsconfig-loader.d.ts.map +1 -1
- package/dist/plugins/typescript/tsconfig-loader.js +162 -24
- package/dist/plugins/typescript/tsconfig-loader.js.map +1 -1
- package/dist/plugins/typescript/types.js +3 -3
- package/dist/plugins/typescript/types.js.map +1 -1
- package/dist/shared/errors/diagnostic-collector.d.ts +47 -0
- package/dist/shared/errors/diagnostic-collector.d.ts.map +1 -0
- package/dist/shared/errors/diagnostic-collector.js +89 -0
- package/dist/shared/errors/diagnostic-collector.js.map +1 -0
- package/dist/shared/errors/index.d.ts +3 -0
- package/dist/shared/errors/index.d.ts.map +1 -1
- package/dist/shared/errors/index.js +5 -1
- package/dist/shared/errors/index.js.map +1 -1
- package/dist/shared/types/index.d.ts +1 -0
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/shared/types/index.js +2 -0
- package/dist/shared/types/index.js.map +1 -1
- package/dist/shared/types/source-file-extensions.d.ts +14 -0
- package/dist/shared/types/source-file-extensions.d.ts.map +1 -0
- package/dist/shared/types/source-file-extensions.js +42 -0
- package/dist/shared/types/source-file-extensions.js.map +1 -0
- package/dist/shared/types/symbol.d.ts +1 -0
- package/dist/shared/types/symbol.d.ts.map +1 -1
- package/dist/shared/types/symbol.js.map +1 -1
- package/package.json +18 -12
- package/dist/application/events/event-bus.d.ts +0 -107
- package/dist/application/events/event-bus.d.ts.map +0 -1
- package/dist/application/events/event-bus.js +0 -369
- package/dist/application/events/event-bus.js.map +0 -1
- package/dist/application/events/event-types.d.ts +0 -195
- package/dist/application/events/event-types.d.ts.map +0 -1
- package/dist/application/events/event-types.js +0 -36
- package/dist/application/events/event-types.js.map +0 -1
- package/dist/application/events/index.d.ts +0 -6
- package/dist/application/events/index.d.ts.map +0 -1
- package/dist/application/events/index.js +0 -6
- package/dist/application/events/index.js.map +0 -1
- package/dist/application/index.d.ts +0 -76
- package/dist/application/index.d.ts.map +0 -1
- package/dist/application/index.js +0 -127
- package/dist/application/index.js.map +0 -1
- package/dist/application/services/cache-coordinator.service.d.ts +0 -69
- package/dist/application/services/cache-coordinator.service.d.ts.map +0 -1
- package/dist/application/services/cache-coordinator.service.js +0 -251
- package/dist/application/services/cache-coordinator.service.js.map +0 -1
- package/dist/application/services/error-handler.service.d.ts +0 -56
- package/dist/application/services/error-handler.service.d.ts.map +0 -1
- package/dist/application/services/error-handler.service.js +0 -273
- package/dist/application/services/error-handler.service.js.map +0 -1
- package/dist/application/services/index.d.ts +0 -8
- package/dist/application/services/index.d.ts.map +0 -1
- package/dist/application/services/index.js +0 -8
- package/dist/application/services/index.js.map +0 -1
- package/dist/application/services/module-coordinator.service.d.ts +0 -55
- package/dist/application/services/module-coordinator.service.d.ts.map +0 -1
- package/dist/application/services/module-coordinator.service.js +0 -185
- package/dist/application/services/module-coordinator.service.js.map +0 -1
- package/dist/application/services/session-manager.service.d.ts +0 -86
- package/dist/application/services/session-manager.service.d.ts.map +0 -1
- package/dist/application/services/session-manager.service.js +0 -321
- package/dist/application/services/session-manager.service.js.map +0 -1
- package/dist/application/state/application-state.d.ts +0 -164
- package/dist/application/state/application-state.d.ts.map +0 -1
- package/dist/application/state/application-state.js +0 -290
- package/dist/application/state/application-state.js.map +0 -1
- package/dist/application/state/index.d.ts +0 -15
- package/dist/application/state/index.d.ts.map +0 -1
- package/dist/application/state/index.js +0 -15
- package/dist/application/state/index.js.map +0 -1
- package/dist/application/state/session-state.d.ts +0 -114
- package/dist/application/state/session-state.d.ts.map +0 -1
- package/dist/application/state/session-state.js +0 -188
- package/dist/application/state/session-state.js.map +0 -1
- package/dist/application/state/state-manager.d.ts +0 -122
- package/dist/application/state/state-manager.d.ts.map +0 -1
- package/dist/application/state/state-manager.js +0 -234
- package/dist/application/state/state-manager.js.map +0 -1
- package/dist/application/types.d.ts +0 -217
- package/dist/application/types.d.ts.map +0 -1
- package/dist/application/types.js +0 -5
- package/dist/application/types.js.map +0 -1
- package/dist/core/find-references/index.d.ts +0 -12
- package/dist/core/find-references/index.d.ts.map +0 -1
- package/dist/core/find-references/index.js +0 -14
- package/dist/core/find-references/index.js.map +0 -1
- package/dist/core/find-references/reference-finder-engine.d.ts +0 -75
- package/dist/core/find-references/reference-finder-engine.d.ts.map +0 -1
- package/dist/core/find-references/reference-finder-engine.js +0 -87
- package/dist/core/find-references/reference-finder-engine.js.map +0 -1
- package/dist/core/find-references/types.d.ts +0 -6
- package/dist/core/find-references/types.d.ts.map +0 -1
- package/dist/core/find-references/types.js +0 -7
- package/dist/core/find-references/types.js.map +0 -1
- package/dist/core/snapshot/index.d.ts +0 -9
- package/dist/core/snapshot/index.d.ts.map +0 -1
- package/dist/core/snapshot/index.js +0 -7
- package/dist/core/snapshot/index.js.map +0 -1
- package/dist/core/snapshot/snapshot-cache.d.ts +0 -103
- package/dist/core/snapshot/snapshot-cache.d.ts.map +0 -1
- package/dist/core/snapshot/snapshot-cache.js +0 -249
- package/dist/core/snapshot/snapshot-cache.js.map +0 -1
- package/dist/core/snapshot/snapshot-generator.d.ts +0 -79
- package/dist/core/snapshot/snapshot-generator.d.ts.map +0 -1
- package/dist/core/snapshot/snapshot-generator.js +0 -381
- package/dist/core/snapshot/snapshot-generator.js.map +0 -1
- package/dist/core/snapshot/types.d.ts +0 -67
- package/dist/core/snapshot/types.d.ts.map +0 -1
- package/dist/core/snapshot/types.js +0 -25
- package/dist/core/snapshot/types.js.map +0 -1
- package/dist/core/snapshot/utils/bracket-balancer.d.ts +0 -27
- package/dist/core/snapshot/utils/bracket-balancer.d.ts.map +0 -1
- package/dist/core/snapshot/utils/bracket-balancer.js +0 -70
- package/dist/core/snapshot/utils/bracket-balancer.js.map +0 -1
- package/dist/core/snapshot/utils/factory-pattern-detector.d.ts +0 -22
- package/dist/core/snapshot/utils/factory-pattern-detector.d.ts.map +0 -1
- package/dist/core/snapshot/utils/factory-pattern-detector.js +0 -70
- package/dist/core/snapshot/utils/factory-pattern-detector.js.map +0 -1
- package/dist/core/snapshot/utils/index.d.ts +0 -7
- package/dist/core/snapshot/utils/index.d.ts.map +0 -1
- package/dist/core/snapshot/utils/index.js +0 -7
- package/dist/core/snapshot/utils/index.js.map +0 -1
- package/dist/core/snapshot/utils/symbol-formatter.d.ts +0 -37
- package/dist/core/snapshot/utils/symbol-formatter.d.ts.map +0 -1
- package/dist/core/snapshot/utils/symbol-formatter.js +0 -89
- package/dist/core/snapshot/utils/symbol-formatter.js.map +0 -1
- package/dist/infrastructure/formatters/diff-utils.d.ts +0 -24
- package/dist/infrastructure/formatters/diff-utils.d.ts.map +0 -1
- package/dist/infrastructure/formatters/diff-utils.js +0 -104
- package/dist/infrastructure/formatters/diff-utils.js.map +0 -1
- package/dist/infrastructure/formatters/preview-converter.d.ts +0 -148
- package/dist/infrastructure/formatters/preview-converter.d.ts.map +0 -1
- package/dist/infrastructure/formatters/preview-converter.js +0 -329
- package/dist/infrastructure/formatters/preview-converter.js.map +0 -1
- package/dist/infrastructure/formatters/strategies/analyze-formatter.d.ts +0 -24
- package/dist/infrastructure/formatters/strategies/analyze-formatter.d.ts.map +0 -1
- package/dist/infrastructure/formatters/strategies/analyze-formatter.js +0 -102
- package/dist/infrastructure/formatters/strategies/analyze-formatter.js.map +0 -1
- package/dist/infrastructure/formatters/strategies/deps-formatter.d.ts +0 -15
- package/dist/infrastructure/formatters/strategies/deps-formatter.d.ts.map +0 -1
- package/dist/infrastructure/formatters/strategies/deps-formatter.js +0 -47
- package/dist/infrastructure/formatters/strategies/deps-formatter.js.map +0 -1
- package/dist/infrastructure/formatters/strategies/snapshot-formatter.d.ts +0 -20
- package/dist/infrastructure/formatters/strategies/snapshot-formatter.d.ts.map +0 -1
- package/dist/infrastructure/formatters/strategies/snapshot-formatter.js +0 -101
- package/dist/infrastructure/formatters/strategies/snapshot-formatter.js.map +0 -1
- package/dist/interfaces/cli/commands/snapshot.command.d.ts +0 -11
- package/dist/interfaces/cli/commands/snapshot.command.d.ts.map +0 -1
- package/dist/interfaces/cli/commands/snapshot.command.js +0 -86
- package/dist/interfaces/cli/commands/snapshot.command.js.map +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* search 命令
|
|
3
|
+
* 在專案中搜尋符號,支援模糊匹配和型別過濾
|
|
4
|
+
*/
|
|
5
|
+
import type { Command } from 'commander';
|
|
6
|
+
import type { CommandContext } from '../../cli/commands/types.js';
|
|
7
|
+
/**
|
|
8
|
+
* 設定 search 命令
|
|
9
|
+
*/
|
|
10
|
+
export declare function setupSearchCommand(program: Command, context: CommandContext): void;
|
|
11
|
+
//# sourceMappingURL=search.command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.command.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/cli/commands/search.command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAexE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAYlF"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* search 命令
|
|
3
|
+
* 在專案中搜尋符號,支援模糊匹配和型別過濾
|
|
4
|
+
*/
|
|
5
|
+
import { CLI_INDEX_DEFAULTS, createSearchOptions } from '../../../core/foundations/indexing/index.js';
|
|
6
|
+
import { createAndIndexWithCache } from '../../cli/cached-index-engine.js';
|
|
7
|
+
import { QueryCommand } from '../../../infrastructure/formatters/index.js';
|
|
8
|
+
import { createUnifiedOutputHandler, OutputFormat } from '../../cli/unified-output-handler.js';
|
|
9
|
+
import { ensureDirectoryPath, tryParseOutputFormat } from '../../cli/command-utils.js';
|
|
10
|
+
import { getErrorMessage } from '../../../shared/errors/index.js';
|
|
11
|
+
import { SymbolType } from '../../../shared/types/index.js';
|
|
12
|
+
const VALID_SYMBOL_TYPES = new Set(Object.values(SymbolType));
|
|
13
|
+
/**
|
|
14
|
+
* 設定 search 命令
|
|
15
|
+
*/
|
|
16
|
+
export function setupSearchCommand(program, context) {
|
|
17
|
+
program
|
|
18
|
+
.command('search <symbol>')
|
|
19
|
+
.description('在專案中搜尋符號(支援模糊匹配)')
|
|
20
|
+
.option('-p, --path <path>', '專案路徑', '.')
|
|
21
|
+
.option('--format <format>', '輸出格式 (json|summary)', 'summary')
|
|
22
|
+
.option('--no-fuzzy', '使用精確匹配(預設為模糊匹配)')
|
|
23
|
+
.option('--max-results <n>', '最大結果數', '100')
|
|
24
|
+
.option('--type <type>', '過濾符號類型 (class|function|interface|variable|constant|type|enum)')
|
|
25
|
+
.action(async (symbol, options, command) => {
|
|
26
|
+
await handleSearchCommand(symbol, options, context, command);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 處理 search 命令
|
|
31
|
+
*/
|
|
32
|
+
async function handleSearchCommand(symbolName, options, context, command) {
|
|
33
|
+
const outputHandler = createUnifiedOutputHandler();
|
|
34
|
+
const formatResult = tryParseOutputFormat(options.format, false, outputHandler);
|
|
35
|
+
if (!formatResult.success) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const format = formatResult.format;
|
|
39
|
+
if (format !== OutputFormat.Json) {
|
|
40
|
+
process.stderr.write(`🔍 搜尋符號: ${symbolName}...\n`);
|
|
41
|
+
}
|
|
42
|
+
// 驗證 --type 參數
|
|
43
|
+
if (options.type !== undefined && !VALID_SYMBOL_TYPES.has(options.type)) {
|
|
44
|
+
outputHandler.outputError(`無效的符號類型: ${options.type}。可用類型: ${[...VALID_SYMBOL_TYPES].join('|')}`, format);
|
|
45
|
+
process.exitCode = 1;
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const parsedMax = parseInt(String(options.maxResults), 10);
|
|
49
|
+
if (isNaN(parsedMax) || parsedMax <= 0) {
|
|
50
|
+
outputHandler.outputError(`--max-results 須為正整數,收到: ${options.maxResults}`, format);
|
|
51
|
+
process.exitCode = 1;
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const maxResults = parsedMax;
|
|
55
|
+
const projectPath = options.path;
|
|
56
|
+
const pathIsDirectory = await ensureDirectoryPath(projectPath, context.fileSystem, outputHandler, format);
|
|
57
|
+
if (!pathIsDirectory) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const globalOpts = command.optsWithGlobals();
|
|
61
|
+
const noCache = globalOpts.cache === false;
|
|
62
|
+
const indexEngine = await createAndIndexWithCache(projectPath, context.fileSystem, CLI_INDEX_DEFAULTS, { noCache, cacheDir: globalOpts.cacheDir });
|
|
63
|
+
try {
|
|
64
|
+
const startTime = Date.now();
|
|
65
|
+
const fetchOpts = createSearchOptions({
|
|
66
|
+
fuzzy: options.fuzzy,
|
|
67
|
+
maxResults: maxResults + 1,
|
|
68
|
+
caseSensitive: false,
|
|
69
|
+
includeFileInfo: true,
|
|
70
|
+
...(options.type ? { symbolTypes: [options.type] } : {}),
|
|
71
|
+
});
|
|
72
|
+
// 使用 searchSymbols(fuzzy)或 findSymbol(exact)
|
|
73
|
+
const symbolResults = options.fuzzy
|
|
74
|
+
? await indexEngine.searchSymbols(symbolName, fetchOpts)
|
|
75
|
+
: await indexEngine.findSymbol(symbolName, fetchOpts);
|
|
76
|
+
const searchTime = Date.now() - startTime;
|
|
77
|
+
const truncated = symbolResults.length > maxResults;
|
|
78
|
+
const limitedResults = truncated ? symbolResults.slice(0, maxResults) : symbolResults;
|
|
79
|
+
// 映射為 SearchMatch
|
|
80
|
+
const matches = limitedResults.map(sr => {
|
|
81
|
+
const sym = sr.symbol;
|
|
82
|
+
return {
|
|
83
|
+
filePath: sym.location.filePath,
|
|
84
|
+
line: sym.location.range.start.line,
|
|
85
|
+
column: sym.location.range.start.column,
|
|
86
|
+
content: `[${sym.type}] ${sym.name}`,
|
|
87
|
+
};
|
|
88
|
+
});
|
|
89
|
+
const result = {
|
|
90
|
+
command: QueryCommand.Search,
|
|
91
|
+
success: true,
|
|
92
|
+
results: matches,
|
|
93
|
+
truncated,
|
|
94
|
+
searchTime,
|
|
95
|
+
summary: {
|
|
96
|
+
matchCount: matches.length,
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
outputHandler.outputQuery(result, format);
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
const errorMessage = getErrorMessage(error);
|
|
103
|
+
outputHandler.outputError(`搜尋符號失敗: ${errorMessage}`, format);
|
|
104
|
+
process.exitCode = 1;
|
|
105
|
+
}
|
|
106
|
+
finally {
|
|
107
|
+
indexEngine.dispose();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=search.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.command.js","sourceRoot":"","sources":["../../../../src/interfaces/cli/commands/search.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,11 @@ export declare class UnifiedOutputHandler {
|
|
|
52
52
|
* 格式化唯讀類結果(不輸出)
|
|
53
53
|
*/
|
|
54
54
|
formatQueryResult(result: QueryResult, format: OutputFormat): string;
|
|
55
|
+
/**
|
|
56
|
+
* 輸出原始 JSON 結果。
|
|
57
|
+
* 保留給尚未能完整映射到 Query/Mutation formatter 的 CLI 相容輸出。
|
|
58
|
+
*/
|
|
59
|
+
outputJson(value: unknown, spacing?: number): void;
|
|
55
60
|
/**
|
|
56
61
|
* 輸出錯誤
|
|
57
62
|
* JSON 格式輸出到 stdout(機器可讀),其他格式輸出到 stderr
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-output-handler.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/unified-output-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,qCAAqC,CAAC;AAK7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAE7E,aAAa;AACb,oBAAY,YAAY;IACtB,oBAAoB;IACpB,IAAI,SAAS;IACb,iBAAiB;IACjB,OAAO,YAAY;IACnB,sBAAsB;IACtB,IAAI,SAAS;CACd;AAED,cAAc;AACd,MAAM,WAAW,oBAAoB;IACnC,aAAa;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAEpB,OAAO,GAAE,oBAAyB;IAa9C;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAK/D;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAIvE;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAKzE;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa;IAMxD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAI5D;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAOpE;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBhF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAUzB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAE/F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,YAAY,CAchF"}
|
|
1
|
+
{"version":3,"file":"unified-output-handler.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/unified-output-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,qCAAqC,CAAC;AAK7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAE7E,aAAa;AACb,oBAAY,YAAY;IACtB,oBAAoB;IACpB,IAAI,SAAS;IACb,iBAAiB;IACjB,OAAO,YAAY;IACnB,sBAAsB;IACtB,IAAI,SAAS;CACd;AAED,cAAc;AACd,MAAM,WAAW,oBAAoB;IACnC,aAAa;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAEpB,OAAO,GAAE,oBAAyB;IAa9C;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAK/D;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAIvE;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAKzE;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa;IAMxD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAI5D;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAOpE;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBhF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAUzB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAE/F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,YAAY,CAchF"}
|
|
@@ -71,6 +71,13 @@ export class UnifiedOutputHandler {
|
|
|
71
71
|
return this.queryFormatter.format(result, queryFormat);
|
|
72
72
|
}
|
|
73
73
|
// ========== 通用方法 ==========
|
|
74
|
+
/**
|
|
75
|
+
* 輸出原始 JSON 結果。
|
|
76
|
+
* 保留給尚未能完整映射到 Query/Mutation formatter 的 CLI 相容輸出。
|
|
77
|
+
*/
|
|
78
|
+
outputJson(value, spacing) {
|
|
79
|
+
console.log(JSON.stringify(value, null, spacing));
|
|
80
|
+
}
|
|
74
81
|
/**
|
|
75
82
|
* 輸出錯誤
|
|
76
83
|
* JSON 格式輸出到 stdout(機器可讀),其他格式輸出到 stderr
|
|
@@ -86,7 +93,7 @@ export class UnifiedOutputHandler {
|
|
|
86
93
|
if (command) {
|
|
87
94
|
output.command = command;
|
|
88
95
|
}
|
|
89
|
-
|
|
96
|
+
this.outputJson(output);
|
|
90
97
|
}
|
|
91
98
|
else {
|
|
92
99
|
console.error(`\n❌ 錯誤: ${message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-output-handler.js","sourceRoot":"","sources":["../../../src/interfaces/cli/unified-output-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,sBAAsB,EACtB,aAAa,EAGd,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,WAAW,EACZ,MAAM,+CAA+C,CAAC;AAGvD,aAAa;AACb,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,oBAAoB;IACpB,6BAAa,CAAA;IACb,iBAAiB;IACjB,mCAAmB,CAAA;IACnB,sBAAsB;IACtB,6BAAa,CAAA;AACf,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAUD;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACd,gBAAgB,CAAC;IACjB,cAAc,CAAC;IAEhC,YAAY,UAAgC,EAAE;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;QAE/D,IAAI,CAAC,gBAAgB,GAAG,sBAAsB,CAAC;YAC7C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC;YACvC,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,oBAAoB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,0CAA0C;IAE1C;;OAEG;IACH,cAAc,CAAC,KAAmB,EAAE,MAAoB;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,MAAqB,EAAE,MAAoB;QAC9D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,MAAqB,EAAE,MAAoB;QAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,KAAmB;QACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,uCAAuC;IAEvC;;OAEG;IACH,WAAW,CAAC,MAAmB,EAAE,MAAoB;QACnD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,MAAmB,EAAE,MAAoB;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,6BAA6B;IAE7B;;;;OAIG;IACH,WAAW,CAAC,KAAqB,EAAE,MAAoB,EAAE,OAAgB;QACvE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAE/D,IAAI,MAAM,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,MAAM,GAAwD;gBAClE,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,OAAO;aACf,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,CAAC;YACD,
|
|
1
|
+
{"version":3,"file":"unified-output-handler.js","sourceRoot":"","sources":["../../../src/interfaces/cli/unified-output-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declaration-analyzer.d.ts","sourceRoot":"","sources":["../../../src/plugins/javascript/declaration-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,iBAAiB,EAEjB,kBAAkB,EAElB,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"declaration-analyzer.d.ts","sourceRoot":"","sources":["../../../src/plugins/javascript/declaration-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,iBAAiB,EAEjB,kBAAkB,EAElB,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAQpD;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuD;IAEhF;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;;;;;;OAOG;IACH,uBAAuB,CACrB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,KAAK,GAAG,IAAI;IAyGf;;;;OAIG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,IAAI;IAwB/D;;;;;;;OAOG;IACH,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,kBAAkB,GAAG,IAAI;IAqD5B;;;;;;;OAOG;IACH,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,aAAa,GAAG,IAAI;IA2EvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA6DnC;;OAEG;IACH,OAAO,CAAC,6BAA6B;CAyDtC"}
|
|
@@ -7,6 +7,7 @@ import * as babel from '@babel/types';
|
|
|
7
7
|
import babelTraverse from '@babel/traverse';
|
|
8
8
|
import { isLineMatch, parseJSDocContent } from '../shared/index.js';
|
|
9
9
|
import { createLRUCache } from '../../infrastructure/cache/index.js';
|
|
10
|
+
import { logger } from '../../infrastructure/logging/index.js';
|
|
10
11
|
// Handle both ESM and CJS module formats
|
|
11
12
|
const traverse = babelTraverse.default || babelTraverse;
|
|
12
13
|
/**
|
|
@@ -39,7 +40,8 @@ export class DeclarationAnalyzer {
|
|
|
39
40
|
this.astCache.set(hash, ast); // MemoryCache 自動處理 LRU 淘汰
|
|
40
41
|
return ast;
|
|
41
42
|
}
|
|
42
|
-
catch {
|
|
43
|
+
catch (error) {
|
|
44
|
+
logger.warn('js/declaration-analyzer', `Parse failed: ${error}`);
|
|
43
45
|
return null;
|
|
44
46
|
}
|
|
45
47
|
}
|
|
@@ -145,7 +147,8 @@ export class DeclarationAnalyzer {
|
|
|
145
147
|
}
|
|
146
148
|
};
|
|
147
149
|
}
|
|
148
|
-
catch {
|
|
150
|
+
catch (error) {
|
|
151
|
+
logger.warn('js/declaration-analyzer', `Parse failed: ${error}`);
|
|
149
152
|
return null;
|
|
150
153
|
}
|
|
151
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declaration-analyzer.js","sourceRoot":"","sources":["../../../src/plugins/javascript/declaration-analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"declaration-analyzer.js","sourceRoot":"","sources":["../../../src/plugins/javascript/declaration-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,10 +50,6 @@ export declare class JavaScriptParser implements ParserPlugin {
|
|
|
50
50
|
* 重新命名符號
|
|
51
51
|
*/
|
|
52
52
|
rename(ast: AST, position: Position, newName: string): Promise<CodeEdit[]>;
|
|
53
|
-
/**
|
|
54
|
-
* 提取函式重構
|
|
55
|
-
*/
|
|
56
|
-
extractFunction(_ast: AST, _selection: Range): Promise<CodeEdit[]>;
|
|
57
53
|
/**
|
|
58
54
|
* 查找定義
|
|
59
55
|
*/
|
|
@@ -93,6 +89,7 @@ export declare class JavaScriptParser implements ParserPlugin {
|
|
|
93
89
|
private extractFunctionSymbol;
|
|
94
90
|
private extractClassSymbol;
|
|
95
91
|
private extractVariableSymbol;
|
|
92
|
+
private extractParameterSymbols;
|
|
96
93
|
private extractImportSymbol;
|
|
97
94
|
private extractMethodSymbol;
|
|
98
95
|
private extractPropertySymbol;
|
|
@@ -103,6 +100,11 @@ export declare class JavaScriptParser implements ParserPlugin {
|
|
|
103
100
|
private extractExportDependency;
|
|
104
101
|
private extractCallExpressionDependency;
|
|
105
102
|
private isReferenceToSymbol;
|
|
103
|
+
private isFunctionLocalSymbol;
|
|
104
|
+
private isSameBabelBinding;
|
|
105
|
+
private getBindingIdentifier;
|
|
106
|
+
private getNearestFunctionName;
|
|
107
|
+
private getFunctionExpressionName;
|
|
106
108
|
private getReferenceType;
|
|
107
109
|
private symbolTypeToDefinitionKind;
|
|
108
110
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/plugins/javascript/parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,KAAK,EACL,gBAAgB,EAOhB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACV,GAAG,EACH,MAAM,EACN,SAAS,EACT,UAAU,EACV,QAAQ,EACR,KAAK,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/plugins/javascript/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@ import babelTraverse from '@babel/traverse';
|
|
|
8
8
|
// Handle both ESM and CJS module formats
|
|
9
9
|
const traverse = babelTraverse.default || babelTraverse;
|
|
10
10
|
import { createValidationSuccess, createValidationFailure, createCodeEdit, createDefinition, createUsage } from '../../infrastructure/parser/index.js';
|
|
11
|
-
import { createAST, createASTMetadata, ReferenceType, SymbolType, DependencyType } from '../../shared/types/index.js';
|
|
11
|
+
import { createAST, createASTMetadata, ReferenceType, SymbolType, DependencyType, JAVASCRIPT_SOURCE_EXTENSIONS } from '../../shared/types/index.js';
|
|
12
12
|
import { getErrorMessage } from '../../shared/errors/index.js';
|
|
13
|
-
import { createSymbol, createReference, createDependency } from '../../shared/types/index.js';
|
|
13
|
+
import { createSymbol, createScope, createReference, createDependency } from '../../shared/types/index.js';
|
|
14
14
|
import { DEFAULT_PARSE_OPTIONS, JavaScriptParseError, createJavaScriptASTNode, createParseError, babelLocationToPosition, isValidIdentifier, isRelativePath, getImportedSymbols, getPluginsForFile } from './types.js';
|
|
15
15
|
import { JAVASCRIPT_EXCLUDE_PATTERNS, matchesAnyPattern, validateParserInput, validateRenameInput } from '../shared/index.js';
|
|
16
16
|
import { createLRUCache } from '../../infrastructure/cache/index.js';
|
|
@@ -24,7 +24,7 @@ import { createHash } from 'node:crypto';
|
|
|
24
24
|
export class JavaScriptParser {
|
|
25
25
|
name = 'javascript';
|
|
26
26
|
version = '1.0.0';
|
|
27
|
-
supportedExtensions =
|
|
27
|
+
supportedExtensions = JAVASCRIPT_SOURCE_EXTENSIONS;
|
|
28
28
|
supportedLanguages = ['javascript', 'jsx'];
|
|
29
29
|
parseOptions;
|
|
30
30
|
/** 設計模式分析器 */
|
|
@@ -101,12 +101,13 @@ export class JavaScriptParser {
|
|
|
101
101
|
// 處理各種宣告節點
|
|
102
102
|
FunctionDeclaration: (path) => {
|
|
103
103
|
this.extractFunctionSymbol(path.node, symbols, typedAst.sourceFile);
|
|
104
|
+
this.extractParameterSymbols(path.node.params, path.node.id?.name, symbols, typedAst.sourceFile);
|
|
104
105
|
},
|
|
105
106
|
ClassDeclaration: (path) => {
|
|
106
107
|
this.extractClassSymbol(path.node, symbols, typedAst.sourceFile);
|
|
107
108
|
},
|
|
108
109
|
VariableDeclarator: (path) => {
|
|
109
|
-
this.extractVariableSymbol(path.node, symbols, typedAst.sourceFile);
|
|
110
|
+
this.extractVariableSymbol(path.node, symbols, typedAst.sourceFile, this.getNearestFunctionName(path));
|
|
110
111
|
},
|
|
111
112
|
ImportDefaultSpecifier: (path) => {
|
|
112
113
|
this.extractImportSymbol(path.node, symbols, typedAst.sourceFile);
|
|
@@ -119,12 +120,20 @@ export class JavaScriptParser {
|
|
|
119
120
|
},
|
|
120
121
|
ClassMethod: (path) => {
|
|
121
122
|
this.extractMethodSymbol(path.node, symbols, typedAst.sourceFile);
|
|
123
|
+
this.extractParameterSymbols(path.node.params, babel.isIdentifier(path.node.key) ? path.node.key.name : undefined, symbols, typedAst.sourceFile);
|
|
122
124
|
},
|
|
123
125
|
ClassProperty: (path) => {
|
|
124
126
|
this.extractPropertySymbol(path.node, symbols, typedAst.sourceFile);
|
|
125
127
|
},
|
|
126
128
|
ObjectMethod: (path) => {
|
|
127
129
|
this.extractObjectMethodSymbol(path.node, symbols, typedAst.sourceFile);
|
|
130
|
+
this.extractParameterSymbols(path.node.params, babel.isIdentifier(path.node.key) ? path.node.key.name : undefined, symbols, typedAst.sourceFile);
|
|
131
|
+
},
|
|
132
|
+
FunctionExpression: (path) => {
|
|
133
|
+
this.extractParameterSymbols(path.node.params, this.getFunctionExpressionName(path), symbols, typedAst.sourceFile);
|
|
134
|
+
},
|
|
135
|
+
ArrowFunctionExpression: (path) => {
|
|
136
|
+
this.extractParameterSymbols(path.node.params, this.getFunctionExpressionName(path), symbols, typedAst.sourceFile);
|
|
128
137
|
},
|
|
129
138
|
ObjectProperty: (path) => {
|
|
130
139
|
this.extractObjectPropertySymbol(path.node, symbols, typedAst.sourceFile);
|
|
@@ -211,13 +220,6 @@ export class JavaScriptParser {
|
|
|
211
220
|
}
|
|
212
221
|
return edits;
|
|
213
222
|
}
|
|
214
|
-
/**
|
|
215
|
-
* 提取函式重構
|
|
216
|
-
*/
|
|
217
|
-
async extractFunction(_ast, _selection) {
|
|
218
|
-
// 這是一個複雜的重構操作,目前提供基本實作
|
|
219
|
-
throw new Error('提取函式重構尚未實作');
|
|
220
|
-
}
|
|
221
223
|
/**
|
|
222
224
|
* 查找定義
|
|
223
225
|
*/
|
|
@@ -333,12 +335,28 @@ export class JavaScriptParser {
|
|
|
333
335
|
symbols.push(symbol);
|
|
334
336
|
}
|
|
335
337
|
}
|
|
336
|
-
extractVariableSymbol(node, symbols, sourceFile) {
|
|
338
|
+
extractVariableSymbol(node, symbols, sourceFile, functionScopeName) {
|
|
337
339
|
if (babel.isIdentifier(node.id)) {
|
|
338
|
-
const symbol = this.createSymbolFromNode(node, node.id.name, SymbolType.Variable, sourceFile);
|
|
340
|
+
const symbol = this.createSymbolFromNode(node, node.id.name, SymbolType.Variable, sourceFile, {}, functionScopeName ? createScope('function', functionScopeName) : undefined);
|
|
339
341
|
symbols.push(symbol);
|
|
340
342
|
}
|
|
341
343
|
}
|
|
344
|
+
extractParameterSymbols(params, functionScopeName, symbols, sourceFile) {
|
|
345
|
+
for (const param of params) {
|
|
346
|
+
if (!babel.isIdentifier(param)) {
|
|
347
|
+
continue;
|
|
348
|
+
}
|
|
349
|
+
const location = {
|
|
350
|
+
filePath: sourceFile,
|
|
351
|
+
range: this.getNodeRange(param)
|
|
352
|
+
};
|
|
353
|
+
const baseSymbol = createSymbol(param.name, SymbolType.Variable, location, createScope('function', functionScopeName), []);
|
|
354
|
+
symbols.push({
|
|
355
|
+
...baseSymbol,
|
|
356
|
+
babelNode: param
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
}
|
|
342
360
|
extractImportSymbol(node, symbols, sourceFile) {
|
|
343
361
|
const symbol = this.createSymbolFromNode(node, node.local.name, SymbolType.Variable, sourceFile, { isImported: true });
|
|
344
362
|
symbols.push(symbol);
|
|
@@ -367,10 +385,10 @@ export class JavaScriptParser {
|
|
|
367
385
|
symbols.push(symbol);
|
|
368
386
|
}
|
|
369
387
|
}
|
|
370
|
-
createSymbolFromNode(node, name, type, sourceFile, options = {}) {
|
|
388
|
+
createSymbolFromNode(node, name, type, sourceFile, options = {}, scope) {
|
|
371
389
|
const range = this.getNodeRange(node);
|
|
372
390
|
const location = { filePath: sourceFile, range };
|
|
373
|
-
const baseSymbol = createSymbol(name, type, location,
|
|
391
|
+
const baseSymbol = createSymbol(name, type, location, scope, []);
|
|
374
392
|
return {
|
|
375
393
|
...baseSymbol,
|
|
376
394
|
babelNode: node,
|
|
@@ -444,10 +462,74 @@ export class JavaScriptParser {
|
|
|
444
462
|
// 只有 local 是本地名稱才需要重命名
|
|
445
463
|
return false;
|
|
446
464
|
}
|
|
465
|
+
if (this.isFunctionLocalSymbol(symbol)) {
|
|
466
|
+
if (babel.isMemberExpression(parent) && parent.property === node && !parent.computed) {
|
|
467
|
+
return false;
|
|
468
|
+
}
|
|
469
|
+
return this.isSameBabelBinding(path, symbol);
|
|
470
|
+
}
|
|
447
471
|
// 基本的作用域檢查
|
|
448
472
|
// Babel traverse 的 path 已經處理了作用域,字串和註解不會進入這裡
|
|
449
473
|
return true;
|
|
450
474
|
}
|
|
475
|
+
isFunctionLocalSymbol(symbol) {
|
|
476
|
+
return symbol.scope?.type === 'function' || symbol.scope?.type === 'block';
|
|
477
|
+
}
|
|
478
|
+
isSameBabelBinding(path, symbol) {
|
|
479
|
+
const targetIdentifier = this.getBindingIdentifier(symbol.babelNode);
|
|
480
|
+
if (!targetIdentifier) {
|
|
481
|
+
return false;
|
|
482
|
+
}
|
|
483
|
+
const binding = path.scope.getBinding(symbol.name);
|
|
484
|
+
return binding?.identifier === targetIdentifier;
|
|
485
|
+
}
|
|
486
|
+
getBindingIdentifier(node) {
|
|
487
|
+
if (babel.isIdentifier(node)) {
|
|
488
|
+
return node;
|
|
489
|
+
}
|
|
490
|
+
if ((babel.isFunctionDeclaration(node) || babel.isClassDeclaration(node)) && node.id) {
|
|
491
|
+
return node.id;
|
|
492
|
+
}
|
|
493
|
+
if (babel.isVariableDeclarator(node) && babel.isIdentifier(node.id)) {
|
|
494
|
+
return node.id;
|
|
495
|
+
}
|
|
496
|
+
if ((babel.isImportDefaultSpecifier(node)
|
|
497
|
+
|| babel.isImportSpecifier(node)
|
|
498
|
+
|| babel.isImportNamespaceSpecifier(node))) {
|
|
499
|
+
return node.local;
|
|
500
|
+
}
|
|
501
|
+
return null;
|
|
502
|
+
}
|
|
503
|
+
getNearestFunctionName(path) {
|
|
504
|
+
let current = path.parentPath;
|
|
505
|
+
while (current) {
|
|
506
|
+
const node = current.node;
|
|
507
|
+
if (babel.isFunctionDeclaration(node)) {
|
|
508
|
+
return node.id?.name;
|
|
509
|
+
}
|
|
510
|
+
if (babel.isClassMethod(node) || babel.isObjectMethod(node)) {
|
|
511
|
+
return babel.isIdentifier(node.key) ? node.key.name : undefined;
|
|
512
|
+
}
|
|
513
|
+
if (babel.isFunctionExpression(node) || babel.isArrowFunctionExpression(node)) {
|
|
514
|
+
return this.getFunctionExpressionName(current);
|
|
515
|
+
}
|
|
516
|
+
current = current.parentPath;
|
|
517
|
+
}
|
|
518
|
+
return undefined;
|
|
519
|
+
}
|
|
520
|
+
getFunctionExpressionName(path) {
|
|
521
|
+
const parent = path.parent;
|
|
522
|
+
if (babel.isVariableDeclarator(parent) && babel.isIdentifier(parent.id)) {
|
|
523
|
+
return parent.id.name;
|
|
524
|
+
}
|
|
525
|
+
if (babel.isAssignmentExpression(parent) && babel.isIdentifier(parent.left)) {
|
|
526
|
+
return parent.left.name;
|
|
527
|
+
}
|
|
528
|
+
if (babel.isObjectProperty(parent) && babel.isIdentifier(parent.key)) {
|
|
529
|
+
return parent.key.name;
|
|
530
|
+
}
|
|
531
|
+
return undefined;
|
|
532
|
+
}
|
|
451
533
|
getReferenceType(path, symbol) {
|
|
452
534
|
const node = path.node;
|
|
453
535
|
// 如果是符號的原始定義位置
|