/** * Framework entry-point adapters (change: add-framework-entry-point-adapters). * * Code wired by configuration — a package.json `bin`, a file an npm script runs, a test runner's setup * file, a script a CI step runs — is invoked by something outside the call graph, so without this it * reads as orphaned and inflates dead-code candidates. Each adapter is a deterministic reader of one * declarative format that returns the repository files it names, with a receipt (config file and * key). Adapters only ever ADD evidence of use; they never assert that anything is dead. * * A command counts a file only when the command EXECUTES it: the script a runner (`node`, `tsx`, …) * runs, a `--require`/`--import` preload, or a path in command position. A path passed as an argument, * a redirect target, or heredoc content is not wiring. What an adapter cannot resolve is a disclosed * boundary, never a guess: a variable or `${{ }}` expression, a glob, a `cd` it cannot follow, a module * run by name, a missing target, a path outside the repository, a build output with no mapped source, * or a config it cannot read or parse. Not read at all (disclosed by the consumers): workspace-member * manifests, framework routing conventions, and any other config format. */ /** Where a wiring reference was read: the config file and the key inside it. */ export interface WiringReceipt { config: string; key: string; } /** A repository file some config invokes, with every receipt that names it. */ export interface ExternalWiring { file: string; receipts: WiringReceipt[]; } export type WiringBoundaryReason = 'dynamic-reference' | 'unsupported-form' | 'target-not-found' | 'build-output-unmapped' | 'outside-repository' | 'unreadable-config' | 'unparsed-config'; /** A reference an adapter saw but could not resolve to a repository file. */ export interface WiringBoundary extends WiringReceipt { reference: string; reason: WiringBoundaryReason; } export interface ExternalWiringReport { wired: ExternalWiring[]; boundaries: WiringBoundary[]; /** Boundaries beyond {@link MAX_REPORTED_BOUNDARIES}, counted rather than listed. */ boundariesOmitted: number; } /** Read every supported config under `rootPath` and resolve what it wires to repository files. */ export declare function collectExternalWiring(rootPath: string): Promise; /** JSON with comments and trailing commas (tsconfig) as plain JSON; string contents are untouched. */ export declare function stripJsonComments(source: string): string; //# sourceMappingURL=entry-point-adapters.d.ts.map