feat: add module database ABI v1 adapters
CI / verify (pull_request) Successful in 58s
CI / infrastructure-smoke (pull_request) Successful in 35s
CI / migration-smoke (pull_request) Successful in 1m53s
CI / image-build (pull_request) Successful in 29s
CI / deploy-smoke (same-origin) (pull_request) Successful in 49s
CI / deploy-smoke (split) (pull_request) Successful in 1m31s
CI / verify (pull_request) Successful in 58s
CI / infrastructure-smoke (pull_request) Successful in 35s
CI / migration-smoke (pull_request) Successful in 1m53s
CI / image-build (pull_request) Successful in 29s
CI / deploy-smoke (same-origin) (pull_request) Successful in 49s
CI / deploy-smoke (split) (pull_request) Successful in 1m31s
This commit is contained in:
@@ -147,6 +147,16 @@ const DEPENDENCY_FIELDS = [
|
||||
"optionalDependencies",
|
||||
"peerDependencies",
|
||||
] as const;
|
||||
|
||||
/**
|
||||
* Runtime peers whose identity is deliberately supplied by the final consumer. The sole entry is
|
||||
* the module-side Drizzle adapter: a module chooses and bundles its own compatible Drizzle runtime,
|
||||
* while Core must never select one for it. Keep this exception package-and-dependency specific;
|
||||
* ordinary workspace packages still need production dependencies for runtime imports.
|
||||
*/
|
||||
const CONSUMER_SELECTED_RUNTIME_PEERS = new Map<string, ReadonlySet<string>>([
|
||||
["@ekklesia/module-database", new Set(["drizzle-orm"])],
|
||||
]);
|
||||
const SHARED_PACKAGE_ROLES = new Set([
|
||||
"api-client",
|
||||
"auth-client",
|
||||
@@ -1006,7 +1016,9 @@ export async function checkBoundaries(rootDirectory: string): Promise<BoundaryRe
|
||||
dependencyName === runtimePackage.name ||
|
||||
NODE_BUILTIN_MODULES.has(dependencyName) ||
|
||||
manifest.dependencies?.[dependencyName] !== undefined ||
|
||||
manifest.optionalDependencies?.[dependencyName] !== undefined
|
||||
manifest.optionalDependencies?.[dependencyName] !== undefined ||
|
||||
(manifest.peerDependencies?.[dependencyName] !== undefined &&
|
||||
CONSUMER_SELECTED_RUNTIME_PEERS.get(runtimePackage.name)?.has(dependencyName) === true)
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user