@opensip-cli/graph 0.1.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/LICENSE +202 -0
- package/NOTICE +8 -0
- package/README.md +31 -0
- package/dist/__tests__/baseline-plane.test.d.ts +11 -0
- package/dist/__tests__/baseline-plane.test.d.ts.map +1 -0
- package/dist/__tests__/baseline-plane.test.js +60 -0
- package/dist/__tests__/baseline-plane.test.js.map +1 -0
- package/dist/__tests__/cache/engine-version.test.d.ts +12 -0
- package/dist/__tests__/cache/engine-version.test.d.ts.map +1 -0
- package/dist/__tests__/cache/engine-version.test.js +79 -0
- package/dist/__tests__/cache/engine-version.test.js.map +1 -0
- package/dist/__tests__/cache/invalidate.test.d.ts +9 -0
- package/dist/__tests__/cache/invalidate.test.d.ts.map +1 -0
- package/dist/__tests__/cache/invalidate.test.js +228 -0
- package/dist/__tests__/cache/invalidate.test.js.map +1 -0
- package/dist/__tests__/cli/contribution-from-signals.test.d.ts +17 -0
- package/dist/__tests__/cli/contribution-from-signals.test.d.ts.map +1 -0
- package/dist/__tests__/cli/contribution-from-signals.test.js +89 -0
- package/dist/__tests__/cli/contribution-from-signals.test.js.map +1 -0
- package/dist/__tests__/cli/detect.test.d.ts +2 -0
- package/dist/__tests__/cli/detect.test.d.ts.map +1 -0
- package/dist/__tests__/cli/detect.test.js +96 -0
- package/dist/__tests__/cli/detect.test.js.map +1 -0
- package/dist/__tests__/cli/graph-config.test.d.ts +9 -0
- package/dist/__tests__/cli/graph-config.test.d.ts.map +1 -0
- package/dist/__tests__/cli/graph-config.test.js +113 -0
- package/dist/__tests__/cli/graph-config.test.js.map +1 -0
- package/dist/__tests__/cli/graph-execute.test.d.ts +9 -0
- package/dist/__tests__/cli/graph-execute.test.d.ts.map +1 -0
- package/dist/__tests__/cli/graph-execute.test.js +434 -0
- package/dist/__tests__/cli/graph-execute.test.js.map +1 -0
- package/dist/__tests__/cli/graph.test.d.ts +12 -0
- package/dist/__tests__/cli/graph.test.d.ts.map +1 -0
- package/dist/__tests__/cli/graph.test.js +589 -0
- package/dist/__tests__/cli/graph.test.js.map +1 -0
- package/dist/__tests__/cli/heap-preflight.test.d.ts +11 -0
- package/dist/__tests__/cli/heap-preflight.test.d.ts.map +1 -0
- package/dist/__tests__/cli/heap-preflight.test.js +150 -0
- package/dist/__tests__/cli/heap-preflight.test.js.map +1 -0
- package/dist/__tests__/cli/language-mismatch.test.d.ts +10 -0
- package/dist/__tests__/cli/language-mismatch.test.d.ts.map +1 -0
- package/dist/__tests__/cli/language-mismatch.test.js +155 -0
- package/dist/__tests__/cli/language-mismatch.test.js.map +1 -0
- package/dist/__tests__/cli/lookup.test.d.ts +7 -0
- package/dist/__tests__/cli/lookup.test.d.ts.map +1 -0
- package/dist/__tests__/cli/lookup.test.js +104 -0
- package/dist/__tests__/cli/lookup.test.js.map +1 -0
- package/dist/__tests__/cli/orchestrate.test.d.ts +12 -0
- package/dist/__tests__/cli/orchestrate.test.d.ts.map +1 -0
- package/dist/__tests__/cli/orchestrate.test.js +315 -0
- package/dist/__tests__/cli/orchestrate.test.js.map +1 -0
- package/dist/__tests__/cli/positional-paths.test.d.ts +5 -0
- package/dist/__tests__/cli/positional-paths.test.d.ts.map +1 -0
- package/dist/__tests__/cli/positional-paths.test.js +87 -0
- package/dist/__tests__/cli/positional-paths.test.js.map +1 -0
- package/dist/__tests__/cli/pressure-monitor.test.d.ts +11 -0
- package/dist/__tests__/cli/pressure-monitor.test.d.ts.map +1 -0
- package/dist/__tests__/cli/pressure-monitor.test.js +94 -0
- package/dist/__tests__/cli/pressure-monitor.test.js.map +1 -0
- package/dist/__tests__/cli/sarif-export.test.d.ts +8 -0
- package/dist/__tests__/cli/sarif-export.test.d.ts.map +1 -0
- package/dist/__tests__/cli/sarif-export.test.js +94 -0
- package/dist/__tests__/cli/sarif-export.test.js.map +1 -0
- package/dist/__tests__/cli/session-contract.test.d.ts +17 -0
- package/dist/__tests__/cli/session-contract.test.d.ts.map +1 -0
- package/dist/__tests__/cli/session-contract.test.js +225 -0
- package/dist/__tests__/cli/session-contract.test.js.map +1 -0
- package/dist/__tests__/cli/symbol-index.test.d.ts +7 -0
- package/dist/__tests__/cli/symbol-index.test.d.ts.map +1 -0
- package/dist/__tests__/cli/symbol-index.test.js +117 -0
- package/dist/__tests__/cli/symbol-index.test.js.map +1 -0
- package/dist/__tests__/cli/tool-show-mode.test.d.ts +10 -0
- package/dist/__tests__/cli/tool-show-mode.test.d.ts.map +1 -0
- package/dist/__tests__/cli/tool-show-mode.test.js +128 -0
- package/dist/__tests__/cli/tool-show-mode.test.js.map +1 -0
- package/dist/__tests__/cli/workspace-runner-polyglot.test.d.ts +10 -0
- package/dist/__tests__/cli/workspace-runner-polyglot.test.d.ts.map +1 -0
- package/dist/__tests__/cli/workspace-runner-polyglot.test.js +120 -0
- package/dist/__tests__/cli/workspace-runner-polyglot.test.js.map +1 -0
- package/dist/__tests__/graph-catalog-drift.test.d.ts +24 -0
- package/dist/__tests__/graph-catalog-drift.test.d.ts.map +1 -0
- package/dist/__tests__/graph-catalog-drift.test.js +34 -0
- package/dist/__tests__/graph-catalog-drift.test.js.map +1 -0
- package/dist/__tests__/internal-surface.test.d.ts +17 -0
- package/dist/__tests__/internal-surface.test.d.ts.map +1 -0
- package/dist/__tests__/internal-surface.test.js +45 -0
- package/dist/__tests__/internal-surface.test.js.map +1 -0
- package/dist/__tests__/lang-adapter/body-digest.test.d.ts +13 -0
- package/dist/__tests__/lang-adapter/body-digest.test.d.ts.map +1 -0
- package/dist/__tests__/lang-adapter/body-digest.test.js +51 -0
- package/dist/__tests__/lang-adapter/body-digest.test.js.map +1 -0
- package/dist/__tests__/lang-adapter/edge-helpers.test.d.ts +12 -0
- package/dist/__tests__/lang-adapter/edge-helpers.test.d.ts.map +1 -0
- package/dist/__tests__/lang-adapter/edge-helpers.test.js +147 -0
- package/dist/__tests__/lang-adapter/edge-helpers.test.js.map +1 -0
- package/dist/__tests__/lang-adapter/registry.test.d.ts +9 -0
- package/dist/__tests__/lang-adapter/registry.test.d.ts.map +1 -0
- package/dist/__tests__/lang-adapter/registry.test.js +228 -0
- package/dist/__tests__/lang-adapter/registry.test.js.map +1 -0
- package/dist/__tests__/persistence/catalog-repo.test.d.ts +2 -0
- package/dist/__tests__/persistence/catalog-repo.test.d.ts.map +1 -0
- package/dist/__tests__/persistence/catalog-repo.test.js +188 -0
- package/dist/__tests__/persistence/catalog-repo.test.js.map +1 -0
- package/dist/__tests__/persistence/session-payload.test.d.ts +2 -0
- package/dist/__tests__/persistence/session-payload.test.d.ts.map +1 -0
- package/dist/__tests__/persistence/session-payload.test.js +81 -0
- package/dist/__tests__/persistence/session-payload.test.js.map +1 -0
- package/dist/__tests__/persistence/session-replay.test.d.ts +10 -0
- package/dist/__tests__/persistence/session-replay.test.d.ts.map +1 -0
- package/dist/__tests__/persistence/session-replay.test.js +196 -0
- package/dist/__tests__/persistence/session-replay.test.js.map +1 -0
- package/dist/__tests__/public-api.test.d.ts +19 -0
- package/dist/__tests__/public-api.test.d.ts.map +1 -0
- package/dist/__tests__/public-api.test.js +96 -0
- package/dist/__tests__/public-api.test.js.map +1 -0
- package/dist/__tests__/render/catalog-json-types.test.d.ts +10 -0
- package/dist/__tests__/render/catalog-json-types.test.d.ts.map +1 -0
- package/dist/__tests__/render/catalog-json-types.test.js +121 -0
- package/dist/__tests__/render/catalog-json-types.test.js.map +1 -0
- package/dist/__tests__/render/catalog-json.test.d.ts +19 -0
- package/dist/__tests__/render/catalog-json.test.d.ts.map +1 -0
- package/dist/__tests__/render/catalog-json.test.js +435 -0
- package/dist/__tests__/render/catalog-json.test.js.map +1 -0
- package/dist/__tests__/render/opensip-id-derivation.test.d.ts +21 -0
- package/dist/__tests__/render/opensip-id-derivation.test.d.ts.map +1 -0
- package/dist/__tests__/render/opensip-id-derivation.test.js +159 -0
- package/dist/__tests__/render/opensip-id-derivation.test.js.map +1 -0
- package/dist/__tests__/render/rule-id-mapping.test.d.ts +13 -0
- package/dist/__tests__/render/rule-id-mapping.test.d.ts.map +1 -0
- package/dist/__tests__/render/rule-id-mapping.test.js +50 -0
- package/dist/__tests__/render/rule-id-mapping.test.js.map +1 -0
- package/dist/__tests__/render/sarif-opensip.test.d.ts +20 -0
- package/dist/__tests__/render/sarif-opensip.test.d.ts.map +1 -0
- package/dist/__tests__/render/sarif-opensip.test.js +235 -0
- package/dist/__tests__/render/sarif-opensip.test.js.map +1 -0
- package/dist/__tests__/resolution-mode.test.d.ts +10 -0
- package/dist/__tests__/resolution-mode.test.d.ts.map +1 -0
- package/dist/__tests__/resolution-mode.test.js +96 -0
- package/dist/__tests__/resolution-mode.test.js.map +1 -0
- package/dist/__tests__/resolve-callee.test.d.ts +2 -0
- package/dist/__tests__/resolve-callee.test.d.ts.map +1 -0
- package/dist/__tests__/resolve-callee.test.js +119 -0
- package/dist/__tests__/resolve-callee.test.js.map +1 -0
- package/dist/__tests__/rules/_entry-points.test.d.ts +8 -0
- package/dist/__tests__/rules/_entry-points.test.d.ts.map +1 -0
- package/dist/__tests__/rules/_entry-points.test.js +74 -0
- package/dist/__tests__/rules/_entry-points.test.js.map +1 -0
- package/dist/__tests__/rules/_helpers.d.ts +18 -0
- package/dist/__tests__/rules/_helpers.d.ts.map +1 -0
- package/dist/__tests__/rules/_helpers.js +72 -0
- package/dist/__tests__/rules/_helpers.js.map +1 -0
- package/dist/__tests__/rules/always-throws-branch.test.d.ts +9 -0
- package/dist/__tests__/rules/always-throws-branch.test.d.ts.map +1 -0
- package/dist/__tests__/rules/always-throws-branch.test.js +113 -0
- package/dist/__tests__/rules/always-throws-branch.test.js.map +1 -0
- package/dist/__tests__/rules/cycle-and-coupling.test.d.ts +13 -0
- package/dist/__tests__/rules/cycle-and-coupling.test.d.ts.map +1 -0
- package/dist/__tests__/rules/cycle-and-coupling.test.js +224 -0
- package/dist/__tests__/rules/cycle-and-coupling.test.js.map +1 -0
- package/dist/__tests__/rules/duplicated-function-body-config.test.d.ts +8 -0
- package/dist/__tests__/rules/duplicated-function-body-config.test.d.ts.map +1 -0
- package/dist/__tests__/rules/duplicated-function-body-config.test.js +132 -0
- package/dist/__tests__/rules/duplicated-function-body-config.test.js.map +1 -0
- package/dist/__tests__/rules/duplicated-function-body-cross-package.test.d.ts +10 -0
- package/dist/__tests__/rules/duplicated-function-body-cross-package.test.d.ts.map +1 -0
- package/dist/__tests__/rules/duplicated-function-body-cross-package.test.js +274 -0
- package/dist/__tests__/rules/duplicated-function-body-cross-package.test.js.map +1 -0
- package/dist/__tests__/rules/feature-column-parity.test.d.ts +11 -0
- package/dist/__tests__/rules/feature-column-parity.test.d.ts.map +1 -0
- package/dist/__tests__/rules/feature-column-parity.test.js +169 -0
- package/dist/__tests__/rules/feature-column-parity.test.js.map +1 -0
- package/dist/__tests__/rules/high-blast-untested.test.d.ts +13 -0
- package/dist/__tests__/rules/high-blast-untested.test.d.ts.map +1 -0
- package/dist/__tests__/rules/high-blast-untested.test.js +108 -0
- package/dist/__tests__/rules/high-blast-untested.test.js.map +1 -0
- package/dist/__tests__/rules/large-function.test.d.ts +11 -0
- package/dist/__tests__/rules/large-function.test.d.ts.map +1 -0
- package/dist/__tests__/rules/large-function.test.js +105 -0
- package/dist/__tests__/rules/large-function.test.js.map +1 -0
- package/dist/__tests__/rules/no-side-effect-path.test.d.ts +10 -0
- package/dist/__tests__/rules/no-side-effect-path.test.d.ts.map +1 -0
- package/dist/__tests__/rules/no-side-effect-path.test.js +301 -0
- package/dist/__tests__/rules/no-side-effect-path.test.js.map +1 -0
- package/dist/__tests__/rules/orphan-subtree-config.test.d.ts +8 -0
- package/dist/__tests__/rules/orphan-subtree-config.test.d.ts.map +1 -0
- package/dist/__tests__/rules/orphan-subtree-config.test.js +176 -0
- package/dist/__tests__/rules/orphan-subtree-config.test.js.map +1 -0
- package/dist/__tests__/rules/registry.test.d.ts +11 -0
- package/dist/__tests__/rules/registry.test.d.ts.map +1 -0
- package/dist/__tests__/rules/registry.test.js +50 -0
- package/dist/__tests__/rules/registry.test.js.map +1 -0
- package/dist/__tests__/rules/severity-override.test.d.ts +11 -0
- package/dist/__tests__/rules/severity-override.test.d.ts.map +1 -0
- package/dist/__tests__/rules/severity-override.test.js +67 -0
- package/dist/__tests__/rules/severity-override.test.js.map +1 -0
- package/dist/__tests__/rules/test-only-reachable.test.d.ts +9 -0
- package/dist/__tests__/rules/test-only-reachable.test.d.ts.map +1 -0
- package/dist/__tests__/rules/test-only-reachable.test.js +142 -0
- package/dist/__tests__/rules/test-only-reachable.test.js.map +1 -0
- package/dist/__tests__/rules/wide-function.test.d.ts +9 -0
- package/dist/__tests__/rules/wide-function.test.d.ts.map +1 -0
- package/dist/__tests__/rules/wide-function.test.js +64 -0
- package/dist/__tests__/rules/wide-function.test.js.map +1 -0
- package/dist/__tests__/test-utils/with-graph-scope.d.ts +14 -0
- package/dist/__tests__/test-utils/with-graph-scope.d.ts.map +1 -0
- package/dist/__tests__/test-utils/with-graph-scope.js +26 -0
- package/dist/__tests__/test-utils/with-graph-scope.js.map +1 -0
- package/dist/__tests__/tool-branches.test.d.ts +18 -0
- package/dist/__tests__/tool-branches.test.d.ts.map +1 -0
- package/dist/__tests__/tool-branches.test.js +262 -0
- package/dist/__tests__/tool-branches.test.js.map +1 -0
- package/dist/__tests__/tool-register.test.d.ts +16 -0
- package/dist/__tests__/tool-register.test.d.ts.map +1 -0
- package/dist/__tests__/tool-register.test.js +419 -0
- package/dist/__tests__/tool-register.test.js.map +1 -0
- package/dist/__tests__/tool.test.d.ts +18 -0
- package/dist/__tests__/tool.test.d.ts.map +1 -0
- package/dist/__tests__/tool.test.js +65 -0
- package/dist/__tests__/tool.test.js.map +1 -0
- package/dist/baseline-strategy.d.ts +28 -0
- package/dist/baseline-strategy.d.ts.map +1 -0
- package/dist/baseline-strategy.js +27 -0
- package/dist/baseline-strategy.js.map +1 -0
- package/dist/cache/engine-version.d.ts +69 -0
- package/dist/cache/engine-version.d.ts.map +1 -0
- package/dist/cache/engine-version.js +60 -0
- package/dist/cache/engine-version.js.map +1 -0
- package/dist/cache/invalidate.d.ts +60 -0
- package/dist/cache/invalidate.d.ts.map +1 -0
- package/dist/cache/invalidate.js +120 -0
- package/dist/cache/invalidate.js.map +1 -0
- package/dist/cli/__tests__/build-envelope.test.d.ts +8 -0
- package/dist/cli/__tests__/build-envelope.test.d.ts.map +1 -0
- package/dist/cli/__tests__/build-envelope.test.js +70 -0
- package/dist/cli/__tests__/build-envelope.test.js.map +1 -0
- package/dist/cli/__tests__/dispatch-envelope.test.d.ts +15 -0
- package/dist/cli/__tests__/dispatch-envelope.test.d.ts.map +1 -0
- package/dist/cli/__tests__/dispatch-envelope.test.js +73 -0
- package/dist/cli/__tests__/dispatch-envelope.test.js.map +1 -0
- package/dist/cli/__tests__/dispatch-suppression-root.test.d.ts +18 -0
- package/dist/cli/__tests__/dispatch-suppression-root.test.d.ts.map +1 -0
- package/dist/cli/__tests__/dispatch-suppression-root.test.js +91 -0
- package/dist/cli/__tests__/dispatch-suppression-root.test.js.map +1 -0
- package/dist/cli/__tests__/graph-config-schema.test.d.ts +7 -0
- package/dist/cli/__tests__/graph-config-schema.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-config-schema.test.js +60 -0
- package/dist/cli/__tests__/graph-config-schema.test.js.map +1 -0
- package/dist/cli/__tests__/graph-gate-mode.test.d.ts +15 -0
- package/dist/cli/__tests__/graph-gate-mode.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-gate-mode.test.js +99 -0
- package/dist/cli/__tests__/graph-gate-mode.test.js.map +1 -0
- package/dist/cli/__tests__/graph-recipes.test.d.ts +7 -0
- package/dist/cli/__tests__/graph-recipes.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-recipes.test.js +24 -0
- package/dist/cli/__tests__/graph-recipes.test.js.map +1 -0
- package/dist/cli/__tests__/graph-report.test.d.ts +7 -0
- package/dist/cli/__tests__/graph-report.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-report.test.js +138 -0
- package/dist/cli/__tests__/graph-report.test.js.map +1 -0
- package/dist/cli/__tests__/graph-tracer.test.d.ts +11 -0
- package/dist/cli/__tests__/graph-tracer.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-tracer.test.js +41 -0
- package/dist/cli/__tests__/graph-tracer.test.js.map +1 -0
- package/dist/cli/__tests__/graph-worker.test.d.ts +13 -0
- package/dist/cli/__tests__/graph-worker.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-worker.test.js +127 -0
- package/dist/cli/__tests__/graph-worker.test.js.map +1 -0
- package/dist/cli/__tests__/list-files.test.d.ts +12 -0
- package/dist/cli/__tests__/list-files.test.d.ts.map +1 -0
- package/dist/cli/__tests__/list-files.test.js +146 -0
- package/dist/cli/__tests__/list-files.test.js.map +1 -0
- package/dist/cli/__tests__/live-suppression-parity.test.d.ts +23 -0
- package/dist/cli/__tests__/live-suppression-parity.test.d.ts.map +1 -0
- package/dist/cli/__tests__/live-suppression-parity.test.js +136 -0
- package/dist/cli/__tests__/live-suppression-parity.test.js.map +1 -0
- package/dist/cli/__tests__/orchestrate-spans.test.d.ts +18 -0
- package/dist/cli/__tests__/orchestrate-spans.test.d.ts.map +1 -0
- package/dist/cli/__tests__/orchestrate-spans.test.js +108 -0
- package/dist/cli/__tests__/orchestrate-spans.test.js.map +1 -0
- package/dist/cli/__tests__/shard-worker.test.d.ts +10 -0
- package/dist/cli/__tests__/shard-worker.test.d.ts.map +1 -0
- package/dist/cli/__tests__/shard-worker.test.js +153 -0
- package/dist/cli/__tests__/shard-worker.test.js.map +1 -0
- package/dist/cli/__tests__/workspace-report.test.d.ts +6 -0
- package/dist/cli/__tests__/workspace-report.test.d.ts.map +1 -0
- package/dist/cli/__tests__/workspace-report.test.js +89 -0
- package/dist/cli/__tests__/workspace-report.test.js.map +1 -0
- package/dist/cli/apply-suppressions.d.ts +86 -0
- package/dist/cli/apply-suppressions.d.ts.map +1 -0
- package/dist/cli/apply-suppressions.js +101 -0
- package/dist/cli/apply-suppressions.js.map +1 -0
- package/dist/cli/apply-suppressions.test.d.ts +12 -0
- package/dist/cli/apply-suppressions.test.d.ts.map +1 -0
- package/dist/cli/apply-suppressions.test.js +85 -0
- package/dist/cli/apply-suppressions.test.js.map +1 -0
- package/dist/cli/build-envelope.d.ts +53 -0
- package/dist/cli/build-envelope.d.ts.map +1 -0
- package/dist/cli/build-envelope.js +88 -0
- package/dist/cli/build-envelope.js.map +1 -0
- package/dist/cli/detect.d.ts +37 -0
- package/dist/cli/detect.d.ts.map +1 -0
- package/dist/cli/detect.js +60 -0
- package/dist/cli/detect.js.map +1 -0
- package/dist/cli/equivalence-check-command.d.ts +45 -0
- package/dist/cli/equivalence-check-command.d.ts.map +1 -0
- package/dist/cli/equivalence-check-command.js +196 -0
- package/dist/cli/equivalence-check-command.js.map +1 -0
- package/dist/cli/graph/graph-aux-command-specs.d.ts +60 -0
- package/dist/cli/graph/graph-aux-command-specs.d.ts.map +1 -0
- package/dist/cli/graph/graph-aux-command-specs.js +390 -0
- package/dist/cli/graph/graph-aux-command-specs.js.map +1 -0
- package/dist/cli/graph/graph-command-spec.d.ts +43 -0
- package/dist/cli/graph/graph-command-spec.d.ts.map +1 -0
- package/dist/cli/graph/graph-command-spec.js +456 -0
- package/dist/cli/graph/graph-command-spec.js.map +1 -0
- package/dist/cli/graph-config-schema.d.ts +70 -0
- package/dist/cli/graph-config-schema.d.ts.map +1 -0
- package/dist/cli/graph-config-schema.js +68 -0
- package/dist/cli/graph-config-schema.js.map +1 -0
- package/dist/cli/graph-config.d.ts +53 -0
- package/dist/cli/graph-config.d.ts.map +1 -0
- package/dist/cli/graph-config.js +111 -0
- package/dist/cli/graph-config.js.map +1 -0
- package/dist/cli/graph-modes.d.ts +36 -0
- package/dist/cli/graph-modes.d.ts.map +1 -0
- package/dist/cli/graph-modes.js +161 -0
- package/dist/cli/graph-modes.js.map +1 -0
- package/dist/cli/graph-options.d.ts +143 -0
- package/dist/cli/graph-options.d.ts.map +1 -0
- package/dist/cli/graph-options.js +15 -0
- package/dist/cli/graph-options.js.map +1 -0
- package/dist/cli/graph-progress.d.ts +31 -0
- package/dist/cli/graph-progress.d.ts.map +1 -0
- package/dist/cli/graph-progress.js +56 -0
- package/dist/cli/graph-progress.js.map +1 -0
- package/dist/cli/graph-recipes.d.ts +23 -0
- package/dist/cli/graph-recipes.d.ts.map +1 -0
- package/dist/cli/graph-recipes.js +44 -0
- package/dist/cli/graph-recipes.js.map +1 -0
- package/dist/cli/graph-report.d.ts +79 -0
- package/dist/cli/graph-report.d.ts.map +1 -0
- package/dist/cli/graph-report.js +186 -0
- package/dist/cli/graph-report.js.map +1 -0
- package/dist/cli/graph-runner.d.ts +106 -0
- package/dist/cli/graph-runner.d.ts.map +1 -0
- package/dist/cli/graph-runner.js +274 -0
- package/dist/cli/graph-runner.js.map +1 -0
- package/dist/cli/graph-tracer.d.ts +27 -0
- package/dist/cli/graph-tracer.d.ts.map +1 -0
- package/dist/cli/graph-tracer.js +33 -0
- package/dist/cli/graph-tracer.js.map +1 -0
- package/dist/cli/graph-worker.d.ts +29 -0
- package/dist/cli/graph-worker.d.ts.map +1 -0
- package/dist/cli/graph-worker.js +86 -0
- package/dist/cli/graph-worker.js.map +1 -0
- package/dist/cli/graph.d.ts +171 -0
- package/dist/cli/graph.d.ts.map +1 -0
- package/dist/cli/graph.js +1041 -0
- package/dist/cli/graph.js.map +1 -0
- package/dist/cli/heap-preflight.d.ts +62 -0
- package/dist/cli/heap-preflight.d.ts.map +1 -0
- package/dist/cli/heap-preflight.js +176 -0
- package/dist/cli/heap-preflight.js.map +1 -0
- package/dist/cli/list-files.d.ts +37 -0
- package/dist/cli/list-files.d.ts.map +1 -0
- package/dist/cli/list-files.js +166 -0
- package/dist/cli/list-files.js.map +1 -0
- package/dist/cli/lookup.d.ts +19 -0
- package/dist/cli/lookup.d.ts.map +1 -0
- package/dist/cli/lookup.js +87 -0
- package/dist/cli/lookup.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/_equivalence-harness.d.ts +47 -0
- package/dist/cli/orchestrate/__tests__/_equivalence-harness.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/_equivalence-harness.js +331 -0
- package/dist/cli/orchestrate/__tests__/_equivalence-harness.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/_flat-large-fixture.d.ts +69 -0
- package/dist/cli/orchestrate/__tests__/_flat-large-fixture.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/_flat-large-fixture.js +181 -0
- package/dist/cli/orchestrate/__tests__/_flat-large-fixture.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/canonical-file-set.test.d.ts +8 -0
- package/dist/cli/orchestrate/__tests__/canonical-file-set.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/canonical-file-set.test.js +51 -0
- package/dist/cli/orchestrate/__tests__/canonical-file-set.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.d.ts +9 -0
- package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.js +147 -0
- package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.d.ts +12 -0
- package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.js +509 -0
- package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/determinism.test.d.ts +19 -0
- package/dist/cli/orchestrate/__tests__/determinism.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/determinism.test.js +163 -0
- package/dist/cli/orchestrate/__tests__/determinism.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/edge-identity.test.d.ts +9 -0
- package/dist/cli/orchestrate/__tests__/edge-identity.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/edge-identity.test.js +103 -0
- package/dist/cli/orchestrate/__tests__/edge-identity.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/equivalence-check.test.d.ts +10 -0
- package/dist/cli/orchestrate/__tests__/equivalence-check.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/equivalence-check.test.js +277 -0
- package/dist/cli/orchestrate/__tests__/equivalence-check.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.d.ts +51 -0
- package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.js +183 -0
- package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/equivalence.test.d.ts +47 -0
- package/dist/cli/orchestrate/__tests__/equivalence.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/equivalence.test.js +259 -0
- package/dist/cli/orchestrate/__tests__/equivalence.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/exact-boundary-recovery.test.d.ts +9 -0
- package/dist/cli/orchestrate/__tests__/exact-boundary-recovery.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/exact-boundary-recovery.test.js +105 -0
- package/dist/cli/orchestrate/__tests__/exact-boundary-recovery.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/export-index.test.d.ts +12 -0
- package/dist/cli/orchestrate/__tests__/export-index.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/export-index.test.js +346 -0
- package/dist/cli/orchestrate/__tests__/export-index.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.d.ts +16 -0
- package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.js +99 -0
- package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/flat-monorepo-strategy.test.d.ts +11 -0
- package/dist/cli/orchestrate/__tests__/flat-monorepo-strategy.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/flat-monorepo-strategy.test.js +271 -0
- package/dist/cli/orchestrate/__tests__/flat-monorepo-strategy.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/function-set-parity.test.d.ts +38 -0
- package/dist/cli/orchestrate/__tests__/function-set-parity.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/function-set-parity.test.js +163 -0
- package/dist/cli/orchestrate/__tests__/function-set-parity.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/incremental-merge.test.d.ts +8 -0
- package/dist/cli/orchestrate/__tests__/incremental-merge.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/incremental-merge.test.js +153 -0
- package/dist/cli/orchestrate/__tests__/incremental-merge.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/partition-files.test.d.ts +10 -0
- package/dist/cli/orchestrate/__tests__/partition-files.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/partition-files.test.js +104 -0
- package/dist/cli/orchestrate/__tests__/partition-files.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.d.ts +21 -0
- package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.js +59 -0
- package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/shard-model.test.d.ts +8 -0
- package/dist/cli/orchestrate/__tests__/shard-model.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/shard-model.test.js +77 -0
- package/dist/cli/orchestrate/__tests__/shard-model.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/shard-runner-spawn.test.d.ts +13 -0
- package/dist/cli/orchestrate/__tests__/shard-runner-spawn.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/shard-runner-spawn.test.js +103 -0
- package/dist/cli/orchestrate/__tests__/shard-runner-spawn.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/sharded-graph.test.d.ts +13 -0
- package/dist/cli/orchestrate/__tests__/sharded-graph.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/sharded-graph.test.js +257 -0
- package/dist/cli/orchestrate/__tests__/sharded-graph.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/worker-pool.test.d.ts +6 -0
- package/dist/cli/orchestrate/__tests__/worker-pool.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/worker-pool.test.js +38 -0
- package/dist/cli/orchestrate/__tests__/worker-pool.test.js.map +1 -0
- package/dist/cli/orchestrate/cache-orchestrator.d.ts +42 -0
- package/dist/cli/orchestrate/cache-orchestrator.d.ts.map +1 -0
- package/dist/cli/orchestrate/cache-orchestrator.js +92 -0
- package/dist/cli/orchestrate/cache-orchestrator.js.map +1 -0
- package/dist/cli/orchestrate/canonical-file-set.d.ts +51 -0
- package/dist/cli/orchestrate/canonical-file-set.d.ts.map +1 -0
- package/dist/cli/orchestrate/canonical-file-set.js +58 -0
- package/dist/cli/orchestrate/canonical-file-set.js.map +1 -0
- package/dist/cli/orchestrate/catalog-builder.d.ts +121 -0
- package/dist/cli/orchestrate/catalog-builder.d.ts.map +1 -0
- package/dist/cli/orchestrate/catalog-builder.js +279 -0
- package/dist/cli/orchestrate/catalog-builder.js.map +1 -0
- package/dist/cli/orchestrate/catalog-stats.d.ts +31 -0
- package/dist/cli/orchestrate/catalog-stats.d.ts.map +1 -0
- package/dist/cli/orchestrate/catalog-stats.js +52 -0
- package/dist/cli/orchestrate/catalog-stats.js.map +1 -0
- package/dist/cli/orchestrate/cross-shard-resolve.d.ts +190 -0
- package/dist/cli/orchestrate/cross-shard-resolve.d.ts.map +1 -0
- package/dist/cli/orchestrate/cross-shard-resolve.js +523 -0
- package/dist/cli/orchestrate/cross-shard-resolve.js.map +1 -0
- package/dist/cli/orchestrate/edge-identity.d.ts +48 -0
- package/dist/cli/orchestrate/edge-identity.d.ts.map +1 -0
- package/dist/cli/orchestrate/edge-identity.js +68 -0
- package/dist/cli/orchestrate/edge-identity.js.map +1 -0
- package/dist/cli/orchestrate/equivalence-check.d.ts +227 -0
- package/dist/cli/orchestrate/equivalence-check.d.ts.map +1 -0
- package/dist/cli/orchestrate/equivalence-check.js +264 -0
- package/dist/cli/orchestrate/equivalence-check.js.map +1 -0
- package/dist/cli/orchestrate/exact-boundary-recovery.d.ts +33 -0
- package/dist/cli/orchestrate/exact-boundary-recovery.d.ts.map +1 -0
- package/dist/cli/orchestrate/exact-boundary-recovery.js +62 -0
- package/dist/cli/orchestrate/exact-boundary-recovery.js.map +1 -0
- package/dist/cli/orchestrate/flat-monorepo-strategy.d.ts +171 -0
- package/dist/cli/orchestrate/flat-monorepo-strategy.d.ts.map +1 -0
- package/dist/cli/orchestrate/flat-monorepo-strategy.js +328 -0
- package/dist/cli/orchestrate/flat-monorepo-strategy.js.map +1 -0
- package/dist/cli/orchestrate/incremental-merge.d.ts +46 -0
- package/dist/cli/orchestrate/incremental-merge.d.ts.map +1 -0
- package/dist/cli/orchestrate/incremental-merge.js +236 -0
- package/dist/cli/orchestrate/incremental-merge.js.map +1 -0
- package/dist/cli/orchestrate/partition-chunk.d.ts +36 -0
- package/dist/cli/orchestrate/partition-chunk.d.ts.map +1 -0
- package/dist/cli/orchestrate/partition-chunk.js +37 -0
- package/dist/cli/orchestrate/partition-chunk.js.map +1 -0
- package/dist/cli/orchestrate/partition-files.d.ts +52 -0
- package/dist/cli/orchestrate/partition-files.d.ts.map +1 -0
- package/dist/cli/orchestrate/partition-files.js +94 -0
- package/dist/cli/orchestrate/partition-files.js.map +1 -0
- package/dist/cli/orchestrate/resolution-trace.d.ts +11 -0
- package/dist/cli/orchestrate/resolution-trace.d.ts.map +1 -0
- package/dist/cli/orchestrate/resolution-trace.js +27 -0
- package/dist/cli/orchestrate/resolution-trace.js.map +1 -0
- package/dist/cli/orchestrate/shard-model.d.ts +99 -0
- package/dist/cli/orchestrate/shard-model.d.ts.map +1 -0
- package/dist/cli/orchestrate/shard-model.js +23 -0
- package/dist/cli/orchestrate/shard-model.js.map +1 -0
- package/dist/cli/orchestrate/shard-runner.d.ts +65 -0
- package/dist/cli/orchestrate/shard-runner.d.ts.map +1 -0
- package/dist/cli/orchestrate/shard-runner.js +169 -0
- package/dist/cli/orchestrate/shard-runner.js.map +1 -0
- package/dist/cli/orchestrate/sharded-graph.d.ts +86 -0
- package/dist/cli/orchestrate/sharded-graph.d.ts.map +1 -0
- package/dist/cli/orchestrate/sharded-graph.js +227 -0
- package/dist/cli/orchestrate/sharded-graph.js.map +1 -0
- package/dist/cli/orchestrate/types.d.ts +31 -0
- package/dist/cli/orchestrate/types.d.ts.map +1 -0
- package/dist/cli/orchestrate/types.js +24 -0
- package/dist/cli/orchestrate/types.js.map +1 -0
- package/dist/cli/orchestrate/worker-pool.d.ts +16 -0
- package/dist/cli/orchestrate/worker-pool.d.ts.map +1 -0
- package/dist/cli/orchestrate/worker-pool.js +39 -0
- package/dist/cli/orchestrate/worker-pool.js.map +1 -0
- package/dist/cli/orchestrate.d.ts +106 -0
- package/dist/cli/orchestrate.d.ts.map +1 -0
- package/dist/cli/orchestrate.js +228 -0
- package/dist/cli/orchestrate.js.map +1 -0
- package/dist/cli/positional-paths.d.ts +23 -0
- package/dist/cli/positional-paths.d.ts.map +1 -0
- package/dist/cli/positional-paths.js +64 -0
- package/dist/cli/positional-paths.js.map +1 -0
- package/dist/cli/pressure-monitor.d.ts +62 -0
- package/dist/cli/pressure-monitor.d.ts.map +1 -0
- package/dist/cli/pressure-monitor.js +110 -0
- package/dist/cli/pressure-monitor.js.map +1 -0
- package/dist/cli/profile.d.ts +82 -0
- package/dist/cli/profile.d.ts.map +1 -0
- package/dist/cli/profile.js +120 -0
- package/dist/cli/profile.js.map +1 -0
- package/dist/cli/report-data.d.ts +46 -0
- package/dist/cli/report-data.d.ts.map +1 -0
- package/dist/cli/report-data.js +48 -0
- package/dist/cli/report-data.js.map +1 -0
- package/dist/cli/resolve-adapters.d.ts +19 -0
- package/dist/cli/resolve-adapters.d.ts.map +1 -0
- package/dist/cli/resolve-adapters.js +38 -0
- package/dist/cli/resolve-adapters.js.map +1 -0
- package/dist/cli/sarif-export.d.ts +40 -0
- package/dist/cli/sarif-export.d.ts.map +1 -0
- package/dist/cli/sarif-export.js +69 -0
- package/dist/cli/sarif-export.js.map +1 -0
- package/dist/cli/shard-worker.d.ts +25 -0
- package/dist/cli/shard-worker.d.ts.map +1 -0
- package/dist/cli/shard-worker.js +98 -0
- package/dist/cli/shard-worker.js.map +1 -0
- package/dist/cli/symbol-index.d.ts +51 -0
- package/dist/cli/symbol-index.d.ts.map +1 -0
- package/dist/cli/symbol-index.js +120 -0
- package/dist/cli/symbol-index.js.map +1 -0
- package/dist/cli/workspace-report.d.ts +32 -0
- package/dist/cli/workspace-report.d.ts.map +1 -0
- package/dist/cli/workspace-report.js +107 -0
- package/dist/cli/workspace-report.js.map +1 -0
- package/dist/cli/workspace-runner.d.ts +104 -0
- package/dist/cli/workspace-runner.d.ts.map +1 -0
- package/dist/cli/workspace-runner.js +166 -0
- package/dist/cli/workspace-runner.js.map +1 -0
- package/dist/cross-package/export-index.d.ts +118 -0
- package/dist/cross-package/export-index.d.ts.map +1 -0
- package/dist/cross-package/export-index.js +296 -0
- package/dist/cross-package/export-index.js.map +1 -0
- package/dist/cross-package/posix-path.d.ts +16 -0
- package/dist/cross-package/posix-path.d.ts.map +1 -0
- package/dist/cross-package/posix-path.js +18 -0
- package/dist/cross-package/posix-path.js.map +1 -0
- package/dist/cross-package/resolve.d.ts +68 -0
- package/dist/cross-package/resolve.d.ts.map +1 -0
- package/dist/cross-package/resolve.js +83 -0
- package/dist/cross-package/resolve.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +25 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +38 -0
- package/dist/internal.js.map +1 -0
- package/dist/lang-adapter/body-digest.d.ts +46 -0
- package/dist/lang-adapter/body-digest.d.ts.map +1 -0
- package/dist/lang-adapter/body-digest.js +49 -0
- package/dist/lang-adapter/body-digest.js.map +1 -0
- package/dist/lang-adapter/edge-helpers.d.ts +104 -0
- package/dist/lang-adapter/edge-helpers.d.ts.map +1 -0
- package/dist/lang-adapter/edge-helpers.js +120 -0
- package/dist/lang-adapter/edge-helpers.js.map +1 -0
- package/dist/lang-adapter/registry.d.ts +59 -0
- package/dist/lang-adapter/registry.d.ts.map +1 -0
- package/dist/lang-adapter/registry.js +100 -0
- package/dist/lang-adapter/registry.js.map +1 -0
- package/dist/lang-adapter/selector.d.ts +39 -0
- package/dist/lang-adapter/selector.d.ts.map +1 -0
- package/dist/lang-adapter/selector.js +140 -0
- package/dist/lang-adapter/selector.js.map +1 -0
- package/dist/lang-adapter/types.d.ts +217 -0
- package/dist/lang-adapter/types.d.ts.map +1 -0
- package/dist/lang-adapter/types.js +18 -0
- package/dist/lang-adapter/types.js.map +1 -0
- package/dist/owner-key.d.ts +22 -0
- package/dist/owner-key.d.ts.map +1 -0
- package/dist/owner-key.js +25 -0
- package/dist/owner-key.js.map +1 -0
- package/dist/persistence/__tests__/shard-fragment-cache.test.d.ts +8 -0
- package/dist/persistence/__tests__/shard-fragment-cache.test.d.ts.map +1 -0
- package/dist/persistence/__tests__/shard-fragment-cache.test.js +126 -0
- package/dist/persistence/__tests__/shard-fragment-cache.test.js.map +1 -0
- package/dist/persistence/catalog-repo.d.ts +77 -0
- package/dist/persistence/catalog-repo.d.ts.map +1 -0
- package/dist/persistence/catalog-repo.js +229 -0
- package/dist/persistence/catalog-repo.js.map +1 -0
- package/dist/persistence/schema.d.ts +249 -0
- package/dist/persistence/schema.d.ts.map +1 -0
- package/dist/persistence/schema.js +53 -0
- package/dist/persistence/schema.js.map +1 -0
- package/dist/persistence/session-payload.d.ts +96 -0
- package/dist/persistence/session-payload.d.ts.map +1 -0
- package/dist/persistence/session-payload.js +116 -0
- package/dist/persistence/session-payload.js.map +1 -0
- package/dist/persistence/session-replay.d.ts +15 -0
- package/dist/persistence/session-replay.d.ts.map +1 -0
- package/dist/persistence/session-replay.js +80 -0
- package/dist/persistence/session-replay.js.map +1 -0
- package/dist/pipeline/__tests__/assign-packages.test.d.ts +2 -0
- package/dist/pipeline/__tests__/assign-packages.test.d.ts.map +1 -0
- package/dist/pipeline/__tests__/assign-packages.test.js +88 -0
- package/dist/pipeline/__tests__/assign-packages.test.js.map +1 -0
- package/dist/pipeline/__tests__/constrain-edges.test.d.ts +2 -0
- package/dist/pipeline/__tests__/constrain-edges.test.d.ts.map +1 -0
- package/dist/pipeline/__tests__/constrain-edges.test.js +228 -0
- package/dist/pipeline/__tests__/constrain-edges.test.js.map +1 -0
- package/dist/pipeline/__tests__/features.test.d.ts +9 -0
- package/dist/pipeline/__tests__/features.test.d.ts.map +1 -0
- package/dist/pipeline/__tests__/features.test.js +458 -0
- package/dist/pipeline/__tests__/features.test.js.map +1 -0
- package/dist/pipeline/__tests__/indexes-imports.test.d.ts +2 -0
- package/dist/pipeline/__tests__/indexes-imports.test.d.ts.map +1 -0
- package/dist/pipeline/__tests__/indexes-imports.test.js +114 -0
- package/dist/pipeline/__tests__/indexes-imports.test.js.map +1 -0
- package/dist/pipeline/assign-packages.d.ts +18 -0
- package/dist/pipeline/assign-packages.d.ts.map +1 -0
- package/dist/pipeline/assign-packages.js +86 -0
- package/dist/pipeline/assign-packages.js.map +1 -0
- package/dist/pipeline/constrain-edges.d.ts +34 -0
- package/dist/pipeline/constrain-edges.d.ts.map +1 -0
- package/dist/pipeline/constrain-edges.js +139 -0
- package/dist/pipeline/constrain-edges.js.map +1 -0
- package/dist/pipeline/feature-deps.d.ts +19 -0
- package/dist/pipeline/feature-deps.d.ts.map +1 -0
- package/dist/pipeline/feature-deps.js +28 -0
- package/dist/pipeline/feature-deps.js.map +1 -0
- package/dist/pipeline/features.d.ts +50 -0
- package/dist/pipeline/features.d.ts.map +1 -0
- package/dist/pipeline/features.js +462 -0
- package/dist/pipeline/features.js.map +1 -0
- package/dist/pipeline/indexes.d.ts +27 -0
- package/dist/pipeline/indexes.d.ts.map +1 -0
- package/dist/pipeline/indexes.js +159 -0
- package/dist/pipeline/indexes.js.map +1 -0
- package/dist/recipes/__tests__/built-in-recipes.test.d.ts +5 -0
- package/dist/recipes/__tests__/built-in-recipes.test.d.ts.map +1 -0
- package/dist/recipes/__tests__/built-in-recipes.test.js +24 -0
- package/dist/recipes/__tests__/built-in-recipes.test.js.map +1 -0
- package/dist/recipes/__tests__/registry.test.d.ts +7 -0
- package/dist/recipes/__tests__/registry.test.d.ts.map +1 -0
- package/dist/recipes/__tests__/registry.test.js +34 -0
- package/dist/recipes/__tests__/registry.test.js.map +1 -0
- package/dist/recipes/__tests__/resolve.test.d.ts +10 -0
- package/dist/recipes/__tests__/resolve.test.d.ts.map +1 -0
- package/dist/recipes/__tests__/resolve.test.js +38 -0
- package/dist/recipes/__tests__/resolve.test.js.map +1 -0
- package/dist/recipes/built-in-recipes.d.ts +26 -0
- package/dist/recipes/built-in-recipes.d.ts.map +1 -0
- package/dist/recipes/built-in-recipes.js +43 -0
- package/dist/recipes/built-in-recipes.js.map +1 -0
- package/dist/recipes/registry.d.ts +31 -0
- package/dist/recipes/registry.d.ts.map +1 -0
- package/dist/recipes/registry.js +48 -0
- package/dist/recipes/registry.js.map +1 -0
- package/dist/recipes/resolve.d.ts +31 -0
- package/dist/recipes/resolve.d.ts.map +1 -0
- package/dist/recipes/resolve.js +70 -0
- package/dist/recipes/resolve.js.map +1 -0
- package/dist/recipes/types.d.ts +58 -0
- package/dist/recipes/types.d.ts.map +1 -0
- package/dist/recipes/types.js +39 -0
- package/dist/recipes/types.js.map +1 -0
- package/dist/render/__tests__/catalog-json.test.d.ts +9 -0
- package/dist/render/__tests__/catalog-json.test.d.ts.map +1 -0
- package/dist/render/__tests__/catalog-json.test.js +132 -0
- package/dist/render/__tests__/catalog-json.test.js.map +1 -0
- package/dist/render/catalog-json-types.d.ts +114 -0
- package/dist/render/catalog-json-types.d.ts.map +1 -0
- package/dist/render/catalog-json-types.js +23 -0
- package/dist/render/catalog-json-types.js.map +1 -0
- package/dist/render/catalog-json.d.ts +43 -0
- package/dist/render/catalog-json.d.ts.map +1 -0
- package/dist/render/catalog-json.js +303 -0
- package/dist/render/catalog-json.js.map +1 -0
- package/dist/render/opensip-id-derivation.d.ts +73 -0
- package/dist/render/opensip-id-derivation.d.ts.map +1 -0
- package/dist/render/opensip-id-derivation.js +65 -0
- package/dist/render/opensip-id-derivation.js.map +1 -0
- package/dist/render/rule-id-mapping.d.ts +61 -0
- package/dist/render/rule-id-mapping.d.ts.map +1 -0
- package/dist/render/rule-id-mapping.js +82 -0
- package/dist/render/rule-id-mapping.js.map +1 -0
- package/dist/resolve-callee.d.ts +50 -0
- package/dist/resolve-callee.d.ts.map +1 -0
- package/dist/resolve-callee.js +80 -0
- package/dist/resolve-callee.js.map +1 -0
- package/dist/rules/__tests__/__fixtures__/catalog.fixture.d.ts +22 -0
- package/dist/rules/__tests__/__fixtures__/catalog.fixture.d.ts.map +1 -0
- package/dist/rules/__tests__/__fixtures__/catalog.fixture.js +143 -0
- package/dist/rules/__tests__/__fixtures__/catalog.fixture.js.map +1 -0
- package/dist/rules/__tests__/create-graph-signal.test.d.ts +8 -0
- package/dist/rules/__tests__/create-graph-signal.test.d.ts.map +1 -0
- package/dist/rules/__tests__/create-graph-signal.test.js +55 -0
- package/dist/rules/__tests__/create-graph-signal.test.js.map +1 -0
- package/dist/rules/__tests__/define-rule.test.d.ts +13 -0
- package/dist/rules/__tests__/define-rule.test.d.ts.map +1 -0
- package/dist/rules/__tests__/define-rule.test.js +102 -0
- package/dist/rules/__tests__/define-rule.test.js.map +1 -0
- package/dist/rules/__tests__/fingerprint-golden.test.d.ts +21 -0
- package/dist/rules/__tests__/fingerprint-golden.test.d.ts.map +1 -0
- package/dist/rules/__tests__/fingerprint-golden.test.js +69 -0
- package/dist/rules/__tests__/fingerprint-golden.test.js.map +1 -0
- package/dist/rules/__tests__/registry.test.d.ts +6 -0
- package/dist/rules/__tests__/registry.test.d.ts.map +1 -0
- package/dist/rules/__tests__/registry.test.js +37 -0
- package/dist/rules/__tests__/registry.test.js.map +1 -0
- package/dist/rules/__tests__/rule-behaviors.test.d.ts +9 -0
- package/dist/rules/__tests__/rule-behaviors.test.d.ts.map +1 -0
- package/dist/rules/__tests__/rule-behaviors.test.js +204 -0
- package/dist/rules/__tests__/rule-behaviors.test.js.map +1 -0
- package/dist/rules/__tests__/signal-output.snapshot.test.d.ts +11 -0
- package/dist/rules/__tests__/signal-output.snapshot.test.d.ts.map +1 -0
- package/dist/rules/__tests__/signal-output.snapshot.test.js +55 -0
- package/dist/rules/__tests__/signal-output.snapshot.test.js.map +1 -0
- package/dist/rules/_approximation.d.ts +23 -0
- package/dist/rules/_approximation.d.ts.map +1 -0
- package/dist/rules/_approximation.js +28 -0
- package/dist/rules/_approximation.js.map +1 -0
- package/dist/rules/_entry-points.d.ts +27 -0
- package/dist/rules/_entry-points.d.ts.map +1 -0
- package/dist/rules/_entry-points.js +81 -0
- package/dist/rules/_entry-points.js.map +1 -0
- package/dist/rules/_severity-override.d.ts +32 -0
- package/dist/rules/_severity-override.d.ts.map +1 -0
- package/dist/rules/_severity-override.js +33 -0
- package/dist/rules/_severity-override.js.map +1 -0
- package/dist/rules/always-throws-branch.d.ts +26 -0
- package/dist/rules/always-throws-branch.d.ts.map +1 -0
- package/dist/rules/always-throws-branch.js +66 -0
- package/dist/rules/always-throws-branch.js.map +1 -0
- package/dist/rules/create-graph-signal.d.ts +38 -0
- package/dist/rules/create-graph-signal.d.ts.map +1 -0
- package/dist/rules/create-graph-signal.js +35 -0
- package/dist/rules/create-graph-signal.js.map +1 -0
- package/dist/rules/cycle.d.ts +29 -0
- package/dist/rules/cycle.d.ts.map +1 -0
- package/dist/rules/cycle.js +166 -0
- package/dist/rules/cycle.js.map +1 -0
- package/dist/rules/cycle.memberlocations.test.d.ts +11 -0
- package/dist/rules/cycle.memberlocations.test.d.ts.map +1 -0
- package/dist/rules/cycle.memberlocations.test.js +84 -0
- package/dist/rules/cycle.memberlocations.test.js.map +1 -0
- package/dist/rules/define-rule.d.ts +67 -0
- package/dist/rules/define-rule.d.ts.map +1 -0
- package/dist/rules/define-rule.js +66 -0
- package/dist/rules/define-rule.js.map +1 -0
- package/dist/rules/duplicated-function-body.d.ts +40 -0
- package/dist/rules/duplicated-function-body.d.ts.map +1 -0
- package/dist/rules/duplicated-function-body.js +232 -0
- package/dist/rules/duplicated-function-body.js.map +1 -0
- package/dist/rules/high-blast-untested.d.ts +26 -0
- package/dist/rules/high-blast-untested.d.ts.map +1 -0
- package/dist/rules/high-blast-untested.js +82 -0
- package/dist/rules/high-blast-untested.js.map +1 -0
- package/dist/rules/large-function.d.ts +22 -0
- package/dist/rules/large-function.d.ts.map +1 -0
- package/dist/rules/large-function.js +72 -0
- package/dist/rules/large-function.js.map +1 -0
- package/dist/rules/no-side-effect-path.d.ts +31 -0
- package/dist/rules/no-side-effect-path.d.ts.map +1 -0
- package/dist/rules/no-side-effect-path.js +217 -0
- package/dist/rules/no-side-effect-path.js.map +1 -0
- package/dist/rules/orphan-subtree.d.ts +11 -0
- package/dist/rules/orphan-subtree.d.ts.map +1 -0
- package/dist/rules/orphan-subtree.js +104 -0
- package/dist/rules/orphan-subtree.js.map +1 -0
- package/dist/rules/registry.d.ts +35 -0
- package/dist/rules/registry.d.ts.map +1 -0
- package/dist/rules/registry.js +96 -0
- package/dist/rules/registry.js.map +1 -0
- package/dist/rules/test-only-reachable.d.ts +9 -0
- package/dist/rules/test-only-reachable.d.ts.map +1 -0
- package/dist/rules/test-only-reachable.js +101 -0
- package/dist/rules/test-only-reachable.js.map +1 -0
- package/dist/rules/unexpected-coupling.d.ts +29 -0
- package/dist/rules/unexpected-coupling.d.ts.map +1 -0
- package/dist/rules/unexpected-coupling.js +0 -0
- package/dist/rules/unexpected-coupling.js.map +1 -0
- package/dist/rules/wide-function.d.ts +18 -0
- package/dist/rules/wide-function.d.ts.map +1 -0
- package/dist/rules/wide-function.js +58 -0
- package/dist/rules/wide-function.js.map +1 -0
- package/dist/scope-augmentation.d.ts +58 -0
- package/dist/scope-augmentation.d.ts.map +1 -0
- package/dist/scope-augmentation.js +29 -0
- package/dist/scope-augmentation.js.map +1 -0
- package/dist/tool.d.ts +29 -0
- package/dist/tool.d.ts.map +1 -0
- package/dist/tool.js +241 -0
- package/dist/tool.js.map +1 -0
- package/dist/types.d.ts +642 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +136 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exact-engine boundary recovery (Phase 3, Option A — "exact = the 1-shard case").
|
|
3
|
+
*
|
|
4
|
+
* The single-program (exact) catalog IS the whole/merged catalog, so the cross-
|
|
5
|
+
* package call sites its type-checker-driven inline pass captures inconsistently
|
|
6
|
+
* (it only fires where `getSymbolAtLocation` succeeds and the reference kind
|
|
7
|
+
* dispatches) are recovered by running the SAME post-merge linker the sharded
|
|
8
|
+
* engine runs — `resolveCrossBoundaryCalls` — over the syntactic boundary calls
|
|
9
|
+
* the exact build emitted. The extractor already skips sites resolved inline, so
|
|
10
|
+
* a recovered edge never double-counts. This is what converges the two engines.
|
|
11
|
+
*/
|
|
12
|
+
import { existsSync } from 'node:fs';
|
|
13
|
+
import { dirname, join } from 'node:path';
|
|
14
|
+
import { buildPackageManifestIndexFromRoots } from '../../cross-package/export-index.js';
|
|
15
|
+
import { resolveCrossBoundaryCalls } from './cross-shard-resolve.js';
|
|
16
|
+
/**
|
|
17
|
+
* Link the syntactic boundary calls the exact build emitted against its own
|
|
18
|
+
* (whole-program) catalog via the shared cross-shard linker. No-op when nothing
|
|
19
|
+
* was emitted (e.g. an incremental rebuild that touched no cross-package site).
|
|
20
|
+
*/
|
|
21
|
+
export function recoverExactBoundaryEdges(built, files, projectRoot) {
|
|
22
|
+
if (built.boundaryCalls === undefined || built.boundaryCalls.length === 0)
|
|
23
|
+
return built.catalog;
|
|
24
|
+
const manifestIndex = buildPackageManifestIndexFromRoots(derivePackageRoots(files, projectRoot), projectRoot);
|
|
25
|
+
return resolveCrossBoundaryCalls(built.catalog, built.boundaryCalls, manifestIndex).catalog;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The distinct workspace package ROOTS (absolute) the source files belong to —
|
|
29
|
+
* each file's nearest ancestor dir containing a `package.json`, up to the project
|
|
30
|
+
* root. Feeds `buildPackageManifestIndexFromRoots` so the exact engine resolves a
|
|
31
|
+
* `@scope/pkg` specifier to its package group exactly as the sharded engine does
|
|
32
|
+
* (which derives the same set from its `Shard[]`). Memoized per directory.
|
|
33
|
+
*/
|
|
34
|
+
export function derivePackageRoots(files, projectRoot) {
|
|
35
|
+
const roots = new Set();
|
|
36
|
+
const dirToRoot = new Map();
|
|
37
|
+
for (const file of files) {
|
|
38
|
+
const start = dirname(file);
|
|
39
|
+
let root = dirToRoot.get(start);
|
|
40
|
+
if (root === undefined) {
|
|
41
|
+
root = findPackageRoot(start, projectRoot);
|
|
42
|
+
dirToRoot.set(start, root);
|
|
43
|
+
}
|
|
44
|
+
if (root !== null)
|
|
45
|
+
roots.add(root);
|
|
46
|
+
}
|
|
47
|
+
return [...roots];
|
|
48
|
+
}
|
|
49
|
+
/** Nearest ancestor dir of `startDir` (inclusive) containing a `package.json`,
|
|
50
|
+
* up to `projectRoot`; `null` if none. */
|
|
51
|
+
export function findPackageRoot(startDir, projectRoot) {
|
|
52
|
+
let dir = startDir;
|
|
53
|
+
for (;;) {
|
|
54
|
+
if (existsSync(join(dir, 'package.json')))
|
|
55
|
+
return dir;
|
|
56
|
+
const parent = dirname(dir);
|
|
57
|
+
if (dir === projectRoot || parent === dir)
|
|
58
|
+
return null;
|
|
59
|
+
dir = parent;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=exact-boundary-recovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exact-boundary-recovery.js","sourceRoot":"","sources":["../../../src/cli/orchestrate/exact-boundary-recovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,kCAAkC,EAAE,MAAM,qCAAqC,CAAC;AAEzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAIrE;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAGC,EACD,KAAwB,EACxB,WAAmB;IAEnB,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAChG,MAAM,aAAa,GAAG,kCAAkC,CACtD,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,EACtC,WAAW,CACZ,CAAC;IACF,OAAO,yBAAyB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC;AAC9F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB,EAAE,WAAmB;IAC9E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC3C,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,KAAK,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;2CAC2C;AAC3C,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,WAAmB;IACnE,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,SAAS,CAAC;QACR,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QACtD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG,KAAK,WAAW,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACvD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flat-monorepo discovery strategy — Phase 12 of opensip's substrate
|
|
3
|
+
* consolidation (opensip DEC-498).
|
|
4
|
+
*
|
|
5
|
+
* Phase 0 Q4 audit determined that a flat monorepo of >2500 .ts files
|
|
6
|
+
* cannot run on the engine in single-process mode:
|
|
7
|
+
* - `heap-preflight.ts` caps elevation at 12 GB (`HEAP_TARGETS`
|
|
8
|
+
* fileThreshold=2500 → heapMb=12288).
|
|
9
|
+
* - `--packages` fan-out (see `packages-runner.ts`) depends on
|
|
10
|
+
* workspace boundaries — `discoverWorkspacePackages` walks
|
|
11
|
+
* `<cwd>/packages/**` looking for `tsconfig.json`. A flat directory
|
|
12
|
+
* has no such boundaries; the strategy is structurally inapplicable.
|
|
13
|
+
*
|
|
14
|
+
* This module ships the partition strategy. It is intentionally
|
|
15
|
+
* subprocess-free: callers supply file lists (real or synthetic for
|
|
16
|
+
* tests), and the partition primitives are pure. Wiring to
|
|
17
|
+
* `runPackagesInParallel` lives in `graph.ts` — at the CLI dispatch
|
|
18
|
+
* layer, where the subprocess shape (cliScript, displayPath rendering)
|
|
19
|
+
* already exists.
|
|
20
|
+
*
|
|
21
|
+
* Cross-partition fidelity: cross-package call sites are NO LONGER
|
|
22
|
+
* dropped. Plan #2 (sharded build) recovers them in the cross-shard
|
|
23
|
+
* boundary pass — each partition becomes a `Shard`, and the inter-shard
|
|
24
|
+
* edges are resolved against the merged catalog and tagged
|
|
25
|
+
* `CallEdge.crossShard: true` (the `partition_boundary` follow-up this
|
|
26
|
+
* comment once anticipated). Intra-partition edges keep full fidelity.
|
|
27
|
+
*/
|
|
28
|
+
import type { SyntheticPartition } from './partition-chunk.js';
|
|
29
|
+
import type { PartitionStrategy } from '../../types.js';
|
|
30
|
+
export type { PartitionStrategy } from '../../types.js';
|
|
31
|
+
export type { SyntheticPartition } from './partition-chunk.js';
|
|
32
|
+
/**
|
|
33
|
+
* Layout classification — three buckets that drive the strategy choice
|
|
34
|
+
* in `selectStrategyForLayout`.
|
|
35
|
+
*
|
|
36
|
+
* - **workspaces:** at least one nested `package.json` OR root
|
|
37
|
+
* `package.json` declares `workspaces`. Existing `--packages` fan-out
|
|
38
|
+
* handles it.
|
|
39
|
+
* - **flat-small:** no workspace structure, file count ≤ threshold.
|
|
40
|
+
* Single-process mode + heap-preflight elevation handles it.
|
|
41
|
+
* - **flat-large:** no workspace structure, file count > threshold.
|
|
42
|
+
* Must synthetically partition; no single-process mode can hold the
|
|
43
|
+
* `ts.Program` in 12 GB.
|
|
44
|
+
*/
|
|
45
|
+
export type MonorepoLayout = {
|
|
46
|
+
readonly kind: 'workspaces';
|
|
47
|
+
readonly packageDirs: readonly string[];
|
|
48
|
+
} | {
|
|
49
|
+
readonly kind: 'flat-small';
|
|
50
|
+
readonly files: readonly string[];
|
|
51
|
+
} | {
|
|
52
|
+
readonly kind: 'flat-large';
|
|
53
|
+
readonly files: readonly string[];
|
|
54
|
+
};
|
|
55
|
+
export interface DetectMonorepoLayoutInput {
|
|
56
|
+
readonly repoRoot: string;
|
|
57
|
+
/**
|
|
58
|
+
* Source-file count threshold above which a no-workspace layout is
|
|
59
|
+
* classified `flat-large`. Default 2500 (matches `heap-preflight.ts`
|
|
60
|
+
* top elevation tier).
|
|
61
|
+
*/
|
|
62
|
+
readonly heapElevationThreshold?: number;
|
|
63
|
+
/**
|
|
64
|
+
* Optional injection for tests — pre-computed file list. When set, the
|
|
65
|
+
* walker is skipped entirely. Production callers leave undefined.
|
|
66
|
+
*/
|
|
67
|
+
readonly files?: readonly string[];
|
|
68
|
+
/**
|
|
69
|
+
* Optional injection for tests — pre-computed nested package.json
|
|
70
|
+
* directory list. When set, filesystem walking for workspace
|
|
71
|
+
* detection is skipped.
|
|
72
|
+
*/
|
|
73
|
+
readonly nestedPackageDirs?: readonly string[];
|
|
74
|
+
/**
|
|
75
|
+
* Optional injection for tests — root package.json contents. When set,
|
|
76
|
+
* the on-disk root package.json read is skipped.
|
|
77
|
+
*/
|
|
78
|
+
readonly rootPackageJson?: {
|
|
79
|
+
readonly workspaces?: unknown;
|
|
80
|
+
} | null;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Classify a repository's layout. Walks `<repoRoot>` for nested
|
|
84
|
+
* `package.json` files (one and two levels deep — `<root>/*` and
|
|
85
|
+
* `<root>/packages/*` — matching the conventions
|
|
86
|
+
* `discoverWorkspacePackages` already supports) and the root
|
|
87
|
+
* `package.json` for `workspaces`.
|
|
88
|
+
*
|
|
89
|
+
* - Multiple nested package.json OR root `workspaces` → `'workspaces'`.
|
|
90
|
+
* - No workspace structure + .ts(x)/.js(x) count ≤ threshold →
|
|
91
|
+
* `'flat-small'`.
|
|
92
|
+
* - No workspace structure + count > threshold → `'flat-large'`.
|
|
93
|
+
*
|
|
94
|
+
* Test injection: callers may supply `files`, `nestedPackageDirs`, or
|
|
95
|
+
* `rootPackageJson` to skip the filesystem walk. Production callers
|
|
96
|
+
* leave these undefined.
|
|
97
|
+
*/
|
|
98
|
+
export declare function detectMonorepoLayout(input: DetectMonorepoLayoutInput): MonorepoLayout;
|
|
99
|
+
export interface PartitionFlatRepoInput {
|
|
100
|
+
readonly files: readonly string[];
|
|
101
|
+
readonly repoRoot: string;
|
|
102
|
+
readonly strategy: PartitionStrategy;
|
|
103
|
+
/** Directory depth for `'directory-depth'`. Default 2. */
|
|
104
|
+
readonly depth?: number;
|
|
105
|
+
/** Chunk size for `'file-count-chunks'` and `'hybrid'`. Default 2000. */
|
|
106
|
+
readonly chunkSize?: number;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Partition a flat file list into synthetic packages.
|
|
110
|
+
*
|
|
111
|
+
* Strategies:
|
|
112
|
+
*
|
|
113
|
+
* - **`directory-depth`** (default depth=2): bucket files by their
|
|
114
|
+
* first N path segments under `repoRoot`. Partition IDs join the
|
|
115
|
+
* segments with `.` (e.g., `src/api/foo.ts` at depth=2 → partition
|
|
116
|
+
* `src.api`). Edge cases:
|
|
117
|
+
* - Files shallower than `depth` (e.g., `src/foo.ts` at depth=2)
|
|
118
|
+
* bucket under their actual depth — partition `src` here.
|
|
119
|
+
* - Files directly at `repoRoot` (e.g., `foo.ts`) bucket under
|
|
120
|
+
* `_root`. (Underscore prefix avoids collision with a real
|
|
121
|
+
* top-level directory named `root`.)
|
|
122
|
+
* - Files outside `repoRoot` (`..` segments) bucket under `_external`
|
|
123
|
+
* — should be rare; usually a sign of a malformed input.
|
|
124
|
+
*
|
|
125
|
+
* - **`file-count-chunks`**: sort alphabetically (stable), split into
|
|
126
|
+
* chunks of `chunkSize`. Partition IDs `chunk-0`, `chunk-1`, …
|
|
127
|
+
* Worst semantic quality (no directory coherence) but works on any
|
|
128
|
+
* layout — used as the fallback inside `hybrid` and as a flag-driven
|
|
129
|
+
* override.
|
|
130
|
+
*
|
|
131
|
+
* - **`hybrid`** (recommended default for `flat-large`): apply
|
|
132
|
+
* `directory-depth` first; if any single partition exceeds
|
|
133
|
+
* `chunkSize`, sub-partition that partition using `file-count-chunks`.
|
|
134
|
+
* Sub-partition IDs concatenate: `<parent>.chunk-N`. Preserves
|
|
135
|
+
* directory coherence where the structure helps, falls back to
|
|
136
|
+
* chunking where one directory dominates.
|
|
137
|
+
*
|
|
138
|
+
* Sorted output: partition IDs are returned in stable lexicographic
|
|
139
|
+
* order; files within each partition are sorted lexicographically.
|
|
140
|
+
* Determinism matters for cache keys and reproducible runs.
|
|
141
|
+
*
|
|
142
|
+
* @throws {Error} When `input.chunkSize` is non-positive.
|
|
143
|
+
*/
|
|
144
|
+
export declare function partitionFlatRepo(input: PartitionFlatRepoInput): readonly SyntheticPartition[];
|
|
145
|
+
export interface StrategySelection {
|
|
146
|
+
readonly mode: 'single-process' | 'packages-fanout' | 'synthetic-partition';
|
|
147
|
+
readonly partitionStrategy?: PartitionStrategy;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Choose the orchestration mode for a detected layout.
|
|
151
|
+
*
|
|
152
|
+
* - `workspaces` → `packages-fanout` (existing path; `graph.ts`
|
|
153
|
+
* delegates to `runPackagesInParallel`).
|
|
154
|
+
* - `flat-small` → `single-process` (current default; heap-preflight
|
|
155
|
+
* handles elevation if needed).
|
|
156
|
+
* - `flat-large` → `synthetic-partition` with `hybrid` strategy
|
|
157
|
+
* (recommended default).
|
|
158
|
+
*
|
|
159
|
+
* Note (2026-06): A "community" (Louvain) partitionStrategy was prototyped
|
|
160
|
+
* and measured under ADR-0045's numeric gate, and discarded by measurement:
|
|
161
|
+
* real-corpus boundary-call reduction was −4.7% (gate required ≥25%) and
|
|
162
|
+
* warm wall-time regressed 1.94× on the synthetic fixture (the import scan
|
|
163
|
+
* + Louvain ran on every warm build). Equivalence floors stayed at 0 as
|
|
164
|
+
* scoped — accuracy was NOT the failure. See ADR-0045's Outcome for the
|
|
165
|
+
* full matrix; the prototype is recoverable at tag
|
|
166
|
+
* `prototype/louvain-partitioning`. The `partitionStrategy` config knob and
|
|
167
|
+
* `StrategySelection` type are retained for future experiments, but only
|
|
168
|
+
* `hybrid` is currently supported in production paths.
|
|
169
|
+
*/
|
|
170
|
+
export declare function selectStrategyForLayout(layout: MonorepoLayout): StrategySelection;
|
|
171
|
+
//# sourceMappingURL=flat-monorepo-strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flat-monorepo-strategy.d.ts","sourceRoot":"","sources":["../../../src/cli/orchestrate/flat-monorepo-strategy.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACxE;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAClE;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAkBvE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE;QAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACrE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,cAAc,CAiBrF;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,SAAS,kBAAkB,EAAE,CA+B9F;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,qBAAqB,CAAC;IAC5E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,CAIjF"}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
// @fitness-ignore-file error-handling-quality -- all catches here are filesystem probes for a discovery walk: readdir on a missing/unreadable dir → skip (treated identically to "empty dir"), JSON.parse on a malformed root package.json → null (caller continues with no workspaces info), statSync probe → "not a directory". Failure IS the function contract in each case.
|
|
2
|
+
/**
|
|
3
|
+
* Flat-monorepo discovery strategy — Phase 12 of opensip's substrate
|
|
4
|
+
* consolidation (opensip DEC-498).
|
|
5
|
+
*
|
|
6
|
+
* Phase 0 Q4 audit determined that a flat monorepo of >2500 .ts files
|
|
7
|
+
* cannot run on the engine in single-process mode:
|
|
8
|
+
* - `heap-preflight.ts` caps elevation at 12 GB (`HEAP_TARGETS`
|
|
9
|
+
* fileThreshold=2500 → heapMb=12288).
|
|
10
|
+
* - `--packages` fan-out (see `packages-runner.ts`) depends on
|
|
11
|
+
* workspace boundaries — `discoverWorkspacePackages` walks
|
|
12
|
+
* `<cwd>/packages/**` looking for `tsconfig.json`. A flat directory
|
|
13
|
+
* has no such boundaries; the strategy is structurally inapplicable.
|
|
14
|
+
*
|
|
15
|
+
* This module ships the partition strategy. It is intentionally
|
|
16
|
+
* subprocess-free: callers supply file lists (real or synthetic for
|
|
17
|
+
* tests), and the partition primitives are pure. Wiring to
|
|
18
|
+
* `runPackagesInParallel` lives in `graph.ts` — at the CLI dispatch
|
|
19
|
+
* layer, where the subprocess shape (cliScript, displayPath rendering)
|
|
20
|
+
* already exists.
|
|
21
|
+
*
|
|
22
|
+
* Cross-partition fidelity: cross-package call sites are NO LONGER
|
|
23
|
+
* dropped. Plan #2 (sharded build) recovers them in the cross-shard
|
|
24
|
+
* boundary pass — each partition becomes a `Shard`, and the inter-shard
|
|
25
|
+
* edges are resolved against the merged catalog and tagged
|
|
26
|
+
* `CallEdge.crossShard: true` (the `partition_boundary` follow-up this
|
|
27
|
+
* comment once anticipated). Intra-partition edges keep full fidelity.
|
|
28
|
+
*/
|
|
29
|
+
import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
|
|
30
|
+
import { join, relative, sep } from 'node:path';
|
|
31
|
+
import { chunkByCount, DEFAULT_CHUNK_SIZE } from './partition-chunk.js';
|
|
32
|
+
/** Default elevation threshold — mirrors `heap-preflight.ts` HEAP_TARGETS top tier. */
|
|
33
|
+
const DEFAULT_HEAP_ELEVATION_THRESHOLD = 2500;
|
|
34
|
+
/** Default partitioning depth for the `directory-depth` strategy. */
|
|
35
|
+
const DEFAULT_DIRECTORY_DEPTH = 2;
|
|
36
|
+
const SOURCE_EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'];
|
|
37
|
+
const SKIPPED_DIR_NAMES = new Set([
|
|
38
|
+
'node_modules',
|
|
39
|
+
'dist',
|
|
40
|
+
'build',
|
|
41
|
+
'.git',
|
|
42
|
+
'.turbo',
|
|
43
|
+
'coverage',
|
|
44
|
+
'.next',
|
|
45
|
+
]);
|
|
46
|
+
/**
|
|
47
|
+
* Classify a repository's layout. Walks `<repoRoot>` for nested
|
|
48
|
+
* `package.json` files (one and two levels deep — `<root>/*` and
|
|
49
|
+
* `<root>/packages/*` — matching the conventions
|
|
50
|
+
* `discoverWorkspacePackages` already supports) and the root
|
|
51
|
+
* `package.json` for `workspaces`.
|
|
52
|
+
*
|
|
53
|
+
* - Multiple nested package.json OR root `workspaces` → `'workspaces'`.
|
|
54
|
+
* - No workspace structure + .ts(x)/.js(x) count ≤ threshold →
|
|
55
|
+
* `'flat-small'`.
|
|
56
|
+
* - No workspace structure + count > threshold → `'flat-large'`.
|
|
57
|
+
*
|
|
58
|
+
* Test injection: callers may supply `files`, `nestedPackageDirs`, or
|
|
59
|
+
* `rootPackageJson` to skip the filesystem walk. Production callers
|
|
60
|
+
* leave these undefined.
|
|
61
|
+
*/
|
|
62
|
+
export function detectMonorepoLayout(input) {
|
|
63
|
+
const threshold = input.heapElevationThreshold ?? DEFAULT_HEAP_ELEVATION_THRESHOLD;
|
|
64
|
+
const nestedPackageDirs = input.nestedPackageDirs ?? findNestedPackageDirs(input.repoRoot);
|
|
65
|
+
const rootPkg = input.rootPackageJson === undefined
|
|
66
|
+
? readRootPackageJson(input.repoRoot)
|
|
67
|
+
: input.rootPackageJson;
|
|
68
|
+
const hasWorkspaces = nestedPackageDirs.length > 0 ||
|
|
69
|
+
(Array.isArray(rootPkg?.workspaces) && rootPkg.workspaces.length > 0);
|
|
70
|
+
if (hasWorkspaces) {
|
|
71
|
+
return { kind: 'workspaces', packageDirs: nestedPackageDirs };
|
|
72
|
+
}
|
|
73
|
+
const files = input.files ?? findSourceFiles(input.repoRoot);
|
|
74
|
+
return files.length > threshold ? { kind: 'flat-large', files } : { kind: 'flat-small', files };
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Partition a flat file list into synthetic packages.
|
|
78
|
+
*
|
|
79
|
+
* Strategies:
|
|
80
|
+
*
|
|
81
|
+
* - **`directory-depth`** (default depth=2): bucket files by their
|
|
82
|
+
* first N path segments under `repoRoot`. Partition IDs join the
|
|
83
|
+
* segments with `.` (e.g., `src/api/foo.ts` at depth=2 → partition
|
|
84
|
+
* `src.api`). Edge cases:
|
|
85
|
+
* - Files shallower than `depth` (e.g., `src/foo.ts` at depth=2)
|
|
86
|
+
* bucket under their actual depth — partition `src` here.
|
|
87
|
+
* - Files directly at `repoRoot` (e.g., `foo.ts`) bucket under
|
|
88
|
+
* `_root`. (Underscore prefix avoids collision with a real
|
|
89
|
+
* top-level directory named `root`.)
|
|
90
|
+
* - Files outside `repoRoot` (`..` segments) bucket under `_external`
|
|
91
|
+
* — should be rare; usually a sign of a malformed input.
|
|
92
|
+
*
|
|
93
|
+
* - **`file-count-chunks`**: sort alphabetically (stable), split into
|
|
94
|
+
* chunks of `chunkSize`. Partition IDs `chunk-0`, `chunk-1`, …
|
|
95
|
+
* Worst semantic quality (no directory coherence) but works on any
|
|
96
|
+
* layout — used as the fallback inside `hybrid` and as a flag-driven
|
|
97
|
+
* override.
|
|
98
|
+
*
|
|
99
|
+
* - **`hybrid`** (recommended default for `flat-large`): apply
|
|
100
|
+
* `directory-depth` first; if any single partition exceeds
|
|
101
|
+
* `chunkSize`, sub-partition that partition using `file-count-chunks`.
|
|
102
|
+
* Sub-partition IDs concatenate: `<parent>.chunk-N`. Preserves
|
|
103
|
+
* directory coherence where the structure helps, falls back to
|
|
104
|
+
* chunking where one directory dominates.
|
|
105
|
+
*
|
|
106
|
+
* Sorted output: partition IDs are returned in stable lexicographic
|
|
107
|
+
* order; files within each partition are sorted lexicographically.
|
|
108
|
+
* Determinism matters for cache keys and reproducible runs.
|
|
109
|
+
*
|
|
110
|
+
* @throws {Error} When `input.chunkSize` is non-positive.
|
|
111
|
+
*/
|
|
112
|
+
export function partitionFlatRepo(input) {
|
|
113
|
+
const chunkSize = input.chunkSize ?? DEFAULT_CHUNK_SIZE;
|
|
114
|
+
if (chunkSize <= 0) {
|
|
115
|
+
throw new Error('partitionFlatRepo: chunkSize must be > 0');
|
|
116
|
+
}
|
|
117
|
+
if (input.strategy === 'file-count-chunks') {
|
|
118
|
+
return chunkByCount(input.files, chunkSize);
|
|
119
|
+
}
|
|
120
|
+
if (input.strategy === 'directory-depth') {
|
|
121
|
+
const depth = input.depth ?? DEFAULT_DIRECTORY_DEPTH;
|
|
122
|
+
return chunkByDirectoryDepth(input.files, input.repoRoot, depth);
|
|
123
|
+
}
|
|
124
|
+
// hybrid
|
|
125
|
+
const depth = input.depth ?? DEFAULT_DIRECTORY_DEPTH;
|
|
126
|
+
const byDirectory = chunkByDirectoryDepth(input.files, input.repoRoot, depth);
|
|
127
|
+
const out = [];
|
|
128
|
+
for (const partition of byDirectory) {
|
|
129
|
+
if (partition.files.length <= chunkSize) {
|
|
130
|
+
out.push(partition);
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
const subChunks = chunkByCount(partition.files, chunkSize);
|
|
134
|
+
for (const sub of subChunks) {
|
|
135
|
+
out.push({
|
|
136
|
+
id: `${partition.id}.${sub.id}`,
|
|
137
|
+
files: sub.files,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return out;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Choose the orchestration mode for a detected layout.
|
|
145
|
+
*
|
|
146
|
+
* - `workspaces` → `packages-fanout` (existing path; `graph.ts`
|
|
147
|
+
* delegates to `runPackagesInParallel`).
|
|
148
|
+
* - `flat-small` → `single-process` (current default; heap-preflight
|
|
149
|
+
* handles elevation if needed).
|
|
150
|
+
* - `flat-large` → `synthetic-partition` with `hybrid` strategy
|
|
151
|
+
* (recommended default).
|
|
152
|
+
*
|
|
153
|
+
* Note (2026-06): A "community" (Louvain) partitionStrategy was prototyped
|
|
154
|
+
* and measured under ADR-0045's numeric gate, and discarded by measurement:
|
|
155
|
+
* real-corpus boundary-call reduction was −4.7% (gate required ≥25%) and
|
|
156
|
+
* warm wall-time regressed 1.94× on the synthetic fixture (the import scan
|
|
157
|
+
* + Louvain ran on every warm build). Equivalence floors stayed at 0 as
|
|
158
|
+
* scoped — accuracy was NOT the failure. See ADR-0045's Outcome for the
|
|
159
|
+
* full matrix; the prototype is recoverable at tag
|
|
160
|
+
* `prototype/louvain-partitioning`. The `partitionStrategy` config knob and
|
|
161
|
+
* `StrategySelection` type are retained for future experiments, but only
|
|
162
|
+
* `hybrid` is currently supported in production paths.
|
|
163
|
+
*/
|
|
164
|
+
export function selectStrategyForLayout(layout) {
|
|
165
|
+
if (layout.kind === 'workspaces')
|
|
166
|
+
return { mode: 'packages-fanout' };
|
|
167
|
+
if (layout.kind === 'flat-small')
|
|
168
|
+
return { mode: 'single-process' };
|
|
169
|
+
return { mode: 'synthetic-partition', partitionStrategy: 'hybrid' };
|
|
170
|
+
}
|
|
171
|
+
// ---------- private helpers ----------
|
|
172
|
+
/**
|
|
173
|
+
* @throws {Error} When `depth` is less than 1 (no directory level to chunk by).
|
|
174
|
+
*/
|
|
175
|
+
function chunkByDirectoryDepth(files, repoRoot, depth) {
|
|
176
|
+
if (depth < 1) {
|
|
177
|
+
throw new Error('chunkByDirectoryDepth: depth must be >= 1');
|
|
178
|
+
}
|
|
179
|
+
const buckets = new Map();
|
|
180
|
+
for (const file of files) {
|
|
181
|
+
const id = partitionIdFor(file, repoRoot, depth);
|
|
182
|
+
let bucket = buckets.get(id);
|
|
183
|
+
if (!bucket) {
|
|
184
|
+
bucket = [];
|
|
185
|
+
buckets.set(id, bucket);
|
|
186
|
+
}
|
|
187
|
+
bucket.push(file);
|
|
188
|
+
}
|
|
189
|
+
const ids = [...buckets.keys()].sort();
|
|
190
|
+
return ids.map((id) => {
|
|
191
|
+
const bucketFiles = buckets.get(id);
|
|
192
|
+
// istanbul ignore next — id was just enumerated from buckets.keys()
|
|
193
|
+
const list = bucketFiles ?? [];
|
|
194
|
+
return { id, files: [...list].sort() };
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Derive a partition ID from a file path. Joins the first `depth` path
|
|
199
|
+
* segments under `repoRoot` with `.`. Shallower files fall into their
|
|
200
|
+
* actual-depth partition; the repo-root file falls into `_root`; files
|
|
201
|
+
* outside `repoRoot` fall into `_external`.
|
|
202
|
+
*/
|
|
203
|
+
function partitionIdFor(file, repoRoot, depth) {
|
|
204
|
+
const rel = relative(repoRoot, file);
|
|
205
|
+
if (rel === '' || rel === '.')
|
|
206
|
+
return '_root';
|
|
207
|
+
if (rel.startsWith('..'))
|
|
208
|
+
return '_external';
|
|
209
|
+
const segments = rel.split(sep).filter((s) => s.length > 0);
|
|
210
|
+
if (segments.length === 0)
|
|
211
|
+
return '_root';
|
|
212
|
+
// Last segment is the filename — exclude from the directory prefix.
|
|
213
|
+
const dirSegments = segments.slice(0, -1);
|
|
214
|
+
if (dirSegments.length === 0)
|
|
215
|
+
return '_root';
|
|
216
|
+
const prefix = dirSegments.slice(0, depth);
|
|
217
|
+
return prefix.join('.');
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Walk `<repoRoot>/*` and `<repoRoot>/packages/*` looking for nested
|
|
221
|
+
* `package.json` files. Returns the directories that contain them.
|
|
222
|
+
* Matches the conventions `discoverWorkspacePackages` already supports
|
|
223
|
+
* — broader detection (e.g., `apps/*`, `services/*`) is unnecessary
|
|
224
|
+
* because any of those layouts will also be caught by a root
|
|
225
|
+
* `workspaces` declaration.
|
|
226
|
+
*/
|
|
227
|
+
function findNestedPackageDirs(repoRoot) {
|
|
228
|
+
if (!safeIsDir(repoRoot))
|
|
229
|
+
return [];
|
|
230
|
+
const out = [];
|
|
231
|
+
// Direct children: <root>/<pkg>/package.json
|
|
232
|
+
collectImmediatePackageDirs(repoRoot, out);
|
|
233
|
+
// packages/* layer: <root>/packages/<pkg>/package.json
|
|
234
|
+
const packagesDir = join(repoRoot, 'packages');
|
|
235
|
+
if (safeIsDir(packagesDir)) {
|
|
236
|
+
collectImmediatePackageDirs(packagesDir, out);
|
|
237
|
+
}
|
|
238
|
+
out.sort();
|
|
239
|
+
return out;
|
|
240
|
+
}
|
|
241
|
+
function collectImmediatePackageDirs(dir, out) {
|
|
242
|
+
let entries;
|
|
243
|
+
try {
|
|
244
|
+
entries = readdirSync(dir);
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
for (const entry of entries) {
|
|
250
|
+
if (SKIPPED_DIR_NAMES.has(entry))
|
|
251
|
+
continue;
|
|
252
|
+
const sub = join(dir, entry);
|
|
253
|
+
if (!safeIsDir(sub))
|
|
254
|
+
continue;
|
|
255
|
+
if (existsSync(join(sub, 'package.json'))) {
|
|
256
|
+
out.push(sub);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
function readRootPackageJson(repoRoot) {
|
|
261
|
+
const path = join(repoRoot, 'package.json');
|
|
262
|
+
if (!existsSync(path))
|
|
263
|
+
return null;
|
|
264
|
+
try {
|
|
265
|
+
const raw = readFileSync(path, 'utf8');
|
|
266
|
+
return JSON.parse(raw);
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
return null;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Walk `<repoRoot>` recursively collecting source files. Used only when
|
|
274
|
+
* the caller does not inject a pre-computed `files` list. Skips
|
|
275
|
+
* `node_modules`, `dist`, `build`, and other common artifact dirs.
|
|
276
|
+
*/
|
|
277
|
+
function findSourceFiles(repoRoot) {
|
|
278
|
+
if (!safeIsDir(repoRoot))
|
|
279
|
+
return [];
|
|
280
|
+
const out = [];
|
|
281
|
+
walk(repoRoot);
|
|
282
|
+
out.sort();
|
|
283
|
+
return out;
|
|
284
|
+
function walk(dir) {
|
|
285
|
+
let entries;
|
|
286
|
+
try {
|
|
287
|
+
entries = readdirSync(dir);
|
|
288
|
+
}
|
|
289
|
+
catch {
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
for (const entry of entries) {
|
|
293
|
+
if (SKIPPED_DIR_NAMES.has(entry))
|
|
294
|
+
continue;
|
|
295
|
+
const sub = join(dir, entry);
|
|
296
|
+
let isDir;
|
|
297
|
+
try {
|
|
298
|
+
isDir = statSync(sub).isDirectory();
|
|
299
|
+
}
|
|
300
|
+
catch {
|
|
301
|
+
continue;
|
|
302
|
+
}
|
|
303
|
+
if (isDir) {
|
|
304
|
+
walk(sub);
|
|
305
|
+
continue;
|
|
306
|
+
}
|
|
307
|
+
if (hasSourceExtension(entry)) {
|
|
308
|
+
out.push(sub);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
function hasSourceExtension(filename) {
|
|
314
|
+
for (const ext of SOURCE_EXTENSIONS) {
|
|
315
|
+
if (filename.endsWith(ext))
|
|
316
|
+
return true;
|
|
317
|
+
}
|
|
318
|
+
return false;
|
|
319
|
+
}
|
|
320
|
+
function safeIsDir(p) {
|
|
321
|
+
try {
|
|
322
|
+
return statSync(p).isDirectory();
|
|
323
|
+
}
|
|
324
|
+
catch {
|
|
325
|
+
return false;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=flat-monorepo-strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flat-monorepo-strategy.js","sourceRoot":"","sources":["../../../src/cli/orchestrate/flat-monorepo-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wave-4 incremental algorithm helpers.
|
|
3
|
+
*
|
|
4
|
+
* Self-contained: the closure-expansion fixpoint, occurrence merging,
|
|
5
|
+
* and edge stitching for the incremental rebuild path. All functions
|
|
6
|
+
* here are called by `catalog-builder.ts`; nothing else in the
|
|
7
|
+
* orchestrator subtree depends on them.
|
|
8
|
+
*/
|
|
9
|
+
import type { GraphLanguageAdapter, DiscoverOutput, ParsedProject, WalkOutput } from '../../lang-adapter/types.js';
|
|
10
|
+
import type { Catalog, CallEdge, FunctionOccurrence } from '../../types.js';
|
|
11
|
+
export interface ClosureInput {
|
|
12
|
+
readonly adapter: GraphLanguageAdapter;
|
|
13
|
+
readonly discovery: DiscoverOutput;
|
|
14
|
+
readonly cachedCatalog: Catalog;
|
|
15
|
+
readonly parsedProject: ParsedProject;
|
|
16
|
+
readonly changedFilesAbs: readonly string[];
|
|
17
|
+
}
|
|
18
|
+
export interface ClosureOutput {
|
|
19
|
+
readonly walked: WalkOutput;
|
|
20
|
+
readonly closureRel: ReadonlySet<string>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Expand the re-walk closure to a fixpoint. Starts with the directly
|
|
24
|
+
* changed files; on each iteration walks the closure, finds hashes
|
|
25
|
+
* that vanished, scans cached edges for any that still point at
|
|
26
|
+
* vanished hashes, and adds those callers to the closure. Stops when
|
|
27
|
+
* no new dependents are discovered.
|
|
28
|
+
*
|
|
29
|
+
* @throws {Error} When the incremental walk produces no result for a
|
|
30
|
+
* non-empty closure (a logic invariant violation in the walker).
|
|
31
|
+
*/
|
|
32
|
+
export declare function expandClosureToFixpoint(input: ClosureInput): ClosureOutput;
|
|
33
|
+
/**
|
|
34
|
+
* Merge occurrences: for files in `closureRel`, take the freshly-
|
|
35
|
+
* walked entries; for everything else, take the cached entries.
|
|
36
|
+
* Re-keys by simpleName so the catalog shape matches the full-rebuild
|
|
37
|
+
* output.
|
|
38
|
+
*/
|
|
39
|
+
export declare function mergeOccurrences(cachedCatalog: Catalog, walkedFunctions: Record<string, FunctionOccurrence[]>, closureRel: ReadonlySet<string>): Record<string, readonly FunctionOccurrence[]>;
|
|
40
|
+
/**
|
|
41
|
+
* Stitch resolved edges into closure files; restore cached edges for
|
|
42
|
+
* unchanged files. The merged catalog already has cached occurrences
|
|
43
|
+
* for unchanged files; we just preserve their `calls` array.
|
|
44
|
+
*/
|
|
45
|
+
export declare function mergeResolvedAndCachedEdges(merged: Catalog, cached: Catalog, edgesByOwner: ReadonlyMap<string, readonly CallEdge[]>, closureRel: ReadonlySet<string>): Record<string, readonly FunctionOccurrence[]>;
|
|
46
|
+
//# sourceMappingURL=incremental-merge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incremental-merge.d.ts","sourceRoot":"","sources":["../../../src/cli/orchestrate/incremental-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,UAAU,EACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE5E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAoC1E;AAwHD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,OAAO,EACtB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,EACrD,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAmB/C;AAeD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC,EACtD,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAgC/C"}
|