codesift-mcp 0.9.5 → 0.10.0
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 +62 -23
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +92 -2
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +18 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/hooks/input.d.ts +11 -0
- package/dist/cli/hooks/input.d.ts.map +1 -0
- package/dist/cli/hooks/input.js +111 -0
- package/dist/cli/hooks/input.js.map +1 -0
- package/dist/cli/hooks/post-tool-use.d.ts +2 -0
- package/dist/cli/hooks/post-tool-use.d.ts.map +1 -0
- package/dist/cli/hooks/post-tool-use.js +339 -0
- package/dist/cli/hooks/post-tool-use.js.map +1 -0
- package/dist/cli/hooks/pre-compact.d.ts +2 -0
- package/dist/cli/hooks/pre-compact.d.ts.map +1 -0
- package/dist/cli/hooks/pre-compact.js +41 -0
- package/dist/cli/hooks/pre-compact.js.map +1 -0
- package/dist/cli/hooks/pre-tool-use.d.ts +5 -0
- package/dist/cli/hooks/pre-tool-use.d.ts.map +1 -0
- package/dist/cli/hooks/pre-tool-use.js +215 -0
- package/dist/cli/hooks/pre-tool-use.js.map +1 -0
- package/dist/cli/hooks/session.d.ts +5 -0
- package/dist/cli/hooks/session.d.ts.map +1 -0
- package/dist/cli/hooks/session.js +188 -0
- package/dist/cli/hooks/session.js.map +1 -0
- package/dist/cli/hooks/shared.d.ts +6 -0
- package/dist/cli/hooks/shared.d.ts.map +1 -0
- package/dist/cli/hooks/shared.js +70 -0
- package/dist/cli/hooks/shared.js.map +1 -0
- package/dist/cli/hooks/wiki.d.ts +10 -0
- package/dist/cli/hooks/wiki.d.ts.map +1 -0
- package/dist/cli/hooks/wiki.js +202 -0
- package/dist/cli/hooks/wiki.js.map +1 -0
- package/dist/cli/hooks.d.ts +5 -16
- package/dist/cli/hooks.d.ts.map +1 -1
- package/dist/cli/hooks.js +5 -1132
- package/dist/cli/hooks.js.map +1 -1
- package/dist/cli/setup/claude.d.ts +4 -0
- package/dist/cli/setup/claude.d.ts.map +1 -0
- package/dist/cli/setup/claude.js +123 -0
- package/dist/cli/setup/claude.js.map +1 -0
- package/dist/cli/setup/codex.d.ts +12 -0
- package/dist/cli/setup/codex.d.ts.map +1 -0
- package/dist/cli/setup/codex.js +182 -0
- package/dist/cli/setup/codex.js.map +1 -0
- package/dist/cli/setup/cursor.d.ts +3 -0
- package/dist/cli/setup/cursor.d.ts.map +1 -0
- package/dist/cli/setup/cursor.js +6 -0
- package/dist/cli/setup/cursor.js.map +1 -0
- package/dist/cli/setup/fs.d.ts +6 -0
- package/dist/cli/setup/fs.d.ts.map +1 -0
- package/dist/cli/setup/fs.js +44 -0
- package/dist/cli/setup/fs.js.map +1 -0
- package/dist/cli/setup/gemini.d.ts +5 -0
- package/dist/cli/setup/gemini.d.ts.map +1 -0
- package/dist/cli/setup/gemini.js +46 -0
- package/dist/cli/setup/gemini.js.map +1 -0
- package/dist/cli/setup/hooks.d.ts +12 -0
- package/dist/cli/setup/hooks.d.ts.map +1 -0
- package/dist/cli/setup/hooks.js +29 -0
- package/dist/cli/setup/hooks.js.map +1 -0
- package/dist/cli/setup/mcp.d.ts +13 -0
- package/dist/cli/setup/mcp.d.ts.map +1 -0
- package/dist/cli/setup/mcp.js +104 -0
- package/dist/cli/setup/mcp.js.map +1 -0
- package/dist/cli/setup/rules.d.ts +4 -0
- package/dist/cli/setup/rules.d.ts.map +1 -0
- package/dist/cli/setup/rules.js +157 -0
- package/dist/cli/setup/rules.js.map +1 -0
- package/dist/cli/setup/types.d.ts +24 -0
- package/dist/cli/setup/types.d.ts.map +1 -0
- package/dist/cli/setup/types.js +2 -0
- package/dist/cli/setup/types.js.map +1 -0
- package/dist/cli/setup.d.ts +8 -48
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +49 -705
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/telemetry-commands.d.ts +2 -0
- package/dist/cli/telemetry-commands.d.ts.map +1 -0
- package/dist/cli/telemetry-commands.js +50 -0
- package/dist/cli/telemetry-commands.js.map +1 -0
- package/dist/config.d.ts +15 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +56 -2
- package/dist/config.js.map +1 -1
- package/dist/formatter-dispatch.d.ts +53 -0
- package/dist/formatter-dispatch.d.ts.map +1 -0
- package/dist/formatter-dispatch.js +54 -0
- package/dist/formatter-dispatch.js.map +1 -0
- package/dist/formatters-analysis.d.ts +9 -0
- package/dist/formatters-analysis.d.ts.map +1 -0
- package/dist/formatters-analysis.js +166 -0
- package/dist/formatters-analysis.js.map +1 -0
- package/dist/formatters-core.d.ts +200 -0
- package/dist/formatters-core.d.ts.map +1 -0
- package/dist/formatters-core.js +206 -0
- package/dist/formatters-core.js.map +1 -0
- package/dist/formatters-graph.d.ts +124 -0
- package/dist/formatters-graph.d.ts.map +1 -0
- package/dist/formatters-graph.js +175 -0
- package/dist/formatters-graph.js.map +1 -0
- package/dist/formatters-nextjs.d.ts +22 -0
- package/dist/formatters-nextjs.d.ts.map +1 -0
- package/dist/formatters-nextjs.js +394 -0
- package/dist/formatters-nextjs.js.map +1 -0
- package/dist/formatters.d.ts +8 -349
- package/dist/formatters.d.ts.map +1 -1
- package/dist/formatters.js +10 -929
- package/dist/formatters.js.map +1 -1
- package/dist/parser/astro-template/preprocess.d.ts +12 -0
- package/dist/parser/astro-template/preprocess.d.ts.map +1 -0
- package/dist/parser/astro-template/preprocess.js +34 -0
- package/dist/parser/astro-template/preprocess.js.map +1 -0
- package/dist/parser/astro-template/resolution.d.ts +16 -0
- package/dist/parser/astro-template/resolution.d.ts.map +1 -0
- package/dist/parser/astro-template/resolution.js +58 -0
- package/dist/parser/astro-template/resolution.js.map +1 -0
- package/dist/parser/astro-template/scanner.d.ts +4 -0
- package/dist/parser/astro-template/scanner.d.ts.map +1 -0
- package/dist/parser/astro-template/scanner.js +71 -0
- package/dist/parser/astro-template/scanner.js.map +1 -0
- package/dist/parser/astro-template/state.d.ts +22 -0
- package/dist/parser/astro-template/state.d.ts.map +1 -0
- package/dist/parser/astro-template/state.js +48 -0
- package/dist/parser/astro-template/state.js.map +1 -0
- package/dist/parser/astro-template/tag-processor.d.ts +3 -0
- package/dist/parser/astro-template/tag-processor.d.ts.map +1 -0
- package/dist/parser/astro-template/tag-processor.js +63 -0
- package/dist/parser/astro-template/tag-processor.js.map +1 -0
- package/dist/parser/astro-template/types.d.ts +42 -0
- package/dist/parser/astro-template/types.d.ts.map +1 -0
- package/dist/parser/astro-template/types.js +2 -0
- package/dist/parser/astro-template/types.js.map +1 -0
- package/dist/parser/astro-template.d.ts +2 -45
- package/dist/parser/astro-template.d.ts.map +1 -1
- package/dist/parser/astro-template.js +7 -168
- package/dist/parser/astro-template.js.map +1 -1
- package/dist/parser/extractors/_shared.js +1 -1
- package/dist/parser/extractors/_shared.js.map +1 -1
- package/dist/parser/extractors/astro.js +1 -1
- package/dist/parser/extractors/astro.js.map +1 -1
- package/dist/parser/extractors/conversation.js +1 -1
- package/dist/parser/extractors/conversation.js.map +1 -1
- package/dist/parser/extractors/hono-app-discovery.d.ts +4 -0
- package/dist/parser/extractors/hono-app-discovery.d.ts.map +1 -0
- package/dist/parser/extractors/hono-app-discovery.js +169 -0
- package/dist/parser/extractors/hono-app-discovery.js.map +1 -0
- package/dist/parser/extractors/hono-ast-utils.d.ts +6 -0
- package/dist/parser/extractors/hono-ast-utils.d.ts.map +1 -0
- package/dist/parser/extractors/hono-ast-utils.js +77 -0
- package/dist/parser/extractors/hono-ast-utils.js.map +1 -0
- package/dist/parser/extractors/hono-context-extractor.d.ts +15 -0
- package/dist/parser/extractors/hono-context-extractor.d.ts.map +1 -0
- package/dist/parser/extractors/hono-context-extractor.js +191 -0
- package/dist/parser/extractors/hono-context-extractor.js.map +1 -0
- package/dist/parser/extractors/hono-middleware-extractor.d.ts +38 -0
- package/dist/parser/extractors/hono-middleware-extractor.d.ts.map +1 -0
- package/dist/parser/extractors/hono-middleware-extractor.js +480 -0
- package/dist/parser/extractors/hono-middleware-extractor.js.map +1 -0
- package/dist/parser/extractors/hono-openapi-extractor.d.ts +11 -0
- package/dist/parser/extractors/hono-openapi-extractor.d.ts.map +1 -0
- package/dist/parser/extractors/hono-openapi-extractor.js +119 -0
- package/dist/parser/extractors/hono-openapi-extractor.js.map +1 -0
- package/dist/parser/extractors/hono-route-extractor.d.ts +11 -0
- package/dist/parser/extractors/hono-route-extractor.d.ts.map +1 -0
- package/dist/parser/extractors/hono-route-extractor.js +128 -0
- package/dist/parser/extractors/hono-route-extractor.js.map +1 -0
- package/dist/parser/extractors/hono-route-utils.d.ts +11 -0
- package/dist/parser/extractors/hono-route-utils.d.ts.map +1 -0
- package/dist/parser/extractors/hono-route-utils.js +40 -0
- package/dist/parser/extractors/hono-route-utils.js.map +1 -0
- package/dist/parser/extractors/hono-runtime-extractor.d.ts +17 -0
- package/dist/parser/extractors/hono-runtime-extractor.d.ts.map +1 -0
- package/dist/parser/extractors/hono-runtime-extractor.js +141 -0
- package/dist/parser/extractors/hono-runtime-extractor.js.map +1 -0
- package/dist/parser/extractors/hono.d.ts +5 -79
- package/dist/parser/extractors/hono.d.ts.map +1 -1
- package/dist/parser/extractors/hono.js +32 -1159
- package/dist/parser/extractors/hono.js.map +1 -1
- package/dist/parser/extractors/kotlin-ast-helpers.d.ts +43 -0
- package/dist/parser/extractors/kotlin-ast-helpers.d.ts.map +1 -0
- package/dist/parser/extractors/kotlin-ast-helpers.js +187 -0
- package/dist/parser/extractors/kotlin-ast-helpers.js.map +1 -0
- package/dist/parser/extractors/kotlin-test-symbols.d.ts +21 -0
- package/dist/parser/extractors/kotlin-test-symbols.d.ts.map +1 -0
- package/dist/parser/extractors/kotlin-test-symbols.js +162 -0
- package/dist/parser/extractors/kotlin-test-symbols.js.map +1 -0
- package/dist/parser/extractors/kotlin.d.ts.map +1 -1
- package/dist/parser/extractors/kotlin.js +3 -334
- package/dist/parser/extractors/kotlin.js.map +1 -1
- package/dist/parser/extractors/markdown.js +1 -1
- package/dist/parser/extractors/markdown.js.map +1 -1
- package/dist/parser/extractors/prisma.js +1 -1
- package/dist/parser/extractors/prisma.js.map +1 -1
- package/dist/parser/extractors/sql-boundaries.d.ts +3 -0
- package/dist/parser/extractors/sql-boundaries.d.ts.map +1 -0
- package/dist/parser/extractors/sql-boundaries.js +19 -0
- package/dist/parser/extractors/sql-boundaries.js.map +1 -0
- package/dist/parser/extractors/sql-columns.d.ts +14 -0
- package/dist/parser/extractors/sql-columns.d.ts.map +1 -0
- package/dist/parser/extractors/sql-columns.js +59 -0
- package/dist/parser/extractors/sql-columns.js.map +1 -0
- package/dist/parser/extractors/sql-docstrings.d.ts +2 -0
- package/dist/parser/extractors/sql-docstrings.d.ts.map +1 -0
- package/dist/parser/extractors/sql-docstrings.js +45 -0
- package/dist/parser/extractors/sql-docstrings.js.map +1 -0
- package/dist/parser/extractors/sql-end-scanner.d.ts +5 -0
- package/dist/parser/extractors/sql-end-scanner.d.ts.map +1 -0
- package/dist/parser/extractors/sql-end-scanner.js +84 -0
- package/dist/parser/extractors/sql-end-scanner.js.map +1 -0
- package/dist/parser/extractors/sql-jinja.d.ts +2 -0
- package/dist/parser/extractors/sql-jinja.d.ts.map +1 -0
- package/dist/parser/extractors/sql-jinja.js +8 -0
- package/dist/parser/extractors/sql-jinja.js.map +1 -0
- package/dist/parser/extractors/sql-matcher-catalog.d.ts +9 -0
- package/dist/parser/extractors/sql-matcher-catalog.d.ts.map +1 -0
- package/dist/parser/extractors/sql-matcher-catalog.js +15 -0
- package/dist/parser/extractors/sql-matcher-catalog.js.map +1 -0
- package/dist/parser/extractors/sql-matchers.d.ts +9 -0
- package/dist/parser/extractors/sql-matchers.d.ts.map +1 -0
- package/dist/parser/extractors/sql-matchers.js +20 -0
- package/dist/parser/extractors/sql-matchers.js.map +1 -0
- package/dist/parser/extractors/sql-offsets.d.ts +2 -0
- package/dist/parser/extractors/sql-offsets.d.ts.map +1 -0
- package/dist/parser/extractors/sql-offsets.js +25 -0
- package/dist/parser/extractors/sql-offsets.js.map +1 -0
- package/dist/parser/extractors/sql-parens.d.ts +4 -0
- package/dist/parser/extractors/sql-parens.d.ts.map +1 -0
- package/dist/parser/extractors/sql-parens.js +70 -0
- package/dist/parser/extractors/sql-parens.js.map +1 -0
- package/dist/parser/extractors/sql-symbols.d.ts +11 -0
- package/dist/parser/extractors/sql-symbols.d.ts.map +1 -0
- package/dist/parser/extractors/sql-symbols.js +23 -0
- package/dist/parser/extractors/sql-symbols.js.map +1 -0
- package/dist/parser/extractors/sql.d.ts +2 -30
- package/dist/parser/extractors/sql.d.ts.map +1 -1
- package/dist/parser/extractors/sql.js +23 -496
- package/dist/parser/extractors/sql.js.map +1 -1
- package/dist/parser/extractors/typescript-cjs-nodes.d.ts +5 -0
- package/dist/parser/extractors/typescript-cjs-nodes.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-cjs-nodes.js +148 -0
- package/dist/parser/extractors/typescript-cjs-nodes.js.map +1 -0
- package/dist/parser/extractors/typescript-class-nodes.d.ts +8 -0
- package/dist/parser/extractors/typescript-class-nodes.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-class-nodes.js +183 -0
- package/dist/parser/extractors/typescript-class-nodes.js.map +1 -0
- package/dist/parser/extractors/typescript-declaration-nodes.d.ts +5 -0
- package/dist/parser/extractors/typescript-declaration-nodes.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-declaration-nodes.js +105 -0
- package/dist/parser/extractors/typescript-declaration-nodes.js.map +1 -0
- package/dist/parser/extractors/typescript-module-nodes.d.ts +6 -0
- package/dist/parser/extractors/typescript-module-nodes.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-module-nodes.js +151 -0
- package/dist/parser/extractors/typescript-module-nodes.js.map +1 -0
- package/dist/parser/extractors/typescript-react.d.ts +11 -0
- package/dist/parser/extractors/typescript-react.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-react.js +101 -0
- package/dist/parser/extractors/typescript-react.js.map +1 -0
- package/dist/parser/extractors/typescript-shared.d.ts +26 -0
- package/dist/parser/extractors/typescript-shared.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-shared.js +101 -0
- package/dist/parser/extractors/typescript-shared.js.map +1 -0
- package/dist/parser/extractors/typescript-test-nodes.d.ts +4 -0
- package/dist/parser/extractors/typescript-test-nodes.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-test-nodes.js +112 -0
- package/dist/parser/extractors/typescript-test-nodes.js.map +1 -0
- package/dist/parser/extractors/typescript-type-nodes.d.ts +6 -0
- package/dist/parser/extractors/typescript-type-nodes.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-type-nodes.js +48 -0
- package/dist/parser/extractors/typescript-type-nodes.js.map +1 -0
- package/dist/parser/extractors/typescript.d.ts.map +1 -1
- package/dist/parser/extractors/typescript.js +68 -1127
- package/dist/parser/extractors/typescript.js.map +1 -1
- package/dist/parser/parser-manager.d.ts.map +1 -1
- package/dist/parser/parser-manager.js +5 -0
- package/dist/parser/parser-manager.js.map +1 -1
- package/dist/parser/symbol-extractor.d.ts +1 -12
- package/dist/parser/symbol-extractor.d.ts.map +1 -1
- package/dist/parser/symbol-extractor.js +2 -24
- package/dist/parser/symbol-extractor.js.map +1 -1
- package/dist/parser/symbol-utils.d.ts +4 -0
- package/dist/parser/symbol-utils.d.ts.map +1 -0
- package/dist/parser/symbol-utils.js +20 -0
- package/dist/parser/symbol-utils.js.map +1 -0
- package/dist/register-tool-groups/analysis/cross-repo.d.ts +4 -0
- package/dist/register-tool-groups/analysis/cross-repo.d.ts.map +1 -0
- package/dist/register-tool-groups/analysis/cross-repo.js +108 -0
- package/dist/register-tool-groups/analysis/cross-repo.js.map +1 -0
- package/dist/register-tool-groups/analysis/review.d.ts +3 -0
- package/dist/register-tool-groups/analysis/review.d.ts.map +1 -0
- package/dist/register-tool-groups/analysis/review.js +96 -0
- package/dist/register-tool-groups/analysis/review.js.map +1 -0
- package/dist/register-tool-groups/analysis/workspace.d.ts +3 -0
- package/dist/register-tool-groups/analysis/workspace.d.ts.map +1 -0
- package/dist/register-tool-groups/analysis/workspace.js +82 -0
- package/dist/register-tool-groups/analysis/workspace.js.map +1 -0
- package/dist/register-tool-groups/analysis.d.ts +3 -0
- package/dist/register-tool-groups/analysis.d.ts.map +1 -0
- package/dist/register-tool-groups/analysis.js +541 -0
- package/dist/register-tool-groups/analysis.js.map +1 -0
- package/dist/register-tool-groups/astro.d.ts +3 -0
- package/dist/register-tool-groups/astro.d.ts.map +1 -0
- package/dist/register-tool-groups/astro.js +302 -0
- package/dist/register-tool-groups/astro.js.map +1 -0
- package/dist/register-tool-groups/core/index.d.ts +3 -0
- package/dist/register-tool-groups/core/index.d.ts.map +1 -0
- package/dist/register-tool-groups/core/index.js +96 -0
- package/dist/register-tool-groups/core/index.js.map +1 -0
- package/dist/register-tool-groups/core/meta.d.ts +3 -0
- package/dist/register-tool-groups/core/meta.d.ts.map +1 -0
- package/dist/register-tool-groups/core/meta.js +180 -0
- package/dist/register-tool-groups/core/meta.js.map +1 -0
- package/dist/register-tool-groups/core/schema.d.ts +3 -0
- package/dist/register-tool-groups/core/schema.d.ts.map +1 -0
- package/dist/register-tool-groups/core/schema.js +16 -0
- package/dist/register-tool-groups/core/schema.js.map +1 -0
- package/dist/register-tool-groups/core/search.d.ts +4 -0
- package/dist/register-tool-groups/core/search.d.ts.map +1 -0
- package/dist/register-tool-groups/core/search.js +262 -0
- package/dist/register-tool-groups/core/search.js.map +1 -0
- package/dist/register-tool-groups/core/symbols.d.ts +3 -0
- package/dist/register-tool-groups/core/symbols.d.ts.map +1 -0
- package/dist/register-tool-groups/core/symbols.js +338 -0
- package/dist/register-tool-groups/core/symbols.js.map +1 -0
- package/dist/register-tool-groups/core.d.ts +3 -0
- package/dist/register-tool-groups/core.d.ts.map +1 -0
- package/dist/register-tool-groups/core.js +12 -0
- package/dist/register-tool-groups/core.js.map +1 -0
- package/dist/register-tool-groups/deps.d.ts +10 -0
- package/dist/register-tool-groups/deps.d.ts.map +1 -0
- package/dist/register-tool-groups/deps.js +6 -0
- package/dist/register-tool-groups/deps.js.map +1 -0
- package/dist/register-tool-groups/handler-wrappers.d.ts +63 -0
- package/dist/register-tool-groups/handler-wrappers.d.ts.map +1 -0
- package/dist/register-tool-groups/handler-wrappers.js +106 -0
- package/dist/register-tool-groups/handler-wrappers.js.map +1 -0
- package/dist/register-tool-groups/hono.d.ts +3 -0
- package/dist/register-tool-groups/hono.d.ts.map +1 -0
- package/dist/register-tool-groups/hono.js +179 -0
- package/dist/register-tool-groups/hono.js.map +1 -0
- package/dist/register-tool-groups/index.d.ts +3 -0
- package/dist/register-tool-groups/index.d.ts.map +1 -0
- package/dist/register-tool-groups/index.js +28 -0
- package/dist/register-tool-groups/index.js.map +1 -0
- package/dist/register-tool-groups/kotlin.d.ts +3 -0
- package/dist/register-tool-groups/kotlin.d.ts.map +1 -0
- package/dist/register-tool-groups/kotlin.js +162 -0
- package/dist/register-tool-groups/kotlin.js.map +1 -0
- package/dist/register-tool-groups/meta.d.ts +3 -0
- package/dist/register-tool-groups/meta.d.ts.map +1 -0
- package/dist/register-tool-groups/meta.js +563 -0
- package/dist/register-tool-groups/meta.js.map +1 -0
- package/dist/register-tool-groups/nextjs.d.ts +3 -0
- package/dist/register-tool-groups/nextjs.d.ts.map +1 -0
- package/dist/register-tool-groups/nextjs.js +78 -0
- package/dist/register-tool-groups/nextjs.js.map +1 -0
- package/dist/register-tool-groups/php.d.ts +3 -0
- package/dist/register-tool-groups/php.d.ts.map +1 -0
- package/dist/register-tool-groups/php.js +312 -0
- package/dist/register-tool-groups/php.js.map +1 -0
- package/dist/register-tool-groups/python.d.ts +3 -0
- package/dist/register-tool-groups/python.d.ts.map +1 -0
- package/dist/register-tool-groups/python.js +366 -0
- package/dist/register-tool-groups/python.js.map +1 -0
- package/dist/register-tool-groups/react.d.ts +3 -0
- package/dist/register-tool-groups/react.d.ts.map +1 -0
- package/dist/register-tool-groups/react.js +119 -0
- package/dist/register-tool-groups/react.js.map +1 -0
- package/dist/register-tool-groups/shared.d.ts +156 -0
- package/dist/register-tool-groups/shared.d.ts.map +1 -0
- package/dist/register-tool-groups/shared.js +182 -0
- package/dist/register-tool-groups/shared.js.map +1 -0
- package/dist/register-tool-groups/sql.d.ts +3 -0
- package/dist/register-tool-groups/sql.d.ts.map +1 -0
- package/dist/register-tool-groups/sql.js +260 -0
- package/dist/register-tool-groups/sql.js.map +1 -0
- package/dist/register-tool-loaders.d.ts +22 -22
- package/dist/register-tool-loaders.d.ts.map +1 -1
- package/dist/register-tools/autoload.d.ts +8 -0
- package/dist/register-tools/autoload.d.ts.map +1 -0
- package/dist/register-tools/autoload.js +517 -0
- package/dist/register-tools/autoload.js.map +1 -0
- package/dist/register-tools/discovery.d.ts +55 -0
- package/dist/register-tools/discovery.d.ts.map +1 -0
- package/dist/register-tools/discovery.js +206 -0
- package/dist/register-tools/discovery.js.map +1 -0
- package/dist/register-tools/runtime.d.ts +89 -0
- package/dist/register-tools/runtime.d.ts.map +1 -0
- package/dist/register-tools/runtime.js +491 -0
- package/dist/register-tools/runtime.js.map +1 -0
- package/dist/register-tools.d.ts +5 -172
- package/dist/register-tools.d.ts.map +1 -1
- package/dist/register-tools.js +27 -4878
- package/dist/register-tools.js.map +1 -1
- package/dist/search/bm25.js +1 -1
- package/dist/search/bm25.js.map +1 -1
- package/dist/search/tool-embedding-cache.d.ts +4 -0
- package/dist/search/tool-embedding-cache.d.ts.map +1 -0
- package/dist/search/tool-embedding-cache.js +44 -0
- package/dist/search/tool-embedding-cache.js.map +1 -0
- package/dist/search/tool-embedding-storage.d.ts +8 -0
- package/dist/search/tool-embedding-storage.d.ts.map +1 -0
- package/dist/search/tool-embedding-storage.js +56 -0
- package/dist/search/tool-embedding-storage.js.map +1 -0
- package/dist/search/tool-ranker-bm25.d.ts +6 -0
- package/dist/search/tool-ranker-bm25.d.ts.map +1 -0
- package/dist/search/tool-ranker-bm25.js +40 -0
- package/dist/search/tool-ranker-bm25.js.map +1 -0
- package/dist/search/tool-ranker-orchestrator.d.ts +3 -0
- package/dist/search/tool-ranker-orchestrator.d.ts.map +1 -0
- package/dist/search/tool-ranker-orchestrator.js +49 -0
- package/dist/search/tool-ranker-orchestrator.js.map +1 -0
- package/dist/search/tool-ranker-reasoning.d.ts +4 -0
- package/dist/search/tool-ranker-reasoning.d.ts.map +1 -0
- package/dist/search/tool-ranker-reasoning.js +35 -0
- package/dist/search/tool-ranker-reasoning.js.map +1 -0
- package/dist/search/tool-ranker-signal-math.d.ts +6 -0
- package/dist/search/tool-ranker-signal-math.d.ts.map +1 -0
- package/dist/search/tool-ranker-signal-math.js +51 -0
- package/dist/search/tool-ranker-signal-math.js.map +1 -0
- package/dist/search/tool-ranker-signals.d.ts +20 -0
- package/dist/search/tool-ranker-signals.d.ts.map +1 -0
- package/dist/search/tool-ranker-signals.js +50 -0
- package/dist/search/tool-ranker-signals.js.map +1 -0
- package/dist/search/tool-ranker-types.d.ts +26 -0
- package/dist/search/tool-ranker-types.d.ts.map +1 -0
- package/dist/search/tool-ranker-types.js +2 -0
- package/dist/search/tool-ranker-types.js.map +1 -0
- package/dist/search/tool-ranker.d.ts +6 -89
- package/dist/search/tool-ranker.d.ts.map +1 -1
- package/dist/search/tool-ranker.js +5 -419
- package/dist/search/tool-ranker.js.map +1 -1
- package/dist/server-helpers/repo-resolution.d.ts +45 -0
- package/dist/server-helpers/repo-resolution.d.ts.map +1 -0
- package/dist/server-helpers/repo-resolution.js +113 -0
- package/dist/server-helpers/repo-resolution.js.map +1 -0
- package/dist/server-helpers/response-hints.d.ts +9 -0
- package/dist/server-helpers/response-hints.d.ts.map +1 -0
- package/dist/server-helpers/response-hints.js +225 -0
- package/dist/server-helpers/response-hints.js.map +1 -0
- package/dist/server-helpers.d.ts +14 -35
- package/dist/server-helpers.d.ts.map +1 -1
- package/dist/server-helpers.js +62 -322
- package/dist/server-helpers.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +45 -0
- package/dist/server.js.map +1 -1
- package/dist/storage/_shared.d.ts +9 -0
- package/dist/storage/_shared.d.ts.map +1 -1
- package/dist/storage/_shared.js +24 -0
- package/dist/storage/_shared.js.map +1 -1
- package/dist/storage/telemetry/aggregator.d.ts +52 -0
- package/dist/storage/telemetry/aggregator.d.ts.map +1 -0
- package/dist/storage/telemetry/aggregator.js +188 -0
- package/dist/storage/telemetry/aggregator.js.map +1 -0
- package/dist/storage/telemetry/anon-id.d.ts +11 -0
- package/dist/storage/telemetry/anon-id.d.ts.map +1 -0
- package/dist/storage/telemetry/anon-id.js +62 -0
- package/dist/storage/telemetry/anon-id.js.map +1 -0
- package/dist/storage/telemetry/config.d.ts +37 -0
- package/dist/storage/telemetry/config.d.ts.map +1 -0
- package/dist/storage/telemetry/config.js +130 -0
- package/dist/storage/telemetry/config.js.map +1 -0
- package/dist/storage/telemetry/env-profile.d.ts +19 -0
- package/dist/storage/telemetry/env-profile.d.ts.map +1 -0
- package/dist/storage/telemetry/env-profile.js +67 -0
- package/dist/storage/telemetry/env-profile.js.map +1 -0
- package/dist/storage/telemetry/payload.d.ts +8 -0
- package/dist/storage/telemetry/payload.d.ts.map +1 -0
- package/dist/storage/telemetry/payload.js +22 -0
- package/dist/storage/telemetry/payload.js.map +1 -0
- package/dist/storage/telemetry/sanitizer.d.ts +48 -0
- package/dist/storage/telemetry/sanitizer.d.ts.map +1 -0
- package/dist/storage/telemetry/sanitizer.js +82 -0
- package/dist/storage/telemetry/sanitizer.js.map +1 -0
- package/dist/storage/telemetry/uploader.d.ts +11 -0
- package/dist/storage/telemetry/uploader.d.ts.map +1 -0
- package/dist/storage/telemetry/uploader.js +140 -0
- package/dist/storage/telemetry/uploader.js.map +1 -0
- package/dist/storage/usage-tracker.d.ts +13 -0
- package/dist/storage/usage-tracker.d.ts.map +1 -1
- package/dist/storage/usage-tracker.js +33 -0
- package/dist/storage/usage-tracker.js.map +1 -1
- package/dist/tools/astro-actions/ast.d.ts +14 -0
- package/dist/tools/astro-actions/ast.d.ts.map +1 -0
- package/dist/tools/astro-actions/ast.js +75 -0
- package/dist/tools/astro-actions/ast.js.map +1 -0
- package/dist/tools/astro-actions/audit.d.ts +5 -0
- package/dist/tools/astro-actions/audit.d.ts.map +1 -0
- package/dist/tools/astro-actions/audit.js +102 -0
- package/dist/tools/astro-actions/audit.js.map +1 -0
- package/dist/tools/astro-actions/callers.d.ts +9 -0
- package/dist/tools/astro-actions/callers.d.ts.map +1 -0
- package/dist/tools/astro-actions/callers.js +84 -0
- package/dist/tools/astro-actions/callers.js.map +1 -0
- package/dist/tools/astro-actions/parser.d.ts +3 -0
- package/dist/tools/astro-actions/parser.d.ts.map +1 -0
- package/dist/tools/astro-actions/parser.js +156 -0
- package/dist/tools/astro-actions/parser.js.map +1 -0
- package/dist/tools/astro-actions/types.d.ts +58 -0
- package/dist/tools/astro-actions/types.d.ts.map +1 -0
- package/dist/tools/astro-actions/types.js +2 -0
- package/dist/tools/astro-actions/types.js.map +1 -0
- package/dist/tools/astro-actions/zod-ast.d.ts +7 -0
- package/dist/tools/astro-actions/zod-ast.d.ts.map +1 -0
- package/dist/tools/astro-actions/zod-ast.js +51 -0
- package/dist/tools/astro-actions/zod-ast.js.map +1 -0
- package/dist/tools/astro-actions.d.ts +6 -46
- package/dist/tools/astro-actions.d.ts.map +1 -1
- package/dist/tools/astro-actions.js +6 -545
- package/dist/tools/astro-actions.js.map +1 -1
- package/dist/tools/astro-content-collections/diagnostics.d.ts +3 -0
- package/dist/tools/astro-content-collections/diagnostics.d.ts.map +1 -0
- package/dist/tools/astro-content-collections/diagnostics.js +277 -0
- package/dist/tools/astro-content-collections/diagnostics.js.map +1 -0
- package/dist/tools/astro-content-collections/discovery.d.ts +6 -0
- package/dist/tools/astro-content-collections/discovery.d.ts.map +1 -0
- package/dist/tools/astro-content-collections/discovery.js +152 -0
- package/dist/tools/astro-content-collections/discovery.js.map +1 -0
- package/dist/tools/astro-content-collections/schema.d.ts +15 -0
- package/dist/tools/astro-content-collections/schema.d.ts.map +1 -0
- package/dist/tools/astro-content-collections/schema.js +119 -0
- package/dist/tools/astro-content-collections/schema.js.map +1 -0
- package/dist/tools/astro-content-collections/types.d.ts +61 -0
- package/dist/tools/astro-content-collections/types.d.ts.map +1 -0
- package/dist/tools/astro-content-collections/types.js +2 -0
- package/dist/tools/astro-content-collections/types.js.map +1 -0
- package/dist/tools/astro-content-collections.d.ts +5 -40
- package/dist/tools/astro-content-collections.d.ts.map +1 -1
- package/dist/tools/astro-content-collections.js +42 -449
- package/dist/tools/astro-content-collections.js.map +1 -1
- package/dist/tools/astro-routes.js +1 -1
- package/dist/tools/astro-routes.js.map +1 -1
- package/dist/tools/complexity-tools.d.ts +6 -0
- package/dist/tools/complexity-tools.d.ts.map +1 -1
- package/dist/tools/complexity-tools.js +26 -0
- package/dist/tools/complexity-tools.js.map +1 -1
- package/dist/tools/context-levels/l0.d.ts +4 -0
- package/dist/tools/context-levels/l0.d.ts.map +1 -0
- package/dist/tools/context-levels/l0.js +17 -0
- package/dist/tools/context-levels/l0.js.map +1 -0
- package/dist/tools/context-levels/l1.d.ts +4 -0
- package/dist/tools/context-levels/l1.d.ts.map +1 -0
- package/dist/tools/context-levels/l1.js +26 -0
- package/dist/tools/context-levels/l1.js.map +1 -0
- package/dist/tools/context-levels/l2.d.ts +4 -0
- package/dist/tools/context-levels/l2.d.ts.map +1 -0
- package/dist/tools/context-levels/l2.js +36 -0
- package/dist/tools/context-levels/l2.js.map +1 -0
- package/dist/tools/context-levels/l3.d.ts +4 -0
- package/dist/tools/context-levels/l3.d.ts.map +1 -0
- package/dist/tools/context-levels/l3.js +30 -0
- package/dist/tools/context-levels/l3.js.map +1 -0
- package/dist/tools/context-levels/shared.d.ts +2 -0
- package/dist/tools/context-levels/shared.d.ts.map +1 -0
- package/dist/tools/context-levels/shared.js +4 -0
- package/dist/tools/context-levels/shared.js.map +1 -0
- package/dist/tools/context-levels/types.d.ts +34 -0
- package/dist/tools/context-levels/types.d.ts.map +1 -0
- package/dist/tools/context-levels/types.js +2 -0
- package/dist/tools/context-levels/types.js.map +1 -0
- package/dist/tools/context-tools.d.ts +2 -34
- package/dist/tools/context-tools.d.ts.map +1 -1
- package/dist/tools/context-tools.js +11 -127
- package/dist/tools/context-tools.js.map +1 -1
- package/dist/tools/conversation-cache.d.ts +6 -0
- package/dist/tools/conversation-cache.d.ts.map +1 -0
- package/dist/tools/conversation-cache.js +29 -0
- package/dist/tools/conversation-cache.js.map +1 -0
- package/dist/tools/conversation-index-tools.d.ts +39 -0
- package/dist/tools/conversation-index-tools.d.ts.map +1 -0
- package/dist/tools/conversation-index-tools.js +136 -0
- package/dist/tools/conversation-index-tools.js.map +1 -0
- package/dist/tools/conversation-paths.d.ts +4 -0
- package/dist/tools/conversation-paths.d.ts.map +1 -0
- package/dist/tools/conversation-paths.js +15 -0
- package/dist/tools/conversation-paths.js.map +1 -0
- package/dist/tools/conversation-search-tools.d.ts +52 -0
- package/dist/tools/conversation-search-tools.d.ts.map +1 -0
- package/dist/tools/conversation-search-tools.js +229 -0
- package/dist/tools/conversation-search-tools.js.map +1 -0
- package/dist/tools/conversation-tools.d.ts +6 -112
- package/dist/tools/conversation-tools.d.ts.map +1 -1
- package/dist/tools/conversation-tools.js +4 -425
- package/dist/tools/conversation-tools.js.map +1 -1
- package/dist/tools/cross-repo-outbound-lexer/call-detectors.d.ts +5 -0
- package/dist/tools/cross-repo-outbound-lexer/call-detectors.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/call-detectors.js +76 -0
- package/dist/tools/cross-repo-outbound-lexer/call-detectors.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/context.d.ts +18 -0
- package/dist/tools/cross-repo-outbound-lexer/context.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/context.js +33 -0
- package/dist/tools/cross-repo-outbound-lexer/context.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/literal-readers.d.ts +6 -0
- package/dist/tools/cross-repo-outbound-lexer/literal-readers.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/literal-readers.js +65 -0
- package/dist/tools/cross-repo-outbound-lexer/literal-readers.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/non-code-states.d.ts +3 -0
- package/dist/tools/cross-repo-outbound-lexer/non-code-states.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/non-code-states.js +103 -0
- package/dist/tools/cross-repo-outbound-lexer/non-code-states.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/template-reader.d.ts +3 -0
- package/dist/tools/cross-repo-outbound-lexer/template-reader.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/template-reader.js +82 -0
- package/dist/tools/cross-repo-outbound-lexer/template-reader.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/types.d.ts +18 -0
- package/dist/tools/cross-repo-outbound-lexer/types.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/types.js +2 -0
- package/dist/tools/cross-repo-outbound-lexer/types.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer.d.ts +5 -31
- package/dist/tools/cross-repo-outbound-lexer.d.ts.map +1 -1
- package/dist/tools/cross-repo-outbound-lexer.js +75 -575
- package/dist/tools/cross-repo-outbound-lexer.js.map +1 -1
- package/dist/tools/dependency-audit-freshness-tools.d.ts +3 -0
- package/dist/tools/dependency-audit-freshness-tools.d.ts.map +1 -0
- package/dist/tools/dependency-audit-freshness-tools.js +62 -0
- package/dist/tools/dependency-audit-freshness-tools.js.map +1 -0
- package/dist/tools/dependency-audit-license-tools.d.ts +5 -0
- package/dist/tools/dependency-audit-license-tools.d.ts.map +1 -0
- package/dist/tools/dependency-audit-license-tools.js +75 -0
- package/dist/tools/dependency-audit-license-tools.js.map +1 -0
- package/dist/tools/dependency-audit-lockfile-tools.d.ts +3 -0
- package/dist/tools/dependency-audit-lockfile-tools.d.ts.map +1 -0
- package/dist/tools/dependency-audit-lockfile-tools.js +147 -0
- package/dist/tools/dependency-audit-lockfile-tools.js.map +1 -0
- package/dist/tools/dependency-audit-tools.d.ts +2 -54
- package/dist/tools/dependency-audit-tools.d.ts.map +1 -1
- package/dist/tools/dependency-audit-tools.js +69 -484
- package/dist/tools/dependency-audit-tools.js.map +1 -1
- package/dist/tools/dependency-audit-types.d.ts +65 -0
- package/dist/tools/dependency-audit-types.d.ts.map +1 -0
- package/dist/tools/dependency-audit-types.js +19 -0
- package/dist/tools/dependency-audit-types.js.map +1 -0
- package/dist/tools/dependency-audit-vulnerability-tools.d.ts +4 -0
- package/dist/tools/dependency-audit-vulnerability-tools.d.ts.map +1 -0
- package/dist/tools/dependency-audit-vulnerability-tools.js +103 -0
- package/dist/tools/dependency-audit-vulnerability-tools.js.map +1 -0
- package/dist/tools/diff-tools.d.ts.map +1 -1
- package/dist/tools/diff-tools.js +5 -7
- package/dist/tools/diff-tools.js.map +1 -1
- package/dist/tools/impact-tools.d.ts.map +1 -1
- package/dist/tools/impact-tools.js +5 -4
- package/dist/tools/impact-tools.js.map +1 -1
- package/dist/tools/index-shared.d.ts +17 -0
- package/dist/tools/index-shared.d.ts.map +1 -0
- package/dist/tools/index-shared.js +18 -0
- package/dist/tools/index-shared.js.map +1 -0
- package/dist/tools/index-tools/file-indexer.d.ts +27 -0
- package/dist/tools/index-tools/file-indexer.d.ts.map +1 -0
- package/dist/tools/index-tools/file-indexer.js +223 -0
- package/dist/tools/index-tools/file-indexer.js.map +1 -0
- package/dist/tools/index-tools/folder-indexer.d.ts +21 -0
- package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -0
- package/dist/tools/index-tools/folder-indexer.js +399 -0
- package/dist/tools/index-tools/folder-indexer.js.map +1 -0
- package/dist/tools/index-tools/folder-merge.d.ts +23 -0
- package/dist/tools/index-tools/folder-merge.d.ts.map +1 -0
- package/dist/tools/index-tools/folder-merge.js +205 -0
- package/dist/tools/index-tools/folder-merge.js.map +1 -0
- package/dist/tools/index-tools/parse.d.ts +35 -0
- package/dist/tools/index-tools/parse.d.ts.map +1 -0
- package/dist/tools/index-tools/parse.js +262 -0
- package/dist/tools/index-tools/parse.js.map +1 -0
- package/dist/tools/index-tools/registry.d.ts +40 -0
- package/dist/tools/index-tools/registry.d.ts.map +1 -0
- package/dist/tools/index-tools/registry.js +258 -0
- package/dist/tools/index-tools/registry.js.map +1 -0
- package/dist/tools/index-tools/snapshots.d.ts +51 -0
- package/dist/tools/index-tools/snapshots.d.ts.map +1 -0
- package/dist/tools/index-tools/snapshots.js +223 -0
- package/dist/tools/index-tools/snapshots.js.map +1 -0
- package/dist/tools/index-tools/state.d.ts +8 -0
- package/dist/tools/index-tools/state.d.ts.map +1 -0
- package/dist/tools/index-tools/state.js +6 -0
- package/dist/tools/index-tools/state.js.map +1 -0
- package/dist/tools/index-tools/types.d.ts +20 -0
- package/dist/tools/index-tools/types.d.ts.map +1 -0
- package/dist/tools/index-tools/types.js +2 -0
- package/dist/tools/index-tools/types.js.map +1 -0
- package/dist/tools/index-tools/watcher.d.ts +10 -0
- package/dist/tools/index-tools/watcher.d.ts.map +1 -0
- package/dist/tools/index-tools/watcher.js +130 -0
- package/dist/tools/index-tools/watcher.js.map +1 -0
- package/dist/tools/index-tools.d.ts +16 -152
- package/dist/tools/index-tools.d.ts.map +1 -1
- package/dist/tools/index-tools.js +12 -1674
- package/dist/tools/index-tools.js.map +1 -1
- package/dist/tools/kotlin-extension-tools.d.ts +16 -0
- package/dist/tools/kotlin-extension-tools.d.ts.map +1 -0
- package/dist/tools/kotlin-extension-tools.js +31 -0
- package/dist/tools/kotlin-extension-tools.js.map +1 -0
- package/dist/tools/kotlin-flow-tools.d.ts +12 -0
- package/dist/tools/kotlin-flow-tools.d.ts.map +1 -0
- package/dist/tools/kotlin-flow-tools.js +72 -0
- package/dist/tools/kotlin-flow-tools.js.map +1 -0
- package/dist/tools/kotlin-kmp-tools.d.ts +29 -0
- package/dist/tools/kotlin-kmp-tools.d.ts.map +1 -0
- package/dist/tools/kotlin-kmp-tools.js +87 -0
- package/dist/tools/kotlin-kmp-tools.js.map +1 -0
- package/dist/tools/kotlin-sealed-tools.d.ts +27 -0
- package/dist/tools/kotlin-sealed-tools.d.ts.map +1 -0
- package/dist/tools/kotlin-sealed-tools.js +130 -0
- package/dist/tools/kotlin-sealed-tools.js.map +1 -0
- package/dist/tools/kotlin-suspend-tools.d.ts +24 -0
- package/dist/tools/kotlin-suspend-tools.d.ts.map +1 -0
- package/dist/tools/kotlin-suspend-tools.js +161 -0
- package/dist/tools/kotlin-suspend-tools.js.map +1 -0
- package/dist/tools/kotlin-tools.d.ts +6 -141
- package/dist/tools/kotlin-tools.d.ts.map +1 -1
- package/dist/tools/kotlin-tools.js +6 -571
- package/dist/tools/kotlin-tools.js.map +1 -1
- package/dist/tools/nest-audit-tools.d.ts +43 -0
- package/dist/tools/nest-audit-tools.d.ts.map +1 -0
- package/dist/tools/nest-audit-tools.js +232 -0
- package/dist/tools/nest-audit-tools.js.map +1 -0
- package/dist/tools/nest-di-tools.d.ts +32 -0
- package/dist/tools/nest-di-tools.d.ts.map +1 -0
- package/dist/tools/nest-di-tools.js +161 -0
- package/dist/tools/nest-di-tools.js.map +1 -0
- package/dist/tools/nest-guard-tools.d.ts +34 -0
- package/dist/tools/nest-guard-tools.d.ts.map +1 -0
- package/dist/tools/nest-guard-tools.js +240 -0
- package/dist/tools/nest-guard-tools.js.map +1 -0
- package/dist/tools/nest-lifecycle-tools.d.ts +16 -0
- package/dist/tools/nest-lifecycle-tools.d.ts.map +1 -0
- package/dist/tools/nest-lifecycle-tools.js +54 -0
- package/dist/tools/nest-lifecycle-tools.js.map +1 -0
- package/dist/tools/nest-module-tools.d.ts +28 -0
- package/dist/tools/nest-module-tools.d.ts.map +1 -0
- package/dist/tools/nest-module-tools.js +86 -0
- package/dist/tools/nest-module-tools.js.map +1 -0
- package/dist/tools/nest-pipeline-tools.d.ts +32 -0
- package/dist/tools/nest-pipeline-tools.d.ts.map +1 -0
- package/dist/tools/nest-pipeline-tools.js +122 -0
- package/dist/tools/nest-pipeline-tools.js.map +1 -0
- package/dist/tools/nest-route-tools.d.ts +43 -0
- package/dist/tools/nest-route-tools.d.ts.map +1 -0
- package/dist/tools/nest-route-tools.js +261 -0
- package/dist/tools/nest-route-tools.js.map +1 -0
- package/dist/tools/nest-shared-tools.d.ts +13 -0
- package/dist/tools/nest-shared-tools.d.ts.map +1 -0
- package/dist/tools/nest-shared-tools.js +36 -0
- package/dist/tools/nest-shared-tools.js.map +1 -0
- package/dist/tools/nest-tools.d.ts +18 -195
- package/dist/tools/nest-tools.d.ts.map +1 -1
- package/dist/tools/nest-tools.js +11 -1140
- package/dist/tools/nest-tools.js.map +1 -1
- package/dist/tools/pattern-registry.d.ts +4 -0
- package/dist/tools/pattern-registry.d.ts.map +1 -0
- package/dist/tools/pattern-registry.js +3 -0
- package/dist/tools/pattern-registry.js.map +1 -0
- package/dist/tools/pattern-tools.d.ts +5 -46
- package/dist/tools/pattern-tools.d.ts.map +1 -1
- package/dist/tools/pattern-tools.js +4 -1102
- package/dist/tools/pattern-tools.js.map +1 -1
- package/dist/tools/patterns/adapters/astro.d.ts +3 -0
- package/dist/tools/patterns/adapters/astro.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/astro.js +56 -0
- package/dist/tools/patterns/adapters/astro.js.map +1 -0
- package/dist/tools/patterns/adapters/common.d.ts +3 -0
- package/dist/tools/patterns/adapters/common.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/common.js +38 -0
- package/dist/tools/patterns/adapters/common.js.map +1 -0
- package/dist/tools/patterns/adapters/database.d.ts +3 -0
- package/dist/tools/patterns/adapters/database.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/database.js +32 -0
- package/dist/tools/patterns/adapters/database.js.map +1 -0
- package/dist/tools/patterns/adapters/hono.d.ts +3 -0
- package/dist/tools/patterns/adapters/hono.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/hono.js +32 -0
- package/dist/tools/patterns/adapters/hono.js.map +1 -0
- package/dist/tools/patterns/adapters/kotlin.d.ts +3 -0
- package/dist/tools/patterns/adapters/kotlin.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/kotlin.js +50 -0
- package/dist/tools/patterns/adapters/kotlin.js.map +1 -0
- package/dist/tools/patterns/adapters/nest.d.ts +3 -0
- package/dist/tools/patterns/adapters/nest.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/nest.js +122 -0
- package/dist/tools/patterns/adapters/nest.js.map +1 -0
- package/dist/tools/patterns/adapters/nextjs.d.ts +4 -0
- package/dist/tools/patterns/adapters/nextjs.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/nextjs.js +59 -0
- package/dist/tools/patterns/adapters/nextjs.js.map +1 -0
- package/dist/tools/patterns/adapters/php.d.ts +3 -0
- package/dist/tools/patterns/adapters/php.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/php.js +157 -0
- package/dist/tools/patterns/adapters/php.js.map +1 -0
- package/dist/tools/patterns/adapters/python.d.ts +3 -0
- package/dist/tools/patterns/adapters/python.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/python.js +72 -0
- package/dist/tools/patterns/adapters/python.js.map +1 -0
- package/dist/tools/patterns/adapters/react.d.ts +4 -0
- package/dist/tools/patterns/adapters/react.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/react.js +345 -0
- package/dist/tools/patterns/adapters/react.js.map +1 -0
- package/dist/tools/patterns/catalog.d.ts +8 -0
- package/dist/tools/patterns/catalog.d.ts.map +1 -0
- package/dist/tools/patterns/catalog.js +30 -0
- package/dist/tools/patterns/catalog.js.map +1 -0
- package/dist/tools/patterns/execution.d.ts +38 -0
- package/dist/tools/patterns/execution.d.ts.map +1 -0
- package/dist/tools/patterns/execution.js +298 -0
- package/dist/tools/patterns/execution.js.map +1 -0
- package/dist/tools/patterns/types.d.ts +13 -0
- package/dist/tools/patterns/types.d.ts.map +1 -0
- package/dist/tools/patterns/types.js +2 -0
- package/dist/tools/patterns/types.js.map +1 -0
- package/dist/tools/pg-drift-compare.d.ts +3 -0
- package/dist/tools/pg-drift-compare.d.ts.map +1 -0
- package/dist/tools/pg-drift-compare.js +30 -0
- package/dist/tools/pg-drift-compare.js.map +1 -0
- package/dist/tools/pg-drift-schema.d.ts +5 -0
- package/dist/tools/pg-drift-schema.d.ts.map +1 -0
- package/dist/tools/pg-drift-schema.js +28 -0
- package/dist/tools/pg-drift-schema.js.map +1 -0
- package/dist/tools/pg-drift-types.d.ts +25 -0
- package/dist/tools/pg-drift-types.d.ts.map +1 -0
- package/dist/tools/pg-drift-types.js +2 -0
- package/dist/tools/pg-drift-types.js.map +1 -0
- package/dist/tools/pg-drift.d.ts +5 -0
- package/dist/tools/pg-drift.d.ts.map +1 -0
- package/dist/tools/pg-drift.js +30 -0
- package/dist/tools/pg-drift.js.map +1 -0
- package/dist/tools/pg-introspect-formatters.d.ts +7 -0
- package/dist/tools/pg-introspect-formatters.d.ts.map +1 -0
- package/dist/tools/pg-introspect-formatters.js +66 -0
- package/dist/tools/pg-introspect-formatters.js.map +1 -0
- package/dist/tools/pg-introspect-tools.d.ts +5 -146
- package/dist/tools/pg-introspect-tools.d.ts.map +1 -1
- package/dist/tools/pg-introspect-tools.js +3 -395
- package/dist/tools/pg-introspect-tools.js.map +1 -1
- package/dist/tools/pg-introspection.d.ts +90 -0
- package/dist/tools/pg-introspection.d.ts.map +1 -0
- package/dist/tools/pg-introspection.js +288 -0
- package/dist/tools/pg-introspection.js.map +1 -0
- package/dist/tools/php-active-record-tools.d.ts +22 -0
- package/dist/tools/php-active-record-tools.d.ts.map +1 -0
- package/dist/tools/php-active-record-tools.js +165 -0
- package/dist/tools/php-active-record-tools.js.map +1 -0
- package/dist/tools/php-event-tools.d.ts +21 -0
- package/dist/tools/php-event-tools.d.ts.map +1 -0
- package/dist/tools/php-event-tools.js +205 -0
- package/dist/tools/php-event-tools.js.map +1 -0
- package/dist/tools/php-god-model-tools.d.ts +34 -0
- package/dist/tools/php-god-model-tools.d.ts.map +1 -0
- package/dist/tools/php-god-model-tools.js +88 -0
- package/dist/tools/php-god-model-tools.js.map +1 -0
- package/dist/tools/php-import-utils.d.ts +10 -0
- package/dist/tools/php-import-utils.d.ts.map +1 -0
- package/dist/tools/php-import-utils.js +71 -0
- package/dist/tools/php-import-utils.js.map +1 -0
- package/dist/tools/php-namespace-tools.d.ts +10 -0
- package/dist/tools/php-namespace-tools.d.ts.map +1 -0
- package/dist/tools/php-namespace-tools.js +98 -0
- package/dist/tools/php-namespace-tools.js.map +1 -0
- package/dist/tools/php-nplus1-tools.d.ts +27 -0
- package/dist/tools/php-nplus1-tools.d.ts.map +1 -0
- package/dist/tools/php-nplus1-tools.js +191 -0
- package/dist/tools/php-nplus1-tools.js.map +1 -0
- package/dist/tools/php-project-audit-tools.d.ts +31 -0
- package/dist/tools/php-project-audit-tools.d.ts.map +1 -0
- package/dist/tools/php-project-audit-tools.js +173 -0
- package/dist/tools/php-project-audit-tools.js.map +1 -0
- package/dist/tools/php-security-tools.d.ts +24 -0
- package/dist/tools/php-security-tools.d.ts.map +1 -0
- package/dist/tools/php-security-tools.js +172 -0
- package/dist/tools/php-security-tools.js.map +1 -0
- package/dist/tools/php-service-tools.d.ts +25 -0
- package/dist/tools/php-service-tools.d.ts.map +1 -0
- package/dist/tools/php-service-tools.js +326 -0
- package/dist/tools/php-service-tools.js.map +1 -0
- package/dist/tools/php-tools.d.ts +21 -255
- package/dist/tools/php-tools.d.ts.map +1 -1
- package/dist/tools/php-tools.js +12 -1423
- package/dist/tools/php-tools.js.map +1 -1
- package/dist/tools/php-view-tools.d.ts +76 -0
- package/dist/tools/php-view-tools.d.ts.map +1 -0
- package/dist/tools/php-view-tools.js +413 -0
- package/dist/tools/php-view-tools.js.map +1 -0
- package/dist/tools/plan-turn/formatter.d.ts +3 -0
- package/dist/tools/plan-turn/formatter.d.ts.map +1 -0
- package/dist/tools/plan-turn/formatter.js +88 -0
- package/dist/tools/plan-turn/formatter.js.map +1 -0
- package/dist/tools/plan-turn/framework-context.d.ts +5 -0
- package/dist/tools/plan-turn/framework-context.d.ts.map +1 -0
- package/dist/tools/plan-turn/framework-context.js +68 -0
- package/dist/tools/plan-turn/framework-context.js.map +1 -0
- package/dist/tools/plan-turn/framework-data.d.ts +5 -0
- package/dist/tools/plan-turn/framework-data.d.ts.map +1 -0
- package/dist/tools/plan-turn/framework-data.js +48 -0
- package/dist/tools/plan-turn/framework-data.js.map +1 -0
- package/dist/tools/plan-turn/orchestrator.d.ts +4 -0
- package/dist/tools/plan-turn/orchestrator.d.ts.map +1 -0
- package/dist/tools/plan-turn/orchestrator.js +262 -0
- package/dist/tools/plan-turn/orchestrator.js.map +1 -0
- package/dist/tools/plan-turn/query-parser.d.ts +6 -0
- package/dist/tools/plan-turn/query-parser.d.ts.map +1 -0
- package/dist/tools/plan-turn/query-parser.js +60 -0
- package/dist/tools/plan-turn/query-parser.js.map +1 -0
- package/dist/tools/plan-turn/recommendations.d.ts +11 -0
- package/dist/tools/plan-turn/recommendations.d.ts.map +1 -0
- package/dist/tools/plan-turn/recommendations.js +93 -0
- package/dist/tools/plan-turn/recommendations.js.map +1 -0
- package/dist/tools/plan-turn/stale-index.d.ts +4 -0
- package/dist/tools/plan-turn/stale-index.d.ts.map +1 -0
- package/dist/tools/plan-turn/stale-index.js +17 -0
- package/dist/tools/plan-turn/stale-index.js.map +1 -0
- package/dist/tools/plan-turn/types.d.ts +61 -0
- package/dist/tools/plan-turn/types.d.ts.map +1 -0
- package/dist/tools/plan-turn/types.js +2 -0
- package/dist/tools/plan-turn/types.js.map +1 -0
- package/dist/tools/plan-turn-tools.d.ts +8 -111
- package/dist/tools/plan-turn-tools.d.ts.map +1 -1
- package/dist/tools/plan-turn-tools.js +6 -696
- package/dist/tools/plan-turn-tools.js.map +1 -1
- package/dist/tools/project-profile-express.d.ts +3 -0
- package/dist/tools/project-profile-express.d.ts.map +1 -0
- package/dist/tools/project-profile-express.js +46 -0
- package/dist/tools/project-profile-express.js.map +1 -0
- package/dist/tools/project-profile-extractors.d.ts +9 -0
- package/dist/tools/project-profile-extractors.d.ts.map +1 -0
- package/dist/tools/project-profile-extractors.js +312 -0
- package/dist/tools/project-profile-extractors.js.map +1 -0
- package/dist/tools/project-profile-fs.d.ts +3 -0
- package/dist/tools/project-profile-fs.d.ts.map +1 -0
- package/dist/tools/project-profile-fs.js +19 -0
- package/dist/tools/project-profile-fs.js.map +1 -0
- package/dist/tools/project-profile-hono.d.ts +13 -0
- package/dist/tools/project-profile-hono.d.ts.map +1 -0
- package/dist/tools/project-profile-hono.js +110 -0
- package/dist/tools/project-profile-hono.js.map +1 -0
- package/dist/tools/project-profile-imports.d.ts +6 -0
- package/dist/tools/project-profile-imports.d.ts.map +1 -0
- package/dist/tools/project-profile-imports.js +95 -0
- package/dist/tools/project-profile-imports.js.map +1 -0
- package/dist/tools/project-profile-nest.d.ts +8 -0
- package/dist/tools/project-profile-nest.d.ts.map +1 -0
- package/dist/tools/project-profile-nest.js +352 -0
- package/dist/tools/project-profile-nest.js.map +1 -0
- package/dist/tools/project-profile-next.d.ts +5 -0
- package/dist/tools/project-profile-next.d.ts.map +1 -0
- package/dist/tools/project-profile-next.js +92 -0
- package/dist/tools/project-profile-next.js.map +1 -0
- package/dist/tools/project-profile-persistence.d.ts +3 -0
- package/dist/tools/project-profile-persistence.d.ts.map +1 -0
- package/dist/tools/project-profile-persistence.js +19 -0
- package/dist/tools/project-profile-persistence.js.map +1 -0
- package/dist/tools/project-profile-php.d.ts +8 -0
- package/dist/tools/project-profile-php.d.ts.map +1 -0
- package/dist/tools/project-profile-php.js +76 -0
- package/dist/tools/project-profile-php.js.map +1 -0
- package/dist/tools/project-profile-python.d.ts +5 -0
- package/dist/tools/project-profile-python.d.ts.map +1 -0
- package/dist/tools/project-profile-python.js +51 -0
- package/dist/tools/project-profile-python.js.map +1 -0
- package/dist/tools/project-profile-react.d.ts +6 -0
- package/dist/tools/project-profile-react.d.ts.map +1 -0
- package/dist/tools/project-profile-react.js +106 -0
- package/dist/tools/project-profile-react.js.map +1 -0
- package/dist/tools/project-profile-stack.d.ts +3 -0
- package/dist/tools/project-profile-stack.d.ts.map +1 -0
- package/dist/tools/project-profile-stack.js +354 -0
- package/dist/tools/project-profile-stack.js.map +1 -0
- package/dist/tools/project-profile-summary.d.ts +30 -0
- package/dist/tools/project-profile-summary.d.ts.map +1 -0
- package/dist/tools/project-profile-summary.js +112 -0
- package/dist/tools/project-profile-summary.js.map +1 -0
- package/dist/tools/project-profile-types.d.ts +315 -0
- package/dist/tools/project-profile-types.d.ts.map +1 -0
- package/dist/tools/project-profile-types.js +2 -0
- package/dist/tools/project-profile-types.js.map +1 -0
- package/dist/tools/project-tools.d.ts +20 -383
- package/dist/tools/project-tools.d.ts.map +1 -1
- package/dist/tools/project-tools.js +37 -1621
- package/dist/tools/project-tools.js.map +1 -1
- package/dist/tools/python-audit/aggregate.d.ts +3 -0
- package/dist/tools/python-audit/aggregate.d.ts.map +1 -0
- package/dist/tools/python-audit/aggregate.js +103 -0
- package/dist/tools/python-audit/aggregate.js.map +1 -0
- package/dist/tools/python-audit/checks/anti-patterns.d.ts +6 -0
- package/dist/tools/python-audit/checks/anti-patterns.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/anti-patterns.js +14 -0
- package/dist/tools/python-audit/checks/anti-patterns.js.map +1 -0
- package/dist/tools/python-audit/checks/celery.d.ts +2 -0
- package/dist/tools/python-audit/checks/celery.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/celery.js +5 -0
- package/dist/tools/python-audit/checks/celery.js.map +1 -0
- package/dist/tools/python-audit/checks/circular-imports.d.ts +2 -0
- package/dist/tools/python-audit/checks/circular-imports.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/circular-imports.js +5 -0
- package/dist/tools/python-audit/checks/circular-imports.js.map +1 -0
- package/dist/tools/python-audit/checks/dead-code.d.ts +2 -0
- package/dist/tools/python-audit/checks/dead-code.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/dead-code.js +5 -0
- package/dist/tools/python-audit/checks/dead-code.js.map +1 -0
- package/dist/tools/python-audit/checks/dependencies.d.ts +2 -0
- package/dist/tools/python-audit/checks/dependencies.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/dependencies.js +5 -0
- package/dist/tools/python-audit/checks/dependencies.js.map +1 -0
- package/dist/tools/python-audit/checks/django-settings.d.ts +2 -0
- package/dist/tools/python-audit/checks/django-settings.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/django-settings.js +5 -0
- package/dist/tools/python-audit/checks/django-settings.js.map +1 -0
- package/dist/tools/python-audit/checks/framework-wiring.d.ts +2 -0
- package/dist/tools/python-audit/checks/framework-wiring.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/framework-wiring.js +5 -0
- package/dist/tools/python-audit/checks/framework-wiring.js.map +1 -0
- package/dist/tools/python-audit/checks/pytest-fixtures.d.ts +2 -0
- package/dist/tools/python-audit/checks/pytest-fixtures.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/pytest-fixtures.js +5 -0
- package/dist/tools/python-audit/checks/pytest-fixtures.js.map +1 -0
- package/dist/tools/python-audit/runner.d.ts +5 -0
- package/dist/tools/python-audit/runner.d.ts.map +1 -0
- package/dist/tools/python-audit/runner.js +18 -0
- package/dist/tools/python-audit/runner.js.map +1 -0
- package/dist/tools/python-audit/types.d.ts +43 -0
- package/dist/tools/python-audit/types.d.ts.map +1 -0
- package/dist/tools/python-audit/types.js +2 -0
- package/dist/tools/python-audit/types.js.map +1 -0
- package/dist/tools/python-audit.d.ts +3 -39
- package/dist/tools/python-audit.d.ts.map +1 -1
- package/dist/tools/python-audit.js +34 -233
- package/dist/tools/python-audit.js.map +1 -1
- package/dist/tools/react-compiler-tools.d.ts +37 -0
- package/dist/tools/react-compiler-tools.d.ts.map +1 -0
- package/dist/tools/react-compiler-tools.js +104 -0
- package/dist/tools/react-compiler-tools.js.map +1 -0
- package/dist/tools/react-component-tree-tools.d.ts +58 -0
- package/dist/tools/react-component-tree-tools.d.ts.map +1 -0
- package/dist/tools/react-component-tree-tools.js +292 -0
- package/dist/tools/react-component-tree-tools.js.map +1 -0
- package/dist/tools/react-context-tools.d.ts +41 -0
- package/dist/tools/react-context-tools.d.ts.map +1 -0
- package/dist/tools/react-context-tools.js +76 -0
- package/dist/tools/react-context-tools.js.map +1 -0
- package/dist/tools/react-hooks-tools.d.ts +58 -0
- package/dist/tools/react-hooks-tools.d.ts.map +1 -0
- package/dist/tools/react-hooks-tools.js +144 -0
- package/dist/tools/react-hooks-tools.js.map +1 -0
- package/dist/tools/react-quickstart-tools.d.ts +59 -0
- package/dist/tools/react-quickstart-tools.d.ts.map +1 -0
- package/dist/tools/react-quickstart-tools.js +164 -0
- package/dist/tools/react-quickstart-tools.js.map +1 -0
- package/dist/tools/react-render-tools.d.ts +75 -0
- package/dist/tools/react-render-tools.d.ts.map +1 -0
- package/dist/tools/react-render-tools.js +234 -0
- package/dist/tools/react-render-tools.js.map +1 -0
- package/dist/tools/react-shared-tools.d.ts +5 -0
- package/dist/tools/react-shared-tools.d.ts.map +1 -0
- package/dist/tools/react-shared-tools.js +12 -0
- package/dist/tools/react-shared-tools.js.map +1 -0
- package/dist/tools/react-suspense-tools.d.ts +29 -0
- package/dist/tools/react-suspense-tools.d.ts.map +1 -0
- package/dist/tools/react-suspense-tools.js +269 -0
- package/dist/tools/react-suspense-tools.js.map +1 -0
- package/dist/tools/react-tools.d.ts +19 -340
- package/dist/tools/react-tools.d.ts.map +1 -1
- package/dist/tools/react-tools.js +10 -1263
- package/dist/tools/react-tools.js.map +1 -1
- package/dist/tools/review-diff/check-runner.d.ts +5 -0
- package/dist/tools/review-diff/check-runner.d.ts.map +1 -0
- package/dist/tools/review-diff/check-runner.js +26 -0
- package/dist/tools/review-diff/check-runner.js.map +1 -0
- package/dist/tools/review-diff/checks/astro-hydration.d.ts +8 -0
- package/dist/tools/review-diff/checks/astro-hydration.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/astro-hydration.js +54 -0
- package/dist/tools/review-diff/checks/astro-hydration.js.map +1 -0
- package/dist/tools/review-diff/checks/blast-radius.d.ts +7 -0
- package/dist/tools/review-diff/checks/blast-radius.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/blast-radius.js +39 -0
- package/dist/tools/review-diff/checks/blast-radius.js.map +1 -0
- package/dist/tools/review-diff/checks/breaking.d.ts +13 -0
- package/dist/tools/review-diff/checks/breaking.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/breaking.js +115 -0
- package/dist/tools/review-diff/checks/breaking.js.map +1 -0
- package/dist/tools/review-diff/checks/bug-patterns.d.ts +8 -0
- package/dist/tools/review-diff/checks/bug-patterns.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/bug-patterns.js +130 -0
- package/dist/tools/review-diff/checks/bug-patterns.js.map +1 -0
- package/dist/tools/review-diff/checks/complexity.d.ts +8 -0
- package/dist/tools/review-diff/checks/complexity.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/complexity.js +41 -0
- package/dist/tools/review-diff/checks/complexity.js.map +1 -0
- package/dist/tools/review-diff/checks/coupling.d.ts +7 -0
- package/dist/tools/review-diff/checks/coupling.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/coupling.js +52 -0
- package/dist/tools/review-diff/checks/coupling.js.map +1 -0
- package/dist/tools/review-diff/checks/dead-code.d.ts +7 -0
- package/dist/tools/review-diff/checks/dead-code.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/dead-code.js +39 -0
- package/dist/tools/review-diff/checks/dead-code.js.map +1 -0
- package/dist/tools/review-diff/checks/hotspots.d.ts +8 -0
- package/dist/tools/review-diff/checks/hotspots.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/hotspots.js +39 -0
- package/dist/tools/review-diff/checks/hotspots.js.map +1 -0
- package/dist/tools/review-diff/checks/secrets.d.ts +7 -0
- package/dist/tools/review-diff/checks/secrets.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/secrets.js +38 -0
- package/dist/tools/review-diff/checks/secrets.js.map +1 -0
- package/dist/tools/review-diff/checks/test-gaps.d.ts +16 -0
- package/dist/tools/review-diff/checks/test-gaps.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/test-gaps.js +77 -0
- package/dist/tools/review-diff/checks/test-gaps.js.map +1 -0
- package/dist/tools/review-diff/constants.d.ts +6 -0
- package/dist/tools/review-diff/constants.d.ts.map +1 -0
- package/dist/tools/review-diff/constants.js +16 -0
- package/dist/tools/review-diff/constants.js.map +1 -0
- package/dist/tools/review-diff/file-pattern.d.ts +2 -0
- package/dist/tools/review-diff/file-pattern.d.ts.map +1 -0
- package/dist/tools/review-diff/file-pattern.js +9 -0
- package/dist/tools/review-diff/file-pattern.js.map +1 -0
- package/dist/tools/review-diff/orchestrator.d.ts +3 -0
- package/dist/tools/review-diff/orchestrator.d.ts.map +1 -0
- package/dist/tools/review-diff/orchestrator.js +173 -0
- package/dist/tools/review-diff/orchestrator.js.map +1 -0
- package/dist/tools/review-diff/scoring.d.ts +31 -0
- package/dist/tools/review-diff/scoring.d.ts.map +1 -0
- package/dist/tools/review-diff/scoring.js +82 -0
- package/dist/tools/review-diff/scoring.js.map +1 -0
- package/dist/tools/review-diff/timeout.d.ts +5 -0
- package/dist/tools/review-diff/timeout.d.ts.map +1 -0
- package/dist/tools/review-diff/timeout.js +14 -0
- package/dist/tools/review-diff/timeout.js.map +1 -0
- package/dist/tools/review-diff/types.d.ts +56 -0
- package/dist/tools/review-diff/types.d.ts.map +1 -0
- package/dist/tools/review-diff/types.js +2 -0
- package/dist/tools/review-diff/types.js.map +1 -0
- package/dist/tools/review-diff-tools.d.ts +19 -147
- package/dist/tools/review-diff-tools.d.ts.map +1 -1
- package/dist/tools/review-diff-tools.js +18 -941
- package/dist/tools/review-diff-tools.js.map +1 -1
- package/dist/tools/route-shared.d.ts +6 -0
- package/dist/tools/route-shared.d.ts.map +1 -0
- package/dist/tools/route-shared.js +37 -0
- package/dist/tools/route-shared.js.map +1 -0
- package/dist/tools/route-tools.d.ts +1 -7
- package/dist/tools/route-tools.d.ts.map +1 -1
- package/dist/tools/route-tools.js +2 -22
- package/dist/tools/route-tools.js.map +1 -1
- package/dist/tools/search-tools/constants.d.ts +33 -0
- package/dist/tools/search-tools/constants.d.ts.map +1 -0
- package/dist/tools/search-tools/constants.js +54 -0
- package/dist/tools/search-tools/constants.js.map +1 -0
- package/dist/tools/search-tools/ripgrep.d.ts +13 -0
- package/dist/tools/search-tools/ripgrep.d.ts.map +1 -0
- package/dist/tools/search-tools/ripgrep.js +138 -0
- package/dist/tools/search-tools/ripgrep.js.map +1 -0
- package/dist/tools/search-tools/semantic-search.d.ts +9 -0
- package/dist/tools/search-tools/semantic-search.d.ts.map +1 -0
- package/dist/tools/search-tools/semantic-search.js +19 -0
- package/dist/tools/search-tools/semantic-search.js.map +1 -0
- package/dist/tools/search-tools/symbol-search.d.ts +4 -0
- package/dist/tools/search-tools/symbol-search.d.ts.map +1 -0
- package/dist/tools/search-tools/symbol-search.js +146 -0
- package/dist/tools/search-tools/symbol-search.js.map +1 -0
- package/dist/tools/search-tools/text-search.d.ts +10 -0
- package/dist/tools/search-tools/text-search.d.ts.map +1 -0
- package/dist/tools/search-tools/text-search.js +260 -0
- package/dist/tools/search-tools/text-search.js.map +1 -0
- package/dist/tools/search-tools/types.d.ts +28 -0
- package/dist/tools/search-tools/types.d.ts.map +1 -0
- package/dist/tools/search-tools/types.js +2 -0
- package/dist/tools/search-tools/types.js.map +1 -0
- package/dist/tools/search-tools/zero-hit.d.ts +3 -0
- package/dist/tools/search-tools/zero-hit.d.ts.map +1 -0
- package/dist/tools/search-tools/zero-hit.js +92 -0
- package/dist/tools/search-tools/zero-hit.js.map +1 -0
- package/dist/tools/search-tools.d.ts +5 -64
- package/dist/tools/search-tools.d.ts.map +1 -1
- package/dist/tools/search-tools.js +4 -770
- package/dist/tools/search-tools.js.map +1 -1
- package/dist/tools/secret-detectors.d.ts +12 -0
- package/dist/tools/secret-detectors.d.ts.map +1 -0
- package/dist/tools/secret-detectors.js +86 -0
- package/dist/tools/secret-detectors.js.map +1 -0
- package/dist/tools/secret-file-scanner.d.ts +7 -0
- package/dist/tools/secret-file-scanner.d.ts.map +1 -0
- package/dist/tools/secret-file-scanner.js +52 -0
- package/dist/tools/secret-file-scanner.js.map +1 -0
- package/dist/tools/secret-scan-cache.d.ts +6 -0
- package/dist/tools/secret-scan-cache.d.ts.map +1 -0
- package/dist/tools/secret-scan-cache.js +14 -0
- package/dist/tools/secret-scan-cache.js.map +1 -0
- package/dist/tools/secret-scan-shared.d.ts +5 -0
- package/dist/tools/secret-scan-shared.d.ts.map +1 -0
- package/dist/tools/secret-scan-shared.js +4 -0
- package/dist/tools/secret-scan-shared.js.map +1 -0
- package/dist/tools/secret-scan-types.d.ts +21 -0
- package/dist/tools/secret-scan-types.d.ts.map +1 -0
- package/dist/tools/secret-scan-types.js +2 -0
- package/dist/tools/secret-scan-types.js.map +1 -0
- package/dist/tools/secret-tools.d.ts +3 -75
- package/dist/tools/secret-tools.d.ts.map +1 -1
- package/dist/tools/secret-tools.js +4 -316
- package/dist/tools/secret-tools.js.map +1 -1
- package/dist/tools/sql-audit-tools.d.ts +42 -0
- package/dist/tools/sql-audit-tools.d.ts.map +1 -0
- package/dist/tools/sql-audit-tools.js +130 -0
- package/dist/tools/sql-audit-tools.js.map +1 -0
- package/dist/tools/sql-column-tools.d.ts +28 -0
- package/dist/tools/sql-column-tools.d.ts.map +1 -0
- package/dist/tools/sql-column-tools.js +58 -0
- package/dist/tools/sql-column-tools.js.map +1 -0
- package/dist/tools/sql-complexity-tools.d.ts +22 -0
- package/dist/tools/sql-complexity-tools.d.ts.map +1 -0
- package/dist/tools/sql-complexity-tools.js +60 -0
- package/dist/tools/sql-complexity-tools.js.map +1 -0
- package/dist/tools/sql-dml-safety-tools.d.ts +26 -0
- package/dist/tools/sql-dml-safety-tools.d.ts.map +1 -0
- package/dist/tools/sql-dml-safety-tools.js +104 -0
- package/dist/tools/sql-dml-safety-tools.js.map +1 -0
- package/dist/tools/sql-drift-tools.d.ts +39 -0
- package/dist/tools/sql-drift-tools.d.ts.map +1 -0
- package/dist/tools/sql-drift-tools.js +238 -0
- package/dist/tools/sql-drift-tools.js.map +1 -0
- package/dist/tools/sql-lint-schema-tools.d.ts +28 -0
- package/dist/tools/sql-lint-schema-tools.d.ts.map +1 -0
- package/dist/tools/sql-lint-schema-tools.js +96 -0
- package/dist/tools/sql-lint-schema-tools.js.map +1 -0
- package/dist/tools/sql-migration-diff-tools.d.ts +24 -0
- package/dist/tools/sql-migration-diff-tools.d.ts.map +1 -0
- package/dist/tools/sql-migration-diff-tools.js +120 -0
- package/dist/tools/sql-migration-diff-tools.js.map +1 -0
- package/dist/tools/sql-orphan-table-tools.d.ts +20 -0
- package/dist/tools/sql-orphan-table-tools.d.ts.map +1 -0
- package/dist/tools/sql-orphan-table-tools.js +70 -0
- package/dist/tools/sql-orphan-table-tools.js.map +1 -0
- package/dist/tools/sql-query-tools.d.ts +32 -0
- package/dist/tools/sql-query-tools.d.ts.map +1 -0
- package/dist/tools/sql-query-tools.js +130 -0
- package/dist/tools/sql-query-tools.js.map +1 -0
- package/dist/tools/sql-schema-tools.d.ts +47 -0
- package/dist/tools/sql-schema-tools.d.ts.map +1 -0
- package/dist/tools/sql-schema-tools.js +202 -0
- package/dist/tools/sql-schema-tools.js.map +1 -0
- package/dist/tools/sql-shared-tools.d.ts +6 -0
- package/dist/tools/sql-shared-tools.d.ts.map +1 -0
- package/dist/tools/sql-shared-tools.js +59 -0
- package/dist/tools/sql-shared-tools.js.map +1 -0
- package/dist/tools/sql-tools.d.ts +25 -296
- package/dist/tools/sql-tools.d.ts.map +1 -1
- package/dist/tools/sql-tools.js +15 -1232
- package/dist/tools/sql-tools.js.map +1 -1
- package/dist/tools/status-tools.js +1 -1
- package/dist/tools/status-tools.js.map +1 -1
- package/dist/tools/workspace-tools.d.ts +1 -1
- package/dist/tools/yii3-migration-categories-application.d.ts +4 -0
- package/dist/tools/yii3-migration-categories-application.d.ts.map +1 -0
- package/dist/tools/yii3-migration-categories-application.js +56 -0
- package/dist/tools/yii3-migration-categories-application.js.map +1 -0
- package/dist/tools/yii3-migration-categories-infrastructure.d.ts +4 -0
- package/dist/tools/yii3-migration-categories-infrastructure.d.ts.map +1 -0
- package/dist/tools/yii3-migration-categories-infrastructure.js +67 -0
- package/dist/tools/yii3-migration-categories-infrastructure.js.map +1 -0
- package/dist/tools/yii3-migration-categories-model-view.d.ts +4 -0
- package/dist/tools/yii3-migration-categories-model-view.d.ts.map +1 -0
- package/dist/tools/yii3-migration-categories-model-view.js +59 -0
- package/dist/tools/yii3-migration-categories-model-view.js.map +1 -0
- package/dist/tools/yii3-migration-categories-runtime.d.ts +4 -0
- package/dist/tools/yii3-migration-categories-runtime.d.ts.map +1 -0
- package/dist/tools/yii3-migration-categories-runtime.js +49 -0
- package/dist/tools/yii3-migration-categories-runtime.js.map +1 -0
- package/dist/tools/yii3-migration-categories.d.ts +5 -0
- package/dist/tools/yii3-migration-categories.d.ts.map +1 -0
- package/dist/tools/yii3-migration-categories.js +18 -0
- package/dist/tools/yii3-migration-categories.js.map +1 -0
- package/dist/tools/yii3-migration-report.d.ts +4 -0
- package/dist/tools/yii3-migration-report.d.ts.map +1 -0
- package/dist/tools/yii3-migration-report.js +88 -0
- package/dist/tools/yii3-migration-report.js.map +1 -0
- package/dist/tools/yii3-migration-scanner.d.ts +28 -0
- package/dist/tools/yii3-migration-scanner.d.ts.map +1 -0
- package/dist/tools/yii3-migration-scanner.js +87 -0
- package/dist/tools/yii3-migration-scanner.js.map +1 -0
- package/dist/tools/yii3-migration-tools.d.ts +4 -73
- package/dist/tools/yii3-migration-tools.d.ts.map +1 -1
- package/dist/tools/yii3-migration-tools.js +5 -433
- package/dist/tools/yii3-migration-tools.js.map +1 -1
- package/dist/tools/yii3-migration-types.d.ts +50 -0
- package/dist/tools/yii3-migration-types.d.ts.map +1 -0
- package/dist/tools/yii3-migration-types.js +3 -0
- package/dist/tools/yii3-migration-types.js.map +1 -0
- package/dist/utils/edge-provenance.d.ts +55 -0
- package/dist/utils/edge-provenance.d.ts.map +1 -0
- package/dist/utils/edge-provenance.js +53 -0
- package/dist/utils/edge-provenance.js.map +1 -0
- package/dist/utils/git-validation.d.ts +24 -0
- package/dist/utils/git-validation.d.ts.map +1 -1
- package/dist/utils/git-validation.js +30 -0
- package/dist/utils/git-validation.js.map +1 -1
- package/dist/utils/overlay-cache.d.ts +38 -0
- package/dist/utils/overlay-cache.d.ts.map +1 -0
- package/dist/utils/overlay-cache.js +73 -0
- package/dist/utils/overlay-cache.js.map +1 -0
- package/dist/utils/source-stripper/code-handler.d.ts +3 -0
- package/dist/utils/source-stripper/code-handler.d.ts.map +1 -0
- package/dist/utils/source-stripper/code-handler.js +79 -0
- package/dist/utils/source-stripper/code-handler.js.map +1 -0
- package/dist/utils/source-stripper/comment-handler.d.ts +4 -0
- package/dist/utils/source-stripper/comment-handler.d.ts.map +1 -0
- package/dist/utils/source-stripper/comment-handler.js +24 -0
- package/dist/utils/source-stripper/comment-handler.js.map +1 -0
- package/dist/utils/source-stripper/machine.d.ts +2 -0
- package/dist/utils/source-stripper/machine.d.ts.map +1 -0
- package/dist/utils/source-stripper/machine.js +34 -0
- package/dist/utils/source-stripper/machine.js.map +1 -0
- package/dist/utils/source-stripper/regex-handler.d.ts +3 -0
- package/dist/utils/source-stripper/regex-handler.d.ts.map +1 -0
- package/dist/utils/source-stripper/regex-handler.js +44 -0
- package/dist/utils/source-stripper/regex-handler.js.map +1 -0
- package/dist/utils/source-stripper/state.d.ts +4 -0
- package/dist/utils/source-stripper/state.d.ts.map +1 -0
- package/dist/utils/source-stripper/state.js +20 -0
- package/dist/utils/source-stripper/state.js.map +1 -0
- package/dist/utils/source-stripper/string-handler.d.ts +3 -0
- package/dist/utils/source-stripper/string-handler.d.ts.map +1 -0
- package/dist/utils/source-stripper/string-handler.js +19 -0
- package/dist/utils/source-stripper/string-handler.js.map +1 -0
- package/dist/utils/source-stripper/template-handler.d.ts +4 -0
- package/dist/utils/source-stripper/template-handler.d.ts.map +1 -0
- package/dist/utils/source-stripper/template-handler.js +40 -0
- package/dist/utils/source-stripper/template-handler.js.map +1 -0
- package/dist/utils/source-stripper/types.d.ts +17 -0
- package/dist/utils/source-stripper/types.d.ts.map +1 -0
- package/dist/utils/source-stripper/types.js +4 -0
- package/dist/utils/source-stripper/types.js.map +1 -0
- package/dist/utils/source-stripper.d.ts +0 -21
- package/dist/utils/source-stripper.d.ts.map +1 -1
- package/dist/utils/source-stripper.js +6 -234
- package/dist/utils/source-stripper.js.map +1 -1
- package/dist/utils/walk/errors.d.ts +4 -0
- package/dist/utils/walk/errors.d.ts.map +1 -0
- package/dist/utils/walk/errors.js +18 -0
- package/dist/utils/walk/errors.js.map +1 -0
- package/dist/utils/walk/filters.d.ts +11 -0
- package/dist/utils/walk/filters.d.ts.map +1 -0
- package/dist/utils/walk/filters.js +53 -0
- package/dist/utils/walk/filters.js.map +1 -0
- package/dist/utils/walk/limits.d.ts +10 -0
- package/dist/utils/walk/limits.d.ts.map +1 -0
- package/dist/utils/walk/limits.js +22 -0
- package/dist/utils/walk/limits.js.map +1 -0
- package/dist/utils/walk/traversal.d.ts +9 -0
- package/dist/utils/walk/traversal.d.ts.map +1 -0
- package/dist/utils/walk/traversal.js +38 -0
- package/dist/utils/walk/traversal.js.map +1 -0
- package/dist/utils/walk/types.d.ts +18 -0
- package/dist/utils/walk/types.d.ts.map +1 -0
- package/dist/utils/walk/types.js +2 -0
- package/dist/utils/walk/types.js.map +1 -0
- package/dist/utils/walk.d.ts +4 -65
- package/dist/utils/walk.d.ts.map +1 -1
- package/dist/utils/walk.js +23 -151
- package/dist/utils/walk.js.map +1 -1
- package/package.json +6 -5
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export interface ReactQuickstartResult {
|
|
2
|
+
/** Repository overview */
|
|
3
|
+
overview: {
|
|
4
|
+
total_components: number;
|
|
5
|
+
total_custom_hooks: number;
|
|
6
|
+
likely_root_component: string | null;
|
|
7
|
+
stack: {
|
|
8
|
+
state_management: string | null;
|
|
9
|
+
routing: string | null;
|
|
10
|
+
ui_library: string | null;
|
|
11
|
+
form_library: string | null;
|
|
12
|
+
build_tool: string | null;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* High-priority pattern hits for onboarding. Entries use `severity: "critical"` for
|
|
17
|
+
* XSS / Rule-of-Hooks / effect-loop issues. For **backward compatibility**, legacy
|
|
18
|
+
* scans that were pre–Tier 5 (`useEffect-missing-cleanup`, `rsc-non-serializable-prop`)
|
|
19
|
+
* remain in this array with `severity: "warning"` — do not assume the field name
|
|
20
|
+
* implies severity. Tier 5 warning-only patterns live in `warnings`; style bucket in `style_issues`.
|
|
21
|
+
*/
|
|
22
|
+
critical_issues: Array<{
|
|
23
|
+
pattern: string;
|
|
24
|
+
count: number;
|
|
25
|
+
severity: "critical" | "warning";
|
|
26
|
+
}>;
|
|
27
|
+
/** Tier 5: warning-severity findings (derived-state, stale-closure, context value inline) */
|
|
28
|
+
warnings: Array<{
|
|
29
|
+
pattern: string;
|
|
30
|
+
count: number;
|
|
31
|
+
severity: "warning";
|
|
32
|
+
}>;
|
|
33
|
+
/** Tier 5: style-severity findings (button-no-type, jsx-no-target-blank) */
|
|
34
|
+
style_issues: Array<{
|
|
35
|
+
pattern: string;
|
|
36
|
+
count: number;
|
|
37
|
+
severity: "style";
|
|
38
|
+
}>;
|
|
39
|
+
/** Top 5 most-used hooks across components */
|
|
40
|
+
top_hooks: Array<{
|
|
41
|
+
name: string;
|
|
42
|
+
count: number;
|
|
43
|
+
}>;
|
|
44
|
+
/** Suggested next queries for the agent to run */
|
|
45
|
+
suggested_queries: string[];
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Day-1 onboarding composite for React projects. Single call that runs:
|
|
49
|
+
* - Component/hook inventory
|
|
50
|
+
* - Stack detection (state mgmt, routing, UI lib, form lib, build tool)
|
|
51
|
+
* - Critical pattern scan (XSS, Rule of Hooks, memory leaks)
|
|
52
|
+
* - Top hook usage summary
|
|
53
|
+
* - Suggested follow-up queries
|
|
54
|
+
*
|
|
55
|
+
* Meant to be the first tool a React developer runs on an unfamiliar codebase.
|
|
56
|
+
* Replaces 5-6 manual tool calls with one structured report.
|
|
57
|
+
*/
|
|
58
|
+
export declare function reactQuickstart(repo: string): Promise<ReactQuickstartResult>;
|
|
59
|
+
//# sourceMappingURL=react-quickstart-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-quickstart-tools.d.ts","sourceRoot":"","sources":["../../src/tools/react-quickstart-tools.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,QAAQ,EAAE;QACR,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,KAAK,EAAE;YACL,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;YAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;SAC3B,CAAC;KACH,CAAC;IACF;;;;;;OAMG;IACH,eAAe,EAAE,KAAK,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAC;KAClC,CAAC,CAAC;IACH,6FAA6F;IAC7F,QAAQ,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,SAAS,CAAC;KACrB,CAAC,CAAC;IACH,4EAA4E;IAC5E,YAAY,EAAE,KAAK,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IACH,8CAA8C;IAC9C,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,kDAAkD;IAClD,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,CAAC,CAsJhC"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React day-1 onboarding composite.
|
|
3
|
+
*/
|
|
4
|
+
import { getCodeIndex } from "./index-tools.js";
|
|
5
|
+
import { isTestFileStrict as isTestFile } from "../utils/test-file.js";
|
|
6
|
+
/**
|
|
7
|
+
* Day-1 onboarding composite for React projects. Single call that runs:
|
|
8
|
+
* - Component/hook inventory
|
|
9
|
+
* - Stack detection (state mgmt, routing, UI lib, form lib, build tool)
|
|
10
|
+
* - Critical pattern scan (XSS, Rule of Hooks, memory leaks)
|
|
11
|
+
* - Top hook usage summary
|
|
12
|
+
* - Suggested follow-up queries
|
|
13
|
+
*
|
|
14
|
+
* Meant to be the first tool a React developer runs on an unfamiliar codebase.
|
|
15
|
+
* Replaces 5-6 manual tool calls with one structured report.
|
|
16
|
+
*/
|
|
17
|
+
export async function reactQuickstart(repo) {
|
|
18
|
+
const { searchPatterns } = await import("./pattern-tools.js");
|
|
19
|
+
const { analyzeProject } = await import("./project-tools.js");
|
|
20
|
+
const index = await getCodeIndex(repo);
|
|
21
|
+
if (!index)
|
|
22
|
+
throw new Error(`Repository not found: ${repo}`);
|
|
23
|
+
// Inventory
|
|
24
|
+
const components = index.symbols.filter((s) => s.kind === "component" && !isTestFile(s.file));
|
|
25
|
+
const hooks = index.symbols.filter((s) => s.kind === "hook" && !isTestFile(s.file));
|
|
26
|
+
// Find likely root component: prefer App > Root > Main > Layout > Page
|
|
27
|
+
const rootNames = ["App", "Root", "Main", "Layout", "Page"];
|
|
28
|
+
const likelyRoot = components.find((c) => rootNames.includes(c.name))?.name
|
|
29
|
+
?? components[0]?.name
|
|
30
|
+
?? null;
|
|
31
|
+
// Stack detection via analyze_project
|
|
32
|
+
let stack = {
|
|
33
|
+
state_management: null,
|
|
34
|
+
routing: null,
|
|
35
|
+
ui_library: null,
|
|
36
|
+
form_library: null,
|
|
37
|
+
build_tool: null,
|
|
38
|
+
};
|
|
39
|
+
try {
|
|
40
|
+
const proj = await analyzeProject(repo, { force: false });
|
|
41
|
+
const rc = proj?.conventions?.react_conventions;
|
|
42
|
+
const si = proj?.stack;
|
|
43
|
+
if (rc) {
|
|
44
|
+
stack = {
|
|
45
|
+
state_management: rc.state_management ?? null,
|
|
46
|
+
routing: rc.routing ?? null,
|
|
47
|
+
ui_library: rc.ui_library ?? null,
|
|
48
|
+
form_library: rc.form_library ?? null,
|
|
49
|
+
build_tool: si?.build_tool ?? null,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
else if (si) {
|
|
53
|
+
stack.build_tool = si.build_tool ?? null;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
// analyze_project may fail on non-React repos — fall through
|
|
58
|
+
}
|
|
59
|
+
// Critical pattern scans — run in parallel.
|
|
60
|
+
// Tier 5: scan list expanded with new patterns, results routed to severity-based buckets.
|
|
61
|
+
const scanList = [
|
|
62
|
+
{ name: "dangerously-set-html", severity: "critical" },
|
|
63
|
+
{ name: "hook-in-condition", severity: "critical" },
|
|
64
|
+
{ name: "conditional-render-hook", severity: "critical" },
|
|
65
|
+
{ name: "useEffect-missing-cleanup", severity: "warning" },
|
|
66
|
+
{ name: "useEffect-setstate-loop", severity: "critical" },
|
|
67
|
+
{ name: "rsc-non-serializable-prop", severity: "warning" },
|
|
68
|
+
// Tier 5 — warning bucket
|
|
69
|
+
{ name: "derived-state", severity: "warning" },
|
|
70
|
+
{ name: "stale-closure-setstate", severity: "warning" },
|
|
71
|
+
{ name: "context-provider-value-inline", severity: "warning" },
|
|
72
|
+
// Tier 5 — warning (tabnabbing): surfaced in critical_issues with legacy warnings
|
|
73
|
+
{ name: "jsx-no-target-blank", severity: "warning" },
|
|
74
|
+
{ name: "button-no-type", severity: "style" },
|
|
75
|
+
// Tier 6 — extending Tier 5 coverage
|
|
76
|
+
{ name: "derived-state-reducer", severity: "warning" },
|
|
77
|
+
{ name: "derived-state-custom-setter", severity: "warning" },
|
|
78
|
+
{ name: "stale-closure-toggle", severity: "warning" },
|
|
79
|
+
{ name: "stale-closure-broken-functional", severity: "warning" },
|
|
80
|
+
{ name: "context-provider-value-via-variable", severity: "warning" },
|
|
81
|
+
{ name: "context-provider-value-inline-destructured", severity: "warning" },
|
|
82
|
+
{ name: "react-lazy-no-suspense-same-file", severity: "style" },
|
|
83
|
+
{ name: "rsc-non-serializable-prop-deep", severity: "critical" },
|
|
84
|
+
{ name: "error-boundary-incomplete", severity: "warning" },
|
|
85
|
+
];
|
|
86
|
+
const scanResults = await Promise.all(scanList.map(async ({ name, severity }) => {
|
|
87
|
+
try {
|
|
88
|
+
const result = await searchPatterns(repo, name, { max_results: 20 });
|
|
89
|
+
return { pattern: name, count: result.matches.length, severity };
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
return { pattern: name, count: 0, severity };
|
|
93
|
+
}
|
|
94
|
+
}));
|
|
95
|
+
// Severity-aware bucketing — cap each at 10 entries.
|
|
96
|
+
const hits = scanResults.filter((r) => r.count > 0);
|
|
97
|
+
const critical_issues = hits
|
|
98
|
+
.filter((r) => r.severity === "critical")
|
|
99
|
+
.slice(0, 10);
|
|
100
|
+
// Legacy: pre-Tier-5 patterns marked "warning" stay in critical_issues for backward compat;
|
|
101
|
+
// Tier 5 warnings (derived-state, stale-closure, context-provider) go to dedicated bucket.
|
|
102
|
+
const tier5WarningPatterns = new Set([
|
|
103
|
+
// Tier 5
|
|
104
|
+
"derived-state", "stale-closure-setstate", "context-provider-value-inline",
|
|
105
|
+
// Tier 6 — same warning bucket
|
|
106
|
+
"derived-state-reducer", "derived-state-custom-setter",
|
|
107
|
+
"stale-closure-toggle", "stale-closure-broken-functional",
|
|
108
|
+
"context-provider-value-via-variable", "context-provider-value-inline-destructured",
|
|
109
|
+
"error-boundary-incomplete",
|
|
110
|
+
]);
|
|
111
|
+
for (const r of hits) {
|
|
112
|
+
if (r.severity === "warning" && !tier5WarningPatterns.has(r.pattern) && critical_issues.length < 10) {
|
|
113
|
+
critical_issues.push({ pattern: r.pattern, count: r.count, severity: "warning" });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const warnings = hits
|
|
117
|
+
.filter((r) => r.severity === "warning" && tier5WarningPatterns.has(r.pattern))
|
|
118
|
+
.slice(0, 10);
|
|
119
|
+
const style_issues = hits
|
|
120
|
+
.filter((r) => r.severity === "style")
|
|
121
|
+
.slice(0, 10);
|
|
122
|
+
// Top hooks used across components
|
|
123
|
+
const hookCounts = new Map();
|
|
124
|
+
for (const c of components) {
|
|
125
|
+
if (!c.source)
|
|
126
|
+
continue;
|
|
127
|
+
const matches = c.source.matchAll(/\b(use[A-Z]\w*)\s*\(/g);
|
|
128
|
+
for (const m of matches) {
|
|
129
|
+
const name = m[1];
|
|
130
|
+
hookCounts.set(name, (hookCounts.get(name) ?? 0) + 1);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
const top_hooks = [...hookCounts.entries()]
|
|
134
|
+
.sort((a, b) => b[1] - a[1])
|
|
135
|
+
.slice(0, 5)
|
|
136
|
+
.map(([name, count]) => ({ name, count }));
|
|
137
|
+
// Suggested next queries
|
|
138
|
+
const suggested_queries = [];
|
|
139
|
+
if (likelyRoot) {
|
|
140
|
+
suggested_queries.push(`trace_component_tree("${likelyRoot}") // explore render hierarchy`);
|
|
141
|
+
}
|
|
142
|
+
suggested_queries.push(`analyze_renders() // find re-render risks`);
|
|
143
|
+
suggested_queries.push(`analyze_hooks() // Rule of Hooks + hook inventory`);
|
|
144
|
+
if (components.length >= 10) {
|
|
145
|
+
suggested_queries.push(`audit_compiler_readiness() // React Compiler adoption check`);
|
|
146
|
+
}
|
|
147
|
+
if (critical_issues.some((i) => i.severity === "critical")) {
|
|
148
|
+
suggested_queries.push(`search_patterns("dangerously-set-html") // investigate XSS risks`);
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
overview: {
|
|
152
|
+
total_components: components.length,
|
|
153
|
+
total_custom_hooks: hooks.length,
|
|
154
|
+
likely_root_component: likelyRoot,
|
|
155
|
+
stack,
|
|
156
|
+
},
|
|
157
|
+
critical_issues,
|
|
158
|
+
warnings,
|
|
159
|
+
style_issues,
|
|
160
|
+
top_hooks,
|
|
161
|
+
suggested_queries,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=react-quickstart-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-quickstart-tools.js","sourceRoot":"","sources":["../../src/tools/react-quickstart-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export interface RenderRisk {
|
|
2
|
+
type: "inline-object" | "inline-array" | "inline-function" | "unstable-default" | "missing-memo";
|
|
3
|
+
line: number;
|
|
4
|
+
context: string;
|
|
5
|
+
suggestion: string;
|
|
6
|
+
}
|
|
7
|
+
export interface RenderAnalysisEntry {
|
|
8
|
+
name: string;
|
|
9
|
+
file: string;
|
|
10
|
+
start_line: number;
|
|
11
|
+
is_memoized: boolean;
|
|
12
|
+
risk_count: number;
|
|
13
|
+
risk_level: "low" | "medium" | "high";
|
|
14
|
+
risks: RenderRisk[];
|
|
15
|
+
/** Components rendered as children (from JSX), useful to see impact */
|
|
16
|
+
children_count: number;
|
|
17
|
+
/**
|
|
18
|
+
* JSX **render-tree** depth: longest path in edges from this component up to a
|
|
19
|
+
* root in the reverse adjacency. Same numeric value as `prop_chain_depth`;
|
|
20
|
+
* this name reflects semantics (not prop-drilling depth). `null` only when
|
|
21
|
+
* `metadata.skipped === "extractor-failure"`.
|
|
22
|
+
*/
|
|
23
|
+
jsx_render_depth: number | null;
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated Use `jsx_render_depth`. Same value — retained for backward compatibility.
|
|
26
|
+
* Render-tree depth, not prop-flow depth.
|
|
27
|
+
*/
|
|
28
|
+
prop_chain_depth: number | null;
|
|
29
|
+
/** Suggestion text including "NOT prop-drilling depth" disclaimer when depth >= 3 */
|
|
30
|
+
suggestion?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface AnalyzeRendersResult {
|
|
33
|
+
entries: RenderAnalysisEntry[];
|
|
34
|
+
total_components: number;
|
|
35
|
+
high_risk_count: number;
|
|
36
|
+
summary: {
|
|
37
|
+
inline_objects: number;
|
|
38
|
+
inline_arrays: number;
|
|
39
|
+
inline_functions: number;
|
|
40
|
+
unstable_defaults: number;
|
|
41
|
+
missing_memo: number;
|
|
42
|
+
};
|
|
43
|
+
/** Diagnostic metadata — see `analyzeRenders` implementation for when this is set. */
|
|
44
|
+
metadata?: {
|
|
45
|
+
skipped?: "extractor-failure";
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Analyze a single component source for re-render risks.
|
|
50
|
+
*/
|
|
51
|
+
declare function findRenderRisks(source: string): RenderRisk[];
|
|
52
|
+
/**
|
|
53
|
+
* Format an AnalyzeRendersResult as human-readable Markdown.
|
|
54
|
+
* Used by analyzeRenders when format="markdown" is requested.
|
|
55
|
+
*/
|
|
56
|
+
export declare function formatRendersMarkdown(result: AnalyzeRendersResult): string;
|
|
57
|
+
/**
|
|
58
|
+
* Analyze re-render risk across React components in a repo.
|
|
59
|
+
*
|
|
60
|
+
* Detects:
|
|
61
|
+
* - Inline object/array/function props in JSX (new reference every render)
|
|
62
|
+
* - Unstable default parameter values ([] or {} in component params)
|
|
63
|
+
* - Components not wrapped in React.memo that render children (missing-memo)
|
|
64
|
+
*
|
|
65
|
+
* Returns per-component risk assessment with actionable suggestions.
|
|
66
|
+
*/
|
|
67
|
+
export declare function analyzeRenders(repo: string, options?: {
|
|
68
|
+
component_name?: string | undefined;
|
|
69
|
+
file_pattern?: string | undefined;
|
|
70
|
+
include_tests?: boolean | undefined;
|
|
71
|
+
max_entries?: number | undefined;
|
|
72
|
+
format?: "json" | "markdown" | undefined;
|
|
73
|
+
}): Promise<AnalyzeRendersResult | string>;
|
|
74
|
+
export { findRenderRisks };
|
|
75
|
+
//# sourceMappingURL=react-render-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-render-tools.d.ts","sourceRoot":"","sources":["../../src/tools/react-render-tools.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,eAAe,GAAG,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,cAAc,CAAC;IACjG,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,sFAAsF;IACtF,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,mBAAmB,CAAA;KAAE,CAAC;CAC9C;AAUD;;GAEG;AACH,iBAAS,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CA2DrD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAwB1E;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CAC1C,GACA,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,CAwIxC;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React static render-risk analysis.
|
|
3
|
+
*/
|
|
4
|
+
import { getCodeIndex } from "./index-tools.js";
|
|
5
|
+
import { isTestFileStrict as isTestFile } from "../utils/test-file.js";
|
|
6
|
+
import { buildJsxAdjacency, buildReverseAdjacency, computePropChainDepth } from "./react-component-tree-tools.js";
|
|
7
|
+
/** Patterns for inline prop creation in JSX — each creates a new reference every render */
|
|
8
|
+
const INLINE_OBJECT_RE = /\b\w+\s*=\s*\{\s*\{/g; // prop={{ ... }}
|
|
9
|
+
const INLINE_ARRAY_RE = /\b\w+\s*=\s*\{\s*\[/g; // prop={[ ... ]}
|
|
10
|
+
const INLINE_FN_RE = /\bon[A-Z]\w*\s*=\s*\{\s*(?:\([^)]*\)|[a-z_$][\w$]*)\s*=>/g; // onX={() => ...}
|
|
11
|
+
/** Default prop values that create new references: = [] or = {} in params */
|
|
12
|
+
const UNSTABLE_DEFAULT_RE = /(?:[:,]\s*)(\w+)\s*=\s*(\[\s*\]|\{\s*\})/g;
|
|
13
|
+
/**
|
|
14
|
+
* Analyze a single component source for re-render risks.
|
|
15
|
+
*/
|
|
16
|
+
function findRenderRisks(source) {
|
|
17
|
+
const risks = [];
|
|
18
|
+
const lines = source.split("\n");
|
|
19
|
+
for (let i = 0; i < lines.length && risks.length < 20; i++) {
|
|
20
|
+
const line = lines[i];
|
|
21
|
+
const lineNum = i + 1;
|
|
22
|
+
const trimmed = line.trim();
|
|
23
|
+
// Skip comments
|
|
24
|
+
if (trimmed.startsWith("//") || trimmed.startsWith("*"))
|
|
25
|
+
continue;
|
|
26
|
+
// Inline object prop: prop={{ key: val }}
|
|
27
|
+
if (INLINE_OBJECT_RE.test(line)) {
|
|
28
|
+
INLINE_OBJECT_RE.lastIndex = 0;
|
|
29
|
+
risks.push({
|
|
30
|
+
type: "inline-object",
|
|
31
|
+
line: lineNum,
|
|
32
|
+
context: trimmed.slice(0, 120),
|
|
33
|
+
suggestion: "Extract to a const or useMemo — object literal creates new reference every render",
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
// Inline array prop: prop={[1, 2, 3]}
|
|
37
|
+
if (INLINE_ARRAY_RE.test(line)) {
|
|
38
|
+
INLINE_ARRAY_RE.lastIndex = 0;
|
|
39
|
+
risks.push({
|
|
40
|
+
type: "inline-array",
|
|
41
|
+
line: lineNum,
|
|
42
|
+
context: trimmed.slice(0, 120),
|
|
43
|
+
suggestion: "Extract to a const or useMemo — array literal creates new reference every render",
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
// Inline function in event handler: onClick={() => ...}
|
|
47
|
+
if (INLINE_FN_RE.test(line)) {
|
|
48
|
+
INLINE_FN_RE.lastIndex = 0;
|
|
49
|
+
risks.push({
|
|
50
|
+
type: "inline-function",
|
|
51
|
+
line: lineNum,
|
|
52
|
+
context: trimmed.slice(0, 120),
|
|
53
|
+
suggestion: "Extract to useCallback or a named handler — arrow function creates new reference every render",
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
// Unstable default value: { items = [], config = {} }
|
|
57
|
+
UNSTABLE_DEFAULT_RE.lastIndex = 0;
|
|
58
|
+
let dm;
|
|
59
|
+
while ((dm = UNSTABLE_DEFAULT_RE.exec(line)) !== null && risks.length < 20) {
|
|
60
|
+
risks.push({
|
|
61
|
+
type: "unstable-default",
|
|
62
|
+
line: lineNum,
|
|
63
|
+
context: trimmed.slice(0, 120),
|
|
64
|
+
suggestion: `Default value \`${dm[1]} = ${dm[2]}\` creates new reference every render — hoist to module const`,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return risks;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Format an AnalyzeRendersResult as human-readable Markdown.
|
|
72
|
+
* Used by analyzeRenders when format="markdown" is requested.
|
|
73
|
+
*/
|
|
74
|
+
export function formatRendersMarkdown(result) {
|
|
75
|
+
const lines = [];
|
|
76
|
+
lines.push("# Render Analysis");
|
|
77
|
+
lines.push("");
|
|
78
|
+
lines.push(`Total components: ${result.total_components} | High risk: ${result.high_risk_count}`);
|
|
79
|
+
lines.push("");
|
|
80
|
+
lines.push("## Summary");
|
|
81
|
+
lines.push(`- inline_objects: ${result.summary.inline_objects}`);
|
|
82
|
+
lines.push(`- inline_arrays: ${result.summary.inline_arrays}`);
|
|
83
|
+
lines.push(`- inline_functions: ${result.summary.inline_functions}`);
|
|
84
|
+
lines.push(`- unstable_defaults: ${result.summary.unstable_defaults}`);
|
|
85
|
+
lines.push(`- missing_memo: ${result.summary.missing_memo}`);
|
|
86
|
+
lines.push("");
|
|
87
|
+
lines.push("## Entries");
|
|
88
|
+
lines.push("");
|
|
89
|
+
lines.push("| Component | File | Risk | Issues | Children | Chain | Memo |");
|
|
90
|
+
lines.push("|-----------|------|------|--------|----------|-------|------|");
|
|
91
|
+
for (const e of result.entries) {
|
|
92
|
+
const file = e.file.length > 40 ? "…" + e.file.slice(-39) : e.file;
|
|
93
|
+
const chain = e.jsx_render_depth === null ? "—" : String(e.jsx_render_depth);
|
|
94
|
+
lines.push(`| ${e.name} | ${file}:${e.start_line} | ${e.risk_level} | ${e.risk_count} | ${e.children_count} | ${chain} | ${e.is_memoized ? "✓" : "✗"} |`);
|
|
95
|
+
}
|
|
96
|
+
return lines.join("\n");
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Analyze re-render risk across React components in a repo.
|
|
100
|
+
*
|
|
101
|
+
* Detects:
|
|
102
|
+
* - Inline object/array/function props in JSX (new reference every render)
|
|
103
|
+
* - Unstable default parameter values ([] or {} in component params)
|
|
104
|
+
* - Components not wrapped in React.memo that render children (missing-memo)
|
|
105
|
+
*
|
|
106
|
+
* Returns per-component risk assessment with actionable suggestions.
|
|
107
|
+
*/
|
|
108
|
+
export async function analyzeRenders(repo, options) {
|
|
109
|
+
const index = await getCodeIndex(repo);
|
|
110
|
+
if (!index) {
|
|
111
|
+
throw new Error(`Repository not found: ${repo}`);
|
|
112
|
+
}
|
|
113
|
+
const componentName = options?.component_name;
|
|
114
|
+
const filePattern = options?.file_pattern;
|
|
115
|
+
const includeTests = options?.include_tests ?? false;
|
|
116
|
+
const maxEntries = options?.max_entries ?? 100;
|
|
117
|
+
let components = index.symbols.filter((s) => s.kind === "component");
|
|
118
|
+
if (!includeTests)
|
|
119
|
+
components = components.filter((s) => !isTestFile(s.file));
|
|
120
|
+
if (componentName)
|
|
121
|
+
components = components.filter((s) => s.name === componentName);
|
|
122
|
+
if (filePattern)
|
|
123
|
+
components = components.filter((s) => s.file.includes(filePattern));
|
|
124
|
+
// Tier 5 — extractor-failure: only when we have indexed JSX files but zero
|
|
125
|
+
// component symbols while other symbols exist — likely classification/extractor
|
|
126
|
+
// issues. Pure `.ts`/non-JSX indexes are not flagged (avoids false positives on
|
|
127
|
+
// headless/util libraries).
|
|
128
|
+
const hasJsxIndexedFiles = index.files.some((f) => f.path.endsWith(".tsx") || f.path.endsWith(".jsx"));
|
|
129
|
+
const extractorFailure = components.length === 0 &&
|
|
130
|
+
index.symbols.length > 0 &&
|
|
131
|
+
hasJsxIndexedFiles;
|
|
132
|
+
// Tier 5 — sort components alphabetically by id ?? name BEFORE building adjacency
|
|
133
|
+
// for deterministic cycle handling.
|
|
134
|
+
const sortedComponents = [...components].sort((a, b) => (a.id ?? a.name).localeCompare(b.id ?? b.name));
|
|
135
|
+
// Build reverse adjacency once, share memo across all per-component calls (O(V+E) total).
|
|
136
|
+
const adjacency = buildJsxAdjacency(sortedComponents);
|
|
137
|
+
const reverseAdj = buildReverseAdjacency(adjacency);
|
|
138
|
+
const memo = new Map();
|
|
139
|
+
const inProgress = new Set();
|
|
140
|
+
const entries = [];
|
|
141
|
+
const summary = { inline_objects: 0, inline_arrays: 0, inline_functions: 0, unstable_defaults: 0, missing_memo: 0 };
|
|
142
|
+
let highRiskCount = 0;
|
|
143
|
+
for (const sym of sortedComponents) {
|
|
144
|
+
if (entries.length >= maxEntries)
|
|
145
|
+
break;
|
|
146
|
+
if (!sym.source)
|
|
147
|
+
continue;
|
|
148
|
+
const isMemoized = /\b(?:React\.)?memo\s*\(/.test(sym.source);
|
|
149
|
+
const risks = findRenderRisks(sym.source);
|
|
150
|
+
// Count children rendered (PascalCase JSX elements)
|
|
151
|
+
const childrenSet = new Set();
|
|
152
|
+
const jsxPattern = /<([A-Z][a-zA-Z0-9_$]*)\b/g;
|
|
153
|
+
let jm;
|
|
154
|
+
while ((jm = jsxPattern.exec(sym.source)) !== null) {
|
|
155
|
+
if (jm[1] !== sym.name)
|
|
156
|
+
childrenSet.add(jm[1]);
|
|
157
|
+
}
|
|
158
|
+
// Check missing-memo: component renders children and is not memoized
|
|
159
|
+
if (!isMemoized && childrenSet.size > 0 && risks.length > 0) {
|
|
160
|
+
risks.push({
|
|
161
|
+
type: "missing-memo",
|
|
162
|
+
line: 1,
|
|
163
|
+
context: `${sym.name} renders ${childrenSet.size} child component(s) and has ${risks.length} inline props`,
|
|
164
|
+
suggestion: "Wrap in React.memo() — parent re-renders will propagate to children via new prop references",
|
|
165
|
+
});
|
|
166
|
+
summary.missing_memo++;
|
|
167
|
+
}
|
|
168
|
+
// Aggregate summary counts
|
|
169
|
+
for (const r of risks) {
|
|
170
|
+
if (r.type === "inline-object")
|
|
171
|
+
summary.inline_objects++;
|
|
172
|
+
else if (r.type === "inline-array")
|
|
173
|
+
summary.inline_arrays++;
|
|
174
|
+
else if (r.type === "inline-function")
|
|
175
|
+
summary.inline_functions++;
|
|
176
|
+
else if (r.type === "unstable-default")
|
|
177
|
+
summary.unstable_defaults++;
|
|
178
|
+
}
|
|
179
|
+
// Risk level classification — factors children_count to amplify components
|
|
180
|
+
// that propagate prop instability to many children (Bug #4 fix).
|
|
181
|
+
const riskLevel = ((risks.length >= 3 && childrenSet.size >= 3) || risks.length >= 5) ? "high" :
|
|
182
|
+
(risks.length >= 2 || (risks.length >= 1 && childrenSet.size >= 1)) ? "medium" : "low";
|
|
183
|
+
if (riskLevel === "high")
|
|
184
|
+
highRiskCount++;
|
|
185
|
+
// Tier 5 — render-tree depth (longest acyclic path from this component up to a root).
|
|
186
|
+
// `reverseAdj` is keyed by `sym.id` exclusively (see line 130), so any fallback to
|
|
187
|
+
// sym.name would silently look up a non-existent key. CodeSymbol.id is required by
|
|
188
|
+
// the type contract — dropping the prior `?? sym.name` fallback that masked unset id.
|
|
189
|
+
const depth = computePropChainDepth(sym.id, reverseAdj, memo, inProgress);
|
|
190
|
+
// Tier 5 — suggestion text with explicit "NOT prop-drilling depth" disclaimer
|
|
191
|
+
// when depth >= 3 (AC 8: prevents the metric from being silently relabeled
|
|
192
|
+
// as semantic prop-flow depth, which is Tier 6 scope).
|
|
193
|
+
const suggestion = depth >= 3
|
|
194
|
+
? `Component is rendered ${depth} edges deep in the JSX render tree. NOT prop-drilling depth — this metric measures render-tree depth only, without tracing which props are consumed vs passed through. Use as a hint to investigate; combine with manual review or trace_component_tree to confirm whether props are actually being drilled. Semantic prop-flow tracking is Tier 6 scope.`
|
|
195
|
+
: undefined;
|
|
196
|
+
// Only include components with risks or if specifically queried
|
|
197
|
+
if (risks.length > 0 || componentName) {
|
|
198
|
+
entries.push({
|
|
199
|
+
name: sym.name,
|
|
200
|
+
file: sym.file,
|
|
201
|
+
start_line: sym.start_line,
|
|
202
|
+
is_memoized: isMemoized,
|
|
203
|
+
risk_count: risks.length,
|
|
204
|
+
risk_level: riskLevel,
|
|
205
|
+
risks,
|
|
206
|
+
children_count: childrenSet.size,
|
|
207
|
+
jsx_render_depth: extractorFailure ? null : depth,
|
|
208
|
+
prop_chain_depth: extractorFailure ? null : depth,
|
|
209
|
+
...(suggestion ? { suggestion } : {}),
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// Sort: high risk first, then by risk_count descending
|
|
214
|
+
entries.sort((a, b) => {
|
|
215
|
+
const levelOrder = { high: 3, medium: 2, low: 1 };
|
|
216
|
+
const ld = levelOrder[b.risk_level] - levelOrder[a.risk_level];
|
|
217
|
+
if (ld !== 0)
|
|
218
|
+
return ld;
|
|
219
|
+
return b.risk_count - a.risk_count;
|
|
220
|
+
});
|
|
221
|
+
const jsonResult = {
|
|
222
|
+
entries,
|
|
223
|
+
total_components: components.length,
|
|
224
|
+
high_risk_count: highRiskCount,
|
|
225
|
+
summary,
|
|
226
|
+
...(extractorFailure ? { metadata: { skipped: "extractor-failure" } } : {}),
|
|
227
|
+
};
|
|
228
|
+
if (options?.format === "markdown") {
|
|
229
|
+
return formatRendersMarkdown(jsonResult);
|
|
230
|
+
}
|
|
231
|
+
return jsonResult;
|
|
232
|
+
}
|
|
233
|
+
export { findRenderRisks };
|
|
234
|
+
//# sourceMappingURL=react-render-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-render-tools.js","sourceRoot":"","sources":["../../src/tools/react-render-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAsDlH,2FAA2F;AAC3F,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,CAAO,iBAAiB;AACxE,MAAM,eAAe,GAAG,sBAAsB,CAAC,CAAS,iBAAiB;AACzE,MAAM,YAAY,GAAG,2DAA2D,CAAC,CAAC,kBAAkB;AAEpG,6EAA6E;AAC7E,MAAM,mBAAmB,GAAG,2CAA2C,CAAC;AAExE;;GAEG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,gBAAgB;QAChB,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAElE,0CAA0C;QAC1C,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,gBAAgB,CAAC,SAAS,GAAG,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9B,UAAU,EAAE,mFAAmF;aAChG,CAAC,CAAC;QACL,CAAC;QAED,sCAAsC;QACtC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9B,UAAU,EAAE,kFAAkF;aAC/F,CAAC,CAAC;QACL,CAAC;QAED,wDAAwD;QACxD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9B,UAAU,EAAE,+FAA+F;aAC5G,CAAC,CAAC;QACL,CAAC;QAED,sDAAsD;QACtD,mBAAmB,CAAC,SAAS,GAAG,CAAC,CAAC;QAClC,IAAI,EAA0B,CAAC;QAC/B,OAAO,CAAC,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC3E,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9B,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,+DAA+D;aAC/G,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA4B;IAChE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,iBAAiB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IAClG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACjE,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC7E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,MAAM,KAAK,GACT,CAAC,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,cAAc,MAAM,KAAK,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5J,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,OAMC;IAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,EAAE,cAAc,CAAC;IAC9C,MAAM,WAAW,GAAG,OAAO,EAAE,YAAY,CAAC;IAC1C,MAAM,YAAY,GAAG,OAAO,EAAE,aAAa,IAAI,KAAK,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,EAAE,WAAW,IAAI,GAAG,CAAC;IAE/C,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IACrE,IAAI,CAAC,YAAY;QAAE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,aAAa;QAAE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IACnF,IAAI,WAAW;QAAE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAErF,2EAA2E;IAC3E,gFAAgF;IAChF,gFAAgF;IAChF,4BAA4B;IAC5B,MAAM,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC1D,CAAC;IACF,MAAM,gBAAgB,GACpB,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACxB,kBAAkB,CAAC;IAErB,kFAAkF;IAClF,oCAAoC;IACpC,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACrD,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAC/C,CAAC;IACF,0FAA0F;IAC1F,MAAM,SAAS,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IACpH,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU;YAAE,MAAM;QACxC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,SAAS;QAE1B,MAAM,UAAU,GAAG,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE1C,oDAAoD;QACpD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,MAAM,UAAU,GAAG,2BAA2B,CAAC;QAC/C,IAAI,EAA0B,CAAC;QAC/B,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACnD,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI;gBAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC;QAClD,CAAC;QAED,qEAAqE;QACrE,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,YAAY,WAAW,CAAC,IAAI,+BAA+B,KAAK,CAAC,MAAM,eAAe;gBAC1G,UAAU,EAAE,6FAA6F;aAC1G,CAAC,CAAC;YACH,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,CAAC;QAED,2BAA2B;QAC3B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;gBAAE,OAAO,CAAC,cAAc,EAAE,CAAC;iBACpD,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;gBAAE,OAAO,CAAC,aAAa,EAAE,CAAC;iBACvD,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB;gBAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;iBAC7D,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;gBAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACtE,CAAC;QAED,2EAA2E;QAC3E,iEAAiE;QACjE,MAAM,SAAS,GACb,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC9E,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QAEzF,IAAI,SAAS,KAAK,MAAM;YAAE,aAAa,EAAE,CAAC;QAE1C,sFAAsF;QACtF,mFAAmF;QACnF,mFAAmF;QACnF,sFAAsF;QACtF,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAE1E,8EAA8E;QAC9E,2EAA2E;QAC3E,uDAAuD;QACvD,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC;YAC3B,CAAC,CAAC,yBAAyB,KAAK,2VAA2V;YAC3X,CAAC,CAAC,SAAS,CAAC;QAEd,gEAAgE;QAChE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,KAAK,CAAC,MAAM;gBACxB,UAAU,EAAE,SAAS;gBACrB,KAAK;gBACL,cAAc,EAAE,WAAW,CAAC,IAAI;gBAChC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;gBACjD,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;gBACjD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAyB;QACvC,OAAO;QACP,gBAAgB,EAAE,UAAU,CAAC,MAAM;QACnC,eAAe,EAAE,aAAa;QAC9B,OAAO;QACP,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,mBAA4B,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrF,CAAC;IAEF,IAAI,OAAO,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-shared-tools.d.ts","sourceRoot":"","sources":["../../src/tools/react-shared-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,kBAAkB,aAM7B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared React-specific constants used across React analysis tools.
|
|
3
|
+
*/
|
|
4
|
+
// ── React stdlib hooks (used as denylist in tracing and inventory) ──
|
|
5
|
+
export const REACT_STDLIB_HOOKS = new Set([
|
|
6
|
+
"useState", "useEffect", "useCallback", "useMemo", "useRef",
|
|
7
|
+
"useContext", "useReducer", "useLayoutEffect", "useImperativeHandle",
|
|
8
|
+
"useDebugValue", "useDeferredValue", "useTransition", "useId",
|
|
9
|
+
"useSyncExternalStore", "useInsertionEffect", "useOptimistic",
|
|
10
|
+
"useFormState", "useFormStatus", "use",
|
|
11
|
+
]);
|
|
12
|
+
//# sourceMappingURL=react-shared-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-shared-tools.js","sourceRoot":"","sources":["../../src/tools/react-shared-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACxC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ;IAC3D,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB;IACpE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,OAAO;IAC7D,sBAAsB,EAAE,oBAAoB,EAAE,eAAe;IAC7D,cAAc,EAAE,eAAe,EAAE,KAAK;CACvC,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React Suspense and lazy component analysis helpers.
|
|
3
|
+
*/
|
|
4
|
+
import type { CodeSymbol } from "../types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Walk UP the JSX render tree from a component, looking for any ancestor whose
|
|
7
|
+
* source contains a Suspense boundary. Returns the first ancestor found, or
|
|
8
|
+
* null if no Suspense exists anywhere in the upward chain.
|
|
9
|
+
*
|
|
10
|
+
* Tier 7 — closes the cross-file FP in `react-lazy-no-suspense-same-file` regex
|
|
11
|
+
* (Tier 6 limitation). Reuses `buildReverseAdjacency` infrastructure from Tier 5.
|
|
12
|
+
* Cycle-safe via visited set (BFS on potentially cyclic graph).
|
|
13
|
+
*/
|
|
14
|
+
export declare function findSuspenseAncestor(componentId: string, reverseAdjacency: Map<string, string[]>, symbolsById: Map<string, CodeSymbol>): {
|
|
15
|
+
name: string;
|
|
16
|
+
file: string;
|
|
17
|
+
} | null;
|
|
18
|
+
/**
|
|
19
|
+
* Find all React.lazy() / lazy() usages whose containing component lacks a
|
|
20
|
+
* Suspense boundary anywhere in its ancestor chain. Cross-file proper detection.
|
|
21
|
+
* Tier 7 — complements the single-file regex `react-lazy-no-suspense-same-file`.
|
|
22
|
+
*/
|
|
23
|
+
export interface LazyWithoutSuspense {
|
|
24
|
+
name: string;
|
|
25
|
+
file: string;
|
|
26
|
+
start_line: number;
|
|
27
|
+
}
|
|
28
|
+
export declare function findLazyComponentsWithoutSuspense(symbols: CodeSymbol[]): LazyWithoutSuspense[];
|
|
29
|
+
//# sourceMappingURL=react-suspense-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-suspense-tools.d.ts","sourceRoot":"","sources":["../../src/tools/react-suspense-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAsH9C;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACvC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GACnC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqBvC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,UAAU,EAAE,GACpB,mBAAmB,EAAE,CAmDvB"}
|