/** * The manifest builder's import graph must stay LEAN. * * `buildSyncManifest` is client hot-path code: it runs on the user's laptop * beside their editor, and it is imported by the CLI. Its cost budget is a * stat walk, not a module graph. The package already draws this line * explicitly (see the `"//exports"` note in package.json, which keeps * `./outposts` free of the AWS SDK) and it is easy to cross by accident — one * convenience import of a helper that happens to live next to the S3 client * pulls in `@aws-sdk/client-s3`, Cognito auth and telemetry for the sake of a * one-line pure function. That has already happened twice on this branch: * `isSafeCompanySlug` from `manifest-reconcile.ts`, and `toPosixKey` reaching * `journal.ts` from `s3.ts`. Both are now leaf modules. * * A type-level assertion cannot catch this, and neither can a unit test of the * builder's behaviour, so the graph itself is the thing under test: walk the * relative imports from `build-manifest.ts` and assert the closure never * reaches the heavy modules. * * `import type` / `export type` statements are excluded — tsc erases them, so * they cost nothing at runtime (this is why `pull-scope.ts`'s type-only * reference to `vault-client.ts` is fine). */ export {}; //# sourceMappingURL=import-graph.test.d.ts.map