@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.
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test.log +62 -16
- package/CHANGELOG.md +30 -0
- package/dist/__tests__/db-init.test.d.ts +2 -0
- package/dist/__tests__/db-init.test.d.ts.map +1 -0
- package/dist/__tests__/db-init.test.js +127 -0
- package/dist/__tests__/db-init.test.js.map +1 -0
- package/dist/__tests__/db-sync.test.d.ts +2 -0
- package/dist/__tests__/db-sync.test.d.ts.map +1 -0
- package/dist/__tests__/db-sync.test.js +136 -0
- package/dist/__tests__/db-sync.test.js.map +1 -0
- package/dist/commands/db-init.d.ts +17 -0
- package/dist/commands/db-init.d.ts.map +1 -1
- package/dist/commands/db-init.js +100 -278
- package/dist/commands/db-init.js.map +1 -1
- package/dist/commands/db-sync.d.ts +31 -0
- package/dist/commands/db-sync.d.ts.map +1 -0
- package/dist/commands/db-sync.js +195 -0
- package/dist/commands/db-sync.js.map +1 -0
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +5 -0
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/db-init.test.ts +155 -0
- package/src/__tests__/db-sync.test.ts +167 -0
- package/src/commands/db-init.ts +93 -266
- package/src/commands/db-sync.ts +227 -0
- package/src/commands/upgrade.ts +8 -0
- package/src/index.ts +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-sync.js","sourceRoot":"","sources":["../../src/commands/db-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
package/dist/commands/upgrade.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|
+
})
|