@abgov/nx-oc 5.0.2 → 5.0.3-beta.1

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abgov/nx-oc",
3
- "version": "5.0.2",
3
+ "version": "5.0.3-beta.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "src/index.js",
6
6
  "description": "Government of Alberta - Nx plugin for OpenShift.",
@@ -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 = null;
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 = 'express';
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":"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"}
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,OAAwB,CAAC;IAC7B,QAAQ,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;QACrC,KAAK,mBAAmB,CAAC;QACzB,KAAK,uCAAuC;YAC1C,OAAO,GAAG,UAAU,CAAC;YACrB,MAAM;QACR,KAAK,kBAAkB;YACrB,OAAO,GAAG,MAAM,CAAC;YACjB,MAAM;QACR,KAAK,uBAAuB;YAC1B,OAAO,GAAG,QAAQ,CAAC;YACnB,MAAM;QACR,KAAK,uBAAuB,CAAC,CAAC;YAC5B,mFAAmF;YACnF,OAAO;gBACL,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;YACvE,MAAM;SACP;KACF;IAED,uCACK,OAAO,KACV,WAAW;QACX,OAAO;QACP,cAAc;QACd,aAAa,IACb;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU,EAAE,OAAyB;IACrD,MAAM,eAAe,iDAChB,OAAO,GACP,OAAO,CAAC,IAAI,KACf,mBAAmB,EAAE,IAAA,2BAAe,GAAE,EACtC,IAAI,EAAE,EAAE,GACT,CAAC;IACF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,OAAO,QAAQ,CAAC,EAChD,gBAAgB,OAAO,CAAC,WAAW,EAAE,EACrC,eAAe,CAChB,CAAC;AACJ,CAAC;AAED,mBAA+B,IAAU,EAAE,OAAe;;QACxD,MAAM,MAAM,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,WAAW,KAAK,aAAa,EAAE;YACxC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YACnC,OAAO,CAAC,GAAG,CACT,sEAAsE,CACvE,CAAC;YACF,OAAO;SACR;QAED,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,OAAO;SACR;QAED,MAAM,CAAC,OAAO,mCACT,MAAM,CAAC,OAAO,KACjB,YAAY,EAAE;gBACZ,QAAQ,EAAE,oBAAoB;gBAC9B,OAAO,EAAE;oBACP,SAAS,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;;wBAAC,OAAA,CAAC;4BAC9D,OAAO;4BACP,GAAG,EAAE,MAAA,4BAAI,CAAC,CAAC,CAAC,0CAAE,WAAW,EAAE;yBAC5B,CAAC,CAAA;qBAAA,CAAC;iBACJ;aACF,GACF,CAAC;QAEF,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE1D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAClC,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AArCD,4BAqCC"}
@@ -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 express', async () => {
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, {
@@ -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: 'frontend' | 'express' | 'dotnet';
10
+ appType: ApplicationType;
9
11
  ocInfraProject: string;
10
12
  ocEnvProjects: string[];
11
13
  adsp?: Record<string, unknown>;