Signage no longer needs an Ekklesia checkout. A clean clone installs with `pnpm install --frozen-lockfile` and runs lint, typecheck, test, build, and validate by itself, taking Ekklesia's module-development packages from Ekklesia's public registry (ADRs 0053 and 0054). - Dependencies: every `workspace:*` becomes `^0.2.0`. @ekklesia/module-pack is added as a devDependency pinned exactly to 0.2.0, as ADR 0053 requires; it is not invoked yet. No @ekklesia/contracts dependency. drizzle-orm stays a direct dependency, satisfying the adapter's optional peer. - .npmrc points the @ekklesia scope at https://git.riverofglorymn.org/api/packages/River_of_Glory_Church/npm/ with no credential, because reading needs none. - pnpm-workspace.yaml holds this repository's pnpm settings only: - `allowBuilds: esbuild: true`, as the platform's standalone fixture does; - exact-version minimumReleaseAgeExclude entries for the 0.2.0 train, which pnpm 11 otherwise holds back on its release day; - the platform's narrowly scoped override for GHSA-67mh-4wv8-2f99 (esbuild via drizzle-kit), which Signage inherited while it built inside Ekklesia's workspace. - engines.node `>=24.11.0 <25` and packageManager `[email protected].0`, both from Ekklesia 0.2.0. Node 24.18.0 goes in .node-version for CI, as in Ekklesia. - biome.json carries the platform's Biome configuration, which `biome lint` used to pick up from the workspace root, so lint rules are unchanged. - pnpm-lock.yaml is Signage's own: registry tarballs with integrity hashes, and no workspace or file links. - `prepack` runs this package's own build instead of the workspace root's turbo. - `pnpm validate` (scripts/validate-module.mjs) checks the built package and its migrations with the published SDK parsers only: - the manifest, its identity, and its entrypoints; - that the built runtime's id, version, and database ABI match the manifest; - that the built schema metadata is plain, namespaced, and has module-internal foreign keys; - the SDK compatibility range; - that the migration journal and policy agree. Core's own `modules:validate` and `migrations:validate` are not published. What only an Ekklesia installation can check is named in the script. Removed: ci/assemble.sh, ci/platform.env, ci/pnpm-lock.yaml, ci/update-lock.sh. The lint, typecheck, test, and build jobs check out only this repository; build also runs `pnpm validate`. The integration job stays disabled. Its first step is now an explicit placeholder rather than the deleted assembly, and its explanation says it returns when Signage is a canonical linux-x64-glibc Module Package installed into Ekklesia's generic image. No source, behaviour, schema, or version change: Signage stays 0.1.2. Co-Authored-By: Claude Opus 5.5 <[email protected]>
63 lines
1.8 KiB
JSON
63 lines
1.8 KiB
JSON
{
|
|
"name": "@ekklesia/signage",
|
|
"version": "0.1.2",
|
|
"private": true,
|
|
"type": "module",
|
|
"packageManager": "[email protected]",
|
|
"engines": {
|
|
"node": ">=24.11.0 <25"
|
|
},
|
|
"description": "Ekklesia's visual programming, timeline, synchronization, and display-delivery module.",
|
|
"files": [
|
|
"dist",
|
|
"drizzle",
|
|
"ekklesia.module.json"
|
|
],
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/server/index.d.ts",
|
|
"import": "./dist/server/index.js"
|
|
},
|
|
"./server": {
|
|
"types": "./dist/server/index.d.ts",
|
|
"import": "./dist/server/index.js"
|
|
}
|
|
},
|
|
"scripts": {
|
|
"build": "tsc --project tsconfig.build.json && ekklesia-build-module-ui",
|
|
"lint": "biome lint .",
|
|
"migration:generate": "drizzle-kit generate --config=drizzle.config.ts",
|
|
"prepack": "pnpm run build",
|
|
"test": "vitest run",
|
|
"typecheck": "tsc --noEmit --project tsconfig.json && tsc --noEmit --project tsconfig.ui.json && tsc --noEmit --project tsconfig.ui-test.json",
|
|
"validate": "node scripts/validate-module.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@ekklesia/design-tokens": "^0.2.0",
|
|
"@ekklesia/module-database": "^0.2.0",
|
|
"@ekklesia/module-sdk": "^0.2.0",
|
|
"@ekklesia/module-ui-sdk": "^0.2.0",
|
|
"@ekklesia/ui": "^0.2.0",
|
|
"drizzle-orm": "0.45.2",
|
|
"react": "19.2.8",
|
|
"react-dom": "19.2.8",
|
|
"sharp": "0.35.4"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "2.5.3",
|
|
"@ekklesia/module-pack": "0.2.0",
|
|
"@ekklesia/module-ui-build": "^0.2.0",
|
|
"@ekklesia/typescript-config": "^0.2.0",
|
|
"@types/node": "24.13.3",
|
|
"@types/react": "19.2.18",
|
|
"@types/react-dom": "19.2.4",
|
|
"drizzle-kit": "0.31.10",
|
|
"happy-dom": "20.0.11",
|
|
"typescript": "7.0.2",
|
|
"vitest": "4.1.10"
|
|
},
|
|
"ekklesia": {
|
|
"layer": "module"
|
|
}
|
|
}
|