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
@@ -19,7 +19,7 @@
19
19
  module.exports = {
20
20
  <% for (const command of commands) { %>
21
21
  '<%= command %>': {
22
- description: 'Run <%= command %> sub-generator (<%= baseName %> blueprint)',
22
+ desc: 'Run <%= command %> sub-generator (<%= baseName %> blueprint)',
23
23
  blueprint: 'generator-jhipster-<%= baseName %>',
24
24
  },
25
25
  <% } %>
@@ -17,8 +17,9 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <&_ if (fragment.importsSection) { -&>
20
- import jhipster from 'generator-jhipster/eslint/recommended';
20
+ import jhipster from 'generator-jhipster/eslint';
21
21
  <&_ } -&>
22
22
  <&_ if (fragment.configSection) { -&>
23
- jhipster,
23
+ { ignores: ['coverage/**'] },
24
+ jhipster.recommended,
24
25
  <&_ } -&>
@@ -16,29 +16,25 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
+ import { asCommand } from 'generator-jhipster';
19
20
  <%_ if (!sbs && !customGenerator) { _%>
20
21
  import { command as jhipsterCommand } from 'generator-jhipster/generators/<%- subGenerator %>';
21
-
22
22
  <%_ } _%>
23
- /**
24
- * @type {import('generator-jhipster').JHipsterCommandDefinition}
25
- */
26
- const command = {
27
- options: {
23
+
24
+ export default asCommand({
28
25
  <%_ if (!sbs && !customGenerator) { _%>
26
+ options: {
29
27
  ...jhipsterCommand.options,
30
- <%_ } _%>
31
28
  },
29
+ <%_ } _%>
32
30
  configs: {
33
31
  <%_ if (!sbs && !customGenerator) { _%>
34
32
  ...jhipsterCommand.configs,
35
33
  <%_ } _%>
36
34
  },
37
- arguments: {
38
35
  <%_ if (!sbs && !customGenerator) { _%>
36
+ arguments: {
39
37
  ...jhipsterCommand.arguments,
40
- <%_ } _%>
41
38
  },
42
- };
43
-
44
- export default command;
39
+ <%_ } _%>
40
+ });
@@ -28,7 +28,7 @@
28
28
  import <%= generatorClass %>Generator from 'generator-jhipster/generators/<%= jhipsterGenerator %>';
29
29
  <%_ } _%>
30
30
  <%_ if (priorities.find(priority => priority.name === 'initializing')) { _%>
31
- import command from './command.<%- js ? '' : 'm' %>js';
31
+ import command from './command.<%- blueprintMjsExtension %>';
32
32
  <%_ } _%>
33
33
 
34
34
  <%_ if (application.dynamic) { _%>
@@ -48,21 +48,21 @@ export async function createGenerator(env) {
48
48
  <%_ } else { _%>
49
49
  export default class extends <%= generatorClass %>Generator {
50
50
  <%_ } _%>
51
- <%_ if (sbs) { _%>
52
- constructor(args, opts, features) {
53
- super(args, opts, { ...features, sbsBlueprint: true });
54
- }
55
-
56
- <%_ } else if (!customGenerator) { _%>
57
51
  constructor(args, opts, features) {
58
52
  super(args, opts, {
59
53
  ...features,
54
+ queueCommandTasks: true,
55
+ <%_ if (sbs) { _%>
56
+ sbsBlueprint: true,
57
+ <%_ } else if (!customGenerator) { _%>
60
58
  checkBlueprint: true,
61
59
  // Dropped it once migration is done.
62
60
  jhipster7Migration: true,
61
+ <%_ } _%>
63
62
  });
64
63
  }
65
64
 
65
+ <%_ if (!sbs && !customGenerator) { _%>
66
66
  async beforeQueue() {
67
67
  await super.beforeQueue();
68
68
  }
@@ -82,10 +82,7 @@ export default class extends <%= generatorClass %>Generator {
82
82
  { application }
83
83
  <%_ } _%>
84
84
  ) {
85
- <%_ if (priority.name === 'initializing') { _%>
86
- this.parseJHipsterArguments(command.arguments);
87
- this.parseJHipsterOptions(command.options);
88
- <%_ } else if (priority.name === 'writing') { _%>
85
+ <%_ if (priority.name === 'writing') { _%>
89
86
  await this.writeFiles({
90
87
  sections: {
91
88
  files: [
@@ -36,13 +36,13 @@ describe('SubGenerator <%= subGenerator %> of <%= application.baseName %> JHipst
36
36
  .withOptions({
37
37
  ignoreNeedlesError: true,
38
38
  <%_ if (!customGenerator) { _%>
39
- blueprint: '<%= application.baseName %>',
39
+ blueprint: ['<%= application.baseName %>'],
40
40
  <%_ } _%>
41
41
  <%_ if (subGenerator === 'jdl') { _%>
42
42
  inline: 'application { }',
43
43
  <%_ } _%>
44
44
  })
45
- .withJHipsterLookup()
45
+ .withJHipsterGenerators()
46
46
  .withParentBlueprintLookup();
47
47
  });
48
48
 
@@ -16,7 +16,5 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- export { <%- application.dynamic ? 'createGenerator' : 'default' %> } from './generator.<%- js ? '' : 'm' %>js';
20
- <%_ if (priorities.find(priority => priority.name === 'initializing')) { _%>
21
- export { default as command } from './command.<%- js ? '' : 'm' %>js';
22
- <%_ } _%>
19
+ export { <%- application.dynamic ? 'createGenerator' : 'default' %> } from './generator.<%- blueprintMjsExtension %>';
20
+ export { default as command } from './command.<%- blueprintMjsExtension %>';
@@ -5,6 +5,5 @@ export default defineConfig({
5
5
  pool: 'forks',
6
6
  hookTimeout: 20000,
7
7
  exclude: [...defaultExclude.filter(val => val !== '**/cypress/**'), '**/templates/**', '**/resources/**'],
8
- setupFiles: ['./vitest.test-setup.ts'],
9
8
  },
10
9
  });
@@ -1,11 +1,11 @@
1
1
  export const BLUEPRINT_API_VERSION: "jhipster-8";
2
- export const JHIPSTER_DEPENDENCIES_VERSION: "8.7.1";
2
+ export const JHIPSTER_DEPENDENCIES_VERSION: "8.7.2";
3
3
  export const JAVA_VERSION: "17";
4
4
  export const JAVA_COMPATIBLE_VERSIONS: string[];
5
5
  export const ADD_SPRING_MILESTONE_REPOSITORY: false;
6
6
  export const NODE_VERSION: string;
7
7
  export const OPENAPI_GENERATOR_CLI_VERSION: "2.13.1";
8
- export const ELASTICSEARCH_TAG: "8.10.4";
8
+ export const ELASTICSEARCH_TAG: "8.13.4";
9
9
  export const ELASTICSEARCH_IMAGE: "docker.elastic.co/elasticsearch/elasticsearch";
10
10
  /**
11
11
  * @type {Record<string, string>}
@@ -21,18 +21,18 @@ import { join } from 'path';
21
21
  import { fileURLToPath } from 'url';
22
22
  export const BLUEPRINT_API_VERSION = 'jhipster-8';
23
23
  // jhipster-bom version
24
- export const JHIPSTER_DEPENDENCIES_VERSION = '8.7.1';
24
+ export const JHIPSTER_DEPENDENCIES_VERSION = '8.7.2';
25
25
  // Version of Java
26
26
  export const JAVA_VERSION = '17';
27
27
  // Supported Java versions, https://www.oracle.com/java/technologies/java-se-support-roadmap.html
28
- export const JAVA_COMPATIBLE_VERSIONS = ['17', '21', '22'];
28
+ export const JAVA_COMPATIBLE_VERSIONS = ['17', '21', '23'];
29
29
  // Force spring milestone repository. Spring Boot milestones are detected.
30
30
  export const ADD_SPRING_MILESTONE_REPOSITORY = false;
31
31
  // Version of Node, NPM
32
32
  export const NODE_VERSION = readFileSync(join(fileURLToPath(import.meta.url), '../init/resources/.node-version'), 'utf-8').trim();
33
33
  export const OPENAPI_GENERATOR_CLI_VERSION = '2.13.1';
34
34
  // The version should be coherent with the one from spring-data-elasticsearch project
35
- export const ELASTICSEARCH_TAG = '8.10.4';
35
+ export const ELASTICSEARCH_TAG = '8.13.4';
36
36
  export const ELASTICSEARCH_IMAGE = 'docker.elastic.co/elasticsearch/elasticsearch';
37
37
  /**
38
38
  * @type {Record<string, string>}
@@ -14,6 +14,16 @@ declare const command: {
14
14
  };
15
15
  readonly scope: "generator";
16
16
  };
17
+ readonly commitMsg: {
18
+ readonly description: "Commit changes (implies forceGit)";
19
+ readonly cli: {
20
+ readonly type: StringConstructor;
21
+ readonly implies: {
22
+ readonly forceGit: true;
23
+ };
24
+ };
25
+ readonly scope: "generator";
26
+ };
17
27
  readonly monorepository: {
18
28
  readonly description: "Use monorepository";
19
29
  readonly cli: {
@@ -14,6 +14,16 @@ const command = {
14
14
  },
15
15
  scope: 'generator',
16
16
  },
17
+ commitMsg: {
18
+ description: 'Commit changes (implies forceGit)',
19
+ cli: {
20
+ type: String,
21
+ implies: {
22
+ forceGit: true,
23
+ },
24
+ },
25
+ scope: 'generator',
26
+ },
17
27
  monorepository: {
18
28
  description: 'Use monorepository',
19
29
  cli: {
@@ -22,10 +22,11 @@ import BaseGenerator from '../base/index.js';
22
22
  * @extends {BaseGenerator}
23
23
  */
24
24
  export default class GitGenerator extends BaseGenerator {
25
- gitInitialized: any;
26
- skipGit: any;
27
- forceGit: any;
28
- existingRepository: any;
25
+ gitInitialized: boolean;
26
+ skipGit: boolean;
27
+ forceGit: boolean;
28
+ existingRepository: boolean;
29
+ commitMsg: string;
29
30
  beforeQueue(): Promise<void>;
30
31
  get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "checkGit" | "initializeMonorepository">;
31
32
  get preparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithSource<any>, "preparing">;
@@ -28,6 +28,7 @@ export default class GitGenerator extends BaseGenerator {
28
28
  skipGit;
29
29
  forceGit;
30
30
  existingRepository;
31
+ commitMsg;
31
32
  async beforeQueue() {
32
33
  if (!this.fromBlueprint) {
33
34
  await this.composeWithBlueprints();
@@ -118,14 +119,15 @@ export default class GitGenerator extends BaseGenerator {
118
119
  }
119
120
  }
120
121
  try {
121
- let commitMsg = existingApplication
122
- ? `Regenerated ${this.jhipsterConfig.baseName} using generator-jhipster@${this.jhipsterConfig.jhipsterVersion}`
123
- : `Initial version of ${this.jhipsterConfig.baseName} generated by generator-jhipster@${this.jhipsterConfig.jhipsterVersion}`;
122
+ let commitMsg = this.commitMsg ??
123
+ (existingApplication
124
+ ? `Regenerated ${this.jhipsterConfig.baseName} using generator-jhipster@${this.jhipsterConfig.jhipsterVersion}`
125
+ : `Initial version of ${this.jhipsterConfig.baseName} generated by generator-jhipster@${this.jhipsterConfig.jhipsterVersion}`);
124
126
  if (this.jhipsterConfig.blueprints && this.jhipsterConfig.blueprints.length > 0) {
125
127
  const bpInfo = this.jhipsterConfig.blueprints.map(bp => `${bp.name}@${bp.version}`).join(', ');
126
128
  commitMsg += ` with blueprints ${bpInfo}`;
127
129
  }
128
- await git.add(['.']).commit(commitMsg, { '--allow-empty': null });
130
+ await git.add(['.']).commit(commitMsg, { '--allow-empty': null, '--no-verify': null });
129
131
  this.log.ok(`Application successfully committed to Git from ${repositoryRoot}.`);
130
132
  }
131
133
  catch (e) {
@@ -66,23 +66,29 @@ task webapp_test(type: NpmTask) {
66
66
  inputs.files("tsconfig.json", "tsconfig.app.json")
67
67
  .withPropertyName("tsconfig")
68
68
  .withPathSensitivity(PathSensitivity.RELATIVE)
69
- <%_ if (microfrontend) { _%>
70
69
 
71
- def webpackDevFiles = fileTree("<%= CLIENT_WEBPACK_DIR %>")
72
- webpackDevFiles.exclude("webpack.prod.js")
73
- inputs.files(webpackDevFiles)
74
- .withPropertyName("webpack-dir")
70
+ inputs.files(".postcssrc")
71
+ .withPropertyName("postcssrc")
75
72
  .withPathSensitivity(PathSensitivity.RELATIVE)
76
- <%_ } else { _%>
73
+ <%_ } _%>
74
+ <%_ if (clientBundlerVite && clientFrameworkBuiltIn) { _%>
77
75
 
78
- inputs.files("vite.config.ts")
76
+ inputs.files("vite.config.mts")
79
77
  .withPropertyName("vite")
80
78
  .withPathSensitivity(PathSensitivity.RELATIVE)
79
+ <%_ } _%>
80
+ <%_ if (clientFrameworkVue) { _%>
81
+ <%_ if (clientBundlerWebpack) { _%>
82
+ def webpackDevFiles = fileTree("<%= CLIENT_WEBPACK_DIR %>")
83
+ webpackDevFiles.exclude("webpack.prod.js")
84
+ inputs.files(webpackDevFiles)
85
+ .withPropertyName("webpack-dir")
81
86
  <%_ } _%>
82
-
83
- inputs.files(".postcssrc")
84
- .withPropertyName("postcssrc")
87
+ <%_ if (microfrontend) { _%>
88
+ inputs.files("module-federation.config.cjs")
89
+ .withPropertyName("module-federation")
85
90
  .withPathSensitivity(PathSensitivity.RELATIVE)
91
+ <%_ } _%>
86
92
  <%_ } _%>
87
93
 
88
94
  outputs.dir("build/test-results/jest/")
@@ -6,7 +6,9 @@ export declare const addGradleDependenciesCallback: (dependencies: GradleDepende
6
6
  /** @deprecated use addGradleDependenciesCallback */
7
7
  export declare const addGradleBuildSrcDependencyCallback: (dependency: GradleDependency) => import("../../base/api.js").EditFileCallback<import("../../index.js").GeneratorBaseCore>;
8
8
  export declare const addGradleDependenciesCatalogVersionCallback: (versions: GradleTomlVersion[]) => import("../../base/api.js").EditFileCallback<import("../../index.js").GeneratorBaseCore>;
9
- export declare const addGradleDependencyCatalogLibrariesCallback: (libraries: GradleLibraryDependency[]) => import("../../base/api.js").EditFileCallback<import("../../index.js").GeneratorBaseCore>;
9
+ export declare const addGradleDependencyCatalogLibrariesCallback: (libraries: (GradleLibraryDependency & {
10
+ closure?: string[];
11
+ })[]) => import("../../base/api.js").EditFileCallback<import("../../index.js").GeneratorBaseCore>;
10
12
  export declare const addGradleDependencyCatalogPluginsCallback: (plugins: GradleTomlPlugin[]) => import("../../base/api.js").EditFileCallback<import("../../index.js").GeneratorBaseCore>;
11
13
  export declare const addGradlePluginFromCatalogCallback: (plugins: GradleTomlPlugin[]) => import("../../base/api.js").EditFileCallback<import("../../index.js").GeneratorBaseCore>;
12
14
  /** @deprecated use addGradleDependenciesCatalogVersionCallback */
@@ -30,15 +30,20 @@ const scopeSortOrder = {
30
30
  testImplementation: 5,
31
31
  testRuntimeOnly: 6,
32
32
  };
33
- const wrapScope = (scope, dependency) => `${scope}${scope === 'implementation platform' ? '(' : ' '}${dependency}${scope === 'implementation platform' ? ')' : ''}`;
33
+ const wrapScope = (scope, dependency, closure) => {
34
+ if (closure?.length || scope === 'implementation platform') {
35
+ return `${scope}(${dependency})${closure?.length ? ` {\n${closure.join('\n')}\n}` : ''}`;
36
+ }
37
+ return `${scope} ${dependency}`;
38
+ };
34
39
  const serializeDependency = (dependency) => {
35
40
  if ('libraryName' in dependency) {
36
- return wrapScope(dependency.scope, `libs.${gradleNameToReference(dependency.libraryName)}`);
41
+ return wrapScope(dependency.scope, `libs.${gradleNameToReference(dependency.libraryName)}`, dependency.closure);
37
42
  }
38
- const { groupId, artifactId, version, classifier, scope } = dependency;
43
+ const { groupId, artifactId, version, classifier, scope, closure } = dependency;
39
44
  return wrapScope(scope, classifier && !version
40
45
  ? `group: "${groupId}", name: "${artifactId}", classifier: "${classifier}"`
41
- : `"${groupId}:${artifactId}${version ? `:${version}` : ''}${classifier ? `:${classifier}` : ''}"`);
46
+ : `"${groupId}:${artifactId}${version ? `:${version}` : ''}${classifier ? `:${classifier}` : ''}"`, closure);
42
47
  };
43
48
  export const gradleNeedleOptionsWithDefaults = (options) => {
44
49
  const { gradleFile = 'build.gradle', gradleVersionCatalogFile = 'gradle/libs.versions.toml' } = options;
@@ -92,7 +97,7 @@ export const addGradleDependenciesCatalogVersionCallback = (versions) => createN
92
97
  });
93
98
  export const addGradleDependencyCatalogLibrariesCallback = (libraries) => createNeedleCallback({
94
99
  needle: 'gradle-dependency-catalog-libraries',
95
- contentToAdd: libraries.map(({ libraryName, scope: _scope, ...others }) => 'library' in others ? `${libraryName} = "${others.library}"` : `${libraryName} = ${tomlItemToString(others)}`),
100
+ contentToAdd: libraries.map(({ libraryName, scope: _scope, closure: _closure, ...others }) => 'library' in others ? `${libraryName} = "${others.library}"` : `${libraryName} = ${tomlItemToString(others)}`),
96
101
  });
97
102
  export const addGradleDependencyCatalogPluginsCallback = (plugins) => createNeedleCallback({
98
103
  needle: 'gradle-dependency-catalog-plugins',
@@ -1,5 +1,5 @@
1
1
  distributionBase=GRADLE_USER_HOME
2
2
  distributionPath=wrapper/dists
3
- distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip
3
+ distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
4
4
  zipStoreBase=GRADLE_USER_HOME
5
5
  zipStorePath=wrapper/dists
@@ -6,9 +6,10 @@ export type GradleScript = { script: string };
6
6
 
7
7
  export type GradleLibraryDependency = { libraryName: string; scope?: string };
8
8
 
9
- export type GradleDependency =
9
+ export type GradleDependency = (
10
10
  | { groupId: string; artifactId: string; version?: string; scope: string; classifier?: string }
11
- | Required<GradleLibraryDependency>;
11
+ | Required<GradleLibraryDependency>
12
+ ) & { closure?: string[] };
12
13
 
13
14
  export type GradlePlugin = { id: string; version?: string };
14
15
 
@@ -1,21 +1,5 @@
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 type { JHipsterCommandDefinition } from '../../lib/command/index.js';
20
- declare const command: JHipsterCommandDefinition;
1
+ declare const command: {
2
+ readonly options: {};
3
+ readonly import: readonly ["jhipster:git", "project-name", "jhipster:javascript:prettier", "jhipster:javascript:husky"];
4
+ };
21
5
  export default command;
@@ -1,6 +1,6 @@
1
1
  import { GENERATOR_PROJECT_NAME } from '../generator-list.js';
2
2
  const command = {
3
3
  options: {},
4
- import: [GENERATOR_PROJECT_NAME, 'jhipster:javascript:prettier', 'jhipster:javascript:husky'],
4
+ import: ['jhipster:git', GENERATOR_PROJECT_NAME, 'jhipster:javascript:prettier', 'jhipster:javascript:husky'],
5
5
  };
6
6
  export default command;
@@ -1 +1 @@
1
- 20.17.0
1
+ 20.18.0
@@ -1,7 +1,5 @@
1
1
  declare const command: {
2
- options: {};
3
- import: string[];
2
+ readonly options: {};
3
+ readonly import: readonly ["jhipster:java:bootstrap", "jhipster:java:domain", "jhipster:java:build-tool"];
4
4
  };
5
- export type Coomand = typeof command;
6
- declare const _default: import("../index.js").JHipsterCommandDefinition;
7
- export default _default;
5
+ export default command;
@@ -1,24 +1,5 @@
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 { asCommand } from '../type-utils.js';
20
1
  const command = {
21
2
  options: {},
22
3
  import: ['jhipster:java:bootstrap', 'jhipster:java:domain', 'jhipster:java:build-tool'],
23
4
  };
24
- export default asCommand(command);
5
+ export default command;
@@ -41,6 +41,13 @@ declare const command: {
41
41
  readonly scope: "storage";
42
42
  readonly description: "The package name for the generated application";
43
43
  };
44
+ readonly packageFolder: {
45
+ readonly cli: {
46
+ readonly type: StringConstructor;
47
+ readonly hide: true;
48
+ };
49
+ readonly scope: "storage";
50
+ };
44
51
  };
45
52
  readonly import: readonly [];
46
53
  };
@@ -29,6 +29,13 @@ const command = {
29
29
  scope: 'storage',
30
30
  description: 'The package name for the generated application',
31
31
  },
32
+ packageFolder: {
33
+ cli: {
34
+ type: String,
35
+ hide: true,
36
+ },
37
+ scope: 'storage',
38
+ },
32
39
  },
33
40
  import: [],
34
41
  };
@@ -54,38 +54,62 @@ export default class BuildToolGenerator extends BaseApplicationGenerator {
54
54
  prepareJavaApplication({ application, source }) {
55
55
  source.addJavaDependencies = (dependencies, options) => {
56
56
  if (application.buildToolMaven) {
57
- const annotationProcessors = dependencies.filter(dep => dep.scope === 'annotationProcessor');
58
- const importDependencies = dependencies.filter(dep => dep.scope === 'import');
59
- const commonDependencies = dependencies.filter(dep => !['annotationProcessor', 'import'].includes(dep.scope));
60
- const convertVersionToRef = ({ version, versionRef, ...artifact }) => version || versionRef ? { ...artifact, version: `\${${versionRef ?? artifact.artifactId}.version}` } : artifact;
57
+ const convertVersionToMavenDependency = ({ versionRef, version, exclusions, ...artifact }) => {
58
+ // If a version is provided, convert to version ref using artifactId
59
+ versionRef ??= version ? artifact.artifactId : undefined;
60
+ version = versionRef ? `\${${versionRef}.version}` : undefined;
61
+ const additionalContent = exclusions?.length
62
+ ? `<exclusions>${exclusions.map(e => `
63
+ <exclusion>
64
+ <groupId>${e.groupId}</groupId>
65
+ <artifactId>${e.artifactId}</artifactId>
66
+ </exclusion>`)}
67
+ </exclusions>`
68
+ : '';
69
+ return additionalContent ? { ...artifact, version, additionalContent } : { ...artifact, version };
70
+ };
61
71
  const removeScope = ({ scope: _scope, ...artifact }) => artifact;
72
+ const properties = dependencies
73
+ .filter(dep => dep.version)
74
+ .map(({ artifactId, version }) => ({ property: `${artifactId}.version`, value: version }));
75
+ const annotationProcessors = dependencies
76
+ .filter(dep => dep.scope === 'annotationProcessor')
77
+ .map(removeScope)
78
+ .map(convertVersionToMavenDependency);
79
+ const dependencyManagement = dependencies.filter(dep => dep.scope === 'import').map(convertVersionToMavenDependency);
80
+ const commonDependencies = dependencies
81
+ .filter(dep => !['annotationProcessor', 'import'].includes(dep.scope))
82
+ .map(convertVersionToMavenDependency);
62
83
  source.addMavenDefinition?.({
63
- properties: dependencies
64
- .filter(dep => dep.version)
65
- .map(({ artifactId, version }) => ({ property: `${artifactId}.version`, value: version })),
84
+ properties,
66
85
  dependencies: [
67
- ...commonDependencies.map(convertVersionToRef),
86
+ ...commonDependencies,
68
87
  // Add a provided scope for annotation processors so that version is not required in annotationProcessor dependencies
69
88
  ...annotationProcessors.filter(dep => !dep.version).map(artifact => ({ ...artifact, scope: 'provided' })),
70
89
  ],
71
- dependencyManagement: importDependencies.map(convertVersionToRef),
72
- annotationProcessors: annotationProcessors.map(convertVersionToRef).map(removeScope),
90
+ dependencyManagement,
91
+ annotationProcessors,
73
92
  });
74
93
  }
75
94
  if (application.buildToolGradle) {
76
- source.addGradleDependencies?.(dependencies
95
+ const gradleDependencies = dependencies.map(({ exclusions, ...dep }) => ({
96
+ ...dep,
97
+ closure: exclusions?.map(({ groupId, artifactId }) => ` exclude group: '${groupId}', module: '${artifactId}'`),
98
+ }));
99
+ source.addGradleDependencies?.(gradleDependencies
77
100
  .filter(dep => !dep.version && !dep.versionRef)
78
101
  .map(({ scope, type, ...artifact }) => ({
79
102
  ...artifact,
80
103
  scope: javaScopeToGradleScope({ scope, type }),
81
104
  })), options);
82
- source.addGradleDependencyCatalogLibraries?.(dependencies
105
+ source.addGradleDependencyCatalogLibraries?.(gradleDependencies
83
106
  .filter(dep => dep.version || dep.versionRef)
84
- .map(({ scope, type, groupId, artifactId, version, versionRef }) => {
107
+ .map(({ scope, type, groupId, artifactId, version, versionRef, closure }) => {
85
108
  const library = {
86
109
  libraryName: artifactId,
87
110
  module: `${groupId}:${artifactId}`,
88
111
  scope: javaScopeToGradleScope({ scope, type }),
112
+ closure,
89
113
  };
90
114
  return version ? { ...library, version } : { ...library, 'version.ref': versionRef };
91
115
  }), options);
@@ -0,0 +1,5 @@
1
+ declare const command: {
2
+ readonly configs: {};
3
+ readonly import: readonly [];
4
+ };
5
+ export default command;
@@ -0,0 +1,5 @@
1
+ const command = {
2
+ configs: {},
3
+ import: [],
4
+ };
5
+ export default command;
@@ -0,0 +1,9 @@
1
+ import BaseApplicationGenerator from '../../../base-application/index.js';
2
+ export default class GraalvmGenerator extends BaseApplicationGenerator {
3
+ beforeQueue(): Promise<void>;
4
+ get initializing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/base/tasks.js").TaskParamWithControl, "forceConfig">;
5
+ 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>>>, "load" | "addNativeHint" | "packageJson">;
6
+ get default(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").TaskParamWithEntities<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>>>, "disabledInAotModeAnnotation">;
7
+ 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>>>, "writingTemplateTask">;
8
+ 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>>>, "customizeGradle" | "customizeMaven" | "springBootHintsConfiguration" | "springBootRestErrors" | "springBootTechnicalStructureTest" | "nativeHints">;
9
+ }