feat: transition module packages to database ABI v1
CI / verify (pull_request) Successful in 1m1s
CI / infrastructure-smoke (pull_request) Successful in 36s
CI / migration-smoke (pull_request) Successful in 1m54s
CI / image-build (pull_request) Successful in 31s
CI / deploy-smoke (same-origin) (pull_request) Successful in 52s
CI / deploy-smoke (split) (pull_request) Successful in 1m32s
CI / verify (pull_request) Successful in 1m1s
CI / infrastructure-smoke (pull_request) Successful in 36s
CI / migration-smoke (pull_request) Successful in 1m54s
CI / image-build (pull_request) Successful in 31s
CI / deploy-smoke (same-origin) (pull_request) Successful in 52s
CI / deploy-smoke (split) (pull_request) Successful in 1m32s
This commit is contained in:
@@ -17,7 +17,7 @@ import {
|
||||
import { analyzeModuleUi, ModuleUiBuildError } from "@ekklesia/module-ui-build";
|
||||
import { build, type Message, type Plugin } from "esbuild";
|
||||
import { minVersion, satisfies, validRange } from "semver";
|
||||
import { NoticeError, type NoticeComponent, type NoticeUse, thirdPartyNotices } from "./notices.js";
|
||||
import { type NoticeComponent, NoticeError, type NoticeUse, thirdPartyNotices } from "./notices.js";
|
||||
import { BundledPackageIndex, isNativeOrPlatformSpecific } from "./packages.js";
|
||||
import { deterministicTarGz, TarPathError } from "./tar.js";
|
||||
|
||||
@@ -440,7 +440,8 @@ export async function packModule(options: PackModuleOptions): Promise<ModulePack
|
||||
components.set(key, { bundled, uses: new Set([use]) });
|
||||
}
|
||||
}
|
||||
if (drizzleVersions.size > 1) {
|
||||
const usesDatabaseAbi = manifest.database?.abi === 1;
|
||||
if (!usesDatabaseAbi && drizzleVersions.size > 1) {
|
||||
throw new ModulePackError("MODULE_PACK_DATABASE_RUNTIME_CONFLICT");
|
||||
}
|
||||
const sdk = incorporates.get("@ekklesia/module-sdk");
|
||||
@@ -531,7 +532,7 @@ export async function packModule(options: PackModuleOptions): Promise<ModulePack
|
||||
incorporates: Object.fromEntries(
|
||||
[...incorporates].sort(([left], [right]) => compare(left, right)),
|
||||
),
|
||||
...(drizzleVersions.size === 1
|
||||
...(!usesDatabaseAbi && drizzleVersions.size === 1
|
||||
? { transitional: { databaseRuntime: { "drizzle-orm": [...drizzleVersions][0] } } }
|
||||
: {}),
|
||||
files: listed.map((file) => ({ path: file.path, size: file.size, sha256: file.sha256 })),
|
||||
|
||||
Reference in New Issue
Block a user