generator-jhipster 8.7.1 → 8.7.2

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 (296) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/commands.d.mts +89 -89
  3. package/dist/cli/environment-builder.d.mts +7 -6
  4. package/dist/cli/environment-builder.mjs +5 -3
  5. package/dist/cli/jhipster-command.d.mts +2 -2
  6. package/dist/cli/jhipster-command.mjs +13 -4
  7. package/dist/cli/program.d.mts +53 -36
  8. package/dist/cli/program.mjs +41 -32
  9. package/dist/cli/utils.d.mts +2 -3
  10. package/dist/cli/utils.mjs +11 -21
  11. package/dist/generators/angular/generator.js +2 -2
  12. package/dist/generators/angular/resources/package.json +13 -13
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +2 -2
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.service.ts.ejs +2 -2
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +2 -2
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +2 -2
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.service.ts.ejs +2 -2
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +2 -2
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.ts.ejs +2 -2
  20. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +2 -2
  21. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.service.ts.ejs +2 -2
  22. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +2 -2
  23. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.service.ts.ejs +2 -2
  24. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +2 -2
  25. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.service.ts.ejs +2 -2
  26. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +2 -2
  27. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.ts.ejs +2 -2
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +2 -2
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway-routes.service.ts.ejs +2 -2
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +1 -1
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.ts.ejs +2 -2
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.service.ts.ejs +2 -2
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +1 -1
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.ts.ejs +3 -3
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.service.ts.ejs +2 -2
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts.ejs +1 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +2 -2
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +2 -2
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +1 -1
  40. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.ts.ejs +2 -2
  41. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +5 -5
  42. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/service/user-management.service.ts.ejs +3 -3
  43. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +2 -2
  44. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +4 -4
  45. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.ts.ejs +7 -7
  46. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-jwt.service.ts.ejs +3 -3
  47. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-session.service.ts.ejs +2 -2
  48. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/csrf.service.ts.ejs +1 -1
  49. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/state-storage.service.ts.ejs +3 -3
  50. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/notification.interceptor.ts.ejs +1 -1
  51. package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +5 -5
  52. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.ts.ejs +2 -2
  53. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +4 -4
  54. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.ts.ejs +2 -2
  55. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.ts.ejs +3 -3
  56. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +7 -7
  57. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +7 -7
  58. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  59. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/profile.service.ts.ejs +3 -3
  60. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -3
  61. package/dist/generators/angular/templates/src/main/webapp/app/login/login.service.ts.ejs +4 -4
  62. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.ts.ejs +3 -3
  63. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.ts.ejs +1 -1
  64. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +2 -2
  65. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translate.directive.ts.ejs +2 -2
  66. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translation.module.ts.ejs +3 -3
  67. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +1 -1
  68. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.service.ts.ejs +1 -1
  69. package/dist/generators/base/api.d.ts +10 -4
  70. package/dist/generators/base/generator.d.ts +4 -0
  71. package/dist/generators/base/generator.js +10 -1
  72. package/dist/generators/base/shared-data.js +2 -0
  73. package/dist/generators/base/support/faker.d.ts +1 -1
  74. package/dist/generators/base/support/faker.js +1 -1
  75. package/dist/generators/base/support/timestamp.js +10 -2
  76. package/dist/generators/base-application/support/prepare-entity.js +6 -1
  77. package/dist/generators/base-application/support/prepare-field.js +40 -16
  78. package/dist/generators/base-application/support/prepare-relationship.d.ts +1 -1
  79. package/dist/generators/base-application/support/task-type-inference.d.ts +18 -18
  80. package/dist/generators/base-application/types.d.ts +4 -0
  81. package/dist/generators/base-core/generator.d.ts +7 -4
  82. package/dist/generators/base-core/generator.js +31 -35
  83. package/dist/generators/base-workspaces/generator.d.ts +34 -1
  84. package/dist/generators/base-workspaces/generator.js +1 -1
  85. package/dist/generators/base-workspaces/internal/docker-base.js +1 -3
  86. package/dist/generators/bootstrap/support/eslint-transform.js +2 -2
  87. package/dist/generators/bootstrap/support/java-unused-imports-transform.js +2 -2
  88. package/dist/generators/bootstrap/support/prettier-support.js +2 -2
  89. package/dist/generators/bootstrap-application-base/generator.d.ts +2 -2
  90. package/dist/generators/bootstrap-application-base/generator.js +19 -5
  91. package/dist/generators/bootstrap-application-base/utils.d.ts +3 -3
  92. package/dist/generators/bootstrap-application-base/utils.js +9 -3
  93. package/dist/generators/bootstrap-workspaces/command.d.ts +12 -2
  94. package/dist/generators/bootstrap-workspaces/command.js +5 -3
  95. package/dist/generators/bootstrap-workspaces/generator.d.ts +8 -2
  96. package/dist/generators/bootstrap-workspaces/generator.js +0 -2
  97. package/dist/generators/bootstrap-workspaces/index.d.ts +1 -0
  98. package/dist/generators/bootstrap-workspaces/index.js +1 -0
  99. package/dist/generators/client/command.d.ts +22 -0
  100. package/dist/generators/client/command.js +22 -0
  101. package/dist/generators/client/files-common.js +1 -1
  102. package/dist/generators/client/generator.js +4 -5
  103. package/dist/generators/client/prompts.js +10 -9
  104. package/dist/generators/client/resources/package.json +3 -3
  105. package/dist/generators/client/templates/webpack/webpack.microfrontend.js.jhi.ejs +16 -5
  106. package/dist/generators/common/generator.js +2 -2
  107. package/dist/generators/common/resources/package.json +1 -1
  108. package/dist/generators/cypress/files.js +6 -0
  109. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +2 -2
  110. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/logout.cy.ts.ejs +39 -0
  111. package/dist/generators/docker/generator.d.ts +1 -1
  112. package/dist/generators/docker/templates/docker/keycloak.yml.ejs +2 -1
  113. package/dist/generators/docker-compose/command.js +9 -1
  114. package/dist/generators/docker-compose/generator.d.ts +11 -53
  115. package/dist/generators/docker-compose/generator.js +24 -23
  116. package/dist/generators/generate-blueprint/command.d.ts +97 -20
  117. package/dist/generators/generate-blueprint/command.js +28 -0
  118. package/dist/generators/generate-blueprint/constants.d.ts +2 -2
  119. package/dist/generators/generate-blueprint/files.d.ts +1 -42
  120. package/dist/generators/generate-blueprint/files.js +27 -29
  121. package/dist/generators/generate-blueprint/generator.d.ts +5 -2
  122. package/dist/generators/generate-blueprint/generator.js +78 -22
  123. package/dist/generators/generate-blueprint/resources/package.json +3 -3
  124. package/dist/generators/generate-blueprint/templates/.github/workflows/samples.yml.ejs +6 -8
  125. package/dist/generators/generate-blueprint/templates/README.md.ejs +12 -2
  126. package/dist/generators/generate-blueprint/templates/cli/cli-customizations.cjs.ejs +2 -0
  127. package/dist/generators/generate-blueprint/templates/cli/cli.cjs.ejs +2 -1
  128. package/dist/generators/generate-blueprint/templates/cli/commands.cjs.ejs +1 -1
  129. package/dist/generators/generate-blueprint/templates/eslint.config.js.jhi.blueprint.ejs +3 -2
  130. package/dist/generators/generate-blueprint/templates/generators/generator/command.mjs.ejs +8 -12
  131. package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +8 -11
  132. package/dist/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +2 -2
  133. package/dist/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +2 -4
  134. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +0 -1
  135. package/dist/generators/generator-constants.d.ts +2 -2
  136. package/dist/generators/generator-constants.js +3 -3
  137. package/dist/generators/git/command.d.ts +10 -0
  138. package/dist/generators/git/command.js +10 -0
  139. package/dist/generators/git/generator.d.ts +5 -4
  140. package/dist/generators/git/generator.js +6 -4
  141. package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +16 -10
  142. package/dist/generators/gradle/internal/needles.d.ts +3 -1
  143. package/dist/generators/gradle/internal/needles.js +10 -5
  144. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  145. package/dist/generators/gradle/types.d.ts +3 -2
  146. package/dist/generators/init/command.d.ts +4 -20
  147. package/dist/generators/init/command.js +1 -1
  148. package/dist/generators/init/resources/.node-version +1 -1
  149. package/dist/generators/java/command.d.ts +3 -5
  150. package/dist/generators/java/command.js +1 -20
  151. package/dist/generators/java/generators/bootstrap/command.d.ts +7 -0
  152. package/dist/generators/java/generators/bootstrap/command.js +7 -0
  153. package/dist/generators/java/generators/build-tool/generator.js +37 -13
  154. package/dist/generators/java/generators/graalvm/command.d.ts +5 -0
  155. package/dist/generators/java/generators/graalvm/command.js +5 -0
  156. package/dist/generators/java/generators/graalvm/generator.d.ts +9 -0
  157. package/dist/generators/java/generators/graalvm/generator.js +222 -0
  158. package/dist/generators/java/generators/graalvm/index.d.ts +20 -0
  159. package/dist/generators/java/generators/graalvm/index.js +20 -0
  160. package/dist/generators/java/generators/graalvm/internal/maven-definition.d.ts +8 -0
  161. package/dist/generators/java/generators/graalvm/internal/maven-definition.js +130 -0
  162. package/dist/generators/java/generators/graalvm/resources/build.gradle +1 -0
  163. package/dist/generators/java/generators/graalvm/resources/gradle/libs.versions.toml +5 -0
  164. package/dist/generators/java/generators/graalvm/templates/README.md.jhi.native.ejs +53 -0
  165. package/dist/generators/java/generators/graalvm/templates/gradle/native.gradle.ejs +44 -0
  166. package/dist/generators/java/generators/graalvm/templates/src/main/java/_package_/config/NativeConfiguration.java.ejs +14 -0
  167. package/dist/generators/java/generators/node/generator.d.ts +6 -18
  168. package/dist/generators/java/generators/node/generator.js +31 -0
  169. package/dist/generators/java/generators/openapi-generator/generator.js +2 -2
  170. package/dist/generators/java/support/util.d.ts +1 -1
  171. package/dist/generators/java/types.d.ts +4 -1
  172. package/dist/generators/javascript/generators/bootstrap/command.d.ts +21 -20
  173. package/dist/generators/javascript/generators/bootstrap/generator.d.ts +1 -2
  174. package/dist/generators/javascript/generators/bootstrap/generator.js +9 -5
  175. package/dist/generators/javascript/types.d.ts +9 -2
  176. package/dist/generators/kubernetes/command.d.ts +12 -0
  177. package/dist/generators/kubernetes/command.js +12 -0
  178. package/dist/generators/kubernetes/index.d.ts +1 -0
  179. package/dist/generators/kubernetes/index.js +1 -0
  180. package/dist/generators/kubernetes-helm/index.d.ts +1 -0
  181. package/dist/generators/kubernetes-helm/index.js +1 -0
  182. package/dist/generators/kubernetes-knative/generator.d.ts +1 -1
  183. package/dist/generators/kubernetes-knative/index.d.ts +1 -0
  184. package/dist/generators/kubernetes-knative/index.js +1 -0
  185. package/dist/generators/languages/entity-files.d.ts +3 -2
  186. package/dist/generators/languages/entity-files.js +0 -1
  187. package/dist/generators/languages/generator.d.ts +1 -0
  188. package/dist/generators/languages/generator.js +1 -0
  189. package/dist/generators/liquibase/files.js +8 -0
  190. package/dist/generators/liquibase/generator.d.ts +1 -1
  191. package/dist/generators/liquibase/generator.js +15 -0
  192. package/dist/generators/liquibase/templates/src/main/resources/META-INF/native-image/liquibase/reflect-config.json +145 -0
  193. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/add_relationship_constraints.ejs +81 -0
  194. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs +2 -62
  195. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +3 -60
  196. package/dist/generators/maven/generators/frontend-plugin/generator.js +10 -5
  197. package/dist/generators/maven/types.d.ts +3 -6
  198. package/dist/generators/project-name/command.d.ts +25 -20
  199. package/dist/generators/project-name/command.js +20 -4
  200. package/dist/generators/project-name/generator.d.ts +3 -12
  201. package/dist/generators/project-name/generator.js +6 -38
  202. package/dist/generators/react/generator.d.ts +1 -1
  203. package/dist/generators/react/generator.js +15 -2
  204. package/dist/generators/react/resources/package.json +25 -24
  205. package/dist/generators/react/templates/package.json.ejs +0 -3
  206. package/dist/generators/server/generator.d.ts +1 -7
  207. package/dist/generators/server/generator.js +22 -50
  208. package/dist/generators/server/resources/Dockerfile +12 -12
  209. package/dist/generators/server/resources/gradle/libs.versions.toml +10 -7
  210. package/dist/generators/server/resources/pom.xml +11 -11
  211. package/dist/generators/server/types.d.ts +8 -0
  212. package/dist/generators/spring-boot/cleanup.js +2 -2
  213. package/dist/generators/spring-boot/command.d.ts +19 -0
  214. package/dist/generators/spring-boot/command.js +19 -0
  215. package/dist/generators/spring-boot/generator.d.ts +1 -1
  216. package/dist/generators/spring-boot/generator.js +4 -1
  217. package/dist/generators/spring-boot/prompts.js +12 -12
  218. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +107 -106
  219. package/dist/generators/spring-boot/templates/README.md.jhi.spring-boot.ejs +22 -16
  220. package/dist/generators/spring-boot/templates/gradle/profile_dev.gradle.ejs +2 -46
  221. package/dist/generators/spring-boot/templates/gradle/profile_prod.gradle.ejs +1 -47
  222. package/dist/generators/spring-boot/templates/src/main/java/_package_/Application.java.ejs +4 -1
  223. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +29 -6
  224. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +32 -6
  225. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +13 -8
  226. package/dist/generators/spring-boot/templates/src/main/java/_package_/domain/User.java.ejs +2 -3
  227. package/dist/generators/spring-boot/templates/src/main/resources/config/application-dev.yml.ejs +8 -3
  228. package/dist/generators/spring-boot/templates/src/main/resources/config/application.yml.ejs +4 -2
  229. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +8 -7
  230. package/dist/generators/spring-cache/generator.d.ts +2 -1
  231. package/dist/generators/spring-cache/generator.js +18 -0
  232. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  233. package/dist/generators/spring-cloud/generators/gateway/generator.js +2 -2
  234. package/dist/generators/spring-data-couchbase/generator.js +2 -2
  235. package/dist/generators/spring-data-mongodb/generator.d.ts +1 -1
  236. package/dist/generators/spring-data-relational/files.d.ts +1 -0
  237. package/dist/generators/spring-data-relational/files.js +6 -0
  238. package/dist/generators/spring-data-relational/generator.d.ts +2 -1
  239. package/dist/generators/spring-data-relational/generator.js +63 -2
  240. package/dist/generators/spring-data-relational/internal/dependencies.d.ts +87 -7
  241. package/dist/generators/spring-data-relational/internal/dependencies.js +30 -18
  242. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_persistable.ejs +6 -0
  243. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_reactive.ejs +1 -2
  244. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +8 -3
  245. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/JacksonNativeConfiguration.java.ejs +98 -0
  246. package/dist/generators/vue/files-vue.js +4 -1
  247. package/dist/generators/vue/generator.d.ts +1 -1
  248. package/dist/generators/vue/generator.js +84 -3
  249. package/dist/generators/vue/resources/package.json +20 -19
  250. package/dist/generators/vue/support/update-languages.js +1 -1
  251. package/dist/generators/vue/templates/module-federation.config.cjs.ejs +55 -0
  252. package/dist/generators/vue/templates/package.json.ejs +11 -62
  253. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +1 -1
  254. package/dist/generators/vue/templates/vite.config.mts.ejs +15 -21
  255. package/dist/generators/workspaces/generator.d.ts +20 -9
  256. package/dist/generators/workspaces/generator.js +3 -3
  257. package/dist/lib/application/field-types.d.ts +2 -1
  258. package/dist/lib/command/converter.d.ts +6 -2
  259. package/dist/lib/command/converter.js +4 -1
  260. package/dist/lib/command/load.js +1 -0
  261. package/dist/lib/command/lookup-commands-configs.js +9 -12
  262. package/dist/lib/command/support/merge-union.d.ts +17 -6
  263. package/dist/lib/command/types.d.ts +38 -11
  264. package/dist/lib/eslint/index.d.ts +6 -14
  265. package/dist/lib/eslint/index.js +1 -2
  266. package/dist/lib/index.d.ts +1 -0
  267. package/dist/lib/index.js +7 -3
  268. package/dist/lib/jdl/core/parsing/validator.js +2 -2
  269. package/dist/lib/jhipster/default-application-options.d.ts +83 -15
  270. package/dist/lib/jhipster/default-application-options.js +26 -27
  271. package/dist/lib/testing/get-generator.d.ts +1 -0
  272. package/dist/lib/testing/get-generator.js +6 -2
  273. package/dist/lib/testing/github-group.d.ts +6 -0
  274. package/dist/lib/testing/github-group.js +56 -0
  275. package/dist/lib/testing/github-matrix.d.ts +38 -0
  276. package/dist/lib/testing/github-matrix.js +72 -0
  277. package/dist/lib/testing/github.d.ts +1 -0
  278. package/dist/lib/testing/github.js +6 -2
  279. package/dist/lib/testing/helpers.d.ts +41 -3
  280. package/dist/lib/testing/helpers.js +74 -12
  281. package/dist/lib/testing/index.d.ts +2 -0
  282. package/dist/lib/testing/index.js +2 -0
  283. package/dist/lib/testing/support/matcher.d.ts +2 -2
  284. package/dist/lib/testing/support/matcher.js +3 -3
  285. package/dist/lib/types/application/application.d.ts +6 -1
  286. package/dist/lib/types/application/entity.d.ts +3 -1
  287. package/dist/lib/types/application/field.d.ts +16 -4
  288. package/dist/lib/types/application/options.d.ts +4 -0
  289. package/dist/lib/types/application/relationship.d.ts +1 -0
  290. package/dist/lib/types/application/yo-rc.d.ts +4 -0
  291. package/dist/lib/types/base/entity.d.ts +1 -0
  292. package/dist/lib/utils/logger.d.ts +1 -1
  293. package/dist/lib/utils/yo-rc.d.ts +27 -3
  294. package/package.json +33 -31
  295. package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +0 -6
  296. package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +0 -45
@@ -52,6 +52,28 @@ const command = {
52
52
  ],
53
53
  scope: 'storage',
54
54
  },
55
+ clientTheme: {
56
+ cli: {
57
+ type: String,
58
+ hide: true,
59
+ },
60
+ scope: 'storage',
61
+ },
62
+ clientThemeVariant: {
63
+ cli: {
64
+ type: String,
65
+ hide: true,
66
+ },
67
+ scope: 'storage',
68
+ },
69
+ clientBundler: {
70
+ cli: {
71
+ type: String,
72
+ hide: true,
73
+ },
74
+ choices: ['webpack', 'vite'],
75
+ scope: 'storage',
76
+ },
55
77
  microfrontend: {
56
78
  description: 'Enable microfrontend support',
57
79
  cli: {
@@ -24,7 +24,7 @@ export const files = {
24
24
  templates: ['README.md.jhi.client', '.prettierignore.jhi.client'],
25
25
  },
26
26
  clientRootTemplatesBlock({
27
- condition: generator => generator.microfrontend && (generator.clientFrameworkVue || generator.clientFrameworkReact),
27
+ condition: generator => generator.microfrontend && generator.clientBundlerWebpack && (generator.clientFrameworkVue || generator.clientFrameworkReact),
28
28
  templates: ['webpack/webpack.microfrontend.js.jhi'],
29
29
  }),
30
30
  {
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  /**
3
2
  * Copyright 2013-2024 the original author or authors from the JHipster project.
4
3
  *
@@ -26,7 +25,7 @@ import { loadStoredAppOptions } from '../app/support/index.js';
26
25
  import { addEnumerationFiles } from './entity-files.js';
27
26
  import { writeFiles as writeCommonFiles } from './files-common.js';
28
27
  import { askForClientTheme, askForClientThemeVariant } from './prompts.js';
29
- const { ANGULAR, VUE, REACT, NO: CLIENT_FRAMEWORK_NO } = clientFrameworkTypes;
28
+ const { ANGULAR, NO: CLIENT_FRAMEWORK_NO } = clientFrameworkTypes;
30
29
  const { CYPRESS } = testFrameworkTypes;
31
30
  export default class JHipsterClientGenerator extends BaseApplicationGenerator {
32
31
  async beforeQueue() {
@@ -67,6 +66,7 @@ export default class JHipsterClientGenerator extends BaseApplicationGenerator {
67
66
  }
68
67
  },
69
68
  upgradeAngular() {
69
+ // @ts-ignore deprecated value
70
70
  if (this.jhipsterConfig.clientFramework === 'angularX') {
71
71
  this.jhipsterConfig.clientFramework = ANGULAR;
72
72
  }
@@ -94,7 +94,7 @@ export default class JHipsterClientGenerator extends BaseApplicationGenerator {
94
94
  return this.asComposingTaskGroup({
95
95
  async composing() {
96
96
  const { clientFramework, testFrameworks } = this.jhipsterConfigWithDefaults;
97
- if ([ANGULAR, VUE, REACT].includes(clientFramework)) {
97
+ if (['angular', 'react', 'vue'].includes(clientFramework)) {
98
98
  await this.composeWithJHipster(clientFramework);
99
99
  }
100
100
  if (Array.isArray(testFrameworks) && testFrameworks.includes(CYPRESS)) {
@@ -131,7 +131,6 @@ export default class JHipsterClientGenerator extends BaseApplicationGenerator {
131
131
  },
132
132
  prepareForTemplates({ application }) {
133
133
  application.webappLoginRegExp = LOGIN_REGEX_JS;
134
- application.clientFrameworkBuiltIn = [ANGULAR, VUE, REACT].includes(application.clientFramework);
135
134
  },
136
135
  addExternalResource({ application, source }) {
137
136
  if (!application.clientFrameworkBuiltIn) {
@@ -206,7 +205,7 @@ export default class JHipsterClientGenerator extends BaseApplicationGenerator {
206
205
  }
207
206
  },
208
207
  microfrontend({ application, source }) {
209
- if (!application.microfrontend || !application.clientFrameworkBuiltIn) {
208
+ if (!application.microfrontend || !application.clientFrameworkBuiltIn || !application.clientBundlerWebpack) {
210
209
  return;
211
210
  }
212
211
  if (application.clientFrameworkAngular) {
@@ -22,15 +22,16 @@ export const askForClientTheme = asPromptingTask(async function askForClientThem
22
22
  if (control.existingProject && !this.options.askAnswered)
23
23
  return;
24
24
  const config = this.jhipsterConfigWithDefaults;
25
+ const { clientFramework } = config;
25
26
  await this.prompt({
26
27
  type: 'list',
27
28
  name: 'clientTheme',
28
- when: () => ['angular', 'react', 'vue'].includes(config.clientFramework),
29
+ when: () => ['angular', 'react', 'vue'].includes(clientFramework),
29
30
  message: 'Would you like to use a Bootswatch theme (https://bootswatch.com/)?',
30
31
  choices: async () => {
31
- const bootswatchChoices = await retrieveOnlineBootswatchThemes().catch(errorMessage => {
32
+ const bootswatchChoices = await retrieveOnlineBootswatchThemes({ clientFramework }).catch(errorMessage => {
32
33
  this.log.warn(errorMessage);
33
- return retrieveLocalBootswatchThemes();
34
+ return retrieveLocalBootswatchThemes({ clientFramework });
34
35
  });
35
36
  return [
36
37
  {
@@ -63,13 +64,13 @@ export const askForClientThemeVariant = asPromptingTask(async function askForCli
63
64
  default: config.clientThemeVariant,
64
65
  }, this.config);
65
66
  });
66
- async function retrieveOnlineBootswatchThemes() {
67
- return _retrieveBootswatchThemes(true);
67
+ async function retrieveOnlineBootswatchThemes({ clientFramework }) {
68
+ return _retrieveBootswatchThemes({ clientFramework, useApi: true });
68
69
  }
69
- async function retrieveLocalBootswatchThemes() {
70
- return _retrieveBootswatchThemes(false);
70
+ async function retrieveLocalBootswatchThemes({ clientFramework }) {
71
+ return _retrieveBootswatchThemes({ clientFramework, useApi: false });
71
72
  }
72
- async function _retrieveBootswatchThemes(useApi) {
73
+ async function _retrieveBootswatchThemes({ clientFramework, useApi }) {
73
74
  const errorMessage = 'Could not fetch bootswatch themes from API. Using default ones.';
74
75
  if (!useApi) {
75
76
  return [
@@ -101,7 +102,7 @@ async function _retrieveBootswatchThemes(useApi) {
101
102
  ];
102
103
  }
103
104
  return new Promise((resolve, reject) => {
104
- httpsGet('https://bootswatch.com/api/5.json', body => {
105
+ httpsGet(`https://bootswatch.com/api/${clientFramework === 'vue' ? '4' : '5'}.json`, body => {
105
106
  try {
106
107
  const { themes } = JSON.parse(body);
107
108
  const bootswatchChoices = themes.map(theme => ({
@@ -3,12 +3,12 @@
3
3
  "dayjs": "1.11.13"
4
4
  },
5
5
  "devDependencies": {
6
- "@cypress/code-coverage": "3.13.1",
6
+ "@cypress/code-coverage": "3.13.4",
7
7
  "babel-loader": "9.2.1",
8
8
  "babel-plugin-istanbul": "7.0.0",
9
- "cypress": "13.14.2",
9
+ "cypress": "13.15.1",
10
10
  "cypress-audit": "1.1.0",
11
- "eslint-plugin-cypress": "3.5.0",
11
+ "eslint-plugin-cypress": "4.0.0",
12
12
  "lighthouse": "12.2.1",
13
13
  "nyc": "17.1.0",
14
14
  "swagger-ui-dist": "5.17.14"
@@ -26,8 +26,9 @@
26
26
  });
27
27
  _&>
28
28
 
29
- const ModuleFederationPlugin = require('webpack/lib/container/ModuleFederationPlugin');
29
+ const { ModuleFederationPlugin } = require('@module-federation/enhanced/webpack');
30
30
  <&- fragments.importsSection() &>
31
+ <%_ if (!clientFrameworkVue) { _%>
31
32
  const packageJson = require('../package.json');
32
33
  // Microfrontend api, should match across gateway and microservices.
33
34
  const apiVersion = '0.0.1';
@@ -41,6 +42,7 @@ const shareDependencies = ({ skipList = [] } = {}) =>
41
42
  .filter(([dependency]) => !skipList.includes(dependency))
42
43
  .map(([dependency, version]) => [dependency, { ...sharedDefaults, version, requiredVersion: version }]),
43
44
  );
45
+ <%_ } _%>
44
46
 
45
47
  module.exports = () => {
46
48
  return {
@@ -51,18 +53,27 @@ module.exports = () => {
51
53
  },
52
54
  <&- fragments.configSection() &>
53
55
  plugins: [
54
- new ModuleFederationPlugin({
55
- <%_ if (applicationTypeMicroservice) { _%>
56
+ new ModuleFederationPlugin(
57
+ <%_ if (clientFrameworkVue) { _%>
58
+ require('../module-federation.config.cjs'),
59
+ <%_ } else { -%>
60
+ {
61
+ <%_ if (applicationTypeMicroservice) { _%>
56
62
  name: '<%= lowercaseBaseName %>',
57
63
  filename: 'remoteEntry.js',
58
- <%_ } _%>
64
+ <%_ } _%>
59
65
  shareScope: 'default',
66
+ dts: false,
67
+ manifest: false,
60
68
  <&- fragments.moduleFederationSection() &>
61
- }),
69
+ }
70
+ <%_ } -%>
71
+ ),
62
72
  <&- fragments.pluginsSection() &>
63
73
  ],
64
74
  output: {
65
75
  publicPath: 'auto',
76
+ scriptType: 'text/javascript',
66
77
  },
67
78
  };
68
79
  };
@@ -162,8 +162,8 @@ export default class CommonGenerator extends BaseApplicationGenerator {
162
162
  // Public API method used by the getter and also by Blueprints
163
163
  get writing() {
164
164
  return this.asWritingTaskGroup({
165
- cleanup({ application, control }) {
166
- control.cleanupFiles({
165
+ async cleanup({ application, control }) {
166
+ await control.cleanupFiles({
167
167
  '7.1.1': [[!application.skipCommitHook, '.huskyrc']],
168
168
  '7.6.1': [[application.skipClient, 'npmw', 'npmw.cmd']],
169
169
  '8.0.0-rc.2': [[!application.skipCommitHook, '.lintstagedrc.js']],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "devDependencies": {
3
3
  "concurrently": "9.0.1",
4
- "npm": "10.8.3",
4
+ "npm": "10.9.0",
5
5
  "wait-on": "8.0.1"
6
6
  }
7
7
  }
@@ -48,6 +48,12 @@ export const cypressFiles = {
48
48
  'tsconfig.json',
49
49
  ],
50
50
  },
51
+ {
52
+ condition: generator => !generator.applicationTypeMicroservice,
53
+ path: CYPRESS_TEMPLATE_SOURCE_DIR,
54
+ renameTo: (ctx, file) => `${ctx.cypressDir}${file}`,
55
+ templates: ['e2e/account/logout.cy.ts'],
56
+ },
51
57
  {
52
58
  condition: generator => !generator.authenticationTypeOauth2,
53
59
  path: CYPRESS_TEMPLATE_SOURCE_DIR,
@@ -24,7 +24,7 @@ import {
24
24
  submitLoginSelector,
25
25
  } from '../../support/commands';
26
26
 
27
- describe('login modal', () => {
27
+ describe('login page', () => {
28
28
  const username = Cypress.env('E2E_USERNAME') ?? '<%= skipUserManagement && (applicationTypeMonolith || applicationTypeGateway) ? 'admin' : 'user' %>';
29
29
  const password = Cypress.env('E2E_PASSWORD') ?? '<%= skipUserManagement && (applicationTypeMonolith || applicationTypeGateway) ? 'admin' : 'user' %>';
30
30
 
@@ -78,7 +78,7 @@ describe('login modal', () => {
78
78
  cy.get(errorLoginSelector).should('be.visible');
79
79
  });
80
80
 
81
- it('go to login page when successfully logs in', () => {
81
+ it('go to home page when successfully logs in', () => {
82
82
  cy.get(usernameLoginSelector).type(username);
83
83
  cy.get(passwordLoginSelector).type(password);
84
84
  cy.get(submitLoginSelector).click();
@@ -0,0 +1,39 @@
1
+ <%#
2
+ Copyright 2013-2024 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
19
+ import {
20
+ accountMenuSelector,
21
+ navbarSelector,
22
+ loginItemSelector,
23
+ } from '../../support/commands';
24
+
25
+ describe('logout', () => {
26
+ const username = Cypress.env('E2E_USERNAME') ?? 'user';
27
+ const password = Cypress.env('E2E_PASSWORD') ?? 'user';
28
+
29
+ it<%- clientFrameworkReact ? '.skip' : '' %>('go to home page when successfully logs out', () => {
30
+ cy.login(username, password);
31
+ cy.visit('');
32
+ cy.clickOnLogoutItem();
33
+ // Wait logout
34
+ cy.wait(500); // eslint-disable-line cypress/no-unnecessary-waiting
35
+ cy.visit('');
36
+ cy.get(navbarSelector).get(accountMenuSelector).click();
37
+ cy.get(navbarSelector).get(accountMenuSelector).get(loginItemSelector).should('be.visible');
38
+ });
39
+ });
@@ -23,7 +23,7 @@ export default class DockerGenerator extends BaseApplicationGenerator {
23
23
  get loading(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").TaskParamWithApplicationDefaults<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "loading">;
24
24
  get preparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "dockerServices" | "addAppServices">;
25
25
  get writing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").WritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "writeDockerFiles">;
26
- get postWriting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PostWritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "dockerServices" | "packageJsonScripts">;
26
+ get postWriting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PostWritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "packageJsonScripts" | "dockerServices">;
27
27
  /**
28
28
  * @private
29
29
  * Returns the JDBC URL for a databaseType
@@ -43,7 +43,8 @@ services:
43
43
  test: 'bash /opt/keycloak/health-check.sh'
44
44
  interval: 5s
45
45
  timeout: 5s
46
- retries: 40
46
+ # Increased retries due to slow Keycloak startup in GitHub Actions using MacOS
47
+ retries: 50
47
48
  start_period: 10s
48
49
  <%_ if (backendTypeSpringBoot) { _%>
49
50
  labels:
@@ -5,6 +5,14 @@ const command = {
5
5
  description: 'Application folders',
6
6
  },
7
7
  },
8
- options: {},
8
+ configs: {
9
+ jwtSecretKey: {
10
+ cli: {
11
+ type: String,
12
+ env: 'JHI_JWT_SECRET_KEY',
13
+ },
14
+ scope: 'generator',
15
+ },
16
+ },
9
17
  };
10
18
  export default command;
@@ -5,54 +5,17 @@ import BaseWorkspacesGenerator from '../base-workspaces/index.js';
5
5
  */
6
6
  export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
7
7
  existingDeployment: any;
8
+ jwtSecretKey: string;
8
9
  beforeQueue(): Promise<void>;
9
- get initializing(): {
10
- sayHello(): void;
11
- checkDocker: (this: import("../index.js").GeneratorBaseCore) => Promise<void>;
12
- checkDockerCompose(): Promise<void>;
13
- };
14
- get loading(): {
15
- loadWorkspacesConfig(): void;
16
- };
17
- get promptingWorkspaces(): {
18
- askForMonitoring({ workspaces }: {
19
- workspaces: any;
20
- }): Promise<void>;
21
- askForClustersMode({ workspaces, applications }: {
22
- workspaces: any;
23
- applications: any;
24
- }): Promise<void>;
25
- askForServiceDiscovery({ workspaces, applications }: {
26
- workspaces: any;
27
- applications: any;
28
- }): Promise<void>;
29
- };
30
- get configuringWorkspaces(): {
31
- configureBaseDeployment({ applications }: {
32
- applications: any;
33
- }): void;
34
- };
35
- get loadingWorkspaces(): {
36
- loadBaseDeployment({ deployment }: {
37
- deployment: any;
38
- }): void;
39
- loadPlatformConfig({ deployment }: {
40
- deployment: any;
41
- }): void;
42
- };
43
- get preparingWorkspaces(): {
44
- prepareDeployment({ deployment, applications }: {
45
- deployment: any;
46
- applications: any;
47
- }): void;
48
- };
49
- get default(): {
50
- setAppsYaml({ workspaces, deployment, applications }: {
51
- workspaces: any;
52
- deployment: any;
53
- applications: any;
54
- }): Promise<void>;
55
- };
10
+ get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "checkDocker" | "sayHello" | "checkDockerCompose">;
11
+ get loading(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl & {
12
+ applications: import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>[];
13
+ }, "loadWorkspacesConfig">;
14
+ get promptingWorkspaces(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, any, "askForMonitoring" | "askForClustersMode" | "askForServiceDiscovery">;
15
+ get configuringWorkspaces(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, any, "configureBaseDeployment">;
16
+ get loadingWorkspaces(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, any, "loadBaseDeployment" | "loadPlatformConfig">;
17
+ get preparingWorkspaces(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, any, "prepareDeployment">;
18
+ get default(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, any, "setAppsYaml">;
56
19
  get writing(): {
57
20
  cleanup(): void;
58
21
  writeDockerCompose({ deployment }: {
@@ -68,12 +31,7 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
68
31
  deployment: any;
69
32
  }): void;
70
33
  };
71
- get end(): {
72
- end({ workspaces, applications }: {
73
- workspaces: any;
74
- applications: any;
75
- }): void;
76
- };
34
+ get end(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, any, "end">;
77
35
  checkApplicationsDockerImages({ workspaces, applications }: {
78
36
  workspaces: any;
79
37
  applications: any;
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  /**
3
2
  * Copyright 2013-2024 the original author or authors from the JHipster project.
4
3
  *
@@ -41,9 +40,10 @@ const { Options: DeploymentOptions } = deploymentOptions;
41
40
  */
42
41
  export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
43
42
  existingDeployment;
43
+ jwtSecretKey;
44
44
  async beforeQueue() {
45
45
  this.parseJHipsterArguments(command.arguments);
46
- if (this.appsFolders?.length > 0) {
46
+ if (this.appsFolders && this.appsFolders.length > 0) {
47
47
  this.jhipsterConfig.appsFolders = this.appsFolders;
48
48
  }
49
49
  await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_WORKSPACES);
@@ -52,7 +52,7 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
52
52
  }
53
53
  }
54
54
  get initializing() {
55
- return {
55
+ return this.asInitializingTaskGroup({
56
56
  sayHello() {
57
57
  this.log.log(chalk.white(`${chalk.bold('🐳')} Welcome to the JHipster Docker Compose Sub-Generator ${chalk.bold('🐳')}`));
58
58
  this.log.log(chalk.white(`Files will be generated in folder: ${chalk.yellow(this.destinationRoot())}`));
@@ -68,23 +68,23 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
68
68
  `);
69
69
  }
70
70
  },
71
- };
71
+ });
72
72
  }
73
73
  get [BaseWorkspacesGenerator.INITIALIZING]() {
74
74
  return this.delegateTasksToBlueprint(() => this.initializing);
75
75
  }
76
76
  get loading() {
77
- return {
77
+ return this.asLoadingTaskGroup({
78
78
  loadWorkspacesConfig() {
79
79
  this.loadWorkspacesConfig();
80
80
  },
81
- };
81
+ });
82
82
  }
83
83
  get [BaseWorkspacesGenerator.LOADING]() {
84
84
  return this.delegateTasksToBlueprint(() => this.loading);
85
85
  }
86
86
  get promptingWorkspaces() {
87
- return {
87
+ return this.asAnyTaskGroup({
88
88
  async askForMonitoring({ workspaces }) {
89
89
  if (workspaces.existingWorkspaces && !this.options.askAnswered)
90
90
  return;
@@ -100,50 +100,51 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
100
100
  return;
101
101
  await this.askForServiceDiscovery({ applications });
102
102
  },
103
- };
103
+ });
104
104
  }
105
105
  get [BaseWorkspacesGenerator.PROMPTING_WORKSPACES]() {
106
106
  return this.delegateTasksToBlueprint(() => this.promptingWorkspaces);
107
107
  }
108
108
  get configuringWorkspaces() {
109
- return {
109
+ return this.asAnyTaskGroup({
110
110
  configureBaseDeployment({ applications }) {
111
- this.jhipsterConfig.jwtSecretKey = this.jhipsterConfig.jwtSecretKey ?? createBase64Secret(this.options.reproducibleTests);
111
+ this.jhipsterConfig.jwtSecretKey =
112
+ this.jhipsterConfig.jwtSecretKey ?? this.jwtSecretKey ?? createBase64Secret(this.options.reproducibleTests);
112
113
  if (applications.some(app => app.serviceDiscoveryEureka)) {
113
114
  this.jhipsterConfig.adminPassword = this.jhipsterConfig.adminPassword ?? 'admin';
114
115
  }
115
116
  },
116
- };
117
+ });
117
118
  }
118
119
  get [BaseWorkspacesGenerator.CONFIGURING_WORKSPACES]() {
119
120
  return this.delegateTasksToBlueprint(() => this.configuringWorkspaces);
120
121
  }
121
122
  get loadingWorkspaces() {
122
- return {
123
- loadBaseDeployment({ deployment }) {
123
+ return this.asAnyTaskGroup({
124
+ async loadBaseDeployment({ deployment }) {
124
125
  deployment.jwtSecretKey = this.jhipsterConfig.jwtSecretKey;
125
- loadDockerDependenciesTask.call(this, { context: deployment });
126
+ await loadDockerDependenciesTask.call(this, { context: deployment });
126
127
  },
127
128
  loadPlatformConfig({ deployment }) {
128
129
  this.loadDeploymentConfig({ deployment });
129
130
  },
130
- };
131
+ });
131
132
  }
132
133
  get [BaseWorkspacesGenerator.LOADING_WORKSPACES]() {
133
134
  return this.delegateTasksToBlueprint(() => this.loadingWorkspaces);
134
135
  }
135
136
  get preparingWorkspaces() {
136
- return {
137
+ return this.asAnyTaskGroup({
137
138
  prepareDeployment({ deployment, applications }) {
138
139
  this.prepareDeploymentDerivedProperties({ deployment, applications });
139
140
  },
140
- };
141
+ });
141
142
  }
142
143
  get [BaseWorkspacesGenerator.PREPARING_WORKSPACES]() {
143
144
  return this.delegateTasksToBlueprint(() => this.preparingWorkspaces);
144
145
  }
145
146
  get default() {
146
- return {
147
+ return this.asAnyTaskGroup({
147
148
  async setAppsYaml({ workspaces, deployment, applications }) {
148
149
  const faker = await createFaker();
149
150
  deployment.keycloakRedirectUris = '';
@@ -265,14 +266,14 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
265
266
  }
266
267
  // Add Memcached support
267
268
  if (appConfig.cacheProviderMemcached) {
268
- const memcachedYaml = parseYaml(this.readDestination(`${path}/src/main/docker/memcached.yml`));
269
+ const memcachedYaml = parseYaml(this.readDestination(`${path}/src/main/docker/memcached.yml`).toString());
269
270
  const memcachedConfig = memcachedYaml.services.memcached;
270
271
  delete memcachedConfig.ports;
271
272
  parentConfiguration[`${lowercaseBaseName}-memcached`] = memcachedConfig;
272
273
  }
273
274
  // Add Redis support
274
275
  if (appConfig.cacheProviderRedis) {
275
- const redisYaml = parseYaml(this.readDestination(`${path}/src/main/docker/redis.yml`));
276
+ const redisYaml = parseYaml(this.readDestination(`${path}/src/main/docker/redis.yml`).toString());
276
277
  const redisConfig = redisYaml.services.redis;
277
278
  delete redisConfig.ports;
278
279
  parentConfiguration[`${lowercaseBaseName}-redis`] = redisConfig;
@@ -290,7 +291,7 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
290
291
  return yamlString;
291
292
  });
292
293
  },
293
- };
294
+ });
294
295
  }
295
296
  get [BaseWorkspacesGenerator.DEFAULT]() {
296
297
  return this.delegateTasksToBlueprint(() => this.default);
@@ -302,7 +303,7 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
302
303
  return this.delegateTasksToBlueprint(() => this.writing);
303
304
  }
304
305
  get end() {
305
- return {
306
+ return this.asAnyTaskGroup({
306
307
  end({ workspaces, applications }) {
307
308
  this.checkApplicationsDockerImages({ workspaces, applications });
308
309
  this.log.verboseInfo(`You can launch all your infrastructure by running : ${chalk.cyan('docker compose up -d')}`);
@@ -315,7 +316,7 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
315
316
  this.log.log('\n');
316
317
  }
317
318
  },
318
- };
319
+ });
319
320
  }
320
321
  get [BaseWorkspacesGenerator.END]() {
321
322
  return this.delegateTasksToBlueprint(() => this.end);