@rxap/plugin-nestjs 16.1.0-dev.8 → 16.1.0

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 (114) hide show
  1. package/CHANGELOG.md +385 -0
  2. package/README.md +127 -1
  3. package/generators.json +90 -0
  4. package/package.json +63 -42
  5. package/src/executors/package-json/executor.js +27 -13
  6. package/src/executors/package-json/executor.js.map +1 -1
  7. package/src/executors/package-json/schema.d.ts +3 -1
  8. package/src/executors/package-json/schema.json +11 -1
  9. package/src/generators/feature-microservice/generator.d.ts +4 -0
  10. package/src/generators/feature-microservice/generator.js +17 -0
  11. package/src/generators/feature-microservice/generator.js.map +1 -0
  12. package/src/generators/feature-microservice/index.d.ts +2 -0
  13. package/src/generators/feature-microservice/index.js +7 -0
  14. package/src/generators/feature-microservice/index.js.map +1 -0
  15. package/src/generators/feature-microservice/schema.d.ts +5 -0
  16. package/src/generators/feature-microservice/schema.json +23 -0
  17. package/src/generators/frontend-microservice/generator.d.ts +4 -0
  18. package/src/generators/frontend-microservice/generator.js +17 -0
  19. package/src/generators/frontend-microservice/generator.js.map +1 -0
  20. package/src/generators/frontend-microservice/index.d.ts +2 -0
  21. package/src/generators/frontend-microservice/index.js +7 -0
  22. package/src/generators/frontend-microservice/index.js.map +1 -0
  23. package/src/generators/frontend-microservice/schema.d.ts +6 -0
  24. package/src/generators/frontend-microservice/schema.json +29 -0
  25. package/src/generators/health-indicator/generator.d.ts +4 -0
  26. package/src/generators/health-indicator/generator.js +31 -0
  27. package/src/generators/health-indicator/generator.js.map +1 -0
  28. package/src/generators/health-indicator/index.d.ts +2 -0
  29. package/src/generators/health-indicator/index.js +7 -0
  30. package/src/generators/health-indicator/index.js.map +1 -0
  31. package/src/generators/health-indicator/schema.d.ts +5 -0
  32. package/src/generators/health-indicator/schema.json +32 -0
  33. package/src/generators/health-indicator-init/generator.d.ts +4 -0
  34. package/src/generators/health-indicator-init/generator.js +35 -0
  35. package/src/generators/health-indicator-init/generator.js.map +1 -0
  36. package/src/generators/health-indicator-init/index.d.ts +2 -0
  37. package/src/generators/health-indicator-init/index.js +7 -0
  38. package/src/generators/health-indicator-init/index.js.map +1 -0
  39. package/src/generators/health-indicator-init/schema.d.ts +4 -0
  40. package/src/generators/health-indicator-init/schema.json +22 -0
  41. package/src/generators/init/generator.js +29 -25
  42. package/src/generators/init/generator.js.map +1 -1
  43. package/src/generators/init/index.js +6 -4
  44. package/src/generators/init/index.js.map +1 -1
  45. package/src/generators/init/schema.d.ts +2 -0
  46. package/src/generators/init/schema.json +10 -0
  47. package/src/generators/init-application/extract-existing-config-validation.d.ts +3 -0
  48. package/src/generators/init-application/extract-existing-config-validation.js +47 -0
  49. package/src/generators/init-application/extract-existing-config-validation.js.map +1 -0
  50. package/src/generators/init-application/files/shared/Dockerfile +35 -0
  51. package/src/generators/init-application/generator.js +625 -80
  52. package/src/generators/init-application/generator.js.map +1 -1
  53. package/src/generators/init-application/index.js +6 -4
  54. package/src/generators/init-application/index.js.map +1 -1
  55. package/src/generators/init-application/schema.d.ts +5 -2
  56. package/src/generators/init-application/schema.json +36 -21
  57. package/src/generators/init-library/generator.js +58 -22
  58. package/src/generators/init-library/generator.js.map +1 -1
  59. package/src/generators/init-library/index.js +6 -4
  60. package/src/generators/init-library/index.js.map +1 -1
  61. package/src/generators/init-library/schema.d.ts +2 -0
  62. package/src/generators/init-library/schema.json +10 -0
  63. package/src/generators/jwt/generator.d.ts +4 -0
  64. package/src/generators/jwt/generator.js +76 -0
  65. package/src/generators/jwt/generator.js.map +1 -0
  66. package/src/generators/jwt/index.d.ts +2 -0
  67. package/src/generators/jwt/index.js +7 -0
  68. package/src/generators/jwt/index.js.map +1 -0
  69. package/src/generators/jwt/schema.d.ts +4 -0
  70. package/src/generators/jwt/schema.json +18 -0
  71. package/src/generators/microservice/generator.d.ts +4 -0
  72. package/src/generators/microservice/generator.js +26 -0
  73. package/src/generators/microservice/generator.js.map +1 -0
  74. package/src/generators/microservice/index.d.ts +2 -0
  75. package/src/generators/microservice/index.js +7 -0
  76. package/src/generators/microservice/index.js.map +1 -0
  77. package/src/generators/microservice/schema.d.ts +6 -0
  78. package/src/generators/microservice/schema.json +27 -0
  79. package/src/generators/open-api/generator.d.ts +4 -0
  80. package/src/generators/open-api/generator.js +74 -0
  81. package/src/generators/open-api/generator.js.map +1 -0
  82. package/src/generators/open-api/index.d.ts +2 -0
  83. package/src/generators/open-api/index.js +7 -0
  84. package/src/generators/open-api/index.js.map +1 -0
  85. package/src/generators/open-api/schema.d.ts +4 -0
  86. package/src/generators/open-api/schema.json +18 -0
  87. package/src/generators/sentry/generator.d.ts +4 -0
  88. package/src/generators/sentry/generator.js +152 -0
  89. package/src/generators/sentry/generator.js.map +1 -0
  90. package/src/generators/sentry/index.d.ts +2 -0
  91. package/src/generators/sentry/index.js +7 -0
  92. package/src/generators/sentry/index.js.map +1 -0
  93. package/src/generators/sentry/schema.d.ts +6 -0
  94. package/src/generators/sentry/schema.json +32 -0
  95. package/src/generators/swagger/files/environments/environment.swagger.ts__tmpl__ +1 -0
  96. package/src/generators/swagger/files/swagger.ts__tmpl__ +17 -15
  97. package/src/generators/swagger/generator.js +38 -36
  98. package/src/generators/swagger/generator.js.map +1 -1
  99. package/src/generators/swagger/index.js +6 -4
  100. package/src/generators/swagger/index.js.map +1 -1
  101. package/src/generators/swagger/schema.d.ts +1 -0
  102. package/src/generators/swagger/schema.json +3 -0
  103. package/src/generators/validator/generator.d.ts +4 -0
  104. package/src/generators/validator/generator.js +14 -0
  105. package/src/generators/validator/generator.js.map +1 -0
  106. package/src/generators/validator/index.d.ts +2 -0
  107. package/src/generators/validator/index.js +7 -0
  108. package/src/generators/validator/index.js.map +1 -0
  109. package/src/generators/validator/schema.d.ts +4 -0
  110. package/src/generators/validator/schema.json +22 -0
  111. package/src/index.js +7 -2
  112. package/src/index.js.map +1 -1
  113. package/src/lib/skip-non-nest-project.js +10 -5
  114. package/src/lib/skip-non-nest-project.js.map +1 -1
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.openApiGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const generator_utilities_1 = require("@rxap/generator-utilities");
6
+ const ts_morph_1 = require("@rxap/ts-morph");
7
+ const workspace_ts_morph_1 = require("@rxap/workspace-ts-morph");
8
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
9
+ const path_1 = require("path");
10
+ const ts_morph_2 = require("ts-morph");
11
+ function UpdateAppModule(tree, options) {
12
+ (0, workspace_ts_morph_1.TsMorphNestProjectTransform)(tree, {
13
+ project: options.project,
14
+ }, (project, [sourceFile]) => {
15
+ (0, ts_morph_1.CoerceNestModuleImport)(sourceFile, {
16
+ moduleName: 'OpenApiModule',
17
+ structures: [
18
+ {
19
+ namedImports: ['OpenApiModule', 'OpenApiModuleOptionsLoader'],
20
+ moduleSpecifier: '@rxap/nest-open-api',
21
+ },
22
+ {
23
+ moduleSpecifier: '@nestjs/config',
24
+ namedImports: ['ConfigService'],
25
+ },
26
+ ],
27
+ importWriter: w => {
28
+ w.writeLine('OpenApiModule.registerAsync(');
29
+ ts_morph_2.Writers.object({
30
+ isGlobal: 'true',
31
+ useClass: 'OpenApiModuleOptionsLoader',
32
+ })(w);
33
+ w.write(')');
34
+ },
35
+ });
36
+ }, ['/app/app.module.ts']);
37
+ }
38
+ function UpdateAppConfig(tree, options) {
39
+ (0, workspace_ts_morph_1.TsMorphNestProjectTransform)(tree, {
40
+ project: options.project,
41
+ }, (project, [sourceFile]) => {
42
+ (0, ts_morph_1.CoerceNestAppConfig)(sourceFile, {
43
+ itemList: [
44
+ {
45
+ name: 'OPEN_API_SERVER_CONFIG_FILE_PATH',
46
+ defaultValue: `environment.production ? '/app/assets/open-api-server-config.json' : join(__dirname, 'assets/open-api-server-config.json')`,
47
+ },
48
+ ],
49
+ overwrite: options.overwrite,
50
+ });
51
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
52
+ namedImports: ['environment'],
53
+ moduleSpecifier: '../environments/environment',
54
+ });
55
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
56
+ namedImports: ['join'],
57
+ moduleSpecifier: 'path',
58
+ });
59
+ }, ['/app/app.config.ts?']);
60
+ }
61
+ function openApiGenerator(tree, options) {
62
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
63
+ UpdateAppModule(tree, options);
64
+ const projectSourceRoot = (0, generator_utilities_1.GetProjectSourceRoot)(tree, options.project);
65
+ if (!tree.exists((0, path_1.join)(projectSourceRoot, 'assets', 'open-api-server-config.json'))) {
66
+ tree.write((0, path_1.join)(projectSourceRoot, 'assets', 'open-api-server-config.json'), '[]');
67
+ }
68
+ UpdateAppConfig(tree, options);
69
+ yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, '@rxap/nest-open-api', 'latest', { soft: true });
70
+ });
71
+ }
72
+ exports.openApiGenerator = openApiGenerator;
73
+ exports.default = openApiGenerator;
74
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/open-api/generator.ts"],"names":[],"mappings":";;;;AACA,mEAAiE;AACjE,6CAIwB;AACxB,iEAAuE;AACvE,mEAAqE;AACrE,+BAA4B;AAC5B,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,iCAAsB,EACpB,UAAU,EACV;YACE,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE;gBACV;oBACE,YAAY,EAAE,CAAE,eAAe,EAAE,4BAA4B,CAAE;oBAC/D,eAAe,EAAE,qBAAqB;iBACvC;gBACD;oBACE,eAAe,EAAE,gBAAgB;oBACjC,YAAY,EAAE,CAAE,eAAe,CAAE;iBAClC;aACF;YACD,YAAY,EAAE,CAAC,CAAC,EAAE;gBAChB,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,kBAAO,CAAC,MAAM,CAAC;oBACb,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,4BAA4B;iBACvC,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,OAA+B;IAElE,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,kCAAkC;oBACxC,YAAY,EAAE,4HAA4H;iBAC3I;aACF;YACD,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QAEH,IAAA,wBAAa,EAAC,UAAU,EAAE;YACxB,YAAY,EAAE,CAAE,aAAa,CAAE;YAC/B,eAAe,EAAE,6BAA6B;SAC/C,CAAC,CAAC;QAEH,IAAA,wBAAa,EAAC,UAAU,EAAE;YACxB,YAAY,EAAE,CAAE,MAAM,CAAE;YACxB,eAAe,EAAE,MAAM;SACxB,CAAC,CAAC;IAEL,CAAC,EACD,CAAE,qBAAqB,CAAE,CAC1B,CAAC;AAEJ,CAAC;AAED,SAAsB,gBAAgB,CACpC,IAAU,EACV,OAA+B;;QAE/B,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,iBAAiB,GAAG,IAAA,0CAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,WAAI,EAAC,iBAAiB,EAAE,QAAQ,EAAE,6BAA6B,CAAC,CAAC,EAAE;YAClF,IAAI,CAAC,KAAK,CAAC,IAAA,WAAI,EAAC,iBAAiB,EAAE,QAAQ,EAAE,6BAA6B,CAAC,EAAE,IAAI,CAAC,CAAC;SACpF;QACD,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,IAAA,8CAAwB,EAAC,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;CAAA;AAXD,4CAWC;AAED,kBAAe,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const schematic: (generatorOptions: import("./schema").OpenApiGeneratorSchema) => (tree: any, context: any) => Promise<any>;
2
+ export default schematic;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devkit_1 = require("@nx/devkit");
4
+ const generator_1 = require("./generator");
5
+ const schematic = (0, devkit_1.convertNxGenerator)(generator_1.default);
6
+ exports.default = schematic;
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/open-api/index.ts"],"names":[],"mappings":";;AAAA,uCAAgD;AAChD,2CAAoC;AAEpC,MAAM,SAAS,GAAG,IAAA,2BAAkB,EAAC,mBAAS,CAAC,CAAC;AAChD,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ export interface OpenApiGeneratorSchema {
2
+ overwrite?: boolean;
3
+ project: string;
4
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "OpenApi",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": ""
10
+ },
11
+ "overwrite": {
12
+ "type": "boolean"
13
+ }
14
+ },
15
+ "required": [
16
+ "project"
17
+ ]
18
+ }
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { SentryGeneratorSchema } from './schema';
3
+ export declare function sentryGenerator(tree: Tree, options: SentryGeneratorSchema): Promise<void>;
4
+ export default sentryGenerator;
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sentryGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ts_morph_1 = require("@rxap/ts-morph");
6
+ const workspace_ts_morph_1 = require("@rxap/workspace-ts-morph");
7
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
8
+ const ts_morph_2 = require("ts-morph");
9
+ function CoerceSentryModule(sourceFile, options) {
10
+ (0, ts_morph_1.CoerceNestModuleImport)(sourceFile, {
11
+ overwrite: options.overwrite,
12
+ moduleName: 'SentryModule',
13
+ structures: [
14
+ {
15
+ moduleSpecifier: '@rxap/nest-sentry',
16
+ namedImports: ['SentryModule'],
17
+ },
18
+ {
19
+ moduleSpecifier: '@nestjs/config',
20
+ namedImports: ['ConfigService', 'ConfigModule'],
21
+ },
22
+ {
23
+ namedImports: ['environment'],
24
+ moduleSpecifier: '../environments/environment',
25
+ },
26
+ {
27
+ namedImports: ['GetLogLevels'],
28
+ moduleSpecifier: '@rxap/nest-utilities',
29
+ },
30
+ {
31
+ namedImports: ['SentryOptionsFactory'],
32
+ moduleSpecifier: '@rxap/nest-sentry',
33
+ },
34
+ ],
35
+ importWriter: w => {
36
+ w.writeLine('SentryModule.forRootAsync(');
37
+ ts_morph_2.Writers.object({
38
+ imports: '[ ConfigModule ]',
39
+ inject: '[ ConfigService ]',
40
+ useFactory: 'SentryOptionsFactory(environment)',
41
+ })(w);
42
+ w.write(',');
43
+ ts_morph_2.Writers.object({
44
+ logLevels: 'GetLogLevels()',
45
+ })(w);
46
+ w.write(')');
47
+ },
48
+ });
49
+ }
50
+ function CoerceSentryInterceptorOptionsProvider(sourceFile) {
51
+ (0, ts_morph_1.CoerceNestModuleProvider)(sourceFile, {
52
+ providerObject: {
53
+ provide: 'SENTRY_INTERCEPTOR_OPTIONS',
54
+ useValue: ts_morph_2.Writers.object({
55
+ filters: w1 => {
56
+ w1.write('[');
57
+ ts_morph_2.Writers.object({
58
+ type: 'HttpException',
59
+ filter: '(exception: HttpException) => 500 > exception.getStatus()',
60
+ })(w1);
61
+ w1.write(']');
62
+ },
63
+ }),
64
+ },
65
+ structures: [
66
+ {
67
+ namedImports: ['SENTRY_INTERCEPTOR_OPTIONS'],
68
+ moduleSpecifier: '@rxap/nest-sentry',
69
+ },
70
+ {
71
+ namedImports: ['HttpException'],
72
+ moduleSpecifier: '@nestjs/common',
73
+ },
74
+ ],
75
+ });
76
+ }
77
+ function CoerceAppInterceptorProvider(sourceFile) {
78
+ (0, ts_morph_1.CoerceNestModuleProvider)(sourceFile, {
79
+ providerObject: {
80
+ provide: 'APP_INTERCEPTOR',
81
+ useClass: 'SentryInterceptor',
82
+ },
83
+ structures: [
84
+ {
85
+ namedImports: ['APP_INTERCEPTOR'],
86
+ moduleSpecifier: '@nestjs/core',
87
+ },
88
+ {
89
+ namedImports: ['SentryInterceptor'],
90
+ moduleSpecifier: '@rxap/nest-sentry',
91
+ },
92
+ ],
93
+ });
94
+ }
95
+ function UpdateAppModule(tree, options) {
96
+ (0, workspace_ts_morph_1.TsMorphNestProjectTransform)(tree, {
97
+ project: options.project,
98
+ }, (project, [sourceFile]) => {
99
+ CoerceSentryModule(sourceFile, options);
100
+ CoerceSentryInterceptorOptionsProvider(sourceFile);
101
+ CoerceAppInterceptorProvider(sourceFile);
102
+ }, ['/app/app.module.ts']);
103
+ }
104
+ function UpdateAppConfig(tree, options, projectName) {
105
+ (0, workspace_ts_morph_1.TsMorphNestProjectTransform)(tree, {
106
+ project: options.project,
107
+ }, (project, [sourceFile]) => {
108
+ (0, ts_morph_1.CoerceNestAppConfig)(sourceFile, {
109
+ itemList: [
110
+ {
111
+ name: 'SENTRY_DSN',
112
+ defaultValue: options.dsn,
113
+ },
114
+ {
115
+ name: 'SENTRY_ENABLED',
116
+ defaultValue: 'environment.sentry?.enabled ?? false',
117
+ },
118
+ {
119
+ name: 'SENTRY_ENVIRONMENT',
120
+ },
121
+ {
122
+ name: 'SENTRY_RELEASE',
123
+ },
124
+ {
125
+ name: 'SENTRY_SERVER_NAME',
126
+ defaultValue: `process.env.ROOT_DOMAIN ?? '${projectName}'`,
127
+ },
128
+ {
129
+ name: 'SENTRY_DEBUG',
130
+ defaultValue: 'environment.sentry?.debug ?? false',
131
+ },
132
+ ],
133
+ overwrite: options.overwrite,
134
+ });
135
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
136
+ namedImports: ['environment'],
137
+ moduleSpecifier: '../environments/environment',
138
+ });
139
+ }, ['/app/app.config.ts?']);
140
+ }
141
+ function sentryGenerator(tree, options) {
142
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
143
+ UpdateAppModule(tree, options);
144
+ UpdateAppConfig(tree, options, options.project);
145
+ yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, '@sentry/node', 'latest', { soft: true });
146
+ yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, '@sentry/hub', 'latest', { soft: true });
147
+ yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, '@rxap/nest-sentry', 'latest', { soft: true });
148
+ });
149
+ }
150
+ exports.sentryGenerator = sentryGenerator;
151
+ exports.default = sentryGenerator;
152
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/sentry/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const schematic: (generatorOptions: import("./schema").SentryGeneratorSchema) => (tree: any, context: any) => Promise<any>;
2
+ export default schematic;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devkit_1 = require("@nx/devkit");
4
+ const generator_1 = require("./generator");
5
+ const schematic = (0, devkit_1.convertNxGenerator)(generator_1.default);
6
+ exports.default = schematic;
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/sentry/index.ts"],"names":[],"mappings":";;AAAA,uCAAgD;AAChD,2CAAoC;AAEpC,MAAM,SAAS,GAAG,IAAA,2BAAkB,EAAC,mBAAS,CAAC,CAAC;AAChD,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface SentryGeneratorSchema {
2
+ project: string;
3
+ dsn?: string;
4
+ required?: boolean;
5
+ overwrite?: boolean;
6
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "Sentry",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "The name of the project.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ },
13
+ "x-prompt": "Which project should be extend with sentry support?"
14
+ },
15
+ "dsn": {
16
+ "type": "string",
17
+ "description": "Default sentry dsn"
18
+ },
19
+ "required": {
20
+ "type": "boolean",
21
+ "description": "Whether or not the sentry dsn should be required to start the application"
22
+ },
23
+ "overwrite": {
24
+ "type": "boolean",
25
+ "default": false,
26
+ "description": "Whether to overwrite existing files"
27
+ }
28
+ },
29
+ "required": [
30
+ "project"
31
+ ]
32
+ }
@@ -2,6 +2,7 @@ import { Environment } from '@rxap/nest-utilities';
2
2
 
3
3
  export const environment: Environment = {
4
4
  name: 'swagger',
5
+ app: '<%= projectName %>',
5
6
  production: true,
6
7
  swagger: true,
7
8
  };
@@ -1,19 +1,21 @@
1
1
  import { NestFactory } from '@nestjs/core';
2
- import { AppModule } from './app/app.module';
3
- import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
2
+ import {
3
+ DocumentBuilder,
4
+ SwaggerModule,
5
+ } from '@nestjs/swagger';
4
6
  import { writeFileSync } from 'fs';
5
7
  import { join } from 'path';
8
+ import { AppModule } from './app/app.module';
6
9
 
7
- NestFactory.create(AppModule).then(app => {
8
- const options = new DocumentBuilder().build();
9
- const document = SwaggerModule.createDocument(app, options);
10
-
11
- const outputPath = join(__dirname,'openapi.json')
12
- console.log('write to: ' + outputPath);
13
-
14
- writeFileSync(outputPath, JSON.stringify(document, null, 2));
15
-
16
- return app.close();
17
- }).catch(e => console.error('failed to generate openapi: ' + e.message))
18
- .then(() => console.log('DONE'));
19
-
10
+ NestFactory
11
+ .create(AppModule)
12
+ .then(app => {
13
+ const options = new DocumentBuilder().build();
14
+ const document = SwaggerModule.createDocument(app, options);
15
+ const outputPath = join(__dirname, 'openapi.json');
16
+ console.log('write to: ' + outputPath);
17
+ writeFileSync(outputPath, JSON.stringify(document, null, 2));
18
+ return app.close();
19
+ })
20
+ .catch(e => console.error('failed to generate openapi: ' + e.message))
21
+ .then(() => console.log('DONE'));
@@ -1,12 +1,16 @@
1
- import { generateFiles, readNxJson, readProjectConfiguration, updateNxJson, updateProjectConfiguration, } from '@nx/devkit';
2
- import { GetProjectRoot } from '@rxap/generator-utilities';
3
- import { GetTarget, GetTargetOptions, } from '@rxap/plugin-utilities';
4
- import { AddPackageJsonDependency, CoerceTarget, } from '@rxap/workspace-utilities';
5
- import * as path from 'path';
6
- import { join } from 'path';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.swaggerGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nx/devkit");
6
+ const generator_utilities_1 = require("@rxap/generator-utilities");
7
+ const plugin_utilities_1 = require("@rxap/plugin-utilities");
8
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
9
+ const path = require("path");
10
+ const path_1 = require("path");
7
11
  function updateProjectTargets(project) {
8
- const buildTarget = GetTarget(project, 'build');
9
- const buildTargetOptions = GetTargetOptions(buildTarget);
12
+ const buildTarget = (0, plugin_utilities_1.GetTarget)(project, 'build');
13
+ const buildTargetOptions = (0, plugin_utilities_1.GetTargetOptions)(buildTarget);
10
14
  if (!buildTargetOptions['outputPath']) {
11
15
  throw new Error('The selected project has the build target without the option outputPath');
12
16
  }
@@ -14,7 +18,7 @@ function updateProjectTargets(project) {
14
18
  throw new Error('The selected project has the build target without the option tsConfig');
15
19
  }
16
20
  const outputPath = buildTargetOptions['outputPath'].replace('dist/', 'dist/swagger/');
17
- CoerceTarget(project, 'swagger-build', {
21
+ (0, workspace_utilities_1.CoerceTarget)(project, 'swagger-build', {
18
22
  executor: '@nx/webpack:webpack',
19
23
  outputs: ['{options.outputPath}'],
20
24
  options: {
@@ -33,10 +37,10 @@ function updateProjectTargets(project) {
33
37
  ],
34
38
  },
35
39
  });
36
- CoerceTarget(project, 'swagger-generate', {
40
+ (0, workspace_utilities_1.CoerceTarget)(project, 'swagger-generate', {
37
41
  executor: '@nx/js:node',
38
42
  outputs: [
39
- `${outputPath}/open-api.json`,
43
+ `${outputPath}/openapi.json`,
40
44
  ],
41
45
  options: {
42
46
  buildTarget: `${project.name}:swagger-build`,
@@ -45,31 +49,29 @@ function updateProjectTargets(project) {
45
49
  });
46
50
  }
47
51
  function updateNxDefaults(tree) {
48
- const nxJson = readNxJson(tree);
49
- nxJson.tasksRunnerOptions ??= {};
50
- nxJson.tasksRunnerOptions['default'] ??= {
51
- runner: 'nx-cloud',
52
- options: {},
53
- };
54
- nxJson.tasksRunnerOptions['default'].options ??= {};
55
- nxJson.tasksRunnerOptions['default'].options['cacheableOperations'] ??= [];
56
- if (!nxJson.tasksRunnerOptions['default'].options['cacheableOperations'].includes('swagger-build')) {
57
- nxJson.tasksRunnerOptions['default'].options['cacheableOperations'].push('swagger-build');
58
- }
59
- if (!nxJson.tasksRunnerOptions['default'].options['cacheableOperations'].includes('swagger-generate')) {
60
- nxJson.tasksRunnerOptions['default'].options['cacheableOperations'].push('swagger-generate');
61
- }
62
- updateNxJson(tree, nxJson);
52
+ const nxJson = (0, devkit_1.readNxJson)(tree);
53
+ (0, workspace_utilities_1.CoerceNxJsonCacheableOperation)(nxJson, 'swagger-build', 'swagger-generate');
54
+ (0, devkit_1.updateNxJson)(tree, nxJson);
63
55
  }
64
- export async function swaggerGenerator(tree, options) {
65
- const projectRoot = GetProjectRoot(tree, options.project);
66
- generateFiles(tree, path.join(__dirname, 'files'), join(projectRoot, 'src'), { tmpl: '' });
67
- const project = readProjectConfiguration(tree, options.project);
68
- updateNxDefaults(tree);
69
- updateProjectTargets(project);
70
- updateProjectConfiguration(tree, options.project, project);
71
- await AddPackageJsonDependency(tree, 'swagger-ui-express', 'latest', { soft: true });
72
- await AddPackageJsonDependency(tree, '@nestjs/swagger', 'latest', { soft: true });
56
+ function swaggerGenerator(tree, options) {
57
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
58
+ const projectRoot = (0, generator_utilities_1.GetProjectRoot)(tree, options.project);
59
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, 'files'), (0, path_1.join)(projectRoot, 'src'), {
60
+ tmpl: '',
61
+ projectName: options.project,
62
+ });
63
+ const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
64
+ updateNxDefaults(tree);
65
+ updateProjectTargets(project);
66
+ const projectSourceRoot = project.sourceRoot;
67
+ if (!projectSourceRoot) {
68
+ throw new Error('The selected project has no sourceRoot');
69
+ }
70
+ (0, devkit_1.updateProjectConfiguration)(tree, options.project, project);
71
+ yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, 'swagger-ui-express', 'latest', { soft: true });
72
+ yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, '@nestjs/swagger', 'latest', { soft: true });
73
+ });
73
74
  }
74
- export default swaggerGenerator;
75
+ exports.swaggerGenerator = swaggerGenerator;
76
+ exports.default = swaggerGenerator;
75
77
  //# sourceMappingURL=generator.js.map
@@ -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,5 +1,7 @@
1
- import { convertNxGenerator } from '@nx/devkit';
2
- import generator from './generator';
3
- const schematic = convertNxGenerator(generator);
4
- export default schematic;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devkit_1 = require("@nx/devkit");
4
+ const generator_1 = require("./generator");
5
+ const schematic = (0, devkit_1.convertNxGenerator)(generator_1.default);
6
+ exports.default = schematic;
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/swagger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAChD,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/swagger/index.ts"],"names":[],"mappings":";;AAAA,uCAAgD;AAChD,2CAAoC;AAEpC,MAAM,SAAS,GAAG,IAAA,2BAAkB,EAAC,mBAAS,CAAC,CAAC;AAChD,kBAAe,SAAS,CAAC"}
@@ -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": [
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { ValidatorGeneratorSchema } from './schema';
3
+ export declare function validatorGenerator(tree: Tree, options: ValidatorGeneratorSchema): Promise<void>;
4
+ export default validatorGenerator;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validatorGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
6
+ function validatorGenerator(tree, options) {
7
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
+ yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, 'class-validator', 'latest', { soft: true });
9
+ yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, 'class-transformer', 'latest', { soft: true });
10
+ });
11
+ }
12
+ exports.validatorGenerator = validatorGenerator;
13
+ exports.default = validatorGenerator;
14
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/validator/generator.ts"],"names":[],"mappings":";;;;AACA,mEAAqE;AAGrE,SAAsB,kBAAkB,CACtC,IAAU,EACV,OAAiC;;QAEjC,MAAM,IAAA,8CAAwB,EAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,MAAM,IAAA,8CAAwB,EAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;CAAA;AAND,gDAMC;AAED,kBAAe,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const schematic: (generatorOptions: import("./schema").ValidatorGeneratorSchema) => (tree: any, context: any) => Promise<any>;
2
+ export default schematic;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devkit_1 = require("@nx/devkit");
4
+ const generator_1 = require("./generator");
5
+ const schematic = (0, devkit_1.convertNxGenerator)(generator_1.default);
6
+ exports.default = schematic;
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/validator/index.ts"],"names":[],"mappings":";;AAAA,uCAAgD;AAChD,2CAAoC;AAEpC,MAAM,SAAS,GAAG,IAAA,2BAAkB,EAAC,mBAAS,CAAC,CAAC;AAChD,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ export interface ValidatorGeneratorSchema {
2
+ overwrite?: boolean;
3
+ project: string;
4
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "Validator",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "The name of the project.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ },
13
+ "x-prompt": "Which project should be extend with sentry support?"
14
+ },
15
+ "overwrite": {
16
+ "type": "boolean"
17
+ }
18
+ },
19
+ "required": [
20
+ "project"
21
+ ]
22
+ }