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
@@ -72,6 +72,9 @@ export default class VueGenerator extends BaseApplicationGenerator {
72
72
  prepareForTemplates({ application, source }) {
73
73
  application.addPrettierExtensions?.(['html', 'vue', 'css', 'scss']);
74
74
  source.addWebpackConfig = args => {
75
+ if (!application.clientBundlerWebpack) {
76
+ throw new Error('This application is not webpack based');
77
+ }
75
78
  const webpackPath = `${application.clientRootDir}webpack/webpack.common.js`;
76
79
  const ignoreNonExisting = this.sharedData.getControl().ignoreNeedlesError && 'Webpack configuration file not found';
77
80
  this.editFile(webpackPath, { ignoreNonExisting }, createNeedleCallback({
@@ -112,8 +115,8 @@ export default class VueGenerator extends BaseApplicationGenerator {
112
115
  }
113
116
  get writing() {
114
117
  return this.asWritingTaskGroup({
115
- cleanup({ control }) {
116
- control.cleanupFiles({
118
+ async cleanup({ control }) {
119
+ await control.cleanupFiles({
117
120
  '8.6.1': ['.eslintrc.json', '.eslintignore'],
118
121
  });
119
122
  },
@@ -137,8 +140,86 @@ export default class VueGenerator extends BaseApplicationGenerator {
137
140
  }
138
141
  get postWriting() {
139
142
  return this.asPostWritingTaskGroup({
143
+ addPackageJsonScripts({ application }) {
144
+ const { clientBundlerVite, clientBundlerWebpack, clientPackageManager, prettierExtensions } = application;
145
+ if (clientBundlerVite) {
146
+ this.packageJson.merge({
147
+ scripts: {
148
+ 'webapp:build:dev': `${clientPackageManager} run vite-build`,
149
+ 'webapp:build:prod': `${clientPackageManager} run vite-build`,
150
+ 'webapp:dev': `${clientPackageManager} run vite-serve`,
151
+ 'webapp:serve': `${clientPackageManager} run vite-serve`,
152
+ 'vite-serve': 'vite',
153
+ 'vite-build': 'vite build',
154
+ },
155
+ });
156
+ }
157
+ else if (clientBundlerWebpack) {
158
+ this.packageJson.merge({
159
+ scripts: {
160
+ 'prettier:check': `prettier --check "{,src/**/,webpack/,.blueprint/**/}*.{${prettierExtensions}}"`,
161
+ 'prettier:format': `prettier --write "{,src/**/,webpack/,.blueprint/**/}*.{${prettierExtensions}}"`,
162
+ 'webapp:build:dev': `${clientPackageManager} run webpack -- --mode development --env stats=minimal`,
163
+ 'webapp:build:prod': `${clientPackageManager} run webpack -- --mode production --env stats=minimal`,
164
+ 'webapp:dev': `${clientPackageManager} run webpack-dev-server -- --mode development --env stats=normal`,
165
+ 'webpack-dev-server': 'webpack serve --config webpack/webpack.common.js',
166
+ webpack: 'webpack --config webpack/webpack.common.js',
167
+ },
168
+ });
169
+ }
170
+ },
171
+ addMicrofrontendDependencies({ application }) {
172
+ const { applicationTypeGateway, clientBundlerVite, clientBundlerWebpack, enableTranslation, microfrontend } = application;
173
+ if (!microfrontend)
174
+ return;
175
+ if (clientBundlerVite) {
176
+ this.packageJson.merge({
177
+ devDependencies: {
178
+ '@originjs/vite-plugin-federation': '1.3.6',
179
+ },
180
+ });
181
+ }
182
+ else if (clientBundlerWebpack) {
183
+ if (applicationTypeGateway) {
184
+ this.packageJson.merge({
185
+ devDependencies: {
186
+ '@module-federation/utilities': null,
187
+ },
188
+ });
189
+ }
190
+ this.packageJson.merge({
191
+ devDependencies: {
192
+ '@module-federation/enhanced': null,
193
+ 'browser-sync-webpack-plugin': null,
194
+ 'copy-webpack-plugin': null,
195
+ 'css-loader': null,
196
+ 'css-minimizer-webpack-plugin': null,
197
+ 'html-webpack-plugin': null,
198
+ 'mini-css-extract-plugin': null,
199
+ 'postcss-loader': null,
200
+ 'sass-loader': null,
201
+ 'terser-webpack-plugin': null,
202
+ 'ts-loader': null,
203
+ 'vue-loader': null,
204
+ 'vue-style-loader': null,
205
+ webpack: null,
206
+ 'webpack-bundle-analyzer': null,
207
+ 'webpack-cli': null,
208
+ 'webpack-dev-server': null,
209
+ 'webpack-merge': null,
210
+ 'workbox-webpack-plugin': null,
211
+ ...(enableTranslation
212
+ ? {
213
+ 'folder-hash': null,
214
+ 'merge-jsons-webpack-plugin': null,
215
+ }
216
+ : {}),
217
+ },
218
+ });
219
+ }
220
+ },
140
221
  addIndexAsset({ source, application }) {
141
- if (application.microfrontend)
222
+ if (!application.clientBundlerVite)
142
223
  return;
143
224
  source.addExternalResourceToRoot({
144
225
  resource: '<script>const global = globalThis;</script>',
@@ -13,17 +13,18 @@
13
13
  "bootswatch": "4.6.2",
14
14
  "deepmerge": "4.3.1",
15
15
  "js-cookie": "3.0.5",
16
- "pinia": "2.2.2",
16
+ "pinia": "2.2.4",
17
17
  "rxjs": "7.8.1",
18
18
  "sockjs-client": "1.6.1",
19
- "vue": "3.5.6",
20
- "vue-i18n": "10.0.1",
19
+ "vue": "3.5.12",
20
+ "vue-i18n": "10.0.4",
21
21
  "vue-router": "4.4.5"
22
22
  },
23
23
  "devDependencies": {
24
- "@eslint/js": "9.10.0",
25
- "@module-federation/utilities": "3.1.12",
26
- "@pinia/testing": "0.1.5",
24
+ "@eslint/js": "9.13.0",
25
+ "@module-federation/enhanced": "0.6.13",
26
+ "@module-federation/utilities": "3.1.19",
27
+ "@pinia/testing": "0.1.6",
27
28
  "@tsconfig/node18": "18.2.4",
28
29
  "@types/node": "20.11.25",
29
30
  "@types/sinon": "17.0.3",
@@ -31,18 +32,18 @@
31
32
  "@vue/test-utils": "2.4.6",
32
33
  "@vue/tsconfig": "0.5.1",
33
34
  "autoprefixer": "10.4.20",
34
- "axios-mock-adapter": "2.0.0",
35
+ "axios-mock-adapter": "2.1.0",
35
36
  "browser-sync-webpack-plugin": "2.3.0",
36
37
  "copy-webpack-plugin": "12.0.2",
37
38
  "css-loader": "7.1.2",
38
39
  "css-minimizer-webpack-plugin": "7.0.0",
39
- "eslint": "9.10.0",
40
+ "eslint": "9.13.0",
40
41
  "eslint-plugin-prettier": "5.2.1",
41
- "eslint-plugin-vue": "9.28.0",
42
+ "eslint-plugin-vue": "9.29.1",
42
43
  "flush-promises": "1.0.2",
43
44
  "folder-hash": "4.0.4",
44
45
  "happy-dom": "14.12.3",
45
- "html-webpack-plugin": "5.6.0",
46
+ "html-webpack-plugin": "5.6.3",
46
47
  "merge-jsons-webpack-plugin": "2.0.1",
47
48
  "mini-css-extract-plugin": "2.9.1",
48
49
  "numeral": "2.0.6",
@@ -50,21 +51,21 @@
50
51
  "postcss-loader": "8.1.1",
51
52
  "postcss-url": "10.1.3",
52
53
  "rimraf": "5.0.8",
53
- "sass": "1.79.2",
54
- "sass-loader": "16.0.1",
54
+ "sass": "1.64.2",
55
+ "sass-loader": "16.0.2",
55
56
  "sinon": "19.0.2",
56
57
  "terser-webpack-plugin": "5.3.10",
57
58
  "ts-loader": "9.5.1",
58
- "typescript": "5.6.2",
59
- "typescript-eslint": "8.6.0",
60
- "vite": "5.4.6",
61
- "vite-plugin-static-copy": "1.0.6",
62
- "vitest": "2.1.1",
59
+ "typescript": "5.6.3",
60
+ "typescript-eslint": "8.11.0",
61
+ "vite": "5.4.10",
62
+ "vite-plugin-static-copy": "2.0.0",
63
+ "vitest": "2.1.3",
63
64
  "vitest-sonar-reporter": "2.0.0",
64
65
  "vue-loader": "17.4.2",
65
66
  "vue-style-loader": "4.1.3",
66
- "vue-tsc": "2.1.6",
67
- "webpack": "5.94.0",
67
+ "vue-tsc": "2.1.8",
68
+ "webpack": "5.95.0",
68
69
  "webpack-bundle-analyzer": "4.10.2",
69
70
  "webpack-cli": "5.1.4",
70
71
  "webpack-dev-server": "5.1.0",
@@ -54,7 +54,7 @@ function updateLanguagesInWebpackTask({ application, control = {} }) {
54
54
  export default function updateLanguagesTask(taskParam) {
55
55
  updateLanguagesInPipeTask.call(this, taskParam);
56
56
  updateLanguagesInConfigTask.call(this, taskParam);
57
- if (taskParam.application.microfrontend) {
57
+ if (taskParam.application.clientBundlerWebpack) {
58
58
  updateLanguagesInWebpackTask.call(this, taskParam);
59
59
  }
60
60
  updateLanguagesInDayjsConfigurationTask.call(this, taskParam, {
@@ -0,0 +1,55 @@
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
+ const packageJson = require('./package.json');
20
+
21
+ // Microfrontend api, should match across gateway and microservices.
22
+ const apiVersion = '0.0.1';
23
+
24
+ const sharedDefaults = { singleton: true, strictVersion: true, requiredVersion: apiVersion };
25
+ const shareMappings = (...mappings) => Object.fromEntries(mappings.map(map => [map, { ...sharedDefaults, version: apiVersion }]));
26
+
27
+ const shareDependencies = ({ skipList = [] } = {}) =>
28
+ Object.fromEntries(
29
+ Object.entries(packageJson.dependencies)
30
+ .filter(([dependency]) => !skipList.includes(dependency))
31
+ .map(([dependency, version]) => [dependency, { ...sharedDefaults, version, requiredVersion: version }]),
32
+ );
33
+
34
+ /** @type {import('@module-federation/runtime').Options} */
35
+ module.exports = {
36
+ name: '<%= lowercaseBaseName %>',
37
+ <%_ if (applicationTypeMicroservice) { _%>
38
+ exposes: {
39
+ './entities-router': './<%- this.relativeDir(clientRootDir, clientSrcDir) %>app/router/entities.ts',
40
+ './entities-menu': './<%- this.relativeDir(clientRootDir, clientSrcDir) %>app/entities/entities-menu.vue',
41
+ },
42
+ <%_ } _%>
43
+ filename: 'remoteEntry.js',
44
+ shareScope: 'default',
45
+ shared: {
46
+ ...shareDependencies(),
47
+ ...shareMappings(
48
+ '@/shared/security/authority',
49
+ '@/shared/alert/alert.service',
50
+ '@/locale/translation.service',
51
+ ),
52
+ },
53
+ dts: false,
54
+ manifest: false,
55
+ };
@@ -55,34 +55,6 @@
55
55
  "vue-router": "<%= nodeDependencies['vue-router'] %>"
56
56
  },
57
57
  "devDependencies": {
58
- <%_ if (applicationTypeGateway && microfrontend) { _%>
59
- "@module-federation/utilities": "<%= nodeDependencies['@module-federation/utilities'] %>",
60
- <%_ } _%>
61
- <%_ if (microfrontend) { _%>
62
- "@originjs/vite-plugin-federation": "1.3.3",
63
- "browser-sync-webpack-plugin": "<%= nodeDependencies['browser-sync-webpack-plugin'] %>",
64
- "copy-webpack-plugin": "<%= nodeDependencies['copy-webpack-plugin'] %>",
65
- "css-loader": "<%= nodeDependencies['css-loader'] %>",
66
- "css-minimizer-webpack-plugin": "<%= nodeDependencies['css-minimizer-webpack-plugin'] %>",
67
- "html-webpack-plugin": "<%= nodeDependencies['html-webpack-plugin'] %>",
68
- <%_ if (enableTranslation) { _%>
69
- "folder-hash": "<%= nodeDependencies['folder-hash'] %>",
70
- "merge-jsons-webpack-plugin": "<%= nodeDependencies['merge-jsons-webpack-plugin'] %>",
71
- <%_ } _%>
72
- "mini-css-extract-plugin": "<%= nodeDependencies['mini-css-extract-plugin'] %>",
73
- "postcss-loader": "<%= nodeDependencies['postcss-loader'] %>",
74
- "sass-loader": "<%= nodeDependencies['sass-loader'] %>",
75
- "terser-webpack-plugin": "<%= nodeDependencies['terser-webpack-plugin'] %>",
76
- "ts-loader": "<%= nodeDependencies['ts-loader'] %>",
77
- "vue-loader": "<%= nodeDependencies['vue-loader'] %>",
78
- "vue-style-loader": "<%= nodeDependencies['vue-style-loader'] %>",
79
- "webpack": "<%= nodeDependencies['webpack'] %>",
80
- "webpack-bundle-analyzer": "<%= nodeDependencies['webpack-bundle-analyzer'] %>",
81
- "webpack-cli": "<%= nodeDependencies['webpack-cli'] %>",
82
- "webpack-dev-server": "<%= nodeDependencies['webpack-dev-server'] %>",
83
- "webpack-merge": "<%= nodeDependencies['webpack-merge'] %>",
84
- "workbox-webpack-plugin": "<%= nodeDependencies['workbox-webpack-plugin'] %>",
85
- <%_ } _%>
86
58
  "@eslint/js": null,
87
59
  "@pinia/testing": "<%= nodeDependencies['@pinia/testing'] %>",
88
60
  "@types/node": "<%= nodeDependencies['@types/node'] %>",
@@ -118,55 +90,32 @@
118
90
  "vitest-sonar-reporter": "<%= nodeDependencies['vitest-sonar-reporter'] %>"
119
91
  },
120
92
  "engines": {
121
- "node": ">=<%= nodeVersion %>",
122
- "npm": ">= 6.14.4"
93
+ "node": ">=<%= nodeVersion %>"
123
94
  },
124
95
  "config": {
125
96
  "default_environment": "prod"
126
97
  },
127
98
  "scripts": {
128
- <%_ if (microfrontend) { %>
129
- "prettier:check": "prettier --check \"{,src/**/,webpack/,.blueprint/**/}*.{<%= prettierExtensions %>}\"",
130
- "prettier:format": "prettier --write \"{,src/**/,webpack/,.blueprint/**/}*.{<%= prettierExtensions %>}\"",
131
- <%_ } else { %>
132
- "prettier:check": "prettier --check \"{,src/**/,.blueprint/**/}*.{<%= prettierExtensions %>}\"",
133
- "prettier:format": "prettier --write \"{,src/**/,.blueprint/**/}*.{<%= prettierExtensions %>}\"",
134
- <%_ } %>
135
- "lint": "eslint .",
136
- "lint:fix": "eslint . --fix",
99
+ "build": "<%= clientPackageManager %> run webapp:prod --",
100
+ "build-watch": "concurrently 'npm run webapp:build:dev -- --watch'<% if(!skipServer) { %> npm:backend:start<% } %>",
137
101
  "cleanup": "rimraf <%= this.relativeDir(clientRootDir, temporaryDir) %>",
138
102
  "clean-www": "rimraf <%= this.relativeDir(clientRootDir, clientDistDir) %>",
103
+ "lint": "eslint .",
104
+ "lint:fix": "eslint . --fix",
105
+ "prettier:check": "prettier --check \"{,src/**/,.blueprint/**/}*.{<%= prettierExtensions %>}\"",
106
+ "prettier:format": "prettier --write \"{,src/**/,.blueprint/**/}*.{<%= prettierExtensions %>}\"",
107
+ "serve": "<%= clientPackageManager %> run start --",
139
108
  "start": "<%= clientPackageManager %> run webapp:dev --",
140
109
  "start-tls": "<%= clientPackageManager %> run webapp:dev -- --env.tls",
141
- "serve": "<%= clientPackageManager %> run start --",
142
- "build": "<%= clientPackageManager %> run webapp:prod --",
143
- "build-watch": "concurrently 'npm run webapp:build:dev -- --watch'<% if(!skipServer) { %> npm:backend:start<% } %>",
144
- "vitest-run": "vitest --run --coverage",
145
- "vitest": "vitest",
146
110
  "pretest": "<%= clientPackageManager %> run lint",
147
111
  "test": "<%= clientPackageManager %> run vitest-run --",
148
112
  "test:watch": "<%= clientPackageManager %> run vitest",
113
+ "vitest-run": "vitest --run --coverage",
114
+ "vitest": "vitest",
149
115
  "watch": "concurrently npm:start<% if(!skipServer) { %> npm:backend:start<% } %>",
150
116
  "webapp:build": "<%= clientPackageManager %> run clean-www && <%= clientPackageManager %> run webapp:build:dev --",
151
- <%_ if (microfrontend) { %>
152
- "webapp:build:dev": "<%= clientPackageManager %> run webpack -- --mode development --env stats=minimal",
153
- "webapp:build:prod": "<%= clientPackageManager %> run webpack -- --mode production --env stats=minimal",
154
- "webapp:dev": "<%= clientPackageManager %> run webpack-dev-server -- --mode development --env stats=normal",
155
- <%_ } else { %>
156
- "webapp:build:dev": "<%= clientPackageManager %> run vite-build",
157
- "webapp:build:prod": "<%= clientPackageManager %> run vite-build",
158
- "webapp:dev": "<%= clientPackageManager %> run vite-serve",
159
- "webapp:serve": "<%= clientPackageManager %> run vite-serve",
160
- <%_ } %>
161
117
  "webapp:prod": "<%= clientPackageManager %> run clean-www && <%= clientPackageManager %> run webapp:build:prod --",
162
- "webapp:test": "<%= clientPackageManager %> run test --",
163
- <%_ if (microfrontend) { %>
164
- "webpack-dev-server": "webpack serve --config webpack/webpack.common.js",
165
- "webpack": "webpack --config webpack/webpack.common.js"
166
- <%_ } else { %>
167
- "vite-serve": "vite",
168
- "vite-build": "vite build"
169
- <%_ } %>
118
+ "webapp:test": "<%= clientPackageManager %> run test --"
170
119
  },
171
120
  "browserslist": [
172
121
  "> 1%",
@@ -186,7 +186,7 @@ const app = createApp({
186
186
 
187
187
  provide('trackerService', useTrackerService({ authenticated }));
188
188
  <%_ } _%>
189
- <%_ if (applicationTypeMicroservice && microfrontend) { _%>
189
+ <%_ if (enableTranslation && applicationTypeMicroservice && microfrontend) { _%>
190
190
  provide('microfrontendI18n', false);
191
191
  <%_ } _%>
192
192
  },
@@ -17,18 +17,17 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  import { fileURLToPath, URL } from 'node:url';
20
- import { existsSync } from 'node:fs';
21
20
  import { normalizePath } from 'vite'
22
21
 
23
22
  import {
24
- <%_ if (microfrontend) { _%>
23
+ <%_ if (microfrontend && clientBundlerVite) { _%>
25
24
  mergeConfig,
26
25
  <%_ } _%>
27
26
  defineConfig,
28
27
  } from 'vite';
29
28
  import vue from '@vitejs/plugin-vue';
30
29
  import { viteStaticCopy } from 'vite-plugin-static-copy';
31
- <%_ if (microfrontend) { _%>
30
+ <%_ if (microfrontend && clientBundlerVite) { _%>
32
31
  import federation from "@originjs/vite-plugin-federation";
33
32
 
34
33
  <%_ if (applicationTypeGateway) { _%>
@@ -36,11 +35,6 @@ const sharedAppVersion = '0.0.0';
36
35
  <%_ } _%>
37
36
  <%_ } _%>
38
37
 
39
- const getFileFromRepo = (file: string) =>
40
- existsSync(fileURLToPath(new URL(`../node_modules/${file}`, import.meta.url)))
41
- ? fileURLToPath(new URL(`../node_modules/${file}`, import.meta.url))
42
- : fileURLToPath(new URL(`./node_modules/${file}`, import.meta.url));
43
-
44
38
  const { getAbsoluteFSPath } = await import('swagger-ui-dist');
45
39
  const swaggerUiPath = getAbsoluteFSPath();
46
40
 
@@ -54,7 +48,7 @@ let config = defineConfig({
54
48
  src: [
55
49
  `${normalizePath(swaggerUiPath)}/*.{js,css,html,png}`,
56
50
  `!${normalizePath(swaggerUiPath)}/**/index.html`,
57
- normalizePath(getFileFromRepo('axios/dist/axios.min.js')),
51
+ normalizePath(fileURLToPath(new URL('./dist/axios.min.js', import.meta.resolve('axios/package.json')))),
58
52
  normalizePath(fileURLToPath(new URL('./<%- this.relativeDir(clientRootDir, clientSrcDir) %>swagger-ui/index.html', import.meta.url))),
59
53
  ],
60
54
  dest: 'swagger-ui',
@@ -122,7 +116,7 @@ let config = defineConfig({
122
116
  },
123
117
  });
124
118
 
125
- <%_ if (microfrontend) { _%>
119
+ <%_ if (microfrontend && clientBundlerVite) { _%>
126
120
  config = mergeConfig(config, {
127
121
  build: {
128
122
  modulePreload: false,
@@ -132,19 +126,19 @@ config = mergeConfig(config, {
132
126
  plugins: [
133
127
  federation({
134
128
  name: '<%= lowercaseBaseName %>',
135
- <%_ if (applicationTypeGateway) { _%>
129
+ <%_ if (applicationTypeGateway) { _%>
136
130
  remotes: {
137
- <%_ for (const remote of microfrontends) { _%>
131
+ <%_ for (const remote of microfrontends) { _%>
138
132
  '@<%= remote.lowercaseBaseName %>': `/<%= remote.endpointPrefix %>/assets/remoteEntry.js`,
139
133
  <%_ } _%>
140
134
  },
141
- <%_ } _%>
142
- <%_ if (applicationTypeMicroservice) { _%>
135
+ <%_ } _%>
136
+ <%_ if (applicationTypeMicroservice) { _%>
143
137
  exposes: {
144
138
  './entities-router': './<%= this.relativeDir(clientRootDir, clientSrcDir) %>app/router/entities',
145
139
  './entities-menu': './<%= this.relativeDir(clientRootDir, clientSrcDir) %>app/entities/entities-menu.vue',
146
140
  },
147
- <%_ } _%>
141
+ <%_ } _%>
148
142
  shared: {
149
143
  '@vuelidate/core': {},
150
144
  '@vuelidate/validators': {},
@@ -158,21 +152,21 @@ config = mergeConfig(config, {
158
152
  pinia: {},
159
153
  '@/shared/security/authority': {
160
154
  packagePath: './<%= this.relativeDir(clientRootDir, clientSrcDir) %>app/shared/security/authority',
161
- <%_ if (applicationTypeGateway) { _%>
155
+ <%_ if (applicationTypeGateway) { _%>
162
156
  version: sharedAppVersion,
163
- <%_ } _%>
157
+ <%_ } _%>
164
158
  },
165
159
  '@/shared/alert/alert.service': {
166
160
  packagePath: './<%= this.relativeDir(clientRootDir, clientSrcDir) %>app/shared/alert/alert.service',
167
- <%_ if (applicationTypeGateway) { _%>
161
+ <%_ if (applicationTypeGateway) { _%>
168
162
  version: sharedAppVersion,
169
- <%_ } _%>
163
+ <%_ } _%>
170
164
  },
171
165
  '@/locale/translation.service': {
172
166
  packagePath: './<%= this.relativeDir(clientRootDir, clientSrcDir) %>app/locale/translation.service',
173
- <%_ if (applicationTypeGateway) { _%>
167
+ <%_ if (applicationTypeGateway) { _%>
174
168
  version: sharedAppVersion,
175
- <%_ } _%>
169
+ <%_ } _%>
176
170
  },
177
171
  },
178
172
  }),
@@ -18,20 +18,31 @@
18
18
  */
19
19
  import BaseWorkspacesGenerator from '../base-workspaces/index.js';
20
20
  export default class WorkspacesGenerator extends BaseWorkspacesGenerator {
21
- workspaces: any;
22
- generateApplications: any;
23
- generateWith: any;
24
- entrypointGenerator: any;
25
- generateWorkspaces: any;
21
+ workspaces: boolean;
22
+ generateApplications: () => Promise<undefined>;
23
+ generateWith: string;
24
+ entrypointGenerator: string;
25
+ dockerCompose: boolean;
26
+ generateWorkspaces: boolean;
26
27
  workspacesConfig: Record<string, any>;
27
28
  beforeQueue(): Promise<void>;
28
29
  get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "loadConfig">;
29
30
  get configuring(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "configure" | "configureUsingFiles">;
30
31
  get composing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "generateApplications" | "composeGit">;
31
- get loading(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "checkWorkspaces">;
32
- get loadingWorkspaces(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "loadConfig" | "configurePackageManager">;
33
- get writing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "writing">;
34
- get postWriting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithSource<any>, "generatePackageJson">;
32
+ get loading(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl & {
33
+ applications: import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>[];
34
+ }, "checkWorkspaces">;
35
+ get loadingWorkspaces(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl & {
36
+ applications: import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>[];
37
+ }, "loadConfig" | "configurePackageManager">;
38
+ get writing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl & {
39
+ applications: import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>[];
40
+ }, "writing">;
41
+ get postWriting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl & {
42
+ source: any;
43
+ } & {
44
+ applications: import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>[];
45
+ }, "generatePackageJson">;
35
46
  getOtherScripts(): {
36
47
  'docker-compose': string;
37
48
  'ci:e2e:prepare': string;
@@ -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,6 +25,7 @@ export default class WorkspacesGenerator extends BaseWorkspacesGenerator {
26
25
  generateApplications;
27
26
  generateWith;
28
27
  entrypointGenerator;
28
+ dockerCompose;
29
29
  generateWorkspaces;
30
30
  workspacesConfig;
31
31
  async beforeQueue() {
@@ -130,10 +130,10 @@ export default class WorkspacesGenerator extends BaseWorkspacesGenerator {
130
130
  }
131
131
  get writing() {
132
132
  return this.asWritingTaskGroup({
133
- async writing({ application }) {
133
+ async writing() {
134
134
  await this.writeFiles({
135
135
  blocks: [{ templates: ['.prettierignore.jhi.workspaces'] }],
136
- context: application,
136
+ context: {},
137
137
  });
138
138
  },
139
139
  });
@@ -1,5 +1,6 @@
1
1
  import type { SetFieldType, SetRequired } from 'type-fest';
2
2
  import type { Field } from '../types/application/field.js';
3
+ import type { Field as BaseField } from '../types/base/field.js';
3
4
  declare const blobFieldTypes: {
4
5
  readonly BLOB: "Blob";
5
6
  readonly ANY_BLOB: "AnyBlob";
@@ -38,4 +39,4 @@ export declare const isFieldBlobType: (field: Field) => field is SetFieldType<Fi
38
39
  export declare const isFieldBinaryType: (field: Field) => field is SetFieldType<Field, "fieldType", FieldBinaryType>;
39
40
  export declare const isFieldEnumType: (field: Field) => field is SetRequired<Field, "enumFileName" | "enumValues">;
40
41
  export declare const isFieldNotEnumType: (field: Field) => field is SetFieldType<Field, "fieldType", FieldType>;
41
- export declare const convertFieldBlobType: (field: Field) => Field;
42
+ export declare const convertFieldBlobType: <const F extends BaseField = BaseField>(field: F) => F;
@@ -1,5 +1,9 @@
1
1
  import type { JHipsterOptionDefinition } from '../jdl/core/types/parsing.js';
2
- import type { ConfigSpec, JHipsterArguments, JHipsterConfigs, JHipsterOption } from './types.js';
3
- export declare const extractArgumentsFromConfigs: (configs: JHipsterConfigs | undefined) => JHipsterArguments;
2
+ import type { ConfigSpec, JHipsterArguments, JHipsterConfigs, JHipsterOption, JHispterChoices } from './types.js';
3
+ type JHipsterArgumentsWithChoices = JHipsterArguments & {
4
+ choices?: JHispterChoices;
5
+ };
6
+ export declare const extractArgumentsFromConfigs: (configs: JHipsterConfigs | undefined) => JHipsterArgumentsWithChoices;
4
7
  export declare const extractJdlDefinitionFromCommandConfig: (configs?: JHipsterConfigs) => JHipsterOptionDefinition[];
5
8
  export declare const convertConfigToOption: (name: string, config?: ConfigSpec<any>) => JHipsterOption | undefined;
9
+ export {};
@@ -8,6 +8,7 @@ export const extractArgumentsFromConfigs = (configs) => {
8
8
  {
9
9
  description: def.description,
10
10
  scope: def.scope,
11
+ choices: def.choices,
11
12
  ...def.argument,
12
13
  },
13
14
  ]));
@@ -21,14 +22,16 @@ export const extractJdlDefinitionFromCommandConfig = (configs = {}) => Object.en
21
22
  }))
22
23
  .sort((a, b) => (b.name.startsWith(a.name) ? 1 : a.name.localeCompare(b.name)));
23
24
  export const convertConfigToOption = (name, config) => {
24
- if (!config?.cli?.type)
25
+ if (!config?.cli?.type && config?.internal !== true)
25
26
  return undefined;
26
27
  const choices = config.choices?.map(choice => (typeof choice === 'string' ? choice : choice.value));
27
28
  return {
28
29
  name,
30
+ default: config.default,
29
31
  description: config.description,
30
32
  choices,
31
33
  scope: config.scope ?? 'storage',
34
+ type: val => val,
32
35
  ...config.cli,
33
36
  };
34
37
  };
@@ -1,6 +1,7 @@
1
1
  import { upperFirst } from 'lodash-es';
2
2
  const prepareChoices = (key, choices) => choices
3
3
  .map(choice => (typeof choice === 'string' ? { value: choice } : choice))
4
+ .filter(choice => choice.value != null)
4
5
  .map(choice => ({ ...choice, choiceKey: `${key}${upperFirst(choice.value)}` }));
5
6
  const filteredScopeEntries = (commandsConfigs, scopes) => Object.entries(commandsConfigs).filter(([_key, def]) => scopes.includes(def.scope));
6
7
  function loadConfigIntoContext(options) {
@@ -1,25 +1,22 @@
1
1
  import { dirname, join } from 'path';
2
- import { fileURLToPath } from 'url';
2
+ import { fileURLToPath, pathToFileURL } from 'url';
3
3
  import { glob } from 'glob';
4
4
  const __filename = fileURLToPath(import.meta.url);
5
5
  const __dirname = dirname(__filename);
6
6
  const cwd = join(__dirname, '../..');
7
- let jdlConfigs;
7
+ let jhipsterConfigs;
8
8
  export const lookupCommandsConfigs = async (options) => {
9
- if (jdlConfigs) {
10
- return jdlConfigs;
9
+ if (jhipsterConfigs) {
10
+ return jhipsterConfigs;
11
11
  }
12
12
  const { filter = () => true } = options ?? {};
13
- jdlConfigs = {};
13
+ jhipsterConfigs = {};
14
14
  const files = [...(await glob('generators/*/index.{j,t}s', { cwd })), ...(await glob('generators/*/generators/*/index.{j,t}s', { cwd }))];
15
15
  for (const file of files) {
16
- const index = await import(`${cwd}/${file}`);
17
- const configs = index.command?.configs ?? {};
18
- for (const [key, value] of Object.entries(configs)) {
19
- if (filter(value)) {
20
- jdlConfigs[key] = value;
21
- }
16
+ const index = await import(pathToFileURL(`${cwd}/${file}`).toString());
17
+ if (index.command?.configs) {
18
+ Object.assign(jhipsterConfigs, index.command?.configs);
22
19
  }
23
20
  }
24
- return jdlConfigs;
21
+ return Object.fromEntries(Object.entries(jhipsterConfigs).filter(([_key, value]) => filter(value)));
25
22
  };