@rxap/plugin-nestjs 16.1.0-dev.1 → 16.1.0-dev.10

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 (95) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/LICENSE.md +621 -0
  3. package/README.md +137 -1
  4. package/executors.json +9 -0
  5. package/generators.json +87 -0
  6. package/package.json +39 -6
  7. package/src/executors/package-json/executor.d.ts +5 -0
  8. package/src/executors/package-json/executor.js +21 -0
  9. package/src/executors/package-json/executor.js.map +1 -0
  10. package/src/executors/package-json/schema.d.ts +1 -0
  11. package/src/executors/package-json/schema.json +9 -0
  12. package/src/generators/health-indicator/generator.d.ts +4 -0
  13. package/src/generators/health-indicator/generator.js +31 -0
  14. package/src/generators/health-indicator/generator.js.map +1 -0
  15. package/src/generators/health-indicator/index.d.ts +2 -0
  16. package/src/generators/health-indicator/index.js +7 -0
  17. package/src/generators/health-indicator/index.js.map +1 -0
  18. package/src/generators/health-indicator/schema.d.ts +4 -0
  19. package/src/generators/health-indicator/schema.json +29 -0
  20. package/src/generators/health-indicator-init/generator.d.ts +4 -0
  21. package/src/generators/health-indicator-init/generator.js +33 -0
  22. package/src/generators/health-indicator-init/generator.js.map +1 -0
  23. package/src/generators/health-indicator-init/index.d.ts +2 -0
  24. package/src/generators/health-indicator-init/index.js +7 -0
  25. package/src/generators/health-indicator-init/index.js.map +1 -0
  26. package/src/generators/health-indicator-init/schema.d.ts +3 -0
  27. package/src/generators/health-indicator-init/schema.json +19 -0
  28. package/src/generators/init/index.d.ts +2 -0
  29. package/src/generators/init/index.js +7 -0
  30. package/src/generators/init/index.js.map +1 -0
  31. package/src/generators/init/schema.d.ts +1 -0
  32. package/src/generators/init/schema.json +5 -0
  33. package/src/generators/init-application/files/Dockerfile__tmpl__ +21 -0
  34. package/src/generators/init-application/files/healthcheck.js__tmpl__ +38 -0
  35. package/src/generators/init-application/files/main.ts__tmpl__ +114 -0
  36. package/src/generators/init-application/generator.d.ts +0 -3
  37. package/src/generators/init-application/generator.js +382 -5
  38. package/src/generators/init-application/generator.js.map +1 -1
  39. package/src/generators/init-application/index.d.ts +2 -0
  40. package/src/generators/init-application/index.js +7 -0
  41. package/src/generators/init-application/index.js.map +1 -0
  42. package/src/generators/init-application/schema.d.ts +1 -1
  43. package/src/generators/init-application/schema.json +15 -15
  44. package/src/generators/init-library/generator.js +12 -17
  45. package/src/generators/init-library/generator.js.map +1 -1
  46. package/src/generators/init-library/index.d.ts +2 -0
  47. package/src/generators/init-library/index.js +7 -0
  48. package/src/generators/init-library/index.js.map +1 -0
  49. package/src/generators/init-library/schema.d.ts +1 -0
  50. package/src/generators/init-library/schema.json +5 -0
  51. package/src/generators/jwt/generator.d.ts +4 -0
  52. package/src/generators/jwt/generator.js +54 -0
  53. package/src/generators/jwt/generator.js.map +1 -0
  54. package/src/generators/jwt/index.d.ts +2 -0
  55. package/src/generators/jwt/index.js +7 -0
  56. package/src/generators/jwt/index.js.map +1 -0
  57. package/src/generators/jwt/schema.d.ts +3 -0
  58. package/src/generators/jwt/schema.json +15 -0
  59. package/src/generators/open-api/generator.d.ts +4 -0
  60. package/src/generators/open-api/generator.js +45 -0
  61. package/src/generators/open-api/generator.js.map +1 -0
  62. package/src/generators/open-api/index.d.ts +2 -0
  63. package/src/generators/open-api/index.js +7 -0
  64. package/src/generators/open-api/index.js.map +1 -0
  65. package/src/generators/open-api/schema.d.ts +3 -0
  66. package/src/generators/open-api/schema.json +15 -0
  67. package/src/generators/sentry/generator.d.ts +4 -0
  68. package/src/generators/sentry/generator.js +146 -0
  69. package/src/generators/sentry/generator.js.map +1 -0
  70. package/src/generators/sentry/index.d.ts +2 -0
  71. package/src/generators/sentry/index.js +7 -0
  72. package/src/generators/sentry/index.js.map +1 -0
  73. package/src/generators/sentry/schema.d.ts +5 -0
  74. package/src/generators/sentry/schema.json +27 -0
  75. package/src/generators/swagger/files/environments/environment.swagger.ts__tmpl__ +8 -0
  76. package/src/generators/swagger/files/swagger.ts__tmpl__ +21 -0
  77. package/src/generators/swagger/generator.d.ts +4 -0
  78. package/src/generators/swagger/generator.js +87 -0
  79. package/src/generators/swagger/generator.js.map +1 -0
  80. package/src/generators/swagger/index.d.ts +2 -0
  81. package/src/generators/swagger/index.js +7 -0
  82. package/src/generators/swagger/index.js.map +1 -0
  83. package/src/generators/swagger/schema.d.ts +3 -0
  84. package/src/generators/swagger/schema.json +19 -0
  85. package/src/generators/validator/generator.d.ts +4 -0
  86. package/src/generators/validator/generator.js +14 -0
  87. package/src/generators/validator/generator.js.map +1 -0
  88. package/src/generators/validator/index.d.ts +2 -0
  89. package/src/generators/validator/index.js +7 -0
  90. package/src/generators/validator/index.js.map +1 -0
  91. package/src/generators/validator/schema.d.ts +3 -0
  92. package/src/generators/validator/schema.json +19 -0
  93. package/src/index.d.ts +1 -0
  94. package/src/index.js +3 -1
  95. package/src/index.js.map +1 -1
package/README.md CHANGED
@@ -9,6 +9,7 @@
9
9
 
10
10
  - [Installation](#installation)
11
11
  - [Generators](#generators)
12
+ - [Executors](#executors)
12
13
 
13
14
  # Installation
14
15
 
@@ -18,7 +19,7 @@ yarn add @rxap/plugin-nestjs
18
19
  ```
19
20
  **Install peer dependencies:**
20
21
  ```bash
21
- yarn add @nx/devkit@^16.5.0 @rxap/generator-utilities@^1.0.1-dev.2 nx@^16.5.0
22
+ yarn add @nx/devkit@^16.5.0 @nx/js@^16.5.0 @rxap/generator-utilities@^1.1.0-dev.7 @rxap/plugin-utilities@^16.1.0-dev.9 @rxap/ts-morph@^0.1.0-dev.0 @rxap/utilities@^16.0.0-dev.13 @rxap/workspace-ts-morph@^0.1.0-dev.3 @rxap/workspace-utilities@^0.1.0-dev.6 ts-morph@^18.0.0
22
23
  ```
23
24
  **Execute the init generator:**
24
25
  ```bash
@@ -46,3 +47,138 @@ yarn nx g @rxap/plugin-nestjs:init-library
46
47
  ```bash
47
48
  yarn nx g @rxap/plugin-nestjs:init-application
48
49
  ```
50
+
51
+ ## swagger
52
+ > swagger generator
53
+
54
+ ```bash
55
+ yarn nx g @rxap/plugin-nestjs:swagger
56
+ ```
57
+
58
+ ## sentry
59
+ > sentry generator
60
+
61
+ ```bash
62
+ yarn nx g @rxap/plugin-nestjs:sentry
63
+ ```
64
+
65
+ ## validator
66
+ > validator generator
67
+
68
+ ```bash
69
+ yarn nx g @rxap/plugin-nestjs:validator
70
+ ```
71
+
72
+ ## open-api
73
+ > open-api generator
74
+
75
+ ```bash
76
+ yarn nx g @rxap/plugin-nestjs:open-api
77
+ ```
78
+
79
+ ## jwt
80
+ > jwt generator
81
+
82
+ ```bash
83
+ yarn nx g @rxap/plugin-nestjs:jwt
84
+ ```
85
+
86
+ ## health-indicator
87
+ > health-indicator generator
88
+
89
+ ```bash
90
+ yarn nx g @rxap/plugin-nestjs:health-indicator
91
+ ```
92
+
93
+ ## health-indicator-init
94
+ > health-indicator-init generator
95
+
96
+ ```bash
97
+ yarn nx g @rxap/plugin-nestjs:health-indicator-init
98
+ ```
99
+
100
+ ## init
101
+ > init generator
102
+
103
+ ```bash
104
+ yarn nx g @rxap/plugin-nestjs:init
105
+ ```
106
+
107
+ ## init-library
108
+ > init-library generator
109
+
110
+ ```bash
111
+ yarn nx g @rxap/plugin-nestjs:init-library
112
+ ```
113
+
114
+ ## init-application
115
+ > init-application generator
116
+
117
+ ```bash
118
+ yarn nx g @rxap/plugin-nestjs:init-application
119
+ ```
120
+
121
+ ## swagger
122
+ > swagger generator
123
+
124
+ ```bash
125
+ yarn nx g @rxap/plugin-nestjs:swagger
126
+ ```
127
+
128
+ ## sentry
129
+ > sentry generator
130
+
131
+ ```bash
132
+ yarn nx g @rxap/plugin-nestjs:sentry
133
+ ```
134
+
135
+ ## validator
136
+ > validator generator
137
+
138
+ ```bash
139
+ yarn nx g @rxap/plugin-nestjs:validator
140
+ ```
141
+
142
+ ## open-api
143
+ > open-api generator
144
+
145
+ ```bash
146
+ yarn nx g @rxap/plugin-nestjs:open-api
147
+ ```
148
+
149
+ ## jwt
150
+ > jwt generator
151
+
152
+ ```bash
153
+ yarn nx g @rxap/plugin-nestjs:jwt
154
+ ```
155
+
156
+ ## health-indicator
157
+ > health-indicator generator
158
+
159
+ ```bash
160
+ yarn nx g @rxap/plugin-nestjs:health-indicator
161
+ ```
162
+
163
+ ## health-indicator-init
164
+ > health-indicator-init generator
165
+
166
+ ```bash
167
+ yarn nx g @rxap/plugin-nestjs:health-indicator-init
168
+ ```
169
+ # Executors
170
+
171
+ ## package-json
172
+ > package-json executor
173
+
174
+ **project.json**
175
+ ```json
176
+ {
177
+ "targets": {
178
+ "package-json": {
179
+ "executor": "@rxap/plugin-nestjs:package-json"
180
+ }
181
+ }
182
+ }
183
+ ```
184
+
package/executors.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "executors": {
3
+ "package-json": {
4
+ "implementation": "./src/executors/package-json/executor",
5
+ "schema": "./src/executors/package-json/schema.json",
6
+ "description": "package-json executor"
7
+ }
8
+ }
9
+ }
package/generators.json CHANGED
@@ -14,6 +14,93 @@
14
14
  "factory": "./src/generators/init-application/generator",
15
15
  "schema": "./src/generators/init-application/schema.json",
16
16
  "description": "init-application generator"
17
+ },
18
+ "swagger": {
19
+ "factory": "./src/generators/swagger/generator",
20
+ "schema": "./src/generators/swagger/schema.json",
21
+ "description": "swagger generator"
22
+ },
23
+ "sentry": {
24
+ "factory": "./src/generators/sentry/generator",
25
+ "schema": "./src/generators/sentry/schema.json",
26
+ "description": "sentry generator"
27
+ },
28
+ "validator": {
29
+ "factory": "./src/generators/validator/generator",
30
+ "schema": "./src/generators/validator/schema.json",
31
+ "description": "validator generator"
32
+ },
33
+ "open-api": {
34
+ "factory": "./src/generators/open-api/generator",
35
+ "schema": "./src/generators/open-api/schema.json",
36
+ "description": "open-api generator"
37
+ },
38
+ "jwt": {
39
+ "factory": "./src/generators/jwt/generator",
40
+ "schema": "./src/generators/jwt/schema.json",
41
+ "description": "jwt generator"
42
+ },
43
+ "health-indicator": {
44
+ "factory": "./src/generators/health-indicator/generator",
45
+ "schema": "./src/generators/health-indicator/schema.json",
46
+ "description": "health-indicator generator"
47
+ },
48
+ "health-indicator-init": {
49
+ "factory": "./src/generators/health-indicator-init/generator",
50
+ "schema": "./src/generators/health-indicator-init/schema.json",
51
+ "description": "health-indicator-init generator"
52
+ }
53
+ },
54
+ "schematics": {
55
+ "init": {
56
+ "factory": "./src/generators/init/index",
57
+ "schema": "./src/generators/init/schema.json",
58
+ "description": "init generator"
59
+ },
60
+ "init-library": {
61
+ "factory": "./src/generators/init-library/index",
62
+ "schema": "./src/generators/init-library/schema.json",
63
+ "description": "init-library generator"
64
+ },
65
+ "init-application": {
66
+ "factory": "./src/generators/init-application/index",
67
+ "schema": "./src/generators/init-application/schema.json",
68
+ "description": "init-application generator"
69
+ },
70
+ "swagger": {
71
+ "factory": "./src/generators/swagger/index",
72
+ "schema": "./src/generators/swagger/schema.json",
73
+ "description": "swagger generator"
74
+ },
75
+ "sentry": {
76
+ "factory": "./src/generators/sentry/index",
77
+ "schema": "./src/generators/sentry/schema.json",
78
+ "description": "sentry generator"
79
+ },
80
+ "validator": {
81
+ "factory": "./src/generators/validator/index",
82
+ "schema": "./src/generators/validator/schema.json",
83
+ "description": "validator generator"
84
+ },
85
+ "open-api": {
86
+ "factory": "./src/generators/open-api/index",
87
+ "schema": "./src/generators/open-api/schema.json",
88
+ "description": "open-api generator"
89
+ },
90
+ "jwt": {
91
+ "factory": "./src/generators/jwt/index",
92
+ "schema": "./src/generators/jwt/schema.json",
93
+ "description": "jwt generator"
94
+ },
95
+ "health-indicator": {
96
+ "factory": "./src/generators/health-indicator/index",
97
+ "schema": "./src/generators/health-indicator/schema.json",
98
+ "description": "health-indicator generator"
99
+ },
100
+ "health-indicator-init": {
101
+ "factory": "./src/generators/health-indicator-init/index",
102
+ "schema": "./src/generators/health-indicator-init/schema.json",
103
+ "description": "health-indicator-init generator"
17
104
  }
18
105
  }
19
106
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rxap/plugin-nestjs",
3
- "version": "16.1.0-dev.1",
3
+ "version": "16.1.0-dev.10",
4
4
  "type": "commonjs",
5
5
  "generators": "./generators.json",
6
6
  "publishConfig": {
@@ -13,7 +13,8 @@
13
13
  "nx",
14
14
  "nx-plugin",
15
15
  "packages",
16
- "nestjs"
16
+ "nestjs",
17
+ "plugin-nestjs"
17
18
  ],
18
19
  "homepage": "https:/gitlab.com/rxap/packages/packages/plugin/nestjs",
19
20
  "bugs": {
@@ -31,22 +32,54 @@
31
32
  "email": "mmuenker@digitaix.com"
32
33
  },
33
34
  "dependencies": {
35
+ "ignore": "^5.2.4",
36
+ "process": "0.11.10",
37
+ "semver": "^7.3.5",
34
38
  "tslib": "2.6.1"
35
39
  },
36
40
  "peerDependencies": {
37
41
  "@nx/devkit": "^16.5.0",
38
- "@rxap/generator-utilities": "^1.0.1-dev.2",
39
- "nx": "^16.5.0"
42
+ "@nx/js": "^16.5.0",
43
+ "@rxap/generator-utilities": "^1.1.0-dev.7",
44
+ "@rxap/plugin-utilities": "^16.1.0-dev.9",
45
+ "@rxap/ts-morph": "^0.1.0-dev.0",
46
+ "@rxap/utilities": "^16.0.0-dev.13",
47
+ "@rxap/workspace-ts-morph": "^0.1.0-dev.3",
48
+ "@rxap/workspace-utilities": "^0.1.0-dev.6",
49
+ "ts-morph": "^18.0.0",
50
+ "@rxap/node-utilities": "1.1.0-dev.4"
40
51
  },
41
52
  "nx-migrations": {
42
53
  "packageGroup": [
43
54
  {
44
55
  "package": "@rxap/generator-utilities",
45
- "version": "1.0.1-dev.2"
56
+ "version": "1.1.0-dev.7"
57
+ },
58
+ {
59
+ "package": "@rxap/plugin-utilities",
60
+ "version": "16.1.0-dev.9"
61
+ },
62
+ {
63
+ "package": "@rxap/ts-morph",
64
+ "version": "0.1.0-dev.0"
65
+ },
66
+ {
67
+ "package": "@rxap/utilities",
68
+ "version": "16.0.0-dev.13"
69
+ },
70
+ {
71
+ "package": "@rxap/workspace-ts-morph",
72
+ "version": "0.1.0-dev.3"
73
+ },
74
+ {
75
+ "package": "@rxap/workspace-utilities",
76
+ "version": "0.1.0-dev.6"
46
77
  }
47
78
  ]
48
79
  },
49
- "gitHead": "6ee014f9d4efe0f609d017905912c818ff61002b",
80
+ "executors": "./executors.json",
81
+ "schematics": "./generators.json",
82
+ "gitHead": "3d49d0a2548a0c403ad55c564108b54ba734a677",
50
83
  "main": "./src/index.js",
51
84
  "types": "./src/index.d.ts"
52
85
  }
@@ -0,0 +1,5 @@
1
+ import { ExecutorContext } from '@nx/devkit';
2
+ import { PackageJsonExecutorSchema } from './schema';
3
+ export default function runExecutor(options: PackageJsonExecutorSchema, context: ExecutorContext): Promise<{
4
+ success: boolean;
5
+ }>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const plugin_utilities_1 = require("@rxap/plugin-utilities");
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ function runExecutor(options, context) {
8
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
+ console.log('Executor ran for PackageJson', options);
10
+ (0, plugin_utilities_1.LoadProjectToPackageMapping)(context);
11
+ const dependencies = (0, plugin_utilities_1.GetAllPackageDependenciesForProject)(context);
12
+ const packageJson = { dependencies, name: context.projectName, private: true };
13
+ console.log('dependencies', dependencies);
14
+ (0, fs_1.writeFileSync)((0, path_1.join)((0, plugin_utilities_1.GetProjectRoot)(context), 'package.json'), JSON.stringify(packageJson, null, 2));
15
+ return {
16
+ success: true,
17
+ };
18
+ });
19
+ }
20
+ exports.default = runExecutor;
21
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/executors/package-json/executor.ts"],"names":[],"mappings":";;;AACA,6DAIgC;AAChC,2BAAmC;AACnC,+BAA4B;AAG5B,SAA8B,WAAW,CACvC,OAAkC,EAClC,OAAwB;;QAExB,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;QAErD,IAAA,8CAA2B,EAAC,OAAO,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG,IAAA,sDAAmC,EAAC,OAAO,CAAC,CAAC;QAElE,MAAM,WAAW,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAE/E,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAE1C,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,IAAA,iCAAc,EAAC,OAAO,CAAC,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnG,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;CAAA;AAnBD,8BAmBC"}
@@ -0,0 +1 @@
1
+ export interface PackageJsonExecutorSchema {} // eslint-disable-line
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "version": 2,
4
+ "title": "PackageJson executor",
5
+ "description": "",
6
+ "type": "object",
7
+ "properties": {},
8
+ "required": []
9
+ }
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { HealthIndicatorGeneratorSchema } from './schema';
3
+ export declare function healthIndicatorGenerator(tree: Tree, options: HealthIndicatorGeneratorSchema): Promise<void>;
4
+ export default healthIndicatorGenerator;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.healthIndicatorGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ts_morph_1 = require("@rxap/ts-morph");
6
+ const utilities_1 = require("@rxap/utilities");
7
+ const workspace_ts_morph_1 = require("@rxap/workspace-ts-morph");
8
+ const generator_1 = require("../health-indicator-init/generator");
9
+ function healthIndicatorGenerator(tree, options) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ yield (0, generator_1.default)(tree, options);
12
+ (0, workspace_ts_morph_1.TsMorphNestProjectTransform)(tree, {
13
+ project: options.project,
14
+ }, (project, [moduleSourceFile, controllerSourceFile, healthIndiectorSourceFile]) => {
15
+ (0, ts_morph_1.AddHealthIndicator)(healthIndiectorSourceFile, options.name);
16
+ (0, ts_morph_1.CoerceNestModuleProvider)(moduleSourceFile, {
17
+ providerObject: (0, utilities_1.dasherize)(options.name) + 'HealthIndicator',
18
+ moduleSpecifier: `./${(0, utilities_1.dasherize)(options.name)}.health-indicator`,
19
+ });
20
+ (0, ts_morph_1.AddHealthEndpoint)(controllerSourceFile, options.name);
21
+ (0, ts_morph_1.AddToGlobalHealthEndpoint)(controllerSourceFile, options.name);
22
+ }, [
23
+ '/app/health/health.module.ts',
24
+ '/app/health/health.controller.ts',
25
+ `/app/health/${(0, utilities_1.dasherize)(options.name)}.health-indicator.ts`,
26
+ ]);
27
+ });
28
+ }
29
+ exports.healthIndicatorGenerator = healthIndicatorGenerator;
30
+ exports.default = healthIndicatorGenerator;
31
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/health-indicator/generator.ts"],"names":[],"mappings":";;;;AACA,6CAKwB;AACxB,+CAA4C;AAC5C,iEAAuE;AACvE,kEAA8E;AAG9E,SAAsB,wBAAwB,CAC5C,IAAU,EACV,OAAuC;;QAEvC,MAAM,IAAA,mBAA4B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,IAAA,gDAA2B,EAAC,IAAI,EAAE;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,EAAE,CAAC,OAAO,EAAE,CAAE,gBAAgB,EAAE,oBAAoB,EAAE,yBAAyB,CAAE,EAAE,EAAE;YACpF,IAAA,6BAAkB,EAAC,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAA,mCAAwB,EAAC,gBAAgB,EAAE;gBACzC,cAAc,EAAE,IAAA,qBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,GAAG,iBAAiB;gBAC3D,eAAe,EAAE,KAAM,IAAA,qBAAS,EAAC,OAAO,CAAC,IAAI,CAAE,mBAAmB;aACnE,CAAC,CAAC;YACH,IAAA,4BAAiB,EAAC,oBAAoB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACtD,IAAA,oCAAyB,EAAC,oBAAoB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC,EAAE;YACD,8BAA8B;YAC9B,kCAAkC;YAClC,eAAgB,IAAA,qBAAS,EAAC,OAAO,CAAC,IAAI,CAAE,sBAAsB;SAC/D,CAAC,CAAC;IACL,CAAC;CAAA;AApBD,4DAoBC;AAED,kBAAe,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const schematic: (generatorOptions: import("./schema").HealthIndicatorGeneratorSchema) => (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/health-indicator/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 HealthIndicatorGeneratorSchema {
2
+ name: string;
3
+ project: string;
4
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "HealthIndicator",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "description": "The name of the health indicator class",
10
+ "$default": {
11
+ "$source": "argv",
12
+ "index": 0
13
+ },
14
+ "x-prompt": "What name would you like to use for the health indicator?"
15
+ },
16
+ "project": {
17
+ "type": "string",
18
+ "description": "The name of the project.",
19
+ "$default": {
20
+ "$source": "projectName"
21
+ },
22
+ "x-prompt": "For which project should the health indicator be added?"
23
+ }
24
+ },
25
+ "required": [
26
+ "name",
27
+ "project"
28
+ ]
29
+ }
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { HealthIndicatorInitGeneratorSchema } from './schema';
3
+ export declare function healthIndicatorInitGenerator(tree: Tree, options: HealthIndicatorInitGeneratorSchema): Promise<void>;
4
+ export default healthIndicatorInitGenerator;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.healthIndicatorInitGenerator = 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
+ function healthIndicatorInitGenerator(tree, options) {
9
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
+ (0, workspace_ts_morph_1.TsMorphNestProjectTransform)(tree, {
11
+ project: options.project,
12
+ }, (project, [appModuleSourceFile, moduleSourceFile, controllerSourceFile]) => {
13
+ (0, ts_morph_1.CoerceHealthModule)(moduleSourceFile);
14
+ (0, ts_morph_1.CoerceNestModuleImport)(appModuleSourceFile, {
15
+ moduleName: 'HealthModule',
16
+ moduleSpecifier: './health/health.module',
17
+ });
18
+ (0, ts_morph_1.CoerceHealthController)(controllerSourceFile);
19
+ (0, ts_morph_1.CoerceNestModuleController)(moduleSourceFile, {
20
+ name: 'HealthController',
21
+ moduleSpecifier: './health.controller',
22
+ });
23
+ }, [
24
+ '/app/app.module.ts',
25
+ '/app/health/health.module.ts',
26
+ '/app/health/health.controller.ts',
27
+ ]);
28
+ yield (0, workspace_utilities_1.AddPackageJsonDependency)(tree, '@nestjs/terminus', 'latest', { soft: true });
29
+ });
30
+ }
31
+ exports.healthIndicatorInitGenerator = healthIndicatorInitGenerator;
32
+ exports.default = healthIndicatorInitGenerator;
33
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/health-indicator-init/generator.ts"],"names":[],"mappings":";;;;AACA,6CAKwB;AACxB,iEAAuE;AACvE,mEAAqE;AAGrE,SAAsB,4BAA4B,CAChD,IAAU,EACV,OAA2C;;QAE3C,IAAA,gDAA2B,EAAC,IAAI,EAAE;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,EAAE,CAAC,OAAO,EAAE,CAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,CAAE,EAAE,EAAE;YAC9E,IAAA,6BAAkB,EAAC,gBAAgB,CAAC,CAAC;YACrC,IAAA,iCAAsB,EAAC,mBAAmB,EAAE;gBAC1C,UAAU,EAAE,cAAc;gBAC1B,eAAe,EAAE,wBAAwB;aAC1C,CAAC,CAAC;YACH,IAAA,iCAAsB,EAAC,oBAAoB,CAAC,CAAC;YAC7C,IAAA,qCAA0B,EAAC,gBAAgB,EAAE;gBAC3C,IAAI,EAAE,kBAAkB;gBACxB,eAAe,EAAE,qBAAqB;aACvC,CAAC,CAAC;QACL,CAAC,EAAE;YACD,oBAAoB;YACpB,8BAA8B;YAC9B,kCAAkC;SACnC,CAAC,CAAC;QACH,MAAM,IAAA,8CAAwB,EAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;CAAA;AAvBD,oEAuBC;AAED,kBAAe,4BAA4B,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const schematic: (generatorOptions: import("./schema").HealthIndicatorInitGeneratorSchema) => (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/health-indicator-init/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,3 @@
1
+ export interface HealthIndicatorInitGeneratorSchema {
2
+ project: string;
3
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "HealthIndicatorInit",
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": "For which project should the health indicator module be initialized?"
14
+ }
15
+ },
16
+ "required": [
17
+ "project"
18
+ ]
19
+ }
@@ -0,0 +1,2 @@
1
+ declare const schematic: (generatorOptions: import("./schema").InitGeneratorSchema) => (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/init/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 InitGeneratorSchema {
2
2
  projects?: string[];
3
+ overwrite?: boolean;
3
4
  }
@@ -10,6 +10,11 @@
10
10
  "items": {
11
11
  "type": "string"
12
12
  }
13
+ },
14
+ "overwrite": {
15
+ "type": "boolean",
16
+ "default": false,
17
+ "description": "Whether to overwrite existing files"
13
18
  }
14
19
  },
15
20
  "required": []
@@ -0,0 +1,21 @@
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" ]
@@ -0,0 +1,38 @@
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();