@rxap/plugin-nestjs 19.0.4-dev.9 → 19.0.4

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.
Files changed (53) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/GUIDES.md +7 -0
  3. package/package.json +11 -10
  4. package/src/generators/feature-microservice/generator.js +1 -1
  5. package/src/generators/feature-microservice/generator.js.map +1 -1
  6. package/src/generators/feature-microservice/schema.json +95 -14
  7. package/src/generators/frontend-microservice/generator.js +1 -1
  8. package/src/generators/frontend-microservice/generator.js.map +1 -1
  9. package/src/generators/frontend-microservice/schema.json +101 -20
  10. package/src/generators/init-application/assert-main-statements.d.ts +3 -0
  11. package/src/generators/init-application/assert-main-statements.js +66 -0
  12. package/src/generators/init-application/assert-main-statements.js.map +1 -0
  13. package/src/generators/init-application/coerce-environment-files.d.ts +6 -0
  14. package/src/generators/init-application/coerce-environment-files.js +64 -0
  15. package/src/generators/init-application/coerce-environment-files.js.map +1 -0
  16. package/src/generators/init-application/coerce-open-api-client-sdk-library.d.ts +3 -0
  17. package/src/generators/init-application/coerce-open-api-client-sdk-library.js +34 -0
  18. package/src/generators/init-application/coerce-open-api-client-sdk-library.js.map +1 -0
  19. package/src/generators/init-application/generator.js +22 -395
  20. package/src/generators/init-application/generator.js.map +1 -1
  21. package/src/generators/init-application/get-port.d.ts +3 -0
  22. package/src/generators/init-application/get-port.js +29 -0
  23. package/src/generators/init-application/get-port.js.map +1 -0
  24. package/src/generators/init-application/remove-app-controller-spec-file.d.ts +2 -0
  25. package/src/generators/init-application/remove-app-controller-spec-file.js +22 -0
  26. package/src/generators/init-application/remove-app-controller-spec-file.js.map +1 -0
  27. package/src/generators/init-application/remove-app-service-file.d.ts +2 -0
  28. package/src/generators/init-application/remove-app-service-file.js +35 -0
  29. package/src/generators/init-application/remove-app-service-file.js.map +1 -0
  30. package/src/generators/init-application/schema.json +2 -4
  31. package/src/generators/init-application/set-general-target-defaults.d.ts +3 -0
  32. package/src/generators/init-application/set-general-target-defaults.js +27 -0
  33. package/src/generators/init-application/set-general-target-defaults.js.map +1 -0
  34. package/src/generators/init-application/update-api-configuration-file.d.ts +2 -0
  35. package/src/generators/init-application/update-api-configuration-file.js +13 -0
  36. package/src/generators/init-application/update-api-configuration-file.js.map +1 -0
  37. package/src/generators/init-application/update-git-ignore.d.ts +3 -0
  38. package/src/generators/init-application/update-git-ignore.js +12 -0
  39. package/src/generators/init-application/update-git-ignore.js.map +1 -0
  40. package/src/generators/init-application/update-main-file.d.ts +3 -0
  41. package/src/generators/init-application/update-main-file.js +76 -0
  42. package/src/generators/init-application/update-main-file.js.map +1 -0
  43. package/src/generators/init-application/update-project-targets.d.ts +3 -0
  44. package/src/generators/init-application/update-project-targets.js +70 -0
  45. package/src/generators/init-application/update-project-targets.js.map +1 -0
  46. package/src/generators/init-application/update-tags.d.ts +3 -0
  47. package/src/generators/init-application/update-tags.js +35 -0
  48. package/src/generators/init-application/update-tags.js.map +1 -0
  49. package/src/generators/init-library/generator.js +1 -0
  50. package/src/generators/init-library/generator.js.map +1 -1
  51. package/src/generators/microservice/generator.js +14 -6
  52. package/src/generators/microservice/generator.js.map +1 -1
  53. package/src/generators/microservice/schema.json +111 -16
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeAppServiceFile = void 0;
4
+ const path_1 = require("path");
5
+ function removeAppServiceFile(tree, projectSourceRoot) {
6
+ var _a;
7
+ const appServiceFilePath = (0, path_1.join)(projectSourceRoot, 'app', 'app.service.ts');
8
+ if (tree.exists(appServiceFilePath)) {
9
+ const content = (_a = tree.read(appServiceFilePath)) === null || _a === void 0 ? void 0 : _a.toString('utf-8');
10
+ if (content) {
11
+ if (content.includes('{ message: \'Hello API\' }')) {
12
+ console.warn('Remove the app service file');
13
+ tree.delete(appServiceFilePath);
14
+ if (tree.exists((0, path_1.join)(projectSourceRoot, 'app', 'app.service.spec.ts'))) {
15
+ console.warn('Remove the app service spec file');
16
+ tree.delete((0, path_1.join)(projectSourceRoot, 'app', 'app.service.spec.ts'));
17
+ }
18
+ else {
19
+ console.warn('The app service spec file does not exists');
20
+ }
21
+ }
22
+ else {
23
+ console.warn('The app service file does not contains the default method', content);
24
+ }
25
+ }
26
+ else {
27
+ console.warn('The app service file does not exists:', appServiceFilePath);
28
+ }
29
+ }
30
+ else {
31
+ console.warn('The app service file does not exists');
32
+ }
33
+ }
34
+ exports.removeAppServiceFile = removeAppServiceFile;
35
+ //# sourceMappingURL=remove-app-service-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-app-service-file.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init-application/remove-app-service-file.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAE5B,SAAgB,oBAAoB,CAAC,IAAU,EAAE,iBAAyB;;IAExE,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,0CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBAChC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAA,WAAI,EAAC,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC;oBACvE,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;oBACjD,IAAI,CAAC,MAAM,CAAC,IAAA,WAAI,EAAC,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,2DAA2D,EAAE,OAAO,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,kBAAkB,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACvD,CAAC;AAEH,CAAC;AAzBD,oDAyBC"}
@@ -32,14 +32,12 @@
32
32
  "swaggerLive": {
33
33
  "type": "boolean",
34
34
  "default": false,
35
- "description": "Whether this service should start a swagger live server",
36
- "x-prompt": "Should this service start a swagger live server?"
35
+ "description": "Whether this service should start a swagger live server"
37
36
  },
38
37
  "generateMain": {
39
38
  "type": "boolean",
40
39
  "default": false,
41
- "description": "Whether the main file should be generated",
42
- "x-prompt": "Should the main file be generated?"
40
+ "description": "Whether the main file should be generated"
43
41
  },
44
42
  "healthIndicator": {
45
43
  "type": "boolean",
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { InitApplicationGeneratorSchema } from './schema';
3
+ export declare function setGeneralTargetDefaults(tree: Tree, options: InitApplicationGeneratorSchema): void;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setGeneralTargetDefaults = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
6
+ function setGeneralTargetDefaults(tree, options) {
7
+ console.log('updating default targets');
8
+ const nxJson = (0, devkit_1.readNxJson)(tree);
9
+ if (!nxJson) {
10
+ throw new Error('No nx.json found');
11
+ }
12
+ if (!options.standalone) {
13
+ (0, workspace_utilities_1.CoerceTargetDefaultsDependency)(nxJson, 'build', 'generate-package-json');
14
+ (0, workspace_utilities_1.CoerceNxJsonCacheableOperation)(nxJson, 'generate-package-json', 'generate-open-api');
15
+ (0, workspace_utilities_1.CoerceTarget)(nxJson, 'generate-package-json', {
16
+ executor: '@rxap/plugin-nestjs:package-json',
17
+ configurations: {
18
+ production: {},
19
+ },
20
+ });
21
+ (0, workspace_utilities_1.CoerceTargetDefaultsDependency)(nxJson, 'generate-open-api', 'swagger-generate');
22
+ (0, workspace_utilities_1.CoerceTargetDefaultsDependency)(nxJson, 'test', '^generate-open-api');
23
+ }
24
+ (0, devkit_1.updateNxJson)(tree, nxJson);
25
+ }
26
+ exports.setGeneralTargetDefaults = setGeneralTargetDefaults;
27
+ //# sourceMappingURL=set-general-target-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-general-target-defaults.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init-application/set-general-target-defaults.ts"],"names":[],"mappings":";;;AAAA,uCAIoB;AACpB,mEAImC;AAGnC,SAAgB,wBAAwB,CAAC,IAAU,EAAE,OAAuC;IAC1F,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,IAAA,oDAA8B,EAAC,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACzE,IAAA,oDAA8B,EAC5B,MAAM,EAAE,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;QACxD,IAAA,kCAAY,EAAC,MAAM,EAAE,uBAAuB,EAAE;YAC5C,QAAQ,EAAE,kCAAkC;YAC5C,cAAc,EAAE;gBACd,UAAU,EAAE,EAAE;aACf;SACF,CAAC,CAAC;QACH,IAAA,oDAA8B,EAAC,MAAM,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;QAChF,IAAA,oDAA8B,EAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACvE,CAAC;IAED,IAAA,qBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAxBD,4DAwBC"}
@@ -0,0 +1,2 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export declare function updateApiConfigurationFile(tree: Tree, projectName: string, apiPrefix: string, apiConfigurationFile?: string): void;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateApiConfigurationFile = void 0;
4
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
5
+ function updateApiConfigurationFile(tree, projectName, apiPrefix, apiConfigurationFile) {
6
+ if (apiConfigurationFile) {
7
+ (0, workspace_utilities_1.UpdateJsonFile)(tree, json => {
8
+ json[projectName] = { baseUrl: `/${apiPrefix}` };
9
+ }, apiConfigurationFile, { create: true });
10
+ }
11
+ }
12
+ exports.updateApiConfigurationFile = updateApiConfigurationFile;
13
+ //# sourceMappingURL=update-api-configuration-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-api-configuration-file.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init-application/update-api-configuration-file.ts"],"names":[],"mappings":";;;AACA,mEAA2D;AAE3D,SAAgB,0BAA0B,CACxC,IAAU,EAAE,WAAmB,EAAE,SAAiB,EAAE,oBAA6B;IACjF,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAA,oCAAc,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,IAAK,SAAU,EAAE,EAAE,CAAC;QACrD,CAAC,EAAE,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAPD,gEAOC"}
@@ -0,0 +1,3 @@
1
+ import { ProjectConfiguration, Tree } from '@nx/devkit';
2
+ import { InitApplicationGeneratorSchema } from './schema';
3
+ export declare function updateGitIgnore(tree: Tree, project: ProjectConfiguration, options: InitApplicationGeneratorSchema): void;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateGitIgnore = void 0;
4
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
5
+ const path_1 = require("path");
6
+ function updateGitIgnore(tree, project, options) {
7
+ if (!options.standalone) {
8
+ (0, workspace_utilities_1.CoerceIgnorePattern)(tree, (0, path_1.join)(project.root, '.gitignore'), ['package.json']);
9
+ }
10
+ }
11
+ exports.updateGitIgnore = updateGitIgnore;
12
+ //# sourceMappingURL=update-git-ignore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-git-ignore.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init-application/update-git-ignore.ts"],"names":[],"mappings":";;;AAIA,mEAAgE;AAChE,+BAA4B;AAG5B,SAAgB,eAAe,CAAC,IAAU,EAAE,OAA6B,EAAE,OAAuC;IAChH,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,IAAA,yCAAmB,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAE,cAAc,CAAE,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAJD,0CAIC"}
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { InitApplicationGeneratorSchema } from './schema';
3
+ export declare function updateMainFile(tree: Tree, projectName: string, options: InitApplicationGeneratorSchema): void;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateMainFile = void 0;
4
+ const ts_morph_1 = require("@rxap/ts-morph");
5
+ const workspace_ts_morph_1 = require("@rxap/workspace-ts-morph");
6
+ const ts_morph_2 = require("ts-morph");
7
+ const assert_main_statements_1 = require("./assert-main-statements");
8
+ function updateMainFile(tree, projectName, options) {
9
+ (0, workspace_ts_morph_1.TsMorphNestProjectTransform)(tree, {
10
+ project: projectName,
11
+ backend: undefined,
12
+ // directory: '..' // to move from the apps/demo/src/app folder into the apps/demo/src folder
13
+ }, (project, [sourceFile]) => {
14
+ var _a;
15
+ (0, assert_main_statements_1.assertMainStatements)(sourceFile);
16
+ const importDeclarations = [];
17
+ const statements = [];
18
+ if (options.validator) {
19
+ importDeclarations.push({
20
+ moduleSpecifier: '@rxap/nest-server',
21
+ namedImports: ['ValidationPipeSetup'],
22
+ });
23
+ statements.push('server.after(ValidationPipeSetup());');
24
+ }
25
+ if (options.swaggerLive) {
26
+ importDeclarations.push({
27
+ moduleSpecifier: '@rxap/nest-server',
28
+ namedImports: ['SetupSwagger'],
29
+ });
30
+ statements.push('server.after(SetupSwagger());');
31
+ }
32
+ (0, ts_morph_1.CoerceImports)(sourceFile, importDeclarations);
33
+ for (let i = 0; i < statements.length; i++) {
34
+ const statement = statements[i];
35
+ const lastStatement = i > 0 ? statements[i - 1] : null;
36
+ const nestStatement = i < statements.length - 1 ? statements[i + 1] : null;
37
+ const existingStatements = (_a = sourceFile.getStatements().map(s => s.getText())) !== null && _a !== void 0 ? _a : [];
38
+ if (!existingStatements.includes(statement)) {
39
+ let index;
40
+ if (lastStatement) {
41
+ index = existingStatements.findIndex(s => s.includes(lastStatement)) + 1;
42
+ }
43
+ else if (nestStatement) {
44
+ index = existingStatements.findIndex(s => s.includes(nestStatement));
45
+ }
46
+ else {
47
+ index = existingStatements.findIndex(s => s.includes(assert_main_statements_1.MAIN_BOOTSTRAP_STATEMENT));
48
+ }
49
+ console.log(`insert statement: ${statement} at index ${index}`);
50
+ sourceFile.insertStatements(index, statement);
51
+ }
52
+ }
53
+ if (projectName === 'service-status') {
54
+ const variableDeclaration = (0, ts_morph_1.CoerceVariableDeclaration)(sourceFile, 'bootstrapOptions', { initializer: '{}' });
55
+ const objectLiteralExpression = variableDeclaration.getInitializerIfKindOrThrow(ts_morph_2.SyntaxKind.ObjectLiteralExpression);
56
+ let objectLiteralElementLike = objectLiteralExpression.getProperty('globalPrefixOptions');
57
+ if (!objectLiteralElementLike) {
58
+ objectLiteralElementLike = objectLiteralExpression.addPropertyAssignment({
59
+ name: 'globalPrefixOptions',
60
+ initializer: '{}',
61
+ });
62
+ }
63
+ const gpoPropertyAssigment = objectLiteralElementLike.asKindOrThrow(ts_morph_2.SyntaxKind.PropertyAssignment);
64
+ const gpoObjectLiteralExpression = gpoPropertyAssigment.getInitializerIfKindOrThrow(ts_morph_2.SyntaxKind.ObjectLiteralExpression);
65
+ let gpoElementLike = gpoObjectLiteralExpression.getProperty('exclude');
66
+ if (!gpoElementLike) {
67
+ gpoElementLike = gpoObjectLiteralExpression.addPropertyAssignment({
68
+ name: 'exclude',
69
+ initializer: `[ '/health(.*)', '/info', '/openapi', '/register' ]`,
70
+ });
71
+ }
72
+ }
73
+ }, ['main.ts']);
74
+ }
75
+ exports.updateMainFile = updateMainFile;
76
+ //# sourceMappingURL=update-main-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-main-file.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init-application/update-main-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ProjectConfiguration, Tree } from '@nx/devkit';
2
+ import { InitApplicationGeneratorSchema } from './schema';
3
+ export declare function updateProjectTargets(tree: Tree, projectName: string, project: ProjectConfiguration, options: InitApplicationGeneratorSchema): void;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateProjectTargets = void 0;
4
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
5
+ function updateProjectTargets(tree, projectName, project, options) {
6
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
7
+ var _k, _l, _m, _o;
8
+ if (!options.standalone) {
9
+ (0, workspace_utilities_1.CoerceTarget)(project, 'generate-package-json', {});
10
+ }
11
+ const outputPath = (_c = (_b = (_a = project.targets) === null || _a === void 0 ? void 0 : _a.build) === null || _b === void 0 ? void 0 : _b.options) === null || _c === void 0 ? void 0 : _c.outputPath;
12
+ if (!outputPath) {
13
+ throw new Error(`No outputPath found for project ${projectName}`);
14
+ }
15
+ if (options.swagger && !options.standalone) {
16
+ (0, workspace_utilities_1.CoerceTarget)(project, 'generate-open-api', {
17
+ executor: '@rxap/plugin-library:run-generator',
18
+ options: {
19
+ generator: '@rxap/plugin-open-api:generate',
20
+ options: {
21
+ project: `open-api-${projectName}`,
22
+ path: `${outputPath.replace('dist/', 'dist/swagger/')}/openapi.json`,
23
+ serverId: projectName,
24
+ },
25
+ },
26
+ });
27
+ }
28
+ (0, workspace_utilities_1.CoerceTarget)(project, 'build', {
29
+ options: {
30
+ generatePackageJson: true,
31
+ },
32
+ configurations: {
33
+ production: {
34
+ fileReplacements: [
35
+ {
36
+ replace: `${project.sourceRoot}/environments/environment.ts`,
37
+ with: `${project.sourceRoot}/environments/environment.prod.ts`,
38
+ },
39
+ ],
40
+ },
41
+ development: {
42
+ progress: true,
43
+ },
44
+ },
45
+ }, workspace_utilities_1.Strategy.OVERWRITE);
46
+ if (tree.exists('LICENSE')) {
47
+ const buildConfiguration = (0, workspace_utilities_1.GetTarget)(project, 'build');
48
+ (_d = buildConfiguration.options) !== null && _d !== void 0 ? _d : (buildConfiguration.options = {});
49
+ (_e = (_k = buildConfiguration.options).assets) !== null && _e !== void 0 ? _e : (_k.assets = []);
50
+ (0, workspace_utilities_1.CoerceAssets)(buildConfiguration.options.assets, [
51
+ {
52
+ 'input': '',
53
+ 'glob': 'LICENSE',
54
+ 'output': '/',
55
+ },
56
+ ]);
57
+ (0, workspace_utilities_1.CoerceTarget)(project, 'build', buildConfiguration, workspace_utilities_1.Strategy.REPLACE);
58
+ }
59
+ if ((_f = project.targets) === null || _f === void 0 ? void 0 : _f['docker']) {
60
+ (_g = (_l = project.targets['docker']).options) !== null && _g !== void 0 ? _g : (_l.options = {});
61
+ (_h = (_m = project.targets['docker'].options).dockerfile) !== null && _h !== void 0 ? _h : (_m.dockerfile = 'shared/nestjs/Dockerfile');
62
+ (_j = (_o = project.targets['docker'].options).buildArgList) !== null && _j !== void 0 ? _j : (_o.buildArgList = []);
63
+ if (options.apiPrefix !== false &&
64
+ !project.targets['docker'].options.buildArgList.some((arg) => arg.startsWith('PATH_PREFIX='))) {
65
+ project.targets['docker'].options.buildArgList.push('PATH_PREFIX=REGEX:app/app.config.ts:validationSchema\\[\'GLOBAL_API_PREFIX\'\\]\\s*=\\s*Joi.string\\(\\).default\\(\\s*\'(.+)\',?\\s*\\);');
66
+ }
67
+ }
68
+ }
69
+ exports.updateProjectTargets = updateProjectTargets;
70
+ //# sourceMappingURL=update-project-targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-project-targets.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init-application/update-project-targets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ProjectConfiguration } from '@nx/devkit';
2
+ import { InitApplicationGeneratorSchema } from './schema';
3
+ export declare function updateTags(projectName: string, project: ProjectConfiguration, options: InitApplicationGeneratorSchema): void;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateTags = void 0;
4
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
5
+ function updateTags(projectName, project, options) {
6
+ const tags = ['backend', 'nest', 'service'];
7
+ if (options.sentry) {
8
+ tags.push('sentry');
9
+ }
10
+ if (options.swagger) {
11
+ tags.push('swagger');
12
+ }
13
+ if (options.jwt) {
14
+ tags.push('jwt');
15
+ }
16
+ if (options.healthIndicator) {
17
+ tags.push('health-indicator');
18
+ }
19
+ if (options.openApi) {
20
+ tags.push('openapi');
21
+ }
22
+ if (options.standalone) {
23
+ tags.push('standalone');
24
+ }
25
+ if (options.platform) {
26
+ tags.push(options.platform);
27
+ }
28
+ const match = projectName.match(/service-feature-(.*)/);
29
+ if (match) {
30
+ tags.push(`feature:${match[1]}`);
31
+ }
32
+ (0, workspace_utilities_1.CoerceProjectTags)(project, tags);
33
+ }
34
+ exports.updateTags = updateTags;
35
+ //# sourceMappingURL=update-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-tags.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init-application/update-tags.ts"],"names":[],"mappings":";;;AACA,mEAA8D;AAG9D,SAAgB,UAAU,CACxB,WAAmB,EAAE,OAA6B,EAAE,OAAuC;IAC3F,MAAM,IAAI,GAAG,CAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAE,CAAC;IAE9C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACxD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,WAAY,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,IAAA,uCAAiB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAtCD,gCAsCC"}
@@ -41,6 +41,7 @@ function updateProjectTargets(tree, project, options) {
41
41
  (0, workspace_utilities_1.CoerceTarget)(project, 'fix-dependencies', {
42
42
  options: {
43
43
  options: {
44
+ strict: true,
44
45
  onlyDependencies: false,
45
46
  },
46
47
  },
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init-library/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init-library/generator.ts"],"names":[],"mappings":"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"}
@@ -4,23 +4,31 @@ exports.microserviceGenerator = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nx/devkit");
6
6
  const nest_1 = require("@nx/nest");
7
+ const utilities_1 = require("@rxap/utilities");
8
+ const path_1 = require("path");
7
9
  const generator_1 = require("../init-application/generator");
8
10
  function microserviceGenerator(tree, options) {
9
11
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
- var _a, _b, _c, _d;
12
+ var _a, _b, _c;
11
13
  const nxJson = (0, devkit_1.readNxJson)(tree);
12
14
  if (!nxJson) {
13
15
  throw new Error('No nx.json found');
14
16
  }
15
17
  const presetOptions = (_b = (_a = nxJson.generators) === null || _a === void 0 ? void 0 : _a['@nx/nest:application']) !== null && _b !== void 0 ? _b : {};
16
- (_c = options.directory) !== null && _c !== void 0 ? _c : (options.directory = 'service');
17
- (_d = presetOptions.tags) !== null && _d !== void 0 ? _d : (presetOptions.tags = '');
18
+ let { directory, name } = options;
19
+ name = (0, utilities_1.dasherize)(name);
20
+ directory !== null && directory !== void 0 ? directory : (directory = (0, path_1.join)('service', name));
21
+ (_c = presetOptions.tags) !== null && _c !== void 0 ? _c : (presetOptions.tags = '');
18
22
  if (!presetOptions.tags.includes('nest')) {
19
23
  presetOptions.tags += (presetOptions.tags.length ? ',' : '') + 'nest';
20
24
  }
21
- yield (0, nest_1.applicationGenerator)(tree, Object.assign(Object.assign({}, presetOptions), { name: options.name, directory: options.directory }));
22
- const projectName = [options.directory.replace(/\//g, '-'), options.name].filter(Boolean).join('-');
23
- yield (0, generator_1.default)(tree, Object.assign(Object.assign({ generateMain: true, swagger: true, healthIndicator: true, sentry: true, validator: true, platform: 'express', overwrite: true }, options), { projects: [projectName] }));
25
+ console.log('Generate nest application'.cyan);
26
+ console.log('name: ' + name.magenta);
27
+ console.log('directory: ' + directory.magenta);
28
+ yield (0, nest_1.applicationGenerator)(tree, Object.assign(Object.assign({}, presetOptions), { projectNameAndRootFormat: 'as-provided', name,
29
+ directory }));
30
+ const projectName = name;
31
+ yield (0, generator_1.default)(tree, Object.assign(Object.assign({ generateMain: true }, options), { project: projectName }));
24
32
  console.log(`run the application init generator: nx g @rxap/plugin-application:init --project ${projectName}`);
25
33
  });
26
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/microservice/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAGoB;AACpB,mCAAgD;AAChD,6DAAqE;AAGrE,SAAsB,qBAAqB,CACzC,IAAU,EACV,OAAoC;;;QAGpC,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,aAAa,GAAG,MAAA,MAAA,MAAM,CAAC,UAAU,0CAAG,sBAAsB,CAAC,mCAAI,EAAE,CAAC;QAExE,MAAA,OAAO,CAAC,SAAS,oCAAjB,OAAO,CAAC,SAAS,GAAK,SAAS,EAAC;QAEhC,MAAA,aAAa,CAAC,IAAI,oCAAlB,aAAa,CAAC,IAAI,GAAK,EAAE,EAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,aAAa,CAAC,IAAI,IAAI,CACE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACrC,GAAG,MAAM,CAAC;QACnC,CAAC;QAED,MAAM,IAAA,2BAAoB,EAAC,IAAI,kCAC1B,aAAa,KAChB,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,SAAS,EAAE,OAAO,CAAC,SAAS,IAC5B,CAAC;QAEH,MAAM,WAAW,GAAG,CAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,CAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtG,MAAM,IAAA,mBAAwB,EAAC,IAAI,gCACjC,YAAY,EAAE,IAAI,EAClB,OAAO,EAAE,IAAI,EACb,eAAe,EAAE,IAAI,EACrB,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,IAAI,IACZ,OAAO,KACV,QAAQ,EAAE,CAAE,WAAW,CAAE,IACzB,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,oFAAqF,WAAY,EAAE,CAAC,CAAC;IAEnH,CAAC;CAAA;AA1CD,sDA0CC;AAED,kBAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/microservice/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAGoB;AACpB,mCAAgD;AAChD,+CAA4C;AAC5C,+BAA4B;AAC5B,6DAAqE;AAGrE,SAAsB,qBAAqB,CACzC,IAAU,EACV,OAAoC;;;QAGpC,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,aAAa,GAAG,MAAA,MAAA,MAAM,CAAC,UAAU,0CAAG,sBAAsB,CAAC,mCAAI,EAAE,CAAC;QAExE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAElC,IAAI,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC;QACvB,SAAS,aAAT,SAAS,cAAT,SAAS,IAAT,SAAS,GAAK,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,EAAC;QAEpC,MAAA,aAAa,CAAC,IAAI,oCAAlB,aAAa,CAAC,IAAI,GAAK,EAAE,EAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,aAAa,CAAC,IAAI,IAAI,CACE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACrC,GAAG,MAAM,CAAC;QACnC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,IAAA,2BAAoB,EAAC,IAAI,kCAC1B,aAAa,KAChB,wBAAwB,EAAE,aAAa,EACvC,IAAI;YACJ,SAAS,IACT,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC;QAEzB,MAAM,IAAA,mBAAwB,EAAC,IAAI,gCACjC,YAAY,EAAE,IAAI,IACf,OAAO,KACV,OAAO,EAAE,WAAW,IACpB,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,oFAAqF,WAAY,EAAE,CAAC,CAAC;IAEnH,CAAC;CAAA;AA5CD,sDA4CC;AAED,kBAAe,qBAAqB,CAAC"}
@@ -2,26 +2,121 @@
2
2
  "$schema": "http://json-schema.org/schema",
3
3
  "$id": "Microservice",
4
4
  "title": "",
5
- "allOf": [
6
- {
7
- "$ref": "../init-application/schema.json"
8
- },
9
- {
10
- "type": "object",
11
- "properties": {
12
- "name": {
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "description": "The name of microservice",
10
+ "x-prompt": "Enter the name of the microservice?"
11
+ },
12
+ "directory": {
13
+ "type": "string",
14
+ "description": "The directory to create the microservice in"
15
+ },
16
+
17
+ "sentry": {
18
+ "type": "boolean",
19
+ "default": true,
20
+ "description": "Whether this service should use sentry",
21
+ "x-prompt": "Should this service use sentry?"
22
+ },
23
+ "skipFormat": {
24
+ "type": "boolean",
25
+ "default": false
26
+ },
27
+ "swagger": {
28
+ "type": "boolean",
29
+ "default": true,
30
+ "description": "Whether this service should use swagger",
31
+ "x-prompt": "Should this service support open-api config generation?"
32
+ },
33
+ "swaggerLive": {
34
+ "type": "boolean",
35
+ "default": false,
36
+ "description": "Whether this service should start a swagger live server"
37
+ },
38
+ "generateMain": {
39
+ "type": "boolean",
40
+ "description": "Whether the main file should be generated"
41
+ },
42
+ "healthIndicator": {
43
+ "type": "boolean",
44
+ "default": true,
45
+ "description": "Whether this service should use a health indicator",
46
+ "x-prompt": "Should this service have a health indicator endpoint?"
47
+ },
48
+ "healthIndicatorList": {
49
+ "type": "array",
50
+ "items": {
51
+ "type": "string"
52
+ },
53
+ "description": "A list of health indicators"
54
+ },
55
+ "validator": {
56
+ "type": "boolean",
57
+ "default": true,
58
+ "description": "Whether this service use the ValidationPipe",
59
+ "x-prompt": "Should this service use the ValidationPipe?"
60
+ },
61
+ "platform": {
62
+ "type": "string",
63
+ "enum": [
64
+ "express",
65
+ "fastify"
66
+ ],
67
+ "default": "express",
68
+ "x-prompt": "Whichever platform should be used?"
69
+ },
70
+ "port": {
71
+ "type": "number",
72
+ "description": "The default port where the server is listens"
73
+ },
74
+ "apiPrefix": {
75
+ "oneOf": [
76
+ {
13
77
  "type": "string",
14
- "description": "The name of microservice",
15
- "x-prompt": "Enter the name of the microservice?"
78
+ "description": "The default global api prefix"
16
79
  },
17
- "directory": {
18
- "type": "string",
19
- "description": "The directory to create the microservice in"
80
+ {
81
+ "description": "Disable the global api prefix",
82
+ "type": "boolean",
83
+ "const": false
20
84
  }
21
- },
22
- "required": [
23
- "name"
24
85
  ]
86
+ },
87
+ "sentryDsn": {
88
+ "type": "string",
89
+ "description": "Default sentry dsn"
90
+ },
91
+ "overwrite": {
92
+ "type": "boolean",
93
+ "default": false,
94
+ "description": "Whether to overwrite existing files"
95
+ },
96
+ "jwt": {
97
+ "type": "boolean",
98
+ "default": false,
99
+ "description": "Whether the application should use jwt",
100
+ "x-prompt": "Should this service use jwt?"
101
+ },
102
+ "openApi": {
103
+ "type": "boolean",
104
+ "default": false,
105
+ "description": "Whether the application should use openApi as client",
106
+ "x-prompt": "Should this service use an open api client?"
107
+ },
108
+ "apiConfigurationFile": {
109
+ "type": "string",
110
+ "description": "The api configuration file to use"
111
+ },
112
+ "standalone": {
113
+ "type": "boolean",
114
+ "default": false,
115
+ "description": "Whether the nest service should be standalone",
116
+ "x-prompt": "Should this service be standalone?"
25
117
  }
118
+ },
119
+ "required": [
120
+ "name"
26
121
  ]
27
122
  }