@actuate-media/cli 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-sync.js","sourceRoot":"","sources":["../../src/commands/db-sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE9C,6EAA6E;AAC7E,6EAA6E;AAC7E,sDAAsD;AACtD,MAAM,kBAAkB,GAAG,0CAA0C,CAAA;AAErE,uFAAuF;AACvF,wEAAwE;AACxE,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;EAgBpB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,gBAAwB;IAC1D,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACjF,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;IACtF,CAAC;IACD,MAAM,IAAI,GAAG,gBAAgB;SAC1B,KAAK,CAAC,eAAe,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACxD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAEtB,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;IAC7F,CAAC;IAED,OAAO,GAAG,aAAa,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,CAAA;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,IAAI,uBAAuB,GAAG,GAAkB,EAAE;IACvD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAA;QACzE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IACD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,uBAAuB,CAAA;AAExD,MAAM,UAAU,2BAA2B,CAAC,QAAwC;IAClF,uBAAuB,GAAG,QAAQ,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,uBAAuB,GAAG,wBAAwB,CAAA;AACpD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3D,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAaD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,kBAA0B,EAC1B,aAAqB,EACrB,OAA4B,EAAE;IAE9B,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;IAC3D,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAC1D,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAElD,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC/C,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAC7D,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;IAE3D,8BAA8B;IAC9B,IAAI,aAAa,GAAG,KAAK,CAAA;IACzB,IAAI,aAAiC,CAAA;IACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,kBAAkB,CAAC;QAC7C,CAAC,CAAC,MAAM,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;QAC7C,CAAC,CAAC,IAAI,CAAA;IAER,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACtE,aAAa;YACX,kHAAkH,CAAA;IACtH,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7C,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,SAAS,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAA;YAC/C,aAAa,GAAG,IAAI,CAAA;QACtB,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;IACjE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,MAAM,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAA;IAClF,MAAM,eAAe,GAAa,EAAE,CAAA;IAEpC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAA;QACnE,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC7B,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC1C,MAAM,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAAE;gBACzE,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;YACF,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,CAAA;AAC1D,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAAsB;IAC7C,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACjE,MAAM,OAAO,GAAG,GAAG,CAAC,mCAAmC,CAAC,CAAC,KAAK,EAAE,CAAA;IAEhE,MAAM,aAAa,GAAG,uBAAuB,EAAE,CAAA;IAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;QACzD,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;QACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACR,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAA;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,6CAA6C,aAAa,GAAG,CAAC,CAAA;QAC3E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACR,CAAC;IAED,OAAO,CAAC,IAAI,GAAG,8BAA8B,CAAA;IAC7C,IAAI,MAAoB,CAAA;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;IAC9F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACR,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAA;IAEtD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAA;IAC5D,CAAC;SAAM,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;IAC5C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,eAAe,CAAC,MAAM,oBAAoB,CAAC,CAAA;IAC5E,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;IAClF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,2EAA2E,CAAC;SACxF,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,sBAAsB,CAAC;SAC1E,MAAM,CAAC,SAAS,EAAE,iEAAiE,CAAC;SACpF,MAAM,CAAC,SAAS,CAAC,CAAA;AACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA2KnC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ7D"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAmLnC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ7D"}
@@ -144,6 +144,11 @@ async function runUpgrade(options) {
144
144
  await writeFile(pkgPath, JSON.stringify(pkg, null, 2) + '\n', 'utf-8');
145
145
  logger.success(`Updated ${upgrades.length} package(s) in package.json.`);
146
146
  logger.info('Run "pnpm install" to apply the upgrade.');
147
+ // A cms-core bump can introduce new models/migrations. Bumping the version
148
+ // alone leaves the consumer's Prisma schema stale, so point them at db:sync.
149
+ if (upgrades.some((u) => u.name === '@actuate-media/cms-core')) {
150
+ logger.info('cms-core changed — after installing, run "actuate db:sync" then "npx prisma migrate deploy" to update your Prisma schema.');
151
+ }
147
152
  }
148
153
  export function registerUpgradeCommand(program) {
149
154
  program
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@ import { registerExportCommand } from './commands/export.js';
8
8
  import { registerUpgradeCommand } from './commands/upgrade.js';
9
9
  import { registerUpdateCheckCommand } from './commands/update-check.js';
10
10
  import { registerDbInitCommand } from './commands/db-init.js';
11
+ import { registerDbSyncCommand } from './commands/db-sync.js';
11
12
  import { registerDbStatusCommand } from './commands/db-status.js';
12
13
  import { registerInitCommand } from './commands/init.js';
13
14
  import { registerDeployCheckCommand, registerDoctorCommand, registerVerifyCommand, } from './commands/doctor.js';
@@ -24,6 +25,7 @@ registerExportCommand(program);
24
25
  registerUpgradeCommand(program);
25
26
  registerUpdateCheckCommand(program);
26
27
  registerDbInitCommand(program);
28
+ registerDbSyncCommand(program);
27
29
  registerDbStatusCommand(program);
28
30
  registerInitCommand(program);
29
31
  registerDoctorCommand(program);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,6DAA6D,CAAC;KAC1E,OAAO,CAAC,OAAO,CAAC,CAAA;AAEnB,sBAAsB,CAAC,OAAO,CAAC,CAAA;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAA;AAChC,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAC5B,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAA;AAC/B,0BAA0B,CAAC,OAAO,CAAC,CAAA;AACnC,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAA;AAChC,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAC5B,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,0BAA0B,CAAC,OAAO,CAAC,CAAA;AACnC,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAE9B,OAAO,CAAC,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,6DAA6D,CAAC;KAC1E,OAAO,CAAC,OAAO,CAAC,CAAA;AAEnB,sBAAsB,CAAC,OAAO,CAAC,CAAA;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAA;AAChC,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAC5B,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAA;AAC/B,0BAA0B,CAAC,OAAO,CAAC,CAAA;AACnC,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAA;AAChC,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAC5B,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,0BAA0B,CAAC,OAAO,CAAC,CAAA;AACnC,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAE9B,OAAO,CAAC,KAAK,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actuate-media/cli",
3
- "version": "0.4.2",
3
+ "version": "0.5.0",
4
4
  "description": "CLI for Actuate CMS — migrations, codegen, imports, exports, and upgrades",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,7 +28,7 @@
28
28
  "devDependencies": {
29
29
  "typescript": "^5.7.0",
30
30
  "vitest": "^4.1.0",
31
- "@actuate-media/cms-core": "0.47.0"
31
+ "@actuate-media/cms-core": "0.51.0"
32
32
  },
33
33
  "scripts": {
34
34
  "build": "tsc",
@@ -0,0 +1,155 @@
1
+ import { Command } from 'commander'
2
+ import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'
3
+ import { tmpdir } from 'node:os'
4
+ import path from 'node:path'
5
+ import { afterEach, describe, expect, it, vi } from 'vitest'
6
+
7
+ import {
8
+ extractModelsFragment,
9
+ registerDbInitCommand,
10
+ resetCanonicalSchemaReader,
11
+ resetDbInitCommandRunner,
12
+ setCanonicalSchemaReader,
13
+ setDbInitCommandRunner,
14
+ } from '../commands/db-init.js'
15
+
16
+ const FULL_SCHEMA = `generator client {
17
+ provider = "prisma-client"
18
+ output = "../generated"
19
+ previewFeatures = ["relationJoins"]
20
+ }
21
+
22
+ datasource db {
23
+ provider = "postgresql"
24
+ }
25
+
26
+ enum DocumentStatus {
27
+ DRAFT
28
+ PUBLISHED
29
+ }
30
+
31
+ model Document {
32
+ id String @id @default(cuid())
33
+ collection String
34
+ status DocumentStatus @default(DRAFT)
35
+
36
+ @@index([collection])
37
+ @@map("actuate_documents")
38
+ }
39
+
40
+ model User {
41
+ id String @id @default(cuid())
42
+ email String @unique
43
+
44
+ @@map("actuate_users")
45
+ }
46
+ `
47
+
48
+ function consumerSchema() {
49
+ return `generator client {
50
+ provider = "prisma-client-js"
51
+ }
52
+
53
+ datasource db {
54
+ provider = "postgresql"
55
+ url = env("DATABASE_URL")
56
+ }
57
+ `
58
+ }
59
+
60
+ describe('db:init (WS-D D5 — canonical schema, no stale fragment)', () => {
61
+ afterEach(() => {
62
+ resetDbInitCommandRunner()
63
+ resetCanonicalSchemaReader()
64
+ vi.restoreAllMocks()
65
+ })
66
+
67
+ describe('extractModelsFragment', () => {
68
+ it('strips generator and datasource blocks but keeps enums + models', () => {
69
+ const fragment = extractModelsFragment(FULL_SCHEMA)
70
+ expect(fragment).not.toMatch(/generator\s+\w+\s*\{/)
71
+ expect(fragment).not.toMatch(/datasource\s+\w+\s*\{/)
72
+ expect(fragment).toContain('enum DocumentStatus')
73
+ expect(fragment).toContain('model Document')
74
+ expect(fragment).toContain('model User')
75
+ // The whole point of D5: real @@map names survive.
76
+ expect(fragment).toContain('@@map("actuate_documents")')
77
+ expect(fragment).toContain('@@map("actuate_users")')
78
+ })
79
+ })
80
+
81
+ describe('command', () => {
82
+ it('injects canonical models with @@map and no duplicate datasource/generator', async () => {
83
+ const tempRoot = await mkdtemp(path.join(tmpdir(), 'actuate-db-init-d5-'))
84
+ const schemaPath = path.join(tempRoot, 'schema.prisma')
85
+ await writeFile(schemaPath, consumerSchema())
86
+
87
+ vi.spyOn(process, 'cwd').mockReturnValue(tempRoot)
88
+ setDbInitCommandRunner(() => undefined)
89
+ setCanonicalSchemaReader(async () => FULL_SCHEMA)
90
+
91
+ const command = new Command()
92
+ registerDbInitCommand(command)
93
+ await command.parseAsync(['node', 'actuate', 'db:init', '--schema', 'schema.prisma'])
94
+
95
+ const result = await readFile(schemaPath, 'utf-8')
96
+ const injected = result.slice(result.indexOf('// ── Actuate CMS models'))
97
+
98
+ // The consumer keeps exactly one datasource/generator (their own).
99
+ expect(result.match(/datasource\s+\w+\s*\{/g)).toHaveLength(1)
100
+ expect(result.match(/generator\s+\w+\s*\{/g)).toHaveLength(1)
101
+ // Injected portion carries the canonical mapped models.
102
+ expect(injected).toContain('@@map("actuate_documents")')
103
+ expect(injected).toContain('model Document')
104
+ expect(injected).not.toMatch(/datasource\s+\w+\s*\{/)
105
+
106
+ await rm(tempRoot, { recursive: true, force: true })
107
+ })
108
+
109
+ it('fails clearly when cms-core cannot be located', async () => {
110
+ const tempRoot = await mkdtemp(path.join(tmpdir(), 'actuate-db-init-missing-'))
111
+ const schemaPath = path.join(tempRoot, 'schema.prisma')
112
+ await writeFile(schemaPath, consumerSchema())
113
+
114
+ vi.spyOn(process, 'cwd').mockReturnValue(tempRoot)
115
+ setDbInitCommandRunner(() => undefined)
116
+ setCanonicalSchemaReader(async () => null)
117
+
118
+ const command = new Command()
119
+ registerDbInitCommand(command)
120
+ await command.parseAsync(['node', 'actuate', 'db:init', '--schema', 'schema.prisma'])
121
+
122
+ // Schema must be left untouched (no stale fragment written).
123
+ const result = await readFile(schemaPath, 'utf-8')
124
+ expect(result).toBe(consumerSchema())
125
+ expect(process.exitCode).toBe(1)
126
+ process.exitCode = 0
127
+
128
+ await rm(tempRoot, { recursive: true, force: true })
129
+ })
130
+
131
+ it('is idempotent without --force', async () => {
132
+ const tempRoot = await mkdtemp(path.join(tmpdir(), 'actuate-db-init-idem-'))
133
+ const schemaPath = path.join(tempRoot, 'schema.prisma')
134
+ await writeFile(schemaPath, consumerSchema())
135
+
136
+ vi.spyOn(process, 'cwd').mockReturnValue(tempRoot)
137
+ setDbInitCommandRunner(() => undefined)
138
+ setCanonicalSchemaReader(async () => FULL_SCHEMA)
139
+
140
+ const command1 = new Command()
141
+ registerDbInitCommand(command1)
142
+ await command1.parseAsync(['node', 'actuate', 'db:init', '--schema', 'schema.prisma'])
143
+ const first = await readFile(schemaPath, 'utf-8')
144
+
145
+ const command2 = new Command()
146
+ registerDbInitCommand(command2)
147
+ await command2.parseAsync(['node', 'actuate', 'db:init', '--schema', 'schema.prisma'])
148
+ const second = await readFile(schemaPath, 'utf-8')
149
+
150
+ expect(second).toBe(first)
151
+
152
+ await rm(tempRoot, { recursive: true, force: true })
153
+ })
154
+ })
155
+ })
@@ -0,0 +1,167 @@
1
+ import { mkdtemp, mkdir, readFile, readdir, rm, writeFile } from 'node:fs/promises'
2
+ import { tmpdir } from 'node:os'
3
+ import path from 'node:path'
4
+ import { afterEach, describe, expect, it } from 'vitest'
5
+
6
+ import { buildConsumerSchema, syncPrismaAssets } from '../commands/db-sync.js'
7
+
8
+ const CORE_SCHEMA = `generator client {
9
+ provider = "prisma-client"
10
+ output = "../generated"
11
+ }
12
+
13
+ datasource db {
14
+ provider = "postgresql"
15
+ }
16
+
17
+ enum DocumentStatus {
18
+ DRAFT
19
+ PUBLISHED
20
+ }
21
+
22
+ model User {
23
+ id String @id @default(cuid())
24
+ email String @unique
25
+
26
+ @@map("actuate_users")
27
+ }
28
+
29
+ model Document {
30
+ id String @id @default(cuid())
31
+ status DocumentStatus @default(DRAFT)
32
+
33
+ @@map("actuate_documents")
34
+ }
35
+ `
36
+
37
+ async function makeCorePrismaDir(migrations: string[]): Promise<string> {
38
+ const dir = await mkdtemp(path.join(tmpdir(), 'core-prisma-'))
39
+ await writeFile(path.join(dir, 'schema.prisma'), CORE_SCHEMA)
40
+ const migrationsDir = path.join(dir, 'migrations')
41
+ await mkdir(migrationsDir, { recursive: true })
42
+ await writeFile(path.join(migrationsDir, 'migration_lock.toml'), 'provider = "postgresql"\n')
43
+ for (const m of migrations) {
44
+ await mkdir(path.join(migrationsDir, m), { recursive: true })
45
+ await writeFile(path.join(migrationsDir, m, 'migration.sql'), `-- ${m}\n`)
46
+ }
47
+ return dir
48
+ }
49
+
50
+ describe('db:sync (WS-D D2 — post-upgrade schema sync)', () => {
51
+ const temps: string[] = []
52
+ afterEach(async () => {
53
+ await Promise.all(temps.map((t) => rm(t, { recursive: true, force: true })))
54
+ temps.length = 0
55
+ })
56
+
57
+ describe('buildConsumerSchema', () => {
58
+ it('strips cms-core generator/datasource and emits the consumer header', () => {
59
+ const schema = buildConsumerSchema(CORE_SCHEMA)
60
+ expect(schema).toContain('AUTO-SYNCED from @actuate-media/cms-core')
61
+ expect(schema).toContain('output = "../generated/prisma"')
62
+ // The cms-core generator output path must not leak through.
63
+ expect(schema).not.toContain('output = "../generated"')
64
+ // Exactly one datasource/generator (the consumer header).
65
+ expect(schema.match(/generator\s+\w+\s*\{/g)).toHaveLength(1)
66
+ expect(schema.match(/datasource\s+\w+\s*\{/g)).toHaveLength(1)
67
+ expect(schema).toContain('@@map("actuate_users")')
68
+ expect(schema).toContain('@@map("actuate_documents")')
69
+ })
70
+
71
+ it('throws if the cms-core body lost its @@map names', () => {
72
+ const broken = CORE_SCHEMA.replace('@@map("actuate_users")', '')
73
+ expect(() => buildConsumerSchema(broken)).toThrow(/actuate_users/)
74
+ })
75
+ })
76
+
77
+ describe('syncPrismaAssets', () => {
78
+ it('refreshes an auto-synced schema and adds missing migrations', async () => {
79
+ const coreDir = await makeCorePrismaDir(['0001_init', '0002_new'])
80
+ const projectDir = await mkdtemp(path.join(tmpdir(), 'consumer-'))
81
+ temps.push(coreDir, projectDir)
82
+
83
+ const prismaDir = path.join(projectDir, 'prisma')
84
+ await mkdir(path.join(prismaDir, 'migrations', '0001_init'), { recursive: true })
85
+ await writeFile(
86
+ path.join(prismaDir, 'migrations', '0001_init', 'migration.sql'),
87
+ '-- already here\n',
88
+ )
89
+ // An auto-synced (stale) schema.
90
+ await writeFile(
91
+ path.join(prismaDir, 'schema.prisma'),
92
+ '// AUTO-SYNCED from @actuate-media/cms-core\nmodel Old {}\n',
93
+ )
94
+
95
+ const result = await syncPrismaAssets(path.join(prismaDir, 'schema.prisma'), coreDir)
96
+
97
+ expect(result.schemaWritten).toBe(true)
98
+ expect(result.migrationsAdded).toEqual(['0002_new'])
99
+ expect(result.skippedReason).toBeUndefined()
100
+
101
+ const schema = await readFile(path.join(prismaDir, 'schema.prisma'), 'utf-8')
102
+ expect(schema).toContain('@@map("actuate_users")')
103
+
104
+ // The pre-existing migration is untouched (immutable history preserved).
105
+ const existing = await readFile(
106
+ path.join(prismaDir, 'migrations', '0001_init', 'migration.sql'),
107
+ 'utf-8',
108
+ )
109
+ expect(existing).toBe('-- already here\n')
110
+ const dirs = (await readdir(path.join(prismaDir, 'migrations'), { withFileTypes: true }))
111
+ .filter((e) => e.isDirectory())
112
+ .map((e) => e.name)
113
+ .sort()
114
+ expect(dirs).toEqual(['0001_init', '0002_new'])
115
+ })
116
+
117
+ it('refuses to overwrite a customized (non-auto-synced) schema without --force', async () => {
118
+ const coreDir = await makeCorePrismaDir(['0001_init'])
119
+ const projectDir = await mkdtemp(path.join(tmpdir(), 'consumer-custom-'))
120
+ temps.push(coreDir, projectDir)
121
+
122
+ const schemaPath = path.join(projectDir, 'prisma', 'schema.prisma')
123
+ await mkdir(path.dirname(schemaPath), { recursive: true })
124
+ const custom = 'datasource db {\n provider = "postgresql"\n}\n\nmodel MyThing {}\n'
125
+ await writeFile(schemaPath, custom)
126
+
127
+ const result = await syncPrismaAssets(schemaPath, coreDir)
128
+
129
+ expect(result.schemaWritten).toBe(false)
130
+ expect(result.skippedReason).toMatch(/AUTO-SYNCED/)
131
+ // Custom schema untouched...
132
+ expect(await readFile(schemaPath, 'utf-8')).toBe(custom)
133
+ // ...but migrations are still synced additively.
134
+ expect(result.migrationsAdded).toEqual(['0001_init'])
135
+ })
136
+
137
+ it('overwrites a customized schema when --force is set', async () => {
138
+ const coreDir = await makeCorePrismaDir(['0001_init'])
139
+ const projectDir = await mkdtemp(path.join(tmpdir(), 'consumer-force-'))
140
+ temps.push(coreDir, projectDir)
141
+
142
+ const schemaPath = path.join(projectDir, 'prisma', 'schema.prisma')
143
+ await mkdir(path.dirname(schemaPath), { recursive: true })
144
+ await writeFile(schemaPath, 'model MyThing {}\n')
145
+
146
+ const result = await syncPrismaAssets(schemaPath, coreDir, { force: true })
147
+
148
+ expect(result.schemaWritten).toBe(true)
149
+ expect(await readFile(schemaPath, 'utf-8')).toContain('@@map("actuate_users")')
150
+ })
151
+
152
+ it('is idempotent — a second run writes nothing', async () => {
153
+ const coreDir = await makeCorePrismaDir(['0001_init'])
154
+ const projectDir = await mkdtemp(path.join(tmpdir(), 'consumer-idem-'))
155
+ temps.push(coreDir, projectDir)
156
+
157
+ const schemaPath = path.join(projectDir, 'prisma', 'schema.prisma')
158
+ const first = await syncPrismaAssets(schemaPath, coreDir)
159
+ expect(first.schemaWritten).toBe(true)
160
+ expect(first.migrationsAdded).toEqual(['0001_init'])
161
+
162
+ const second = await syncPrismaAssets(schemaPath, coreDir)
163
+ expect(second.schemaWritten).toBe(false)
164
+ expect(second.migrationsAdded).toEqual([])
165
+ })
166
+ })
167
+ })