@rxap/plugin-nestjs 16.1.0-dev.9 → 16.1.1-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.
Files changed (104) hide show
  1. package/CHANGELOG.md +385 -0
  2. package/README.md +127 -1
  3. package/generators.json +90 -0
  4. package/package.json +64 -42
  5. package/src/executors/package-json/executor.js +8 -0
  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 +8 -5
  42. package/src/generators/init/generator.js.map +1 -1
  43. package/src/generators/init/schema.d.ts +2 -0
  44. package/src/generators/init/schema.json +10 -0
  45. package/src/generators/init-application/extract-existing-config-validation.d.ts +3 -0
  46. package/src/generators/init-application/extract-existing-config-validation.js +47 -0
  47. package/src/generators/init-application/extract-existing-config-validation.js.map +1 -0
  48. package/src/generators/init-application/files/shared/Dockerfile +35 -0
  49. package/src/generators/init-application/generator.js +569 -30
  50. package/src/generators/init-application/generator.js.map +1 -1
  51. package/src/generators/init-application/schema.d.ts +5 -2
  52. package/src/generators/init-application/schema.json +36 -21
  53. package/src/generators/init-library/generator.js +36 -7
  54. package/src/generators/init-library/generator.js.map +1 -1
  55. package/src/generators/init-library/schema.d.ts +2 -0
  56. package/src/generators/init-library/schema.json +10 -0
  57. package/src/generators/jwt/generator.d.ts +4 -0
  58. package/src/generators/jwt/generator.js +76 -0
  59. package/src/generators/jwt/generator.js.map +1 -0
  60. package/src/generators/jwt/index.d.ts +2 -0
  61. package/src/generators/jwt/index.js +7 -0
  62. package/src/generators/jwt/index.js.map +1 -0
  63. package/src/generators/jwt/schema.d.ts +4 -0
  64. package/src/generators/jwt/schema.json +18 -0
  65. package/src/generators/microservice/generator.d.ts +4 -0
  66. package/src/generators/microservice/generator.js +26 -0
  67. package/src/generators/microservice/generator.js.map +1 -0
  68. package/src/generators/microservice/index.d.ts +2 -0
  69. package/src/generators/microservice/index.js +7 -0
  70. package/src/generators/microservice/index.js.map +1 -0
  71. package/src/generators/microservice/schema.d.ts +6 -0
  72. package/src/generators/microservice/schema.json +27 -0
  73. package/src/generators/open-api/generator.d.ts +4 -0
  74. package/src/generators/open-api/generator.js +74 -0
  75. package/src/generators/open-api/generator.js.map +1 -0
  76. package/src/generators/open-api/index.d.ts +2 -0
  77. package/src/generators/open-api/index.js +7 -0
  78. package/src/generators/open-api/index.js.map +1 -0
  79. package/src/generators/open-api/schema.d.ts +4 -0
  80. package/src/generators/open-api/schema.json +18 -0
  81. package/src/generators/sentry/generator.d.ts +4 -0
  82. package/src/generators/sentry/generator.js +152 -0
  83. package/src/generators/sentry/generator.js.map +1 -0
  84. package/src/generators/sentry/index.d.ts +2 -0
  85. package/src/generators/sentry/index.js +7 -0
  86. package/src/generators/sentry/index.js.map +1 -0
  87. package/src/generators/sentry/schema.d.ts +6 -0
  88. package/src/generators/sentry/schema.json +32 -0
  89. package/src/generators/swagger/files/environments/environment.swagger.ts__tmpl__ +1 -0
  90. package/src/generators/swagger/files/swagger.ts__tmpl__ +17 -15
  91. package/src/generators/swagger/generator.js +10 -17
  92. package/src/generators/swagger/generator.js.map +1 -1
  93. package/src/generators/swagger/schema.d.ts +1 -0
  94. package/src/generators/swagger/schema.json +3 -0
  95. package/src/generators/validator/generator.d.ts +4 -0
  96. package/src/generators/validator/generator.js +14 -0
  97. package/src/generators/validator/generator.js.map +1 -0
  98. package/src/generators/validator/index.d.ts +2 -0
  99. package/src/generators/validator/index.js +7 -0
  100. package/src/generators/validator/index.js.map +1 -0
  101. package/src/generators/validator/schema.d.ts +4 -0
  102. package/src/generators/validator/schema.json +22 -0
  103. package/src/lib/skip-non-nest-project.js +3 -3
  104. package/src/lib/skip-non-nest-project.js.map +1 -1
@@ -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,35 @@
1
+ FROM registry.gitlab.com/rxap/docker/nestjs-server:18.17-alpine
2
+
3
+ ARG PROJECT_NAME
4
+ ARG PATH_PREFIX
5
+ ARG NAME_PREFIX
6
+
7
+ RUN if [ -z "$PATH_PREFIX" ]; then exit 1; fi
8
+ RUN if [ -z "$PROJECT_NAME" ]; then exit 1; fi
9
+
10
+ ENV TRAEFIK_SERVICE_NAME=${NAME_PREFIX}${PROJECT_NAME}
11
+
12
+ ENV TRAEFIK_ROUTER_NAME=${NAME_PREFIX}${PROJECT_NAME}
13
+ ENV TRAEFIK_ROUTER_PRIORITY=20
14
+ ENV TRAEFIK_ROUTER_PATH_PREFIX=/$PATH_PREFIX
15
+
16
+ ENV TREAFIK_HEALTH_CHECK_INTERVAL=60s
17
+ ENV TREAFIK_HEALTH_CHECK_TIMEOUT=30s
18
+ ENV TREAFIK_HEALTH_CHECK_PATH=/health
19
+
20
+ LABEL traefik.enable=true
21
+
22
+ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.healthCheck.path=$TREAFIK_HEALTH_CHECK_PATH
23
+ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.healthCheck.interval=$TREAFIK_HEALTH_CHECK_INTERVAL
24
+ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.healthCheck.timeout=$TREAFIK_HEALTH_CHECK_TIMEOUT
25
+ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.server.port=$PORT
26
+
27
+ LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.rule=PathPrefix(`$TRAEFIK_ROUTER_PATH_PREFIX`)
28
+ LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.priority=$TRAEFIK_ROUTER_PRIORITY
29
+ LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.service=$TRAEFIK_SERVICE_NAME
30
+
31
+ COPY package.json /app
32
+
33
+ RUN yarn && yarn cache clean
34
+
35
+ COPY . /app