popeye-cli 1.9.2 → 1.9.3
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/dist/generators/all.d.ts +4 -0
- package/dist/generators/all.d.ts.map +1 -1
- package/dist/generators/all.js +7 -22
- package/dist/generators/all.js.map +1 -1
- package/dist/generators/templates/database-docker.d.ts +2 -1
- package/dist/generators/templates/database-docker.d.ts.map +1 -1
- package/dist/generators/templates/database-docker.js +3 -17
- package/dist/generators/templates/database-docker.js.map +1 -1
- package/package.json +1 -1
- package/src/generators/all.ts +7 -22
- package/src/generators/templates/database-docker.ts +3 -17
- package/tests/generators/database.test.ts +3 -2
- package/tests/generators/fe-be-db-integration.test.ts +4 -3
package/dist/generators/all.d.ts
CHANGED
|
@@ -27,6 +27,10 @@ export declare function generateRootPackageJson(projectName: string): string;
|
|
|
27
27
|
/**
|
|
28
28
|
* Generate docker-compose.yml for "all" projects
|
|
29
29
|
*/
|
|
30
|
+
/**
|
|
31
|
+
* Generate docker-compose.yml for "all" projects (FE + BE only).
|
|
32
|
+
* Website runs via `npm run dev` / `npm run build && npm start` outside Docker.
|
|
33
|
+
*/
|
|
30
34
|
export declare function generateAllDockerCompose(projectName: string): string;
|
|
31
35
|
/**
|
|
32
36
|
* Generate design tokens package
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/generators/all.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAMlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sEAAsE;IACtE,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAuBD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/generators/all.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAMlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sEAAsE;IACtE,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAuBD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA+EpE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA4BnE;AAED;;GAEG;AACH;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAoCpE;AA4HD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,iBAAiB,GAC9B;IACD,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD,CAEA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG;IACtD,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD,CAEA;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAsI3B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA2ChE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC,CAqCD"}
|
package/dist/generators/all.js
CHANGED
|
@@ -85,11 +85,7 @@ export function generateAllWorkspaceJson(projectName) {
|
|
|
85
85
|
dev: 'npm run dev',
|
|
86
86
|
typecheck: 'npm run typecheck',
|
|
87
87
|
},
|
|
88
|
-
docker
|
|
89
|
-
dockerfile: 'apps/website/Dockerfile',
|
|
90
|
-
imageName: `${projectName}-website`,
|
|
91
|
-
context: 'apps/website',
|
|
92
|
-
},
|
|
88
|
+
// No docker — website runs outside Docker (npm run dev / npm start)
|
|
93
89
|
dependsOn: ['packages/design-tokens'],
|
|
94
90
|
contextRoots: ['apps/website/src'],
|
|
95
91
|
},
|
|
@@ -141,10 +137,12 @@ export function generateRootPackageJson(projectName) {
|
|
|
141
137
|
/**
|
|
142
138
|
* Generate docker-compose.yml for "all" projects
|
|
143
139
|
*/
|
|
140
|
+
/**
|
|
141
|
+
* Generate docker-compose.yml for "all" projects (FE + BE only).
|
|
142
|
+
* Website runs via `npm run dev` / `npm run build && npm start` outside Docker.
|
|
143
|
+
*/
|
|
144
144
|
export function generateAllDockerCompose(projectName) {
|
|
145
|
-
return `
|
|
146
|
-
|
|
147
|
-
services:
|
|
145
|
+
return `services:
|
|
148
146
|
frontend:
|
|
149
147
|
build:
|
|
150
148
|
context: apps/frontend
|
|
@@ -167,24 +165,11 @@ services:
|
|
|
167
165
|
environment:
|
|
168
166
|
- DEBUG=false
|
|
169
167
|
- FRONTEND_URL=http://frontend:80
|
|
170
|
-
- WEBSITE_URL=http://website:3000
|
|
171
168
|
volumes:
|
|
172
169
|
- backend-data:/app/data
|
|
173
170
|
networks:
|
|
174
171
|
- ${projectName}-network
|
|
175
172
|
|
|
176
|
-
website:
|
|
177
|
-
build:
|
|
178
|
-
context: apps/website
|
|
179
|
-
dockerfile: Dockerfile
|
|
180
|
-
ports:
|
|
181
|
-
- "3001:3000"
|
|
182
|
-
environment:
|
|
183
|
-
- NODE_ENV=production
|
|
184
|
-
- NEXT_PUBLIC_APP_URL=http://localhost:3000
|
|
185
|
-
networks:
|
|
186
|
-
- ${projectName}-network
|
|
187
|
-
|
|
188
173
|
networks:
|
|
189
174
|
${projectName}-network:
|
|
190
175
|
driver: bridge
|
|
@@ -379,7 +364,7 @@ export async function generateAllProject(spec, outputDir, options = {}) {
|
|
|
379
364
|
const websiteResult = await generateWebsiteProject(spec, projectDir, {
|
|
380
365
|
baseDir: path.join(projectDir, 'apps', 'website'),
|
|
381
366
|
workspaceMode: true,
|
|
382
|
-
skipDocker:
|
|
367
|
+
skipDocker: true, // Website runs outside Docker (npm run dev / npm start)
|
|
383
368
|
skipReadme: false,
|
|
384
369
|
contentContext: contentContext,
|
|
385
370
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/generators/all.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/generators/all.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@ export declare function generatePostgresServiceYaml(projectName: string): string
|
|
|
13
13
|
*/
|
|
14
14
|
export declare function generateDockerComposeWithDb(projectName: string): string;
|
|
15
15
|
/**
|
|
16
|
-
* Generate full docker-compose.yml for "all" projects (FE + BE +
|
|
16
|
+
* Generate full docker-compose.yml for "all" projects (FE + BE + Postgres)
|
|
17
|
+
* Website runs via `npm run dev` / `npm run build && npm start` outside Docker.
|
|
17
18
|
*/
|
|
18
19
|
export declare function generateAllDockerComposeWithDb(projectName: string): string;
|
|
19
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-docker.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/database-docker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAkBvE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAwFvE;AAED
|
|
1
|
+
{"version":3,"file":"database-docker.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/database-docker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAkBvE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAwFvE;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA+D1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAiBhE"}
|
|
@@ -118,13 +118,12 @@ volumes:
|
|
|
118
118
|
`;
|
|
119
119
|
}
|
|
120
120
|
/**
|
|
121
|
-
* Generate full docker-compose.yml for "all" projects (FE + BE +
|
|
121
|
+
* Generate full docker-compose.yml for "all" projects (FE + BE + Postgres)
|
|
122
|
+
* Website runs via `npm run dev` / `npm run build && npm start` outside Docker.
|
|
122
123
|
*/
|
|
123
124
|
export function generateAllDockerComposeWithDb(projectName) {
|
|
124
125
|
const dbName = projectName.replace(/-/g, '_') + '_db';
|
|
125
|
-
return `
|
|
126
|
-
|
|
127
|
-
services:
|
|
126
|
+
return `services:
|
|
128
127
|
frontend:
|
|
129
128
|
build:
|
|
130
129
|
context: apps/frontend
|
|
@@ -147,7 +146,6 @@ services:
|
|
|
147
146
|
environment:
|
|
148
147
|
- DEBUG=false
|
|
149
148
|
- FRONTEND_URL=http://frontend:80
|
|
150
|
-
- WEBSITE_URL=http://website:3000
|
|
151
149
|
- DATABASE_URL=postgresql+asyncpg://postgres:postgres@postgres:5432/${dbName}
|
|
152
150
|
volumes:
|
|
153
151
|
- backend-data:/app/data
|
|
@@ -157,18 +155,6 @@ services:
|
|
|
157
155
|
networks:
|
|
158
156
|
- ${projectName}-network
|
|
159
157
|
|
|
160
|
-
website:
|
|
161
|
-
build:
|
|
162
|
-
context: apps/website
|
|
163
|
-
dockerfile: Dockerfile
|
|
164
|
-
ports:
|
|
165
|
-
- "3001:3000"
|
|
166
|
-
environment:
|
|
167
|
-
- NODE_ENV=production
|
|
168
|
-
- NEXT_PUBLIC_APP_URL=http://localhost:3000
|
|
169
|
-
networks:
|
|
170
|
-
- ${projectName}-network
|
|
171
|
-
|
|
172
158
|
postgres:
|
|
173
159
|
image: postgres:16-alpine
|
|
174
160
|
container_name: ${projectName}-postgres
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-docker.js","sourceRoot":"","sources":["../../../src/generators/templates/database-docker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,OAAO;;sBAEa,WAAW;;;;;sBAKX,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;;;;;;;;;iBASnC,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAEtD,OAAO;;;;;;;sBAOa,WAAW;;;;;;;;;;;;sBAYX,WAAW;;;;;;;4EAO2C,MAAM;;;;;;;;;sBAS5D,WAAW;;;;;sBAKX,MAAM;;;;;;;;;;;;;;;sBAeN,WAAW;;;;;;;;;;;;;sBAaX,WAAW;;;;;;;4EAO2C,MAAM;;;;;;;;;CASjF,CAAC;AACF,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"database-docker.js","sourceRoot":"","sources":["../../../src/generators/templates/database-docker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,OAAO;;sBAEa,WAAW;;;;;sBAKX,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;;;;;;;;;iBASnC,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAEtD,OAAO;;;;;;;sBAOa,WAAW;;;;;;;;;;;;sBAYX,WAAW;;;;;;;4EAO2C,MAAM;;;;;;;;;sBAS5D,WAAW;;;;;sBAKX,MAAM;;;;;;;;;;;;;;;sBAeN,WAAW;;;;;;;;;;;;;sBAaX,WAAW;;;;;;;4EAO2C,MAAM;;;;;;;;;CASjF,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,WAAmB;IAChE,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAEtD,OAAO;;;;;;;;;;;;UAYC,WAAW;;;;;;;;;;;4EAWuD,MAAM;;;;;;;UAOxE,WAAW;;;;sBAIC,WAAW;;;;;sBAKX,MAAM;;;;;;;;;;;UAWlB,WAAW;;;IAGjB,WAAW;;;;;;CAMd,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAEtD,OAAO;;;qEAG4D,MAAM;;;cAG7D,MAAM;;;;;;;CAOnB,CAAC;AACF,CAAC"}
|
package/package.json
CHANGED
package/src/generators/all.ts
CHANGED
|
@@ -109,11 +109,7 @@ export function generateAllWorkspaceJson(projectName: string): string {
|
|
|
109
109
|
dev: 'npm run dev',
|
|
110
110
|
typecheck: 'npm run typecheck',
|
|
111
111
|
},
|
|
112
|
-
docker
|
|
113
|
-
dockerfile: 'apps/website/Dockerfile',
|
|
114
|
-
imageName: `${projectName}-website`,
|
|
115
|
-
context: 'apps/website',
|
|
116
|
-
},
|
|
112
|
+
// No docker — website runs outside Docker (npm run dev / npm start)
|
|
117
113
|
dependsOn: ['packages/design-tokens'],
|
|
118
114
|
contextRoots: ['apps/website/src'],
|
|
119
115
|
},
|
|
@@ -176,10 +172,12 @@ export function generateRootPackageJson(projectName: string): string {
|
|
|
176
172
|
/**
|
|
177
173
|
* Generate docker-compose.yml for "all" projects
|
|
178
174
|
*/
|
|
175
|
+
/**
|
|
176
|
+
* Generate docker-compose.yml for "all" projects (FE + BE only).
|
|
177
|
+
* Website runs via `npm run dev` / `npm run build && npm start` outside Docker.
|
|
178
|
+
*/
|
|
179
179
|
export function generateAllDockerCompose(projectName: string): string {
|
|
180
|
-
return `
|
|
181
|
-
|
|
182
|
-
services:
|
|
180
|
+
return `services:
|
|
183
181
|
frontend:
|
|
184
182
|
build:
|
|
185
183
|
context: apps/frontend
|
|
@@ -202,24 +200,11 @@ services:
|
|
|
202
200
|
environment:
|
|
203
201
|
- DEBUG=false
|
|
204
202
|
- FRONTEND_URL=http://frontend:80
|
|
205
|
-
- WEBSITE_URL=http://website:3000
|
|
206
203
|
volumes:
|
|
207
204
|
- backend-data:/app/data
|
|
208
205
|
networks:
|
|
209
206
|
- ${projectName}-network
|
|
210
207
|
|
|
211
|
-
website:
|
|
212
|
-
build:
|
|
213
|
-
context: apps/website
|
|
214
|
-
dockerfile: Dockerfile
|
|
215
|
-
ports:
|
|
216
|
-
- "3001:3000"
|
|
217
|
-
environment:
|
|
218
|
-
- NODE_ENV=production
|
|
219
|
-
- NEXT_PUBLIC_APP_URL=http://localhost:3000
|
|
220
|
-
networks:
|
|
221
|
-
- ${projectName}-network
|
|
222
|
-
|
|
223
208
|
networks:
|
|
224
209
|
${projectName}-network:
|
|
225
210
|
driver: bridge
|
|
@@ -434,7 +419,7 @@ export async function generateAllProject(
|
|
|
434
419
|
const websiteResult = await generateWebsiteProject(spec, projectDir, {
|
|
435
420
|
baseDir: path.join(projectDir, 'apps', 'website'),
|
|
436
421
|
workspaceMode: true,
|
|
437
|
-
skipDocker:
|
|
422
|
+
skipDocker: true, // Website runs outside Docker (npm run dev / npm start)
|
|
438
423
|
skipReadme: false,
|
|
439
424
|
contentContext: contentContext,
|
|
440
425
|
});
|
|
@@ -122,14 +122,13 @@ volumes:
|
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
/**
|
|
125
|
-
* Generate full docker-compose.yml for "all" projects (FE + BE +
|
|
125
|
+
* Generate full docker-compose.yml for "all" projects (FE + BE + Postgres)
|
|
126
|
+
* Website runs via `npm run dev` / `npm run build && npm start` outside Docker.
|
|
126
127
|
*/
|
|
127
128
|
export function generateAllDockerComposeWithDb(projectName: string): string {
|
|
128
129
|
const dbName = projectName.replace(/-/g, '_') + '_db';
|
|
129
130
|
|
|
130
|
-
return `
|
|
131
|
-
|
|
132
|
-
services:
|
|
131
|
+
return `services:
|
|
133
132
|
frontend:
|
|
134
133
|
build:
|
|
135
134
|
context: apps/frontend
|
|
@@ -152,7 +151,6 @@ services:
|
|
|
152
151
|
environment:
|
|
153
152
|
- DEBUG=false
|
|
154
153
|
- FRONTEND_URL=http://frontend:80
|
|
155
|
-
- WEBSITE_URL=http://website:3000
|
|
156
154
|
- DATABASE_URL=postgresql+asyncpg://postgres:postgres@postgres:5432/${dbName}
|
|
157
155
|
volumes:
|
|
158
156
|
- backend-data:/app/data
|
|
@@ -162,18 +160,6 @@ services:
|
|
|
162
160
|
networks:
|
|
163
161
|
- ${projectName}-network
|
|
164
162
|
|
|
165
|
-
website:
|
|
166
|
-
build:
|
|
167
|
-
context: apps/website
|
|
168
|
-
dockerfile: Dockerfile
|
|
169
|
-
ports:
|
|
170
|
-
- "3001:3000"
|
|
171
|
-
environment:
|
|
172
|
-
- NODE_ENV=production
|
|
173
|
-
- NEXT_PUBLIC_APP_URL=http://localhost:3000
|
|
174
|
-
networks:
|
|
175
|
-
- ${projectName}-network
|
|
176
|
-
|
|
177
163
|
postgres:
|
|
178
164
|
image: postgres:16-alpine
|
|
179
165
|
container_name: ${projectName}-postgres
|
|
@@ -299,12 +299,13 @@ describe('generateDockerComposeWithDb', () => {
|
|
|
299
299
|
});
|
|
300
300
|
|
|
301
301
|
describe('generateAllDockerComposeWithDb', () => {
|
|
302
|
-
it('should include postgres, frontend, backend
|
|
302
|
+
it('should include postgres, frontend, and backend services (no website)', () => {
|
|
303
303
|
const result = generateAllDockerComposeWithDb(TEST_PROJECT);
|
|
304
304
|
expect(result).toContain('postgres:');
|
|
305
305
|
expect(result).toContain('frontend:');
|
|
306
306
|
expect(result).toContain('backend:');
|
|
307
|
-
|
|
307
|
+
// Website runs outside Docker (npm run dev / npm start)
|
|
308
|
+
expect(result).not.toContain('website:');
|
|
308
309
|
});
|
|
309
310
|
|
|
310
311
|
it('should have backend depends_on postgres with healthy condition', () => {
|
|
@@ -328,11 +328,12 @@ describe('Docker Compose: Fullstack service wiring', () => {
|
|
|
328
328
|
describe('Docker Compose: All project service wiring', () => {
|
|
329
329
|
const compose = generateAllDockerComposeWithDb(TEST_PROJECT);
|
|
330
330
|
|
|
331
|
-
it('should include frontend, backend,
|
|
331
|
+
it('should include frontend, backend, and postgres services (no website)', () => {
|
|
332
332
|
expect(compose).toContain('frontend:');
|
|
333
333
|
expect(compose).toContain('backend:');
|
|
334
|
-
expect(compose).toContain('website:');
|
|
335
334
|
expect(compose).toContain('postgres:');
|
|
335
|
+
// Website runs outside Docker (npm run dev / npm start)
|
|
336
|
+
expect(compose).not.toContain('website:');
|
|
336
337
|
});
|
|
337
338
|
|
|
338
339
|
it('backend should depend on postgres with health condition', () => {
|
|
@@ -344,7 +345,7 @@ describe('Docker Compose: All project service wiring', () => {
|
|
|
344
345
|
expect(compose).toContain(networkName);
|
|
345
346
|
// Count network references - should appear in services + network definition
|
|
346
347
|
const networkCount = (compose.match(new RegExp(networkName, 'g')) || []).length;
|
|
347
|
-
expect(networkCount).toBeGreaterThanOrEqual(
|
|
348
|
+
expect(networkCount).toBeGreaterThanOrEqual(4); // 3 services + 1 definition
|
|
348
349
|
});
|
|
349
350
|
|
|
350
351
|
it('frontend API URL should point to backend service', () => {
|