@rxap/plugin-nestjs 16.1.0 → 16.2.0-dev.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.
- package/CHANGELOG.md +17 -0
- package/README.md +15 -1
- package/executors.json +5 -0
- package/package.json +6 -5
- package/src/executors/swagger-generate/executor.d.ts +5 -0
- package/src/executors/swagger-generate/executor.js +69 -0
- package/src/executors/swagger-generate/executor.js.map +1 -0
- package/src/executors/swagger-generate/schema.d.ts +1 -0
- package/src/executors/swagger-generate/schema.json +9 -0
- package/src/generators/swagger/generator.js +35 -12
- package/src/generators/swagger/generator.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [16.2.0-dev.0](https://gitlab.com/rxap/packages/compare/@rxap/plugin-nestjs@16.1.1-dev.0...@rxap/plugin-nestjs@16.2.0-dev.0) (2024-03-05)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- coerce swagger build target ([0ff56b6](https://gitlab.com/rxap/packages/commit/0ff56b694029a4cb4506d58394c702eb6f474be0))
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- add swagger generate executor ([f56accc](https://gitlab.com/rxap/packages/commit/f56accc7d2d0c684e2f37bc2a52a27248b583045))
|
|
15
|
+
- use swagger-executor for nestjs application init ([7d27262](https://gitlab.com/rxap/packages/commit/7d27262b0b0f756d4a85505d05a843cab4637572))
|
|
16
|
+
|
|
17
|
+
## [16.1.1-dev.0](https://gitlab.com/rxap/packages/compare/@rxap/plugin-nestjs@16.1.0...@rxap/plugin-nestjs@16.1.1-dev.0) (2024-02-22)
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
- ensure the proper output path prefix is used ([38bb064](https://gitlab.com/rxap/packages/commit/38bb064427385974dfa8448e3b0c8f098127d071))
|
|
22
|
+
|
|
6
23
|
# [16.1.0](https://gitlab.com/rxap/packages/compare/@rxap/plugin-nestjs@16.1.0-dev.48...@rxap/plugin-nestjs@16.1.0) (2024-02-07)
|
|
7
24
|
|
|
8
25
|
**Note:** Version bump only for package @rxap/plugin-nestjs
|
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ yarn add @rxap/plugin-nestjs
|
|
|
19
19
|
```
|
|
20
20
|
**Install peer dependencies:**
|
|
21
21
|
```bash
|
|
22
|
-
yarn add @nx/devkit@^16.5.0 @nx/js@^16.5.0 @nx/nest@^16.5.0 @rxap/generator-utilities@^1.1.0
|
|
22
|
+
yarn add @nx/devkit@^16.5.0 @nx/js@^16.5.0 @nx/nest@^16.5.0 @rxap/generator-utilities@^1.1.0 @rxap/node-utilities@^1.1.0 @rxap/plugin-utilities@^16.1.0 @rxap/ts-morph@^1.1.0-dev.1 @rxap/utilities@^16.1.0-dev.0 @rxap/workspace-ts-morph@^16.0.1 @rxap/workspace-utilities@^16.0.1 ts-morph@^18.0.0 tslib@2.6.2
|
|
23
23
|
```
|
|
24
24
|
**Execute the init generator:**
|
|
25
25
|
```bash
|
|
@@ -224,3 +224,17 @@ yarn nx g @rxap/plugin-nestjs:frontend-microservice
|
|
|
224
224
|
}
|
|
225
225
|
```
|
|
226
226
|
|
|
227
|
+
## swagger-generate
|
|
228
|
+
> swagger-generate executor
|
|
229
|
+
|
|
230
|
+
**project.json**
|
|
231
|
+
```json
|
|
232
|
+
{
|
|
233
|
+
"targets": {
|
|
234
|
+
"swagger-generate": {
|
|
235
|
+
"executor": "@rxap/plugin-nestjs:swagger-generate"
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
```
|
|
240
|
+
|
package/executors.json
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
"implementation": "./src/executors/package-json/executor",
|
|
5
5
|
"schema": "./src/executors/package-json/schema.json",
|
|
6
6
|
"description": "package-json executor"
|
|
7
|
+
},
|
|
8
|
+
"swagger-generate": {
|
|
9
|
+
"implementation": "./src/executors/swagger-generate/executor",
|
|
10
|
+
"schema": "./src/executors/swagger-generate/schema.json",
|
|
11
|
+
"description": "swagger-generate executor"
|
|
7
12
|
}
|
|
8
13
|
}
|
|
9
14
|
}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "16.
|
|
2
|
+
"version": "16.2.0-dev.0",
|
|
3
3
|
"name": "@rxap/plugin-nestjs",
|
|
4
4
|
"license": "GPL-3.0-or-later",
|
|
5
5
|
"dependencies": {
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"@rxap/generator-utilities": "^1.1.0",
|
|
17
17
|
"@rxap/node-utilities": "^1.1.0",
|
|
18
18
|
"@rxap/plugin-utilities": "^16.1.0",
|
|
19
|
-
"@rxap/ts-morph": "^1.0.1",
|
|
20
|
-
"@rxap/utilities": "^16.0.0",
|
|
19
|
+
"@rxap/ts-morph": "^1.1.0-dev.1",
|
|
20
|
+
"@rxap/utilities": "^16.1.0-dev.0",
|
|
21
21
|
"@rxap/workspace-ts-morph": "^16.0.1",
|
|
22
22
|
"@rxap/workspace-utilities": "^16.0.1",
|
|
23
23
|
"ts-morph": "^18.0.0",
|
|
@@ -59,11 +59,11 @@
|
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
61
|
"package": "@rxap/ts-morph",
|
|
62
|
-
"version": "1.0.1"
|
|
62
|
+
"version": "1.1.0-dev.1"
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
65
|
"package": "@rxap/utilities",
|
|
66
|
-
"version": "16.0.0"
|
|
66
|
+
"version": "16.1.0-dev.0"
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
69
|
"package": "@rxap/workspace-ts-morph",
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
},
|
|
87
87
|
"schematics": "./generators.json",
|
|
88
88
|
"type": "commonjs",
|
|
89
|
+
"gitHead": "b07c3a57f82485e8f0680fd2ba4d06e635aa1b4f",
|
|
89
90
|
"main": "./src/index.js",
|
|
90
91
|
"types": "./src/index.d.ts"
|
|
91
92
|
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const node_impl_1 = require("@nx/js/src/executors/node/node.impl");
|
|
5
|
+
const plugin_utilities_1 = require("@rxap/plugin-utilities");
|
|
6
|
+
const fs_1 = require("fs");
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
function checkIfOpenApiFileExists(context) {
|
|
9
|
+
const outputPath = (0, plugin_utilities_1.GuessOutputPathFromContext)(context, undefined, undefined, 'swagger-build');
|
|
10
|
+
const openApiPath = (0, path_1.join)(outputPath, 'openapi.json');
|
|
11
|
+
const fullPath = (0, path_1.join)(context.root, openApiPath);
|
|
12
|
+
console.log('Checking if OpenAPI file exists at', fullPath);
|
|
13
|
+
return (0, fs_1.existsSync)(fullPath);
|
|
14
|
+
}
|
|
15
|
+
function runExecutor(options, context) {
|
|
16
|
+
var _a, e_1, _b, _c;
|
|
17
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
console.log('Executor ran for SwaggerGenerate', options);
|
|
19
|
+
const projectName = context.projectName;
|
|
20
|
+
// This will give a random number between 9000 and 9999
|
|
21
|
+
const port = Math.floor(Math.random() * 1000) + 9000;
|
|
22
|
+
const nodeProc = (0, node_impl_1.default)({
|
|
23
|
+
watch: false,
|
|
24
|
+
buildTarget: `${projectName}:swagger-build`,
|
|
25
|
+
inspect: false,
|
|
26
|
+
runtimeArgs: [],
|
|
27
|
+
args: [],
|
|
28
|
+
waitUntilTargets: [],
|
|
29
|
+
buildTargetOptions: {},
|
|
30
|
+
host: 'localhost',
|
|
31
|
+
port: port
|
|
32
|
+
}, context);
|
|
33
|
+
try {
|
|
34
|
+
for (var _d = true, nodeProc_1 = tslib_1.__asyncValues(nodeProc), nodeProc_1_1; nodeProc_1_1 = yield nodeProc_1.next(), _a = nodeProc_1_1.done, !_a; _d = true) {
|
|
35
|
+
_c = nodeProc_1_1.value;
|
|
36
|
+
_d = false;
|
|
37
|
+
const event = _c;
|
|
38
|
+
console.log('Node executor event', event);
|
|
39
|
+
if (!event.success) {
|
|
40
|
+
console.log('Node executor target was not successful');
|
|
41
|
+
return {
|
|
42
|
+
success: false,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
48
|
+
finally {
|
|
49
|
+
try {
|
|
50
|
+
if (!_d && !_a && (_b = nodeProc_1.return)) yield _b.call(nodeProc_1);
|
|
51
|
+
}
|
|
52
|
+
finally { if (e_1) throw e_1.error; }
|
|
53
|
+
}
|
|
54
|
+
if (checkIfOpenApiFileExists(context)) {
|
|
55
|
+
console.log('OpenAPI file exists');
|
|
56
|
+
return {
|
|
57
|
+
success: true,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
console.log('OpenAPI file does not exist');
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
success: false,
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
exports.default = runExecutor;
|
|
69
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/executors/swagger-generate/executor.ts"],"names":[],"mappings":";;;AACA,mEAA+D;AAC/D,6DAAoE;AACpE,2BAAgC;AAChC,+BAA4B;AAG5B,SAAS,wBAAwB,CAAC,OAAwB;IACxD,MAAM,UAAU,GAAG,IAAA,6CAA0B,EAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC9F,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,QAAQ,CAAC,CAAC;IAC5D,OAAO,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,SAA8B,WAAW,CACvC,OAAsC,EACtC,OAAwB;;;QAExB,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;QAEzD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAExC,uDAAuD;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAErD,MAAM,QAAQ,GAAG,IAAA,mBAAY,EAAC;YAC5B,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,GAAG,WAAW,gBAAgB;YAC3C,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,EAAE;YACR,gBAAgB,EAAE,EAAE;YACpB,kBAAkB,EAAE,EAAE;YACtB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI;SACX,EAAE,OAAO,CAAC,CAAC;;YAEZ,KAA0B,eAAA,aAAA,sBAAA,QAAQ,CAAA,cAAA,kFAAE;gBAAV,wBAAQ;gBAAR,WAAQ;gBAAvB,MAAM,KAAK,KAAA,CAAA;gBACpB,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;oBAClB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;oBACvD,OAAO;wBACL,OAAO,EAAE,KAAK;qBACf,CAAC;iBACH;aACF;;;;;;;;;QAED,IAAI,wBAAwB,CAAC,OAAO,CAAC,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,OAAO;gBACL,OAAO,EAAE,IAAI;aACd,CAAC;SACH;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;SAC5C;QAED,OAAO;YACL,OAAO,EAAE,KAAK;SACf,CAAC;;CACH;AA7CD,8BA6CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export interface SwaggerGenerateExecutorSchema {} // eslint-disable-line
|
|
@@ -19,8 +19,6 @@ function updateProjectTargets(project) {
|
|
|
19
19
|
}
|
|
20
20
|
const outputPath = buildTargetOptions['outputPath'].replace('dist/', 'dist/swagger/');
|
|
21
21
|
(0, workspace_utilities_1.CoerceTarget)(project, 'swagger-build', {
|
|
22
|
-
executor: '@nx/webpack:webpack',
|
|
23
|
-
outputs: ['{options.outputPath}'],
|
|
24
22
|
options: {
|
|
25
23
|
outputPath,
|
|
26
24
|
main: `${project.sourceRoot}/swagger.ts`,
|
|
@@ -37,20 +35,45 @@ function updateProjectTargets(project) {
|
|
|
37
35
|
],
|
|
38
36
|
},
|
|
39
37
|
});
|
|
40
|
-
(0, workspace_utilities_1.CoerceTarget)(project, 'swagger-generate', {
|
|
41
|
-
executor: '@nx/js:node',
|
|
42
|
-
outputs: [
|
|
43
|
-
`${outputPath}/openapi.json`,
|
|
44
|
-
],
|
|
45
|
-
options: {
|
|
46
|
-
buildTarget: `${project.name}:swagger-build`,
|
|
47
|
-
watch: false,
|
|
48
|
-
},
|
|
49
|
-
});
|
|
38
|
+
(0, workspace_utilities_1.CoerceTarget)(project, 'swagger-generate', {}, workspace_utilities_1.Strategy.REPLACE);
|
|
50
39
|
}
|
|
51
40
|
function updateNxDefaults(tree) {
|
|
52
41
|
const nxJson = (0, devkit_1.readNxJson)(tree);
|
|
53
42
|
(0, workspace_utilities_1.CoerceNxJsonCacheableOperation)(nxJson, 'swagger-build', 'swagger-generate');
|
|
43
|
+
(0, workspace_utilities_1.CoerceTarget)(nxJson, 'swagger-generate', {
|
|
44
|
+
executor: '@rxap/plugin-nestjs:swagger-generate',
|
|
45
|
+
outputs: [
|
|
46
|
+
'{workspaceRoot}/dist/swagger/{projectRoot}/openapi.json'
|
|
47
|
+
],
|
|
48
|
+
inputs: [
|
|
49
|
+
'{workspaceRoot}/dist/swagger/{projectRoot}/main.js',
|
|
50
|
+
'{workspaceRoot}/dist/swagger/{projectRoot}/main.js.map'
|
|
51
|
+
],
|
|
52
|
+
'dependsOn': [
|
|
53
|
+
'^build',
|
|
54
|
+
'^linking',
|
|
55
|
+
]
|
|
56
|
+
}, workspace_utilities_1.Strategy.REPLACE);
|
|
57
|
+
(0, workspace_utilities_1.CoerceTarget)(nxJson, 'swagger-build', {
|
|
58
|
+
executor: '@nx/webpack:webpack',
|
|
59
|
+
outputs: [
|
|
60
|
+
'{options.outputPath}',
|
|
61
|
+
],
|
|
62
|
+
options: {
|
|
63
|
+
transformers: [
|
|
64
|
+
'@nestjs/swagger/plugin',
|
|
65
|
+
],
|
|
66
|
+
compiler: 'tsc',
|
|
67
|
+
target: 'node',
|
|
68
|
+
},
|
|
69
|
+
inputs: [
|
|
70
|
+
'build',
|
|
71
|
+
'^build',
|
|
72
|
+
],
|
|
73
|
+
dependsOn: [
|
|
74
|
+
'^build',
|
|
75
|
+
],
|
|
76
|
+
}, workspace_utilities_1.Strategy.REPLACE);
|
|
54
77
|
(0, devkit_1.updateNxJson)(tree, nxJson);
|
|
55
78
|
}
|
|
56
79
|
function swaggerGenerator(tree, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/swagger/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAQoB;AACpB,mEAA2D;AAC3D,6DAGgC;AAChC,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/swagger/generator.ts"],"names":[],"mappings":"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"}
|