@rxap/plugin-nestjs 16.1.0-dev.4 → 16.1.0-dev.41

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 (112) hide show
  1. package/CHANGELOG.md +361 -0
  2. package/README.md +155 -1
  3. package/generators.json +112 -0
  4. package/package.json +59 -41
  5. package/src/generators/feature-microservice/generator.d.ts +4 -0
  6. package/src/generators/feature-microservice/generator.js +17 -0
  7. package/src/generators/feature-microservice/generator.js.map +1 -0
  8. package/src/generators/feature-microservice/index.d.ts +2 -0
  9. package/src/generators/feature-microservice/index.js +7 -0
  10. package/src/generators/feature-microservice/index.js.map +1 -0
  11. package/src/generators/feature-microservice/schema.d.ts +5 -0
  12. package/src/generators/feature-microservice/schema.json +23 -0
  13. package/src/generators/frontend-microservice/generator.d.ts +4 -0
  14. package/src/generators/frontend-microservice/generator.js +17 -0
  15. package/src/generators/frontend-microservice/generator.js.map +1 -0
  16. package/src/generators/frontend-microservice/index.d.ts +2 -0
  17. package/src/generators/frontend-microservice/index.js +7 -0
  18. package/src/generators/frontend-microservice/index.js.map +1 -0
  19. package/src/generators/frontend-microservice/schema.d.ts +6 -0
  20. package/src/generators/frontend-microservice/schema.json +29 -0
  21. package/src/generators/health-indicator/generator.d.ts +4 -0
  22. package/src/generators/health-indicator/generator.js +31 -0
  23. package/src/generators/health-indicator/generator.js.map +1 -0
  24. package/src/generators/health-indicator/index.d.ts +2 -0
  25. package/src/generators/health-indicator/index.js +7 -0
  26. package/src/generators/health-indicator/index.js.map +1 -0
  27. package/src/generators/health-indicator/schema.d.ts +5 -0
  28. package/src/generators/health-indicator/schema.json +32 -0
  29. package/src/generators/health-indicator-init/generator.d.ts +4 -0
  30. package/src/generators/health-indicator-init/generator.js +35 -0
  31. package/src/generators/health-indicator-init/generator.js.map +1 -0
  32. package/src/generators/health-indicator-init/index.d.ts +2 -0
  33. package/src/generators/health-indicator-init/index.js +7 -0
  34. package/src/generators/health-indicator-init/index.js.map +1 -0
  35. package/src/generators/health-indicator-init/schema.d.ts +4 -0
  36. package/src/generators/health-indicator-init/schema.json +22 -0
  37. package/src/generators/init/generator.js +8 -5
  38. package/src/generators/init/generator.js.map +1 -1
  39. package/src/generators/init/index.d.ts +2 -0
  40. package/src/generators/init/index.js +7 -0
  41. package/src/generators/init/index.js.map +1 -0
  42. package/src/generators/init/schema.d.ts +2 -0
  43. package/src/generators/init/schema.json +10 -0
  44. package/src/generators/init-application/extract-existing-config-validation.d.ts +3 -0
  45. package/src/generators/init-application/extract-existing-config-validation.js +47 -0
  46. package/src/generators/init-application/extract-existing-config-validation.js.map +1 -0
  47. package/src/generators/init-application/files/shared/Dockerfile +33 -0
  48. package/src/generators/init-application/generator.js +569 -34
  49. package/src/generators/init-application/generator.js.map +1 -1
  50. package/src/generators/init-application/index.d.ts +2 -0
  51. package/src/generators/init-application/index.js +7 -0
  52. package/src/generators/init-application/index.js.map +1 -0
  53. package/src/generators/init-application/schema.d.ts +5 -2
  54. package/src/generators/init-application/schema.json +36 -21
  55. package/src/generators/init-library/generator.js +36 -7
  56. package/src/generators/init-library/generator.js.map +1 -1
  57. package/src/generators/init-library/index.d.ts +2 -0
  58. package/src/generators/init-library/index.js +7 -0
  59. package/src/generators/init-library/index.js.map +1 -0
  60. package/src/generators/init-library/schema.d.ts +2 -0
  61. package/src/generators/init-library/schema.json +10 -0
  62. package/src/generators/jwt/generator.d.ts +4 -0
  63. package/src/generators/jwt/generator.js +76 -0
  64. package/src/generators/jwt/generator.js.map +1 -0
  65. package/src/generators/jwt/index.d.ts +2 -0
  66. package/src/generators/jwt/index.js +7 -0
  67. package/src/generators/jwt/index.js.map +1 -0
  68. package/src/generators/jwt/schema.d.ts +4 -0
  69. package/src/generators/jwt/schema.json +18 -0
  70. package/src/generators/microservice/generator.d.ts +4 -0
  71. package/src/generators/microservice/generator.js +26 -0
  72. package/src/generators/microservice/generator.js.map +1 -0
  73. package/src/generators/microservice/index.d.ts +2 -0
  74. package/src/generators/microservice/index.js +7 -0
  75. package/src/generators/microservice/index.js.map +1 -0
  76. package/src/generators/microservice/schema.d.ts +6 -0
  77. package/src/generators/microservice/schema.json +27 -0
  78. package/src/generators/open-api/generator.d.ts +4 -0
  79. package/src/generators/open-api/generator.js +74 -0
  80. package/src/generators/open-api/generator.js.map +1 -0
  81. package/src/generators/open-api/index.d.ts +2 -0
  82. package/src/generators/open-api/index.js +7 -0
  83. package/src/generators/open-api/index.js.map +1 -0
  84. package/src/generators/open-api/schema.d.ts +4 -0
  85. package/src/generators/open-api/schema.json +18 -0
  86. package/src/generators/sentry/generator.d.ts +4 -0
  87. package/src/generators/sentry/generator.js +152 -0
  88. package/src/generators/sentry/generator.js.map +1 -0
  89. package/src/generators/sentry/index.d.ts +2 -0
  90. package/src/generators/sentry/index.js +7 -0
  91. package/src/generators/sentry/index.js.map +1 -0
  92. package/src/generators/sentry/schema.d.ts +6 -0
  93. package/src/generators/sentry/schema.json +32 -0
  94. package/src/generators/swagger/files/environments/environment.swagger.ts__tmpl__ +1 -0
  95. package/src/generators/swagger/files/swagger.ts__tmpl__ +17 -15
  96. package/src/generators/swagger/generator.js +10 -17
  97. package/src/generators/swagger/generator.js.map +1 -1
  98. package/src/generators/swagger/index.d.ts +2 -0
  99. package/src/generators/swagger/index.js +7 -0
  100. package/src/generators/swagger/index.js.map +1 -0
  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/lib/skip-non-nest-project.js +3 -3
  112. package/src/lib/skip-non-nest-project.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAIoB;AACpB,2EAAqE;AACrE,6DAAqE;AACrE,yDAA6D;AAG7D,SAAS,WAAW,CAAC,IAAU,EAAE,OAA4B,EAAE,OAA6B,EAAE,WAAmB;IAE/G,IAAI,IAAA,0CAAkB,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE;QAC3D,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AAEf,CAAC;AAED,SAAsB,aAAa,CAAC,IAAU,EAAE,OAA4B;;QAC1E,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QAE/C,KAAK,MAAM,CAAE,WAAW,EAAE,OAAO,CAAE,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAElE,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE;gBACpD,SAAS;aACV;YAED,OAAO,CAAC,GAAG,CAAC,iBAAkB,WAAY,EAAE,CAAC,CAAC;YAE9C,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;gBACrC,MAAM,IAAA,mBAAoB,EAAC,IAAI,kCAExB,OAAO,KACV,QAAQ,EAAE,CAAE,WAAW,CAAE,IAE5B,CAAC;aACH;YAED,IAAI,OAAO,CAAC,WAAW,KAAK,aAAa,EAAE;gBACzC,MAAM,IAAA,mBAAwB,EAAC,IAAI,kCAE5B,OAAO,KACV,QAAQ,EAAE,CAAE,WAAW,CAAE,IAE5B,CAAC;aACH;SAEF;IAEH,CAAC;CAAA;AA/BD,sCA+BC;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAIoB;AACpB,mEAGmC;AACnC,2EAAqE;AACrE,6DAAqE;AACrE,yDAA6D;AAG7D,SAAS,WAAW,CAAC,IAAU,EAAE,OAA4B,EAAE,OAA6B,EAAE,WAAmB;IAE/G,IAAI,IAAA,0CAAkB,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE;QAC3D,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AAEf,CAAC;AAED,SAAsB,aAAa,CAAC,IAAU,EAAE,OAA4B;;QAC1E,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QAE/C,KAAK,MAAM,CAAE,WAAW,EAAE,OAAO,CAAE,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAElE,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE;gBACpD,SAAS;aACV;YAED,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gBAEzB,OAAO,CAAC,GAAG,CAAC,iBAAkB,WAAY,EAAE,CAAC,CAAC;aAE/C;YAED,IAAI,IAAA,sCAAgB,EAAC,OAAO,CAAC,EAAE;gBAC7B,MAAM,IAAA,mBAAoB,EAAC,IAAI,kCAExB,OAAO,KACV,QAAQ,EAAE,CAAE,WAAW,CAAE,EACzB,YAAY,EAAE,OAAO,CAAC,YAAY,IAErC,CAAC;aACH;YAED,IAAI,IAAA,0CAAoB,EAAC,OAAO,CAAC,EAAE;gBACjC,MAAM,IAAA,mBAAwB,EAAC,IAAI,kCAE5B,OAAO,KACV,QAAQ,EAAE,CAAE,WAAW,CAAE,EACzB,YAAY,EAAE,OAAO,CAAC,YAAY,IAErC,CAAC;aACH;SAEF;IAEH,CAAC;CAAA;AArCD,sCAqCC;AAED,kBAAe,aAAa,CAAC"}
@@ -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,5 @@
1
1
  export interface InitGeneratorSchema {
2
2
  projects?: string[];
3
+ overwrite?: boolean;
4
+ skipProjects?: boolean;
3
5
  }
@@ -10,6 +10,16 @@
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"
18
+ },
19
+ "skipProjects": {
20
+ "type": "boolean",
21
+ "default": false,
22
+ "description": "Whether to skip executing project specific initialization"
13
23
  }
14
24
  },
15
25
  "required": []
@@ -0,0 +1,3 @@
1
+ import { CoerceNestAppConfigOptionsItem } from '@rxap/ts-morph';
2
+ import { SourceFile } from 'ts-morph';
3
+ export declare function ExtractExistingConfigValidation(sourceFile: SourceFile): CoerceNestAppConfigOptionsItem[];
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtractExistingConfigValidation = void 0;
4
+ const ts_morph_1 = require("@rxap/ts-morph");
5
+ const ts_morph_2 = require("ts-morph");
6
+ function ExtractExistingConfigValidation(sourceFile) {
7
+ const metadata = (0, ts_morph_1.GetNestModuleMetadata)(sourceFile);
8
+ const imports = metadata.getProperty('imports');
9
+ if (!imports) {
10
+ return [];
11
+ }
12
+ const arrayLiteralExpressionProperty = imports.asKindOrThrow(ts_morph_2.SyntaxKind.PropertyAssignment);
13
+ const arrayLiteralExpression = arrayLiteralExpressionProperty.getInitializerIfKindOrThrow(ts_morph_2.SyntaxKind.ArrayLiteralExpression);
14
+ for (const item of arrayLiteralExpression.getElements()) {
15
+ if (item.getText().trim().startsWith('ConfigModule')) {
16
+ const configModule = item.asKindOrThrow(ts_morph_2.SyntaxKind.CallExpression);
17
+ const configModuleArguments = configModule.getArguments();
18
+ if (configModuleArguments.length === 1) {
19
+ const configModuleArgument = configModuleArguments[0];
20
+ const objectLiteralExpression = configModuleArgument.asKindOrThrow(ts_morph_2.SyntaxKind.ObjectLiteralExpression);
21
+ const validateLiteralElement = objectLiteralExpression.getProperty('validationSchema')
22
+ .asKindOrThrow(ts_morph_2.SyntaxKind.PropertyAssignment);
23
+ const joiObject = validateLiteralElement === null || validateLiteralElement === void 0 ? void 0 : validateLiteralElement.getInitializer();
24
+ if ((joiObject === null || joiObject === void 0 ? void 0 : joiObject.getKind()) === ts_morph_2.SyntaxKind.CallExpression) {
25
+ const joiObjectArgument = joiObject.asKindOrThrow(ts_morph_2.SyntaxKind.CallExpression).getArguments()[0];
26
+ const objectLiteralExpression2 = joiObjectArgument === null || joiObjectArgument === void 0 ? void 0 : joiObjectArgument.asKindOrThrow(ts_morph_2.SyntaxKind.ObjectLiteralExpression);
27
+ const items = [];
28
+ for (const property of objectLiteralExpression2.getProperties()) {
29
+ const propertyAssignment = property.asKindOrThrow(ts_morph_2.SyntaxKind.PropertyAssignment);
30
+ const initializer = propertyAssignment.getInitializer();
31
+ const text = initializer.getText();
32
+ const item = {
33
+ name: propertyAssignment.getName(),
34
+ builder: () => text,
35
+ text,
36
+ };
37
+ items.push(item);
38
+ }
39
+ return items;
40
+ }
41
+ }
42
+ }
43
+ }
44
+ return [];
45
+ }
46
+ exports.ExtractExistingConfigValidation = ExtractExistingConfigValidation;
47
+ //# sourceMappingURL=extract-existing-config-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-existing-config-validation.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/nestjs/src/generators/init-application/extract-existing-config-validation.ts"],"names":[],"mappings":";;;AAAA,6CAGwB;AACxB,uCAGkB;AAElB,SAAgB,+BAA+B,CAAC,UAAsB;IAEpE,MAAM,QAAQ,GAAG,IAAA,gCAAqB,EAAC,UAAU,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;IACD,MAAM,8BAA8B,GAAG,OAAO,CAAC,aAAa,CAAC,qBAAU,CAAC,kBAAkB,CAAC,CAAC;IAC5F,MAAM,sBAAsB,GAAG,8BAA8B,CAAC,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC,CAAC;IAC7H,KAAK,MAAM,IAAI,IAAI,sBAAsB,CAAC,WAAW,EAAE,EAAE;QACvD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YACpD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAU,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM,qBAAqB,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;YAC1D,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;gBACtD,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,aAAa,CAAC,qBAAU,CAAC,uBAAuB,CAAC,CAAC;gBACvG,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,WAAW,CAAC,kBAAkB,CAAC;qBAC/B,aAAa,CAAC,qBAAU,CAAC,kBAAkB,CAAC,CAAC;gBACpG,MAAM,SAAS,GAAG,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,cAAc,EAAE,CAAC;gBAC3D,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAE,MAAK,qBAAU,CAAC,cAAc,EAAE;oBACtD,MAAM,iBAAiB,GAAG,SAAS,CAAC,aAAa,CAAC,qBAAU,CAAC,cAAc,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC/F,MAAM,wBAAwB,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa,CAAC,qBAAU,CAAC,uBAAuB,CAAC,CAAC;oBACtG,MAAM,KAAK,GAAqC,EAAE,CAAC;oBACnD,KAAK,MAAM,QAAQ,IAAI,wBAAwB,CAAC,aAAa,EAAE,EAAE;wBAC/D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAU,CAAC,kBAAkB,CAAC,CAAC;wBACjF,MAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,EAAE,CAAC;wBACxD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;wBACnC,MAAM,IAAI,GAAmC;4BAC3C,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE;4BAClC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;4BACnB,IAAI;yBACE,CAAC;wBACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAClB;oBACD,OAAO,KAAK,CAAC;iBACd;aACF;SACF;KACF;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAzCD,0EAyCC"}
@@ -0,0 +1,33 @@
1
+ FROM registry.gitlab.com/rxap/docker/nestjs-server:18.17-alpine
2
+
3
+ ARG PROJECT_NAME
4
+ ARG PATH_PREFIX
5
+
6
+ RUN if [ -z "$PROJECT_NAME" || -z "$PATH_PREFIX" ]; then exit 1; else : ; fi
7
+
8
+ ENV TRAEFIK_SERVICE_NAME=$PROJECT_NAME
9
+
10
+ ENV TRAEFIK_ROUTER_NAME=$PROJECT_NAME
11
+ ENV TRAEFIK_ROUTER_PRIORITY=20
12
+ ENV TRAEFIK_ROUTER_PATH_PREFIX=$PATH_PREFIX
13
+
14
+ ENV TREAFIK_HEALTH_CHECK_INTERVAL=60s
15
+ ENV TREAFIK_HEALTH_CHECK_TIMEOUT=30s
16
+ ENV TREAFIK_HEALTH_CHECK_PATH=/health
17
+
18
+ LABEL traefik.enable=true
19
+
20
+ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.healthCheck.path=$TREAFIK_HEALTH_CHECK_PATH
21
+ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.healthCheck.interval=$TREAFIK_HEALTH_CHECK_INTERVAL
22
+ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.healthCheck.timeout=$TREAFIK_HEALTH_CHECK_TIMEOUT
23
+ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.server.port=$PORT
24
+
25
+ LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.rule=PathPrefix(`$TRAEFIK_ROUTER_PATH_PREFIX`)
26
+ LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.priority=$TRAEFIK_ROUTER_PRIORITY
27
+ LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.service=$TRAEFIK_SERVICE_NAME
28
+
29
+ COPY package.json /app
30
+
31
+ RUN yarn && yarn cache clean
32
+
33
+ COPY . /app