@rxap/plugin-nestjs 16.1.0-dev.16 → 16.1.0-dev.18

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/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [16.1.0-dev.18](https://gitlab.com/rxap/packages/compare/@rxap/plugin-nestjs@16.1.0-dev.17...@rxap/plugin-nestjs@16.1.0-dev.18) (2023-09-12)
7
+
8
+ ### Bug Fixes
9
+
10
+ - improve nest application init generator execution ([30adde1](https://gitlab.com/rxap/packages/commit/30adde1b164884137890e4c604ed86a7a75261d9))
11
+ - use unified Dockerfile ([913898d](https://gitlab.com/rxap/packages/commit/913898d976a56873caabd2140cf2e6e0fef15214))
12
+
13
+ ### Reverts
14
+
15
+ - "build: use nx run commands to build openapi.json" ([b294956](https://gitlab.com/rxap/packages/commit/b294956b25d42350a1e0907635c88776a39b7708))
16
+
17
+ # [16.1.0-dev.17](https://gitlab.com/rxap/packages/compare/@rxap/plugin-nestjs@16.1.0-dev.16...@rxap/plugin-nestjs@16.1.0-dev.17) (2023-09-09)
18
+
19
+ ### Features
20
+
21
+ - add openapi utility operation generation ([9e67895](https://gitlab.com/rxap/packages/commit/9e678950b7f47bb39768f2d41c3a64b3af7a3c10))
22
+
6
23
  # [16.1.0-dev.16](https://gitlab.com/rxap/packages/compare/@rxap/plugin-nestjs@16.1.0-dev.15...@rxap/plugin-nestjs@16.1.0-dev.16) (2023-09-07)
7
24
 
8
25
  **Note:** Version bump only for package @rxap/plugin-nestjs
package/README.md CHANGED
@@ -19,7 +19,7 @@ yarn add @rxap/plugin-nestjs
19
19
  ```
20
20
  **Install peer dependencies:**
21
21
  ```bash
22
- yarn add @nx/devkit@^16.5.0 @nx/js@^16.5.0 @rxap/generator-utilities@^1.1.0-dev.9 @rxap/plugin-utilities@^16.1.0-dev.11 @rxap/ts-morph@^0.1.0-dev.5 @rxap/utilities@^16.0.0-dev.15 @rxap/workspace-ts-morph@^0.1.0-dev.5 @rxap/workspace-utilities@^0.1.0-dev.10 ts-morph@^18.0.0
22
+ yarn add tslib@2.6.2
23
23
  ```
24
24
  **Execute the init generator:**
25
25
  ```bash
package/package.json CHANGED
@@ -1,85 +1,84 @@
1
1
  {
2
+ "version": "16.1.0-dev.18",
2
3
  "name": "@rxap/plugin-nestjs",
3
- "version": "16.1.0-dev.16",
4
- "type": "commonjs",
5
- "generators": "./generators.json",
6
- "publishConfig": {
7
- "access": "public",
8
- "directory": "../../../dist/packages/plugin/nestjs"
9
- },
10
- "keywords": [
11
- "rxap",
12
- "plugin",
13
- "nx",
14
- "nx-plugin",
15
- "packages",
16
- "nestjs",
17
- "plugin-nestjs"
18
- ],
19
- "homepage": "https:/gitlab.com/rxap/packages/packages/plugin/nestjs",
20
- "bugs": {
21
- "url": "https://gitlab.com/rxap/packages/-/issues",
22
- "email": "incoming+rxap-packages-14898188-issue-@incoming.gitlab.com"
23
- },
24
4
  "license": "GPL-3.0-or-later",
25
- "repository": {
26
- "type": "git",
27
- "url": "https://gitlab.com/rxap/packages.git",
28
- "directory": "packages/plugin/nestjs"
29
- },
30
- "author": {
31
- "name": "Merzough Münker",
32
- "email": "mmuenker@digitaix.com"
33
- },
34
5
  "dependencies": {
35
6
  "ignore": "^5.2.4",
36
7
  "process": "0.11.10",
37
8
  "semver": "^7.3.5",
9
+ "ts-morph": "18.0.0",
38
10
  "tslib": "2.6.2"
39
11
  },
40
12
  "peerDependencies": {
41
- "@nx/devkit": "^16.5.0",
42
- "@nx/js": "^16.5.0",
43
- "@rxap/generator-utilities": "^1.1.0-dev.9",
44
- "@rxap/plugin-utilities": "^16.1.0-dev.11",
45
- "@rxap/ts-morph": "^0.1.0-dev.5",
46
- "@rxap/utilities": "^16.0.0-dev.15",
47
- "@rxap/workspace-ts-morph": "^0.1.0-dev.5",
48
- "@rxap/workspace-utilities": "^0.1.0-dev.10",
49
- "ts-morph": "^18.0.0",
50
- "@rxap/node-utilities": "1.1.0-dev.7"
13
+ "tslib": "2.6.2",
14
+ "@rxap/generator-utilities": "1.1.0-dev.12",
15
+ "@rxap/node-utilities": "1.1.0-dev.8",
16
+ "@rxap/plugin-utilities": "16.1.0-dev.13",
17
+ "@rxap/ts-morph": "0.1.0-dev.8",
18
+ "@rxap/utilities": "16.0.0-dev.17",
19
+ "@rxap/workspace-ts-morph": "0.1.0-dev.7",
20
+ "@rxap/workspace-utilities": "0.1.0-dev.12"
21
+ },
22
+ "author": {
23
+ "name": "Merzough Münker",
24
+ "email": "mmuenker@digitaix.com"
25
+ },
26
+ "bugs": {
27
+ "url": "https://gitlab.com/rxap/packages/-/issues",
28
+ "email": "incoming+rxap-packages-14898188-issue-@incoming.gitlab.com"
51
29
  },
30
+ "executors": "./executors.json",
31
+ "generators": "./generators.json",
32
+ "homepage": "https:/gitlab.com/rxap/packages/packages/plugin/nestjs",
33
+ "keywords": [
34
+ "nestjs",
35
+ "nx",
36
+ "nx-plugin",
37
+ "packages",
38
+ "plugin",
39
+ "plugin-nestjs",
40
+ "rxap"
41
+ ],
52
42
  "nx-migrations": {
53
43
  "packageGroup": [
54
44
  {
55
45
  "package": "@rxap/generator-utilities",
56
- "version": "1.1.0-dev.9"
46
+ "version": "1.1.0-dev.11"
57
47
  },
58
48
  {
59
49
  "package": "@rxap/plugin-utilities",
60
- "version": "16.1.0-dev.11"
50
+ "version": "16.1.0-dev.12"
61
51
  },
62
52
  {
63
53
  "package": "@rxap/ts-morph",
64
- "version": "0.1.0-dev.5"
54
+ "version": "0.1.0-dev.7"
65
55
  },
66
56
  {
67
57
  "package": "@rxap/utilities",
68
- "version": "16.0.0-dev.15"
58
+ "version": "16.0.0-dev.16"
69
59
  },
70
60
  {
71
61
  "package": "@rxap/workspace-ts-morph",
72
- "version": "0.1.0-dev.5"
62
+ "version": "0.1.0-dev.6"
73
63
  },
74
64
  {
75
65
  "package": "@rxap/workspace-utilities",
76
- "version": "0.1.0-dev.10"
66
+ "version": "0.1.0-dev.11"
77
67
  }
78
68
  ]
79
69
  },
80
- "executors": "./executors.json",
70
+ "publishConfig": {
71
+ "access": "public",
72
+ "directory": "../../../dist/packages/plugin/nestjs"
73
+ },
74
+ "repository": {
75
+ "type": "git",
76
+ "url": "https://gitlab.com/rxap/packages.git",
77
+ "directory": "packages/plugin/nestjs"
78
+ },
81
79
  "schematics": "./generators.json",
82
- "gitHead": "492a8436ca0f8d54ca1bef192a3c805fdce19b66",
80
+ "type": "commonjs",
81
+ "gitHead": "6679f090af3b55900bfeb02de0ed8f1febfdbb8b",
83
82
  "main": "./src/index.js",
84
83
  "types": "./src/index.d.ts"
85
84
  }
@@ -1,4 +1,5 @@
1
1
  export interface HealthIndicatorGeneratorSchema {
2
2
  name: string;
3
3
  project: string;
4
+ overwrite?: boolean;
4
5
  }
@@ -20,6 +20,9 @@
20
20
  "$source": "projectName"
21
21
  },
22
22
  "x-prompt": "For which project should the health indicator be added?"
23
+ },
24
+ "overwrite": {
25
+ "type": "boolean"
23
26
  }
24
27
  },
25
28
  "required": [
@@ -1,3 +1,4 @@
1
1
  export interface HealthIndicatorInitGeneratorSchema {
2
2
  project: string;
3
+ overwrite?: boolean;
3
4
  }
@@ -11,6 +11,9 @@
11
11
  "$source": "projectName"
12
12
  },
13
13
  "x-prompt": "For which project should the health indicator module be initialized?"
14
+ },
15
+ "overwrite": {
16
+ "type": "boolean"
14
17
  }
15
18
  },
16
19
  "required": [
@@ -0,0 +1,7 @@
1
+ FROM registry.gitlab.com/rxap/docker/nestjs-server:18.17-alpine
2
+
3
+ COPY package.json /app
4
+
5
+ RUN yarn && yarn cache clean
6
+
7
+ COPY . /app
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nx/devkit");
6
6
  const library_1 = require("@nx/js/src/generators/library/library");
7
7
  const generator_utilities_1 = require("@rxap/generator-utilities");
8
- const plugin_utilities_1 = require("@rxap/plugin-utilities");
9
8
  const ts_morph_1 = require("@rxap/ts-morph");
10
9
  const workspace_ts_morph_1 = require("@rxap/workspace-ts-morph");
11
10
  const workspace_utilities_1 = require("@rxap/workspace-utilities");
@@ -124,7 +123,8 @@ function setGeneralTargetDefaults(tree) {
124
123
  (0, devkit_1.updateNxJson)(tree, nxJson);
125
124
  }
126
125
  function updateProjectTargets(project) {
127
- var _a, _b, _c, _d;
126
+ var _a, _b, _c, _d, _e;
127
+ var _f, _g;
128
128
  (0, workspace_utilities_1.CoerceTarget)(project, 'generate-package-json', {
129
129
  executor: '@rxap/plugin-nestjs:package-json',
130
130
  configurations: {
@@ -161,12 +161,10 @@ function updateProjectTargets(project) {
161
161
  },
162
162
  },
163
163
  }, workspace_utilities_1.Strategy.OVERWRITE);
164
- const buildTargetOptions = (0, plugin_utilities_1.GetTargetOptions)((0, plugin_utilities_1.GetTarget)(project, 'build'));
165
- (_d = buildTargetOptions.assets) !== null && _d !== void 0 ? _d : (buildTargetOptions.assets = []);
166
- (0, generator_utilities_1.CoerceAssets)(buildTargetOptions.assets, [
167
- (0, path_1.join)(project.sourceRoot, 'Dockerfile'),
168
- (0, path_1.join)(project.sourceRoot, 'healthcheck.js'),
169
- ]);
164
+ if (project.targets['docker']) {
165
+ (_d = (_f = project.targets['docker']).options) !== null && _d !== void 0 ? _d : (_f.options = {});
166
+ (_e = (_g = project.targets['docker'].options).dockerfile) !== null && _e !== void 0 ? _e : (_g.dockerfile = 'shared/nestjs/Dockerfile');
167
+ }
170
168
  }
171
169
  function updateGitIgnore(tree, project) {
172
170
  (0, generator_utilities_1.CoerceIgnorePattern)(tree, (0, path_1.join)(project.root, '.gitignore'), ['package.json']);
@@ -285,6 +283,153 @@ function getApiPrefix(tree, options, projectSourceRoot, projectName) {
285
283
  }
286
284
  return (0, path_1.join)('api', projectName.replace(/^service-/, ''));
287
285
  }
286
+ const MAIN_NEST_APP_OPTIONS_STATEMENT = 'const options: NestApplicationOptions = {};';
287
+ const MAIN_BOOTSTRAP_OPTIONS_STATEMENT = 'const bootstrapOptions: Partial<MonolithicBootstrapOptions> = {};';
288
+ const MAIN_SERVER_STATEMENT = 'const server = new Monolithic<NestApplicationOptions, NestExpressApplication>(AppModule, environment, options, bootstrapOptions);';
289
+ const MAIN_BOOTSTRAP_STATEMENT = 'server.bootstrap().catch((e) => console.error(\'Server bootstrap failed: \' + e.message));';
290
+ const MAIN_SETUP_HELMET_STATEMENT = 'server.after(SetupHelmet());';
291
+ const MAIN_SETUP_COOKIE_STATEMENT = 'server.after(SetupCookieParser());';
292
+ const MAIN_SETUP_CORS_STATEMENT = 'server.after(SetupCors());';
293
+ function assertMainStatements(sourceFile) {
294
+ var _a;
295
+ const statements = [];
296
+ statements.push('const options: NestApplicationOptions = {');
297
+ statements.push('const bootstrapOptions: Partial<MonolithicBootstrapOptions> = {');
298
+ statements.push('const server = new Monolithic<NestApplicationOptions, NestExpressApplication>(AppModule, environment, options, bootstrapOptions);');
299
+ const existingStatements = (_a = sourceFile.getStatements().map(s => s.getText())) !== null && _a !== void 0 ? _a : [];
300
+ for (const statement of statements) {
301
+ if (!existingStatements.includes(statement)) {
302
+ console.error(`Missing statement from main.ts: ${statement}`);
303
+ sourceFile.set({
304
+ statements: [
305
+ MAIN_NEST_APP_OPTIONS_STATEMENT,
306
+ MAIN_BOOTSTRAP_OPTIONS_STATEMENT,
307
+ MAIN_SERVER_STATEMENT,
308
+ MAIN_SETUP_HELMET_STATEMENT,
309
+ MAIN_SETUP_COOKIE_STATEMENT,
310
+ MAIN_SETUP_CORS_STATEMENT,
311
+ MAIN_BOOTSTRAP_STATEMENT,
312
+ ],
313
+ });
314
+ (0, ts_morph_1.CoerceImports)(sourceFile, [
315
+ {
316
+ moduleSpecifier: '@nestjs/common',
317
+ namedImports: ['NestApplicationOptions'],
318
+ },
319
+ {
320
+ moduleSpecifier: '@nestjs/platform-express',
321
+ namedImports: ['NestExpressApplication'],
322
+ },
323
+ {
324
+ moduleSpecifier: '@rxap/nest-server',
325
+ namedImports: [
326
+ 'MonolithicBootstrapOptions',
327
+ 'Monolithic',
328
+ 'SetupHelmet',
329
+ 'SetupCookieParser',
330
+ 'SetupCors',
331
+ ],
332
+ },
333
+ {
334
+ moduleSpecifier: './app/app.module',
335
+ namedImports: ['AppModule'],
336
+ },
337
+ {
338
+ moduleSpecifier: './environments/environment',
339
+ namedImports: ['environment'],
340
+ },
341
+ ]);
342
+ return;
343
+ }
344
+ }
345
+ }
346
+ function updateMainFile(tree, project, projectName, options) {
347
+ (0, workspace_ts_morph_1.TsMorphAngularProjectTransform)(tree, {
348
+ project: project.name,
349
+ // directory: '..' // to move from the apps/demo/src/app folder into the apps/demo/src folder
350
+ }, (project, [sourceFile]) => {
351
+ var _a;
352
+ assertMainStatements(sourceFile);
353
+ const importDeclarations = [];
354
+ const statements = [];
355
+ if (options.sentry) {
356
+ importDeclarations.push({
357
+ moduleSpecifier: '@rxap/nest-sentry',
358
+ namedImports: ['SetupSentryLogger'],
359
+ });
360
+ statements.push('server.after(SetupSentryLogger());');
361
+ }
362
+ else {
363
+ importDeclarations.push({
364
+ moduleSpecifier: '@rxap/nest-logger',
365
+ namedImports: ['RxapLogger'],
366
+ });
367
+ statements.push('server.after(app => app.useLogger(new RxapLogger()));');
368
+ }
369
+ if (options.validator) {
370
+ importDeclarations.push({
371
+ moduleSpecifier: '@rxap/nest-server',
372
+ namedImports: ['ValidationPipeSetup'],
373
+ });
374
+ statements.push('server.after(ValidationPipeSetup());');
375
+ }
376
+ if (options.swaggerLive) {
377
+ importDeclarations.push({
378
+ moduleSpecifier: '@rxap/nest-server',
379
+ namedImports: ['SetupSwagger'],
380
+ });
381
+ statements.push('server.after(SetupSwagger());');
382
+ }
383
+ if (options.statusRegister) {
384
+ importDeclarations.push({
385
+ moduleSpecifier: '@rxap/nest-server',
386
+ namedImports: ['RegisterToStatusService'],
387
+ });
388
+ statements.push('server.after(RegisterToStatusService());');
389
+ }
390
+ (0, ts_morph_1.CoerceImports)(sourceFile, importDeclarations);
391
+ for (let i = 0; i < statements.length; i++) {
392
+ const statement = statements[i];
393
+ const lastStatement = i > 0 ? statements[i - 1] : null;
394
+ const nestStatement = i < statements.length - 1 ? statements[i + 1] : null;
395
+ const existingStatements = (_a = sourceFile.getStatements().map(s => s.getText())) !== null && _a !== void 0 ? _a : [];
396
+ if (!existingStatements.includes(statement)) {
397
+ let index;
398
+ if (lastStatement) {
399
+ index = existingStatements.findIndex(s => s.includes(lastStatement)) + 1;
400
+ }
401
+ else if (nestStatement) {
402
+ index = existingStatements.findIndex(s => s.includes(nestStatement));
403
+ }
404
+ else {
405
+ index = existingStatements.findIndex(s => s.includes(MAIN_BOOTSTRAP_STATEMENT));
406
+ }
407
+ console.log(`insert statement: ${statement} at index ${index}`);
408
+ sourceFile.insertStatements(index, statement);
409
+ }
410
+ }
411
+ if (projectName === 'service-status') {
412
+ const variableDeclaration = (0, ts_morph_1.CoerceVariableDeclaration)(sourceFile, 'bootstrapOptions', { initializer: '{}' });
413
+ const objectLiteralExpression = variableDeclaration.getInitializerIfKindOrThrow(ts_morph_2.SyntaxKind.ObjectLiteralExpression);
414
+ let objectLiteralElementLike = objectLiteralExpression.getProperty('globalPrefixOptions');
415
+ if (!objectLiteralElementLike) {
416
+ objectLiteralElementLike = objectLiteralExpression.addPropertyAssignment({
417
+ name: 'globalPrefixOptions',
418
+ initializer: '{}',
419
+ });
420
+ }
421
+ const gpoPropertyAssigment = objectLiteralElementLike.asKindOrThrow(ts_morph_2.SyntaxKind.PropertyAssignment);
422
+ const gpoObjectLiteralExpression = gpoPropertyAssigment.getInitializerIfKindOrThrow(ts_morph_2.SyntaxKind.ObjectLiteralExpression);
423
+ let gpoElementLike = gpoObjectLiteralExpression.getProperty('exclude');
424
+ if (!gpoElementLike) {
425
+ gpoElementLike = gpoObjectLiteralExpression.addPropertyAssignment({
426
+ name: 'exclude',
427
+ initializer: `[ '/health(.*)', '/info', '/openapi', '/register' ]`,
428
+ });
429
+ }
430
+ }
431
+ }, ['main.ts']);
432
+ }
288
433
  function initApplicationGenerator(tree, options) {
289
434
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
290
435
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -302,6 +447,10 @@ function initApplicationGenerator(tree, options) {
302
447
  (_m = options.jwt) !== null && _m !== void 0 ? _m : (options.jwt = false);
303
448
  (_o = options.statusRegister) !== null && _o !== void 0 ? _o : (options.statusRegister = true);
304
449
  console.log('nestjs application init generator:', options);
450
+ // only add the shared folder if it does not exist
451
+ if (!tree.exists('shared/nestjs')) {
452
+ (0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, 'files', 'shared'), 'shared/nestjs', options);
453
+ }
305
454
  setGeneralTargetDefaults(tree);
306
455
  yield addDependencies(tree, options);
307
456
  const projects = (0, devkit_1.getProjects)(tree);
@@ -384,17 +533,24 @@ function initApplicationGenerator(tree, options) {
384
533
  ]);
385
534
  removeAppServiceFile(tree, projectSourceRoot);
386
535
  removeAppControllerSpecFile(tree, projectSourceRoot);
536
+ if (options.generateMain) {
537
+ updateMainFile(tree, project, projectName, options);
538
+ }
387
539
  if (options.healthIndicator || ((_p = options.healthIndicatorList) === null || _p === void 0 ? void 0 : _p.length)) {
388
540
  if ((_q = options.healthIndicatorList) === null || _q === void 0 ? void 0 : _q.length) {
389
541
  for (const healthIndicator of options.healthIndicatorList) {
390
542
  yield (0, generator_2.default)(tree, {
391
543
  name: healthIndicator,
392
544
  project: projectName,
545
+ overwrite: options.overwrite,
393
546
  });
394
547
  }
395
548
  }
396
549
  else {
397
- yield (0, generator_1.default)(tree, { project: projectName });
550
+ yield (0, generator_1.default)(tree, {
551
+ project: projectName,
552
+ overwrite: options.overwrite,
553
+ });
398
554
  }
399
555
  }
400
556
  if (options.sentry) {
@@ -406,16 +562,28 @@ function initApplicationGenerator(tree, options) {
406
562
  });
407
563
  }
408
564
  if (options.validator) {
409
- yield (0, generator_7.default)(tree, { project: projectName });
565
+ yield (0, generator_7.default)(tree, {
566
+ project: projectName,
567
+ overwrite: options.overwrite,
568
+ });
410
569
  }
411
570
  if (options.openApi) {
412
- yield (0, generator_4.default)(tree, { project: projectName });
571
+ yield (0, generator_4.default)(tree, {
572
+ project: projectName,
573
+ overwrite: options.overwrite,
574
+ });
413
575
  }
414
576
  if (options.jwt) {
415
- yield (0, generator_3.default)(tree, { project: projectName });
577
+ yield (0, generator_3.default)(tree, {
578
+ project: projectName,
579
+ overwrite: options.overwrite,
580
+ });
416
581
  }
417
582
  if (options.swagger !== false) {
418
- yield (0, generator_6.default)(tree, { project: projectName });
583
+ yield (0, generator_6.default)(tree, {
584
+ project: projectName,
585
+ overwrite: options.overwrite,
586
+ });
419
587
  }
420
588
  }
421
589
  });
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init-application/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init-application/generator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export interface InitApplicationGeneratorSchema {
2
+ generateMain?: boolean;
3
+ swaggerLive?: boolean;
2
4
  projects?: string[];
3
5
  sentry?: boolean;
4
6
  swagger?: boolean;
@@ -23,6 +23,18 @@
23
23
  "description": "Whether this service should use swagger",
24
24
  "x-prompt": "Should this service support open-api config generation?"
25
25
  },
26
+ "swaggerLive": {
27
+ "type": "boolean",
28
+ "default": false,
29
+ "description": "Whether this service should start a swagger live server",
30
+ "x-prompt": "Should this service start a swagger live server?"
31
+ },
32
+ "generateMain": {
33
+ "type": "boolean",
34
+ "default": false,
35
+ "description": "Whether the main file should be generated",
36
+ "x-prompt": "Should the main file be generated?"
37
+ },
26
38
  "healthIndicator": {
27
39
  "type": "boolean",
28
40
  "default": true,
@@ -20,6 +20,7 @@ function UpdateAppModule(tree, options) {
20
20
  ],
21
21
  });
22
22
  (0, ts_morph_1.CoerceNestModuleImport)(sourceFile, {
23
+ overwrite: options.overwrite,
23
24
  moduleName: 'JwtModule',
24
25
  structures: [
25
26
  {
@@ -34,17 +35,41 @@ function UpdateAppModule(tree, options) {
34
35
  importWriter: w => {
35
36
  w.writeLine('JwtModule.registerAsync(');
36
37
  ts_morph_2.Writers.object({
38
+ global: 'true',
37
39
  inject: '[ ConfigService ]',
38
- useFactory: '(config: ConfigService) => ({})',
40
+ useFactory: `(config: ConfigService) => ({
41
+ secret: config.getOrThrow('JWT_SECRET')
42
+ })`,
39
43
  })(w);
40
44
  w.write(')');
41
45
  },
42
46
  });
43
47
  }, ['/app/app.module.ts']);
44
48
  }
49
+ function UpdateAppConfig(tree, options, projectName) {
50
+ (0, workspace_ts_morph_1.TsMorphNestProjectTransform)(tree, {
51
+ project: options.project,
52
+ }, (project, [sourceFile]) => {
53
+ (0, ts_morph_1.CoerceNestAppConfig)(sourceFile, {
54
+ itemList: [
55
+ {
56
+ name: 'JWT_SECRET',
57
+ defaultValue: 'GenerateRandomString()',
58
+ },
59
+ ],
60
+ overwrite: options.overwrite,
61
+ });
62
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
63
+ namedImports: ['GenerateRandomString'],
64
+ moduleSpecifier: '@rxap/utilities',
65
+ });
66
+ }, ['/app/app.config.ts?']);
67
+ }
45
68
  function jwtGenerator(tree, options) {
46
69
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
70
+ console.log('nestjs application jwt generator:', options);
47
71
  UpdateAppModule(tree, options);
72
+ UpdateAppConfig(tree, options, options.project);
48
73
  yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, '@rxap/nest-jwt', 'latest', { soft: true });
49
74
  yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, '@nestjs/jwt', 'latest', { soft: true });
50
75
  });
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/jwt/generator.ts"],"names":[],"mappings":";;;;AACA,6CAGwB;AACxB,iEAAuE;AACvE,mEAAqE;AACrE,uCAAmC;AAInC,SAAS,eAAe,CAAC,IAAU,EAAE,OAA8B;IAEjE,IAAA,gDAA2B,EACzB,IAAI,EACJ;QACE,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,EACD,CAAC,OAAO,EAAE,CAAE,UAAU,CAAE,EAAE,EAAE;QAE1B,IAAA,mCAAwB,EAAC,UAAU,EAAE;YACnC,cAAc,EAAE,kBAAkB;YAClC,UAAU,EAAE;gBACV;oBACE,YAAY,EAAE,CAAE,kBAAkB,CAAE;oBACpC,eAAe,EAAE,gBAAgB;iBAClC;aACF;SACF,CAAC,CAAC;QAEH,IAAA,iCAAsB,EACpB,UAAU,EACV;YACE,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE;gBACV;oBACE,YAAY,EAAE,CAAE,WAAW,CAAE;oBAC7B,eAAe,EAAE,aAAa;iBAC/B;gBACD;oBACE,eAAe,EAAE,gBAAgB;oBACjC,YAAY,EAAE,CAAE,eAAe,CAAE;iBAClC;aACF;YACD,YAAY,EAAE,CAAC,CAAC,EAAE;gBAChB,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;gBACxC,kBAAO,CAAC,MAAM,CAAC;oBACb,MAAM,EAAE,mBAAmB;oBAC3B,UAAU,EAAE,iCAAiC;iBAC9C,CAAC,CAAC,CAAC,CAAC,CAAC;gBACN,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;SACF,CACF,CAAC;IAEJ,CAAC,EACD,CAAE,oBAAoB,CAAE,CACzB,CAAC;AAEJ,CAAC;AAED,SAAsB,YAAY,CAAC,IAAU,EAAE,OAA2B;;QACxE,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,IAAA,8CAAwB,EAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,MAAM,IAAA,8CAAwB,EAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;CAAA;AAJD,oCAIC;AAED,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/jwt/generator.ts"],"names":[],"mappings":";;;;AACA,6CAKwB;AACxB,iEAAuE;AACvE,mEAAqE;AACrE,uCAAmC;AAInC,SAAS,eAAe,CAAC,IAAU,EAAE,OAA8B;IAEjE,IAAA,gDAA2B,EACzB,IAAI,EACJ;QACE,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,EACD,CAAC,OAAO,EAAE,CAAE,UAAU,CAAE,EAAE,EAAE;QAE1B,IAAA,mCAAwB,EAAC,UAAU,EAAE;YACnC,cAAc,EAAE,kBAAkB;YAClC,UAAU,EAAE;gBACV;oBACE,YAAY,EAAE,CAAE,kBAAkB,CAAE;oBACpC,eAAe,EAAE,gBAAgB;iBAClC;aACF;SACF,CAAC,CAAC;QAEH,IAAA,iCAAsB,EACpB,UAAU,EACV;YACE,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE;gBACV;oBACE,YAAY,EAAE,CAAE,WAAW,CAAE;oBAC7B,eAAe,EAAE,aAAa;iBAC/B;gBACD;oBACE,eAAe,EAAE,gBAAgB;oBACjC,YAAY,EAAE,CAAE,eAAe,CAAE;iBAClC;aACF;YACD,YAAY,EAAE,CAAC,CAAC,EAAE;gBAChB,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;gBACxC,kBAAO,CAAC,MAAM,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,mBAAmB;oBAC3B,UAAU,EAAE;;GAEvB;iBACU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACN,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;SACF,CACF,CAAC;IAEJ,CAAC,EACD,CAAE,oBAAoB,CAAE,CACzB,CAAC;AAEJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAU,EAAE,OAA2B,EAAE,WAAmB;IAEnF,IAAA,gDAA2B,EACzB,IAAI,EACJ;QACE,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,EACD,CAAC,OAAO,EAAE,CAAE,UAAU,CAAE,EAAE,EAAE;QAE1B,IAAA,8BAAmB,EAAC,UAAU,EAAE;YAC9B,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,YAAY;oBAClB,YAAY,EAAE,wBAAwB;iBACvC;aACF;YACD,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QAEH,IAAA,wBAAa,EAAC,UAAU,EAAE;YACxB,YAAY,EAAE,CAAE,sBAAsB,CAAE;YACxC,eAAe,EAAE,iBAAiB;SACnC,CAAC,CAAC;IAEL,CAAC,EACD,CAAE,qBAAqB,CAAE,CAC1B,CAAC;AAEJ,CAAC;AAED,SAAsB,YAAY,CAAC,IAAU,EAAE,OAA2B;;QACxE,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;QAC1D,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,IAAA,8CAAwB,EAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,MAAM,IAAA,8CAAwB,EAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;CAAA;AAND,oCAMC;AAED,kBAAe,YAAY,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export interface JwtGeneratorSchema {
2
+ overwrite?: boolean;
2
3
  project: string;
3
4
  }
@@ -7,6 +7,9 @@
7
7
  "project": {
8
8
  "type": "string",
9
9
  "description": ""
10
+ },
11
+ "overwrite": {
12
+ "type": "boolean"
10
13
  }
11
14
  },
12
15
  "required": [
@@ -1,3 +1,4 @@
1
1
  export interface OpenApiGeneratorSchema {
2
+ overwrite?: boolean;
2
3
  project: string;
3
4
  }
@@ -7,6 +7,9 @@
7
7
  "project": {
8
8
  "type": "string",
9
9
  "description": ""
10
+ },
11
+ "overwrite": {
12
+ "type": "boolean"
10
13
  }
11
14
  },
12
15
  "required": [
@@ -40,7 +40,7 @@ function updateProjectTargets(project) {
40
40
  (0, workspace_utilities_1.CoerceTarget)(project, 'swagger-generate', {
41
41
  executor: '@nx/js:node',
42
42
  outputs: [
43
- `${outputPath}/open-api.json`,
43
+ `${outputPath}/openapi.json`,
44
44
  ],
45
45
  options: {
46
46
  buildTarget: `${project.name}:swagger-build`,
@@ -77,6 +77,10 @@ function swaggerGenerator(tree, options) {
77
77
  const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
78
78
  updateNxDefaults(tree);
79
79
  updateProjectTargets(project);
80
+ const projectSourceRoot = project.sourceRoot;
81
+ if (!projectSourceRoot) {
82
+ throw new Error('The selected project has no sourceRoot');
83
+ }
80
84
  (0, devkit_1.updateProjectConfiguration)(tree, options.project, project);
81
85
  yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, 'swagger-ui-express', 'latest', { soft: true });
82
86
  yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, '@nestjs/swagger', 'latest', { soft: true });
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/swagger/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/swagger/generator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export interface SwaggerGeneratorSchema {
2
+ overwrite?: boolean;
2
3
  project: string;
3
4
  }
@@ -11,6 +11,9 @@
11
11
  "$source": "projectName"
12
12
  },
13
13
  "x-prompt": "Which project should be initialized?"
14
+ },
15
+ "overwrite": {
16
+ "type": "boolean"
14
17
  }
15
18
  },
16
19
  "required": [
@@ -1,3 +1,4 @@
1
1
  export interface ValidatorGeneratorSchema {
2
+ overwrite?: boolean;
2
3
  project: string;
3
4
  }
@@ -11,6 +11,9 @@
11
11
  "$source": "projectName"
12
12
  },
13
13
  "x-prompt": "Which project should be extend with sentry support?"
14
+ },
15
+ "overwrite": {
16
+ "type": "boolean"
14
17
  }
15
18
  },
16
19
  "required": [
@@ -1,21 +0,0 @@
1
- FROM node:18.17-alpine
2
- # FROM node:18.17 # use if the mongo memory server is used
3
-
4
- RUN apk add --no-cache git g++ make python3
5
-
6
- RUN mkdir /app
7
-
8
- WORKDIR /app
9
-
10
- COPY package.json /app
11
-
12
- RUN yarn && yarn cache clean
13
-
14
- COPY . /app
15
-
16
- ENV PORT=3000
17
- EXPOSE 3000
18
-
19
- HEALTHCHECK CMD node healthcheck.js > /dev/null || exit 1
20
-
21
- CMD [ "node", "/app/main.js" ]
@@ -1,38 +0,0 @@
1
- const http = require('http');
2
-
3
- let path = '/';
4
-
5
- if (process.env.HEALTHCHECK_PATH) {
6
- path = process.env.HEALTHCHECK_PATH;
7
- } else {
8
- path = '/health';
9
- }
10
-
11
- const options = {
12
- host: '127.0.0.1',
13
- port: process.env.PORT || 3000,
14
- path,
15
- timeout: 30000,
16
- };
17
-
18
- const request = http.request(
19
- options,
20
- (res) => {
21
- console.log(`STATUS: ${ res.statusCode }`);
22
- if (res.statusCode === 200) {
23
- process.exit(0);
24
- } else {
25
- process.exit(1);
26
- }
27
- },
28
- );
29
-
30
- request.on(
31
- 'error',
32
- function (err) {
33
- console.log(`ERROR: ${ err.message }`);
34
- process.exit(1);
35
- },
36
- );
37
-
38
- request.end();
@@ -1,114 +0,0 @@
1
- <% if (validator) { -%>
2
- import { ValidationPipe, HttpStatus } from '@nestjs/common';
3
- import { ValidationHttpException, validatorOptions, classTransformOptions } from '@rxap/nest-utilities';
4
- <% } -%>
5
- import { Monolithic } from '@rxap/nest-server';
6
- import cookieParser from 'cookie-parser';
7
- <% if (sentry) { -%>
8
- import { SentryLogger } from '@rxap/nest-sentry';
9
- <% } -%>
10
- import { environment } from './environments/environment';
11
- import { AppModule } from './app/app.module';
12
- <% if (platform === "express") { -%>
13
- import { NestExpressApplication } from '@nestjs/platform-express';
14
- import helmet from 'helmet';
15
- <% } else if (platform === "fastify") { -%>
16
- import { NestFastifyApplication } from '@nestjs/platform-fastify';
17
- import helmet from '@fastify/helmet'
18
- <% } -%>
19
- import { NestApplicationOptions } from '@nestjs/common';
20
- import { RxapLogger } from '@rxap/nest-logger';
21
- <% if (statusRegister) { -%>
22
- import { RegisterToStatusService } from '@rxap/nest-server';
23
- <% } -%>
24
-
25
- <% if (platform === "express") { -%>
26
- const server = new Monolithic<NestApplicationOptions, NestExpressApplication>(
27
- AppModule,
28
- environment,
29
- { bufferLogs: true },
30
- <% if (projectName === "service-status") { -%>
31
- {
32
- globalPrefixOptions: {
33
- exclude: [
34
- '/health(.*)',
35
- '/info',
36
- '/register',
37
- ]
38
- }
39
- }
40
- <% } -%>
41
- );
42
-
43
- <% } else if (platform === "fastify") { -%>
44
- const server = new Monolithic<NestApplicationOptions, NestFastifyApplication>(
45
- AppModule,
46
- environment,
47
- { bufferLogs: true },
48
- );
49
-
50
- <% } -%>
51
- <% if (sentry) { -%>
52
- server.after((app, config) => {
53
- if (config.get('SENTRY_ENABLED')) {
54
- app.useLogger(app.get(SentryLogger));
55
- } else {
56
- app.useLogger(new RxapLogger());
57
- }
58
- });
59
-
60
- <% } else { -%>
61
- server.after(app => app.useLogger(new RxapLogger()));
62
-
63
- <% } -%>
64
- server.after((app) =>
65
- app.enableCors({
66
- credentials: true,
67
- origin: true,
68
- }),
69
- );
70
-
71
- server.after((app, config) =>
72
- app.use(cookieParser(config.get('COOKIE_SECRET'))),
73
- );
74
-
75
- <% if (platform === "express") { -%>
76
- /**
77
- * Note that applying helmet as global or registering it must come before other calls to app.use() or setup functions
78
- * that may call app.use(). This is due to the way the underlying platform (i.e., Express or Fastify) works, where the
79
- * order that middleware/routes are defined matters. If you use middleware like helmet or cors after you define a route,
80
- * then that middleware will not apply to that route, it will only apply to routes defined after the middleware.
81
- */
82
- server.after(app => app.use(helmet()));
83
-
84
- <% } else if (platform === "fastify") { -%>
85
- /**
86
- * If you are getting the This expression is not callable error while trying to import Helmet, you very likely have the
87
- * allowSyntheticDefaultImports and esModuleInterop options set to true in your project's tsconfig.json file. If that's
88
- * the case, change the import statement to: import helmet from 'helmet' instead.
89
- */
90
- server.after(app => app.register(helmet));
91
-
92
- <% } -%>
93
- <% if (validator) { -%>
94
- server.after((app) =>
95
- app.useGlobalPipes(
96
- new ValidationPipe({
97
- ...validatorOptions,
98
- transform: true,
99
- transformOptions: classTransformOptions,
100
- enableDebugMessages: !environment.production,
101
- exceptionFactory: (errors) =>
102
- new ValidationHttpException(errors, HttpStatus.BAD_REQUEST),
103
- }),
104
- ),
105
- );
106
-
107
- <% } -%>
108
- <% if (statusRegister) { -%>
109
- server.ready(RegisterToStatusService);
110
-
111
- <% } -%>
112
- server
113
- .bootstrap()
114
- .catch((e) => console.error('Server bootstrap failed: ' + e.message));