@abgov/nx-oc 5.0.2 → 5.0.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/package.json +1 -1
- package/src/generators/deployment/deployment.js +8 -2
- package/src/generators/deployment/deployment.js.map +1 -1
- package/src/generators/deployment/deployment.spec.ts +63 -2
- package/src/generators/deployment/{express-files → node-files}/Dockerfile.template +0 -0
- package/src/generators/deployment/{express-files → node-files}/__projectName__.yml__tmpl__ +0 -0
- package/src/generators/deployment/schema.d.ts +3 -1
package/package.json
CHANGED
|
@@ -17,18 +17,24 @@ function normalizeOptions(host, options) {
|
|
|
17
17
|
const ocEnvProjects = (_d = (_c = items[0]) === null || _c === void 0 ? void 0 : _c.subjects) === null || _d === void 0 ? void 0 : _d.filter((s) => s.kind === 'Group' && s.name.startsWith(SA_PREFIX)).map((s) => s.name.replace(SA_PREFIX, ''));
|
|
18
18
|
// TODO: Find a better way to determine this.
|
|
19
19
|
const config = (0, devkit_1.readProjectConfiguration)(host, projectName);
|
|
20
|
-
let appType
|
|
20
|
+
let appType;
|
|
21
21
|
switch (config.targets.build.executor) {
|
|
22
22
|
case '@nrwl/web:webpack':
|
|
23
23
|
case '@angular-devkit/build-angular:browser':
|
|
24
24
|
appType = 'frontend';
|
|
25
25
|
break;
|
|
26
26
|
case '@nrwl/node:build':
|
|
27
|
-
appType = '
|
|
27
|
+
appType = 'node';
|
|
28
28
|
break;
|
|
29
29
|
case '@nx-dotnet/core:build':
|
|
30
30
|
appType = 'dotnet';
|
|
31
31
|
break;
|
|
32
|
+
case '@nrwl/webpack:webpack': {
|
|
33
|
+
// More recent version of NX switched to use a generic webpack executor for builds.
|
|
34
|
+
appType =
|
|
35
|
+
config.targets.build.options.target === 'node' ? 'node' : 'frontend';
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
32
38
|
}
|
|
33
39
|
return Object.assign(Object.assign({}, options), { projectName,
|
|
34
40
|
appType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../../../../packages/nx-oc/src/generators/deployment/deployment.ts"],"names":[],"mappings":";;;AAAA,yCAOsB;AACtB,6BAA6B;AAC7B,6BAA6B;AAC7B,uDAA2D;AAC3D,qDAAwD;AAGxD,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAExD,SAAS,gBAAgB,CAAC,IAAU,EAAE,OAAe;;IACnD,MAAM,WAAW,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,CAAA,MAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,QAAQ,0CAAE,SAAS,KAAI,EAAE,CAAC;IAE3D,MAAM,SAAS,GAAG,yBAAyB,CAAC;IAC5C,MAAM,aAAa,GAAG,MAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,QAAQ,0CACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAE7C,6CAA6C;IAC7C,MAAM,MAAM,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC3D,IAAI,
|
|
1
|
+
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../../../../packages/nx-oc/src/generators/deployment/deployment.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ describe('Deployment Generator', () => {
|
|
|
45
45
|
);
|
|
46
46
|
});
|
|
47
47
|
|
|
48
|
-
it('can generate deployment for react', async () => {
|
|
48
|
+
it('can generate deployment for react from nx pre 13.8', async () => {
|
|
49
49
|
const host = createTreeWithEmptyV1Workspace();
|
|
50
50
|
await pipeline(host, {
|
|
51
51
|
pipeline: 'test',
|
|
@@ -72,6 +72,36 @@ describe('Deployment Generator', () => {
|
|
|
72
72
|
expect(dockerfile).toContain('nginx');
|
|
73
73
|
});
|
|
74
74
|
|
|
75
|
+
it('can generate deployment for react', async () => {
|
|
76
|
+
const host = createTreeWithEmptyV1Workspace();
|
|
77
|
+
await pipeline(host, {
|
|
78
|
+
pipeline: 'test',
|
|
79
|
+
type: 'jenkins',
|
|
80
|
+
infra: 'test-infra',
|
|
81
|
+
envs: 'test-dev',
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
addProjectConfiguration(host, 'test', {
|
|
85
|
+
root: 'apps/test',
|
|
86
|
+
projectType: 'application',
|
|
87
|
+
targets: {
|
|
88
|
+
build: {
|
|
89
|
+
executor: '@nrwl/webpack:webpack',
|
|
90
|
+
options: {
|
|
91
|
+
compiler: 'babel'
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
await generator(host, options);
|
|
98
|
+
expect(host.exists('.openshift/test/test.yml')).toBeTruthy();
|
|
99
|
+
expect(host.exists('.openshift/test/Dockerfile')).toBeTruthy();
|
|
100
|
+
|
|
101
|
+
const dockerfile = host.read('.openshift/test/Dockerfile').toString();
|
|
102
|
+
expect(dockerfile).toContain('nginx');
|
|
103
|
+
});
|
|
104
|
+
|
|
75
105
|
it('can generate deployment for angular', async () => {
|
|
76
106
|
const host = createTreeWithEmptyV1Workspace();
|
|
77
107
|
await pipeline(host, {
|
|
@@ -99,7 +129,7 @@ describe('Deployment Generator', () => {
|
|
|
99
129
|
expect(dockerfile).toContain('nginx');
|
|
100
130
|
});
|
|
101
131
|
|
|
102
|
-
it('can generate deployment for
|
|
132
|
+
it('can generate deployment for node from nx pre 13.8', async () => {
|
|
103
133
|
const host = createTreeWithEmptyV1Workspace();
|
|
104
134
|
await pipeline(host, {
|
|
105
135
|
pipeline: 'test',
|
|
@@ -126,6 +156,37 @@ describe('Deployment Generator', () => {
|
|
|
126
156
|
expect(dockerfile).toContain('node');
|
|
127
157
|
});
|
|
128
158
|
|
|
159
|
+
it('can generate deployment for node', async () => {
|
|
160
|
+
const host = createTreeWithEmptyV1Workspace();
|
|
161
|
+
await pipeline(host, {
|
|
162
|
+
pipeline: 'test',
|
|
163
|
+
type: 'jenkins',
|
|
164
|
+
infra: 'test-infra',
|
|
165
|
+
envs: 'test-dev',
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
addProjectConfiguration(host, 'test', {
|
|
169
|
+
root: 'apps/test',
|
|
170
|
+
projectType: 'application',
|
|
171
|
+
targets: {
|
|
172
|
+
build: {
|
|
173
|
+
executor: '@nrwl/webpack:webpack',
|
|
174
|
+
options: {
|
|
175
|
+
compiler: 'tsc',
|
|
176
|
+
target: 'node',
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
await generator(host, options);
|
|
183
|
+
expect(host.exists('.openshift/test/test.yml')).toBeTruthy();
|
|
184
|
+
expect(host.exists('.openshift/test/Dockerfile')).toBeTruthy();
|
|
185
|
+
|
|
186
|
+
const dockerfile = host.read('.openshift/test/Dockerfile').toString();
|
|
187
|
+
expect(dockerfile).toContain('node');
|
|
188
|
+
});
|
|
189
|
+
|
|
129
190
|
it('can generate deployment for dotnet', async () => {
|
|
130
191
|
const host = createTreeWithEmptyV1Workspace();
|
|
131
192
|
await pipeline(host, {
|
|
File without changes
|
|
File without changes
|
|
@@ -3,9 +3,11 @@ export interface Schema {
|
|
|
3
3
|
tenant: string;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
+
export type ApplicationType = 'node' | 'dotnet' | 'frontend';
|
|
7
|
+
|
|
6
8
|
export interface NormalizedSchema extends Schema {
|
|
7
9
|
projectName: string;
|
|
8
|
-
appType:
|
|
10
|
+
appType: ApplicationType;
|
|
9
11
|
ocInfraProject: string;
|
|
10
12
|
ocEnvProjects: string[];
|
|
11
13
|
adsp?: Record<string, unknown>;
|