generator-jhipster 8.7.1 → 8.7.3

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 (300) hide show
  1. package/README.md +3 -3
  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.model.ts.ejs +1 -3
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.service.ts.ejs +2 -2
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +1 -1
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.ts.ejs +3 -3
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.service.ts.ejs +2 -2
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts.ejs +1 -1
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +2 -2
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.model.ts.ejs +1 -6
  40. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +2 -2
  41. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +1 -1
  42. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.ts.ejs +2 -2
  43. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +5 -5
  44. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/service/user-management.service.ts.ejs +3 -3
  45. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +2 -2
  46. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +4 -4
  47. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.ts.ejs +7 -7
  48. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-jwt.service.ts.ejs +3 -3
  49. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-session.service.ts.ejs +2 -2
  50. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/csrf.service.ts.ejs +1 -1
  51. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/state-storage.service.ts.ejs +3 -3
  52. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/notification.interceptor.ts.ejs +1 -1
  53. package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +5 -5
  54. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.ts.ejs +2 -2
  55. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +4 -4
  56. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.ts.ejs +2 -2
  57. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.ts.ejs +3 -3
  58. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +7 -7
  59. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +7 -7
  60. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  61. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/profile.service.ts.ejs +3 -3
  62. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -3
  63. package/dist/generators/angular/templates/src/main/webapp/app/login/login.service.ts.ejs +4 -4
  64. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.ts.ejs +3 -3
  65. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.ts.ejs +1 -1
  66. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +2 -2
  67. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translate.directive.ts.ejs +2 -2
  68. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translation.module.ts.ejs +3 -3
  69. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +1 -1
  70. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.service.ts.ejs +1 -1
  71. package/dist/generators/base/api.d.ts +10 -4
  72. package/dist/generators/base/generator.d.ts +4 -0
  73. package/dist/generators/base/generator.js +10 -1
  74. package/dist/generators/base/shared-data.js +2 -0
  75. package/dist/generators/base/support/faker.d.ts +1 -1
  76. package/dist/generators/base/support/faker.js +1 -1
  77. package/dist/generators/base/support/timestamp.js +10 -2
  78. package/dist/generators/base-application/support/prepare-entity.js +6 -1
  79. package/dist/generators/base-application/support/prepare-field.js +40 -16
  80. package/dist/generators/base-application/support/prepare-relationship.d.ts +1 -1
  81. package/dist/generators/base-application/support/task-type-inference.d.ts +18 -18
  82. package/dist/generators/base-application/types.d.ts +4 -0
  83. package/dist/generators/base-core/generator.d.ts +7 -4
  84. package/dist/generators/base-core/generator.js +31 -35
  85. package/dist/generators/base-workspaces/generator.d.ts +34 -1
  86. package/dist/generators/base-workspaces/generator.js +1 -1
  87. package/dist/generators/base-workspaces/internal/docker-base.js +1 -3
  88. package/dist/generators/bootstrap/support/eslint-transform.js +2 -2
  89. package/dist/generators/bootstrap/support/java-unused-imports-transform.js +2 -2
  90. package/dist/generators/bootstrap/support/prettier-support.js +2 -2
  91. package/dist/generators/bootstrap-application-base/generator.d.ts +2 -2
  92. package/dist/generators/bootstrap-application-base/generator.js +19 -5
  93. package/dist/generators/bootstrap-application-base/utils.d.ts +3 -3
  94. package/dist/generators/bootstrap-application-base/utils.js +9 -3
  95. package/dist/generators/bootstrap-workspaces/command.d.ts +12 -2
  96. package/dist/generators/bootstrap-workspaces/command.js +5 -3
  97. package/dist/generators/bootstrap-workspaces/generator.d.ts +8 -2
  98. package/dist/generators/bootstrap-workspaces/generator.js +0 -2
  99. package/dist/generators/bootstrap-workspaces/index.d.ts +1 -0
  100. package/dist/generators/bootstrap-workspaces/index.js +1 -0
  101. package/dist/generators/client/command.d.ts +22 -0
  102. package/dist/generators/client/command.js +22 -0
  103. package/dist/generators/client/files-common.js +1 -1
  104. package/dist/generators/client/generator.js +4 -5
  105. package/dist/generators/client/prompts.js +10 -9
  106. package/dist/generators/client/resources/package.json +3 -3
  107. package/dist/generators/client/templates/webpack/webpack.microfrontend.js.jhi.ejs +16 -5
  108. package/dist/generators/common/generator.js +2 -2
  109. package/dist/generators/common/resources/package.json +1 -1
  110. package/dist/generators/common/templates/sonar-project.properties.ejs +13 -7
  111. package/dist/generators/cypress/files.js +6 -0
  112. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +2 -2
  113. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/logout.cy.ts.ejs +39 -0
  114. package/dist/generators/docker/generator.d.ts +1 -1
  115. package/dist/generators/docker/templates/docker/keycloak.yml.ejs +2 -1
  116. package/dist/generators/docker-compose/command.js +9 -1
  117. package/dist/generators/docker-compose/generator.d.ts +11 -53
  118. package/dist/generators/docker-compose/generator.js +24 -23
  119. package/dist/generators/generate-blueprint/command.d.ts +97 -20
  120. package/dist/generators/generate-blueprint/command.js +28 -0
  121. package/dist/generators/generate-blueprint/constants.d.ts +2 -2
  122. package/dist/generators/generate-blueprint/files.d.ts +1 -42
  123. package/dist/generators/generate-blueprint/files.js +27 -29
  124. package/dist/generators/generate-blueprint/generator.d.ts +5 -2
  125. package/dist/generators/generate-blueprint/generator.js +78 -22
  126. package/dist/generators/generate-blueprint/resources/package.json +3 -3
  127. package/dist/generators/generate-blueprint/templates/.github/workflows/samples.yml.ejs +6 -8
  128. package/dist/generators/generate-blueprint/templates/README.md.ejs +12 -2
  129. package/dist/generators/generate-blueprint/templates/cli/cli-customizations.cjs.ejs +2 -0
  130. package/dist/generators/generate-blueprint/templates/cli/cli.cjs.ejs +2 -1
  131. package/dist/generators/generate-blueprint/templates/cli/commands.cjs.ejs +1 -1
  132. package/dist/generators/generate-blueprint/templates/eslint.config.js.jhi.blueprint.ejs +3 -2
  133. package/dist/generators/generate-blueprint/templates/generators/generator/command.mjs.ejs +8 -12
  134. package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +8 -11
  135. package/dist/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +2 -2
  136. package/dist/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +2 -4
  137. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +0 -1
  138. package/dist/generators/generator-constants.d.ts +2 -2
  139. package/dist/generators/generator-constants.js +3 -3
  140. package/dist/generators/git/command.d.ts +10 -0
  141. package/dist/generators/git/command.js +10 -0
  142. package/dist/generators/git/generator.d.ts +5 -4
  143. package/dist/generators/git/generator.js +6 -4
  144. package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +16 -10
  145. package/dist/generators/gradle/internal/needles.d.ts +3 -1
  146. package/dist/generators/gradle/internal/needles.js +10 -5
  147. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  148. package/dist/generators/gradle/types.d.ts +3 -2
  149. package/dist/generators/init/command.d.ts +4 -20
  150. package/dist/generators/init/command.js +1 -1
  151. package/dist/generators/init/resources/.node-version +1 -1
  152. package/dist/generators/java/command.d.ts +3 -5
  153. package/dist/generators/java/command.js +1 -20
  154. package/dist/generators/java/generators/bootstrap/command.d.ts +7 -0
  155. package/dist/generators/java/generators/bootstrap/command.js +7 -0
  156. package/dist/generators/java/generators/build-tool/generator.js +37 -13
  157. package/dist/generators/java/generators/graalvm/command.d.ts +5 -0
  158. package/dist/generators/java/generators/graalvm/command.js +5 -0
  159. package/dist/generators/java/generators/graalvm/generator.d.ts +9 -0
  160. package/dist/generators/java/generators/graalvm/generator.js +222 -0
  161. package/dist/generators/java/generators/graalvm/index.d.ts +20 -0
  162. package/dist/generators/java/generators/graalvm/index.js +20 -0
  163. package/dist/generators/java/generators/graalvm/internal/maven-definition.d.ts +8 -0
  164. package/dist/generators/java/generators/graalvm/internal/maven-definition.js +130 -0
  165. package/dist/generators/java/generators/graalvm/resources/build.gradle +1 -0
  166. package/dist/generators/java/generators/graalvm/resources/gradle/libs.versions.toml +5 -0
  167. package/dist/generators/java/generators/graalvm/templates/README.md.jhi.native.ejs +53 -0
  168. package/dist/generators/java/generators/graalvm/templates/gradle/native.gradle.ejs +44 -0
  169. package/dist/generators/java/generators/graalvm/templates/src/main/java/_package_/config/NativeConfiguration.java.ejs +14 -0
  170. package/dist/generators/java/generators/node/generator.d.ts +6 -18
  171. package/dist/generators/java/generators/node/generator.js +31 -0
  172. package/dist/generators/java/generators/openapi-generator/generator.js +2 -2
  173. package/dist/generators/java/support/util.d.ts +1 -1
  174. package/dist/generators/java/types.d.ts +4 -1
  175. package/dist/generators/javascript/generators/bootstrap/command.d.ts +21 -20
  176. package/dist/generators/javascript/generators/bootstrap/generator.d.ts +1 -2
  177. package/dist/generators/javascript/generators/bootstrap/generator.js +9 -5
  178. package/dist/generators/javascript/types.d.ts +9 -2
  179. package/dist/generators/kubernetes/command.d.ts +12 -0
  180. package/dist/generators/kubernetes/command.js +12 -0
  181. package/dist/generators/kubernetes/index.d.ts +1 -0
  182. package/dist/generators/kubernetes/index.js +1 -0
  183. package/dist/generators/kubernetes-helm/index.d.ts +1 -0
  184. package/dist/generators/kubernetes-helm/index.js +1 -0
  185. package/dist/generators/kubernetes-knative/generator.d.ts +1 -1
  186. package/dist/generators/kubernetes-knative/index.d.ts +1 -0
  187. package/dist/generators/kubernetes-knative/index.js +1 -0
  188. package/dist/generators/languages/entity-files.d.ts +3 -2
  189. package/dist/generators/languages/entity-files.js +0 -1
  190. package/dist/generators/languages/generator.d.ts +1 -0
  191. package/dist/generators/languages/generator.js +1 -0
  192. package/dist/generators/liquibase/files.js +8 -0
  193. package/dist/generators/liquibase/generator.d.ts +1 -1
  194. package/dist/generators/liquibase/generator.js +15 -0
  195. package/dist/generators/liquibase/templates/src/main/resources/META-INF/native-image/liquibase/reflect-config.json +145 -0
  196. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/add_relationship_constraints.ejs +81 -0
  197. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs +2 -62
  198. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +3 -60
  199. package/dist/generators/maven/generators/frontend-plugin/generator.js +10 -5
  200. package/dist/generators/maven/types.d.ts +3 -6
  201. package/dist/generators/project-name/command.d.ts +25 -20
  202. package/dist/generators/project-name/command.js +20 -4
  203. package/dist/generators/project-name/generator.d.ts +3 -12
  204. package/dist/generators/project-name/generator.js +6 -38
  205. package/dist/generators/react/generator.d.ts +1 -1
  206. package/dist/generators/react/generator.js +15 -2
  207. package/dist/generators/react/resources/package.json +26 -25
  208. package/dist/generators/react/templates/package.json.ejs +0 -3
  209. package/dist/generators/server/generator.d.ts +1 -7
  210. package/dist/generators/server/generator.js +22 -50
  211. package/dist/generators/server/resources/Dockerfile +12 -12
  212. package/dist/generators/server/resources/gradle/libs.versions.toml +10 -7
  213. package/dist/generators/server/resources/pom.xml +11 -11
  214. package/dist/generators/server/types.d.ts +8 -0
  215. package/dist/generators/spring-boot/cleanup.js +2 -2
  216. package/dist/generators/spring-boot/command.d.ts +19 -0
  217. package/dist/generators/spring-boot/command.js +19 -0
  218. package/dist/generators/spring-boot/generator.d.ts +2 -2
  219. package/dist/generators/spring-boot/generator.js +5 -9
  220. package/dist/generators/spring-boot/prompts.js +12 -12
  221. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +107 -106
  222. package/dist/generators/spring-boot/templates/README.md.jhi.spring-boot.ejs +22 -16
  223. package/dist/generators/spring-boot/templates/gradle/profile_dev.gradle.ejs +2 -46
  224. package/dist/generators/spring-boot/templates/gradle/profile_prod.gradle.ejs +1 -47
  225. package/dist/generators/spring-boot/templates/src/main/java/_package_/Application.java.ejs +4 -1
  226. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +29 -6
  227. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +32 -6
  228. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +13 -8
  229. package/dist/generators/spring-boot/templates/src/main/java/_package_/domain/User.java.ejs +2 -3
  230. package/dist/generators/spring-boot/templates/src/main/resources/config/application-dev.yml.ejs +8 -3
  231. package/dist/generators/spring-boot/templates/src/main/resources/config/application.yml.ejs +4 -2
  232. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +8 -7
  233. package/dist/generators/spring-cache/generator.d.ts +2 -1
  234. package/dist/generators/spring-cache/generator.js +22 -0
  235. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  236. package/dist/generators/spring-cloud/generators/gateway/generator.js +2 -2
  237. package/dist/generators/spring-data-couchbase/generator.js +2 -2
  238. package/dist/generators/spring-data-mongodb/generator.d.ts +1 -1
  239. package/dist/generators/spring-data-relational/files.d.ts +1 -0
  240. package/dist/generators/spring-data-relational/files.js +6 -0
  241. package/dist/generators/spring-data-relational/generator.d.ts +2 -1
  242. package/dist/generators/spring-data-relational/generator.js +63 -2
  243. package/dist/generators/spring-data-relational/internal/dependencies.d.ts +87 -7
  244. package/dist/generators/spring-data-relational/internal/dependencies.js +30 -18
  245. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_persistable.ejs +6 -0
  246. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_reactive.ejs +1 -2
  247. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +8 -3
  248. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/JacksonNativeConfiguration.java.ejs +98 -0
  249. package/dist/generators/vue/files-vue.js +4 -1
  250. package/dist/generators/vue/generator.d.ts +1 -1
  251. package/dist/generators/vue/generator.js +84 -3
  252. package/dist/generators/vue/resources/package.json +21 -20
  253. package/dist/generators/vue/support/update-languages.js +1 -1
  254. package/dist/generators/vue/templates/module-federation.config.cjs.ejs +55 -0
  255. package/dist/generators/vue/templates/package.json.ejs +11 -62
  256. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +1 -1
  257. package/dist/generators/vue/templates/vite.config.mts.ejs +15 -21
  258. package/dist/generators/workspaces/generator.d.ts +20 -9
  259. package/dist/generators/workspaces/generator.js +3 -3
  260. package/dist/lib/application/field-types.d.ts +2 -1
  261. package/dist/lib/command/converter.d.ts +6 -2
  262. package/dist/lib/command/converter.js +4 -1
  263. package/dist/lib/command/load.js +1 -0
  264. package/dist/lib/command/lookup-commands-configs.js +9 -12
  265. package/dist/lib/command/support/merge-union.d.ts +17 -6
  266. package/dist/lib/command/types.d.ts +38 -11
  267. package/dist/lib/eslint/index.d.ts +6 -14
  268. package/dist/lib/eslint/index.js +1 -2
  269. package/dist/lib/index.d.ts +1 -0
  270. package/dist/lib/index.js +7 -3
  271. package/dist/lib/jdl/core/linters/rules.d.ts +1 -3
  272. package/dist/lib/jdl/core/parsing/validator.js +2 -2
  273. package/dist/lib/jhipster/default-application-options.d.ts +83 -15
  274. package/dist/lib/jhipster/default-application-options.js +28 -28
  275. package/dist/lib/testing/get-generator.d.ts +1 -0
  276. package/dist/lib/testing/get-generator.js +6 -2
  277. package/dist/lib/testing/github-group.d.ts +6 -0
  278. package/dist/lib/testing/github-group.js +56 -0
  279. package/dist/lib/testing/github-matrix.d.ts +38 -0
  280. package/dist/lib/testing/github-matrix.js +72 -0
  281. package/dist/lib/testing/github.d.ts +1 -0
  282. package/dist/lib/testing/github.js +6 -2
  283. package/dist/lib/testing/helpers.d.ts +41 -3
  284. package/dist/lib/testing/helpers.js +74 -12
  285. package/dist/lib/testing/index.d.ts +2 -0
  286. package/dist/lib/testing/index.js +2 -0
  287. package/dist/lib/testing/support/matcher.d.ts +2 -2
  288. package/dist/lib/testing/support/matcher.js +3 -3
  289. package/dist/lib/types/application/application.d.ts +6 -1
  290. package/dist/lib/types/application/entity.d.ts +3 -1
  291. package/dist/lib/types/application/field.d.ts +16 -4
  292. package/dist/lib/types/application/options.d.ts +4 -0
  293. package/dist/lib/types/application/relationship.d.ts +1 -0
  294. package/dist/lib/types/application/yo-rc.d.ts +4 -0
  295. package/dist/lib/types/base/entity.d.ts +1 -0
  296. package/dist/lib/utils/logger.d.ts +1 -1
  297. package/dist/lib/utils/yo-rc.d.ts +27 -3
  298. package/package.json +33 -31
  299. package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +0 -6
  300. package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +0 -45
@@ -17,6 +17,7 @@
17
17
  * See the License for the specific language governing permissions and
18
18
  * limitations under the License.
19
19
  */
20
+ import { rm } from 'node:fs/promises';
20
21
  import chalk from 'chalk';
21
22
  import { camelCase, snakeCase, upperFirst } from 'lodash-es';
22
23
  import BaseGenerator from '../base-application/index.js';
@@ -30,6 +31,9 @@ const { GENERATOR_PROJECT_NAME, GENERATOR_INIT } = GENERATOR_LIST;
30
31
  const defaultPublishedFiles = ['generators', '!**/__*', '!**/*.snap', '!**/*.spec.?(c|m)js'];
31
32
  export default class extends BaseGenerator {
32
33
  application;
34
+ recreatePackageLock;
35
+ skipWorkflows;
36
+ ignoreExistingGenerators;
33
37
  async _beforeQueue() {
34
38
  if (!this.fromBlueprint) {
35
39
  await this.composeWithBlueprints();
@@ -110,6 +114,9 @@ export default class extends BaseGenerator {
110
114
  }
111
115
  get composing() {
112
116
  return this.asComposingTaskGroup({
117
+ storeCurrentVersion() {
118
+ this.storeCurrentJHipsterVersion();
119
+ },
113
120
  async compose() {
114
121
  if (this.jhipsterConfig[LOCAL_BLUEPRINT_OPTION])
115
122
  return;
@@ -152,9 +159,10 @@ export default class extends BaseGenerator {
152
159
  preparePath() {
153
160
  this.application.blueprintsPath = this.application[LOCAL_BLUEPRINT_OPTION] ? '.blueprint/' : 'generators/';
154
161
  },
155
- prepare() {
162
+ prepare({ application }) {
156
163
  const { cli, cliName, baseName } = this.application;
157
164
  this.application.githubRepository = this.jhipsterConfig.githubRepository ?? `jhipster/generator-jhipster-${baseName}`;
165
+ application.blueprintMjsExtension = this.application.js ? 'js' : 'mjs';
158
166
  if (cli) {
159
167
  this.application.cliName = cliName ?? `jhipster-${baseName}`;
160
168
  }
@@ -167,19 +175,29 @@ export default class extends BaseGenerator {
167
175
  get writing() {
168
176
  return this.asWritingTaskGroup({
169
177
  async cleanup({ control }) {
170
- await control.cleanupFiles({ '8.5.1': ['.eslintrc.json'] });
178
+ await control.cleanupFiles({
179
+ '8.5.1': ['.eslintrc.json'],
180
+ '8.7.2': ['.eslintignore', 'vitest.test-setup.ts'],
181
+ });
171
182
  },
172
- async writing() {
183
+ async writing({ application }) {
173
184
  this.application.sampleWritten = this.jhipsterConfig.sampleWritten;
185
+ const { skipWorkflows, ignoreExistingGenerators } = this;
174
186
  await this.writeFiles({
175
187
  sections: files,
176
- context: this.application,
188
+ context: {
189
+ ...application,
190
+ skipWorkflows,
191
+ ignoreExistingGenerators,
192
+ ...this.application,
193
+ },
177
194
  });
178
195
  this.jhipsterConfig.sampleWritten = true;
179
196
  },
180
- async writingGenerators() {
197
+ async writingGenerators({ application }) {
181
198
  if (!this.application[GENERATORS])
182
199
  return;
200
+ const { skipWorkflows, ignoreExistingGenerators } = this;
183
201
  for (const generator of Object.keys(this.application[GENERATORS])) {
184
202
  const subGeneratorStorage = this.getSubGeneratorStorage(generator);
185
203
  const subGeneratorConfig = subGeneratorStorage.getAll();
@@ -191,7 +209,9 @@ export default class extends BaseGenerator {
191
209
  const customGenerator = !Object.values(GENERATOR_LIST).includes(generator);
192
210
  const jhipsterGenerator = customGenerator || subGeneratorConfig.sbs ? 'base-application' : generator;
193
211
  const subTemplateData = {
194
- js: this.application.js,
212
+ ...application,
213
+ skipWorkflows,
214
+ ignoreExistingGenerators,
195
215
  application: this.application,
196
216
  ...defaultSubGeneratorConfig(),
197
217
  ...subGeneratorConfig,
@@ -216,6 +236,26 @@ export default class extends BaseGenerator {
216
236
  }
217
237
  get postWriting() {
218
238
  return this.asPostWritingTaskGroup({
239
+ upgrade({ application }) {
240
+ if (!this.application[GENERATORS])
241
+ return;
242
+ if (!this.isJhipsterVersionLessThan('8.7.2'))
243
+ return;
244
+ for (const generator of Object.keys(this.application[GENERATORS])) {
245
+ const commandFile = `${this.application.blueprintsPath}${generator}/command.${application.blueprintMjsExtension}`;
246
+ this.editFile(commandFile, content => content
247
+ .replace(`/**
248
+ * @type {import('generator-jhipster').JHipsterCommandDefinition}
249
+ */`, `import { asCommand } from 'generator-jhipster';
250
+ `)
251
+ .replace('const command = ', 'export default asCommand(')
252
+ .replace(`
253
+ };`, '});')
254
+ .replace('export default command;', ''));
255
+ const generatorSpec = `${this.application.blueprintsPath}${generator}/generator.spec.${application.blueprintMjsExtension}`;
256
+ this.editFile(generatorSpec, content => content.replaceAll(/blueprint: '([\w-]*)'/g, "blueprint: ['$1']"));
257
+ }
258
+ },
219
259
  packageJson() {
220
260
  if (this.jhipsterConfig[LOCAL_BLUEPRINT_OPTION])
221
261
  return;
@@ -270,27 +310,23 @@ export default class extends BaseGenerator {
270
310
  if (this.jhipsterConfig[LOCAL_BLUEPRINT_OPTION])
271
311
  return;
272
312
  const { packagejs } = this.application;
313
+ const exactDependency = {
314
+ 'generator-jhipster': `${packagejs.version}`,
315
+ };
316
+ const caretDependency = {
317
+ 'generator-jhipster': `^${packagejs.version}`,
318
+ };
273
319
  if (this.jhipsterConfig.dynamic) {
274
320
  this.packageJson.merge({
275
- devDependencies: {
276
- 'generator-jhipster': `${packagejs.version}`,
277
- },
278
- peerDependencies: {
279
- 'generator-jhipster': `^${packagejs.version}`,
280
- },
281
- engines: {
282
- 'generator-jhipster': `^${packagejs.version}`,
283
- },
321
+ devDependencies: exactDependency,
322
+ peerDependencies: caretDependency,
323
+ engines: caretDependency,
284
324
  });
285
325
  }
286
326
  else {
287
327
  this.packageJson.merge({
288
- dependencies: {
289
- 'generator-jhipster': `${packagejs.version}`,
290
- },
291
- engines: {
292
- 'generator-jhipster': `${packagejs.version}`,
293
- },
328
+ dependencies: exactDependency,
329
+ engines: this.jhipsterConfig.caret ? caretDependency : exactDependency,
294
330
  });
295
331
  }
296
332
  },
@@ -301,11 +337,16 @@ export default class extends BaseGenerator {
301
337
  }
302
338
  get postInstall() {
303
339
  return this.asPostInstallTaskGroup({
304
- async addSnapshot() {
340
+ async addSnapshot({ control }) {
305
341
  const { [LOCAL_BLUEPRINT_OPTION]: localBlueprint } = this.jhipsterConfig;
306
342
  const { skipInstall, skipGit, existed, [GENERATE_SNAPSHOTS]: generateSnapshots = !localBlueprint && !skipInstall && !skipGit && !existed, } = this.options;
307
343
  if (!generateSnapshots)
308
344
  return;
345
+ if (this.recreatePackageLock) {
346
+ await rm(this.destinationPath('package-lock.json'), { force: true });
347
+ await rm(this.destinationPath('node_modules'), { force: true, recursive: true });
348
+ await this.spawnCommand('npm', ['install'], { stdio: 'inherit' });
349
+ }
309
350
  try {
310
351
  if (this.options[LINK_JHIPSTER_DEPENDENCY]) {
311
352
  this.log.verboseInfo('Linking generator-jhipster');
@@ -323,6 +364,21 @@ This is a new blueprint, executing '${chalk.yellow('npm run update-snapshot')}'
323
364
  }
324
365
  this.log.warn('Fail to generate snapshots');
325
366
  }
367
+ if (control.jhipsterOldVersion) {
368
+ // Apply prettier and eslint to fix non generated files on upgrade.
369
+ try {
370
+ await this.spawnCommand('npm', ['run', 'prettier-format']);
371
+ }
372
+ catch {
373
+ // Ignore error
374
+ }
375
+ try {
376
+ await this.spawnCommand('npm', ['run', 'lint-fix']);
377
+ }
378
+ catch {
379
+ // Ignore error
380
+ }
381
+ }
326
382
  },
327
383
  });
328
384
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
- "eslint": "9.10.0",
4
- "globals": "15.9.0",
5
- "vitest": "2.1.1"
3
+ "eslint": "9.13.0",
4
+ "globals": "15.11.0",
5
+ "vitest": "2.1.4"
6
6
  }
7
7
  }
@@ -26,7 +26,7 @@ jobs:
26
26
  npm install
27
27
  ./cli/cli.cjs github-build-matrix
28
28
  samples:
29
- name: ${{ matrix.sample-name }}
29
+ name: ${{ matrix.job-name || matrix.sample-name }}
30
30
  runs-on: ubuntu-latest
31
31
  needs: build-matrix
32
32
  defaults:
@@ -48,11 +48,9 @@ jobs:
48
48
  maven-cache: true
49
49
  gradle-cache: true
50
50
  binary-dir: ${{ github.workspace }}/generator-jhipster-<%= baseName %>/cli/
51
- - name: 'Install blueprint'
52
- run: npm install
51
+ - run: npm install
53
52
  working-directory: ${{ github.workspace }}/generator-jhipster-<%= baseName %>
54
- - name: 'Generate Project'
55
- run: cli.cjs generate-sample ${{ matrix.sample-name }} --skip-jhipster-dependencies --force
53
+ - run: cli.cjs generate-sample ${{ matrix.sample-name }} --skip-jhipster-dependencies ${{ matrix.extra-args }}
56
54
  - uses: jhipster/actions/compare-sample@v0
57
55
  id: compare
58
56
  if: >-
@@ -60,7 +58,7 @@ jobs:
60
58
  !contains(github.event.pull_request.labels.*.name, 'pr: disable-compare')
61
59
  with:
62
60
  generator-path: generator-jhipster-<%= baseName %>
63
- cmd: cli.cjs generate-sample ${{ matrix.sample-name }} --skip-jhipster-dependencies --force --skip-install
61
+ cmd: cli.cjs generate-sample ${{ matrix.sample-name }} --skip-jhipster-dependencies --skip-install ${{ matrix.extra-args }}
64
62
  - run: npm run ci:backend:test
65
63
  if: steps.compare.outputs.equals != 'true'
66
64
  id: backend
@@ -73,7 +71,7 @@ jobs:
73
71
  - run: npm run ci:e2e:run --if-present
74
72
  if: steps.compare.outputs.equals != 'true'
75
73
  id: e2e
76
- - name: 'BACKEND: Store failure logs'
74
+ - name: Store backend test failure logs
77
75
  uses: actions/upload-artifact@v4
78
76
  if: always() && steps.backend.outcome == 'failure'
79
77
  with:
@@ -81,7 +79,7 @@ jobs:
81
79
  path: |
82
80
  ${{ github.workspace }}/app/build/test-results/**/*.xml
83
81
  ${{ github.workspace }}/app/target/surefire-reports
84
- - name: 'E2E: Store failure screenshots'
82
+ - name: Store cypress screenshots
85
83
  uses: actions/upload-artifact@v4
86
84
  if: always() && steps.e2e.outcome == 'failure'
87
85
  with:
@@ -46,13 +46,23 @@ npm install -g generator-jhipster-<%= baseName %>
46
46
 
47
47
  To use this blueprint, run the below command
48
48
 
49
- ```bash
50
49
  <%_ if (cli) { _%>
50
+ ```bash
51
51
  <%= cliName %>
52
+ <%_ if (caret) { _%>
53
+ ```
54
+
55
+ or
56
+
57
+ ```bash
58
+ jhipster --blueprints <%= baseName %>
59
+ ```
60
+ <%_ } _%>
52
61
  <%_ } else { _%>
62
+ ```bash
53
63
  jhipster --blueprints <%= baseName %>
54
- <%_ } _%>
55
64
  ```
65
+ <%_ } _%>
56
66
 
57
67
  You can look for updated <%= baseName %> blueprint specific options by running
58
68
 
@@ -0,0 +1,2 @@
1
+ // This file will not be overwritten by generate-blueprint
2
+ module.exports = {};
@@ -23,10 +23,11 @@ const blueprint = packageFolderName.startsWith('jhipster-') ? `generator-${packa
23
23
  [blueprint]: version,
24
24
  },
25
25
  printBlueprintLogo: () => {
26
- console.log('===================== JHipster <%= baseName %> =====================');
26
+ console.log('===================== JHipster <%= humanizedBaseName %> =====================');
27
27
  console.log('');
28
28
  },
29
29
  lookups: [{ packagePaths: [packagePath] }],
30
+ ...require('./cli-customizations.cjs'),
30
31
  }).catch(done);
31
32
 
32
33
  process.on('unhandledRejection', up => {
@@ -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',