generator-jhipster 8.2.1 → 8.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/dist/cli/environment-builder.mjs +3 -3
  2. package/dist/cli/jhipster-command.mjs +1 -2
  3. package/dist/cli/jhipster.cjs +0 -0
  4. package/dist/generators/angular/command.js +5 -0
  5. package/dist/generators/angular/generator.js +36 -9
  6. package/dist/generators/angular/index.js +1 -0
  7. package/dist/generators/angular/needle-api/needle-client-angular.js +3 -3
  8. package/dist/generators/angular/resources/package.json +13 -10
  9. package/dist/generators/angular/support/index.js +0 -1
  10. package/dist/generators/angular/support/translate-angular.js +142 -8
  11. package/dist/generators/angular/templates/package.json.ejs +0 -10
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -4
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +1 -1
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +1 -1
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +18 -26
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +1 -1
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +18 -25
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +1 -1
  20. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +10 -15
  21. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +1 -1
  22. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +31 -46
  23. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +1 -1
  24. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -8
  25. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +1 -1
  26. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +20 -31
  27. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +1 -1
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +4 -4
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +1 -1
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -7
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.html.ejs +7 -12
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.model.ts.ejs +9 -5
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +5 -9
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +3 -3
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.ts.ejs +3 -3
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +12 -12
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.ts.ejs +4 -4
  40. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +36 -36
  41. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.ts.ejs +4 -4
  42. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +2 -2
  43. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.ts.ejs +3 -3
  44. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +33 -33
  45. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.ts.ejs +3 -3
  46. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
  47. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +8 -8
  48. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.ts.ejs +4 -4
  49. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +13 -13
  50. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.ts.ejs +3 -3
  51. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
  52. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +6 -6
  53. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +2 -1
  54. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -4
  55. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +26 -26
  56. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +3 -3
  57. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.ts.ejs +2 -2
  58. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -18
  59. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +1 -2
  60. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +20 -34
  61. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +1 -1
  62. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +0 -2
  63. package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +7 -7
  64. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +4 -4
  65. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +25 -25
  66. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +3 -3
  67. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.ts.ejs +2 -2
  68. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +14 -14
  69. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +0 -2
  70. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +1 -2
  71. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +17 -24
  72. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +0 -2
  73. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +14 -15
  74. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +1 -5
  75. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
  76. package/dist/generators/angular/templates/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
  77. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +11 -18
  78. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +1 -1
  79. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
  80. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +0 -2
  81. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  82. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.html.ejs +11 -12
  83. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +1 -2
  84. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +1 -1
  85. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +3 -3
  86. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.ts.ejs +1 -1
  87. package/dist/generators/app/generator.js +4 -4
  88. package/dist/generators/base/generator.js +21 -2
  89. package/dist/generators/base/shared-data.js +1 -2
  90. package/dist/generators/base/support/basename.js +1 -2
  91. package/dist/generators/base/support/needles.js +3 -5
  92. package/dist/generators/base/support/string.js +2 -2
  93. package/dist/generators/base-application/generator.js +4 -4
  94. package/dist/generators/base-application/support/entity.js +1 -2
  95. package/dist/generators/base-application/support/enum.js +2 -2
  96. package/dist/generators/base-application/support/prepare-entity.js +1 -1
  97. package/dist/generators/base-application/support/prepare-field.js +5 -6
  98. package/dist/generators/base-application/support/relationship.js +1 -2
  99. package/dist/generators/base-application/support/task-type-inference.js +6 -0
  100. package/dist/generators/base-core/generator.js +83 -14
  101. package/dist/generators/base-workspaces/internal/deployments.js +2 -2
  102. package/dist/generators/base-workspaces/internal/docker-dependencies.js +2 -2
  103. package/dist/generators/bootstrap/generator.js +4 -5
  104. package/dist/generators/bootstrap/internal/transform-utils.js +4 -0
  105. package/dist/generators/bootstrap/support/eslint-transform.js +2 -1
  106. package/dist/generators/bootstrap/support/java-unused-imports-transform.js +2 -1
  107. package/dist/generators/bootstrap/support/prettier-worker.js +2 -4
  108. package/dist/generators/bootstrap-application/generator.js +3 -4
  109. package/dist/generators/bootstrap-application-base/generator.js +4 -5
  110. package/dist/generators/bootstrap-application-base/utils.js +3 -3
  111. package/dist/generators/bootstrap-application-client/generator.js +2 -3
  112. package/dist/generators/bootstrap-application-server/generator.js +21 -15
  113. package/dist/generators/bootstrap-workspaces/generator.js +1 -2
  114. package/dist/generators/ci-cd/command.js +1 -2
  115. package/dist/generators/ci-cd/generator.js +3 -3
  116. package/dist/generators/client/command.js +1 -2
  117. package/dist/generators/client/generator.js +12 -12
  118. package/dist/generators/client/needle-api/needle-client-vue.js +2 -2
  119. package/dist/generators/client/resources/package.json +4 -4
  120. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
  121. package/dist/generators/common/generator.js +5 -5
  122. package/dist/generators/common/resources/package.json +1 -1
  123. package/dist/generators/cucumber/generator.js +17 -10
  124. package/dist/generators/cucumber/templates/buildSrc/src/main/groovy/jhipster.cucumber-conventions.gradle.ejs +1 -5
  125. package/dist/generators/cypress/generator.js +2 -3
  126. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/administration/administration.cy.ts.ejs +10 -0
  127. package/dist/generators/docker/generator.js +4 -6
  128. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +0 -32
  129. package/dist/generators/docker/utils.js +2 -3
  130. package/dist/generators/docker-compose/generator.js +4 -5
  131. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +0 -32
  132. package/dist/generators/entities/generator.js +4 -4
  133. package/dist/generators/entity/generator.js +10 -9
  134. package/dist/generators/entity/prompts.js +12 -12
  135. package/dist/generators/feign-client/generator.js +3 -4
  136. package/dist/generators/gatling/generator.js +2 -3
  137. package/dist/generators/generate-blueprint/files.js +1 -0
  138. package/dist/generators/generate-blueprint/generator.js +3 -4
  139. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +3 -2
  140. package/dist/generators/generate-blueprint/templates/generators/generator/command.mjs.ejs +19 -1
  141. package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +6 -0
  142. package/dist/generators/generator-constants.js +5 -2
  143. package/dist/generators/git/generator.js +3 -5
  144. package/dist/generators/gradle/command.js +32 -0
  145. package/dist/generators/gradle/constants.js +0 -1
  146. package/dist/generators/gradle/files.js +2 -8
  147. package/dist/generators/gradle/generator.js +85 -13
  148. package/dist/generators/gradle/generators/code-quality/generator.js +86 -0
  149. package/dist/generators/{java/cleanup.js → gradle/generators/code-quality/index.js} +1 -5
  150. package/dist/generators/gradle/generators/jib/generator.js +64 -0
  151. package/dist/generators/gradle/generators/jib/index.js +19 -0
  152. package/dist/generators/gradle/generators/node-gradle/generator.js +64 -0
  153. package/dist/generators/gradle/generators/node-gradle/index.js +19 -0
  154. package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +101 -0
  155. package/dist/generators/gradle/index.js +1 -0
  156. package/dist/generators/gradle/internal/needles.js +9 -3
  157. package/dist/generators/gradle/templates/buildSrc/build.gradle.ejs +3 -2
  158. package/dist/generators/gradle/templates/buildSrc/gradle/libs.versions.toml.ejs +8 -1
  159. package/dist/generators/gradle/templates/gradle/wrapper/{gradle-wrapper.properties.ejs → gradle-wrapper.properties} +1 -1
  160. package/dist/generators/heroku/generator.js +3 -3
  161. package/dist/generators/init/generator.js +3 -4
  162. package/dist/generators/init/resources/.node-version +1 -0
  163. package/dist/generators/java/command.js +2 -38
  164. package/dist/generators/java/generator.js +5 -260
  165. package/dist/generators/java/generators/bootstrap/command.js +35 -0
  166. package/dist/generators/java/generators/bootstrap/generator.js +178 -0
  167. package/dist/generators/java/generators/bootstrap/index.js +20 -0
  168. package/dist/generators/java/generators/build-tool/command.js +42 -0
  169. package/dist/generators/java/generators/build-tool/generator.js +143 -0
  170. package/dist/generators/java/generators/build-tool/index.js +20 -0
  171. package/dist/generators/java/generators/code-quality/command.js +5 -0
  172. package/dist/generators/java/generators/code-quality/generator.js +91 -0
  173. package/dist/generators/java/generators/code-quality/index.js +20 -0
  174. package/dist/generators/java/generators/domain/command.js +30 -0
  175. package/dist/generators/java/{entity-files.js → generators/domain/entity-files.js} +1 -1
  176. package/dist/generators/java/generators/domain/generator.js +153 -0
  177. package/dist/generators/java/generators/domain/index.js +20 -0
  178. package/dist/generators/java/generators/jib/command.js +5 -0
  179. package/dist/generators/java/generators/jib/generator.js +97 -0
  180. package/dist/generators/java/generators/jib/index.js +20 -0
  181. package/dist/generators/{server → java/generators/jib}/templates/src/main/docker/jib/entrypoint.sh.ejs +2 -0
  182. package/dist/generators/java/generators/node/command.js +5 -0
  183. package/dist/generators/java/generators/node/generator.js +97 -0
  184. package/dist/generators/java/generators/node/index.js +20 -0
  185. package/dist/generators/java/support/index.js +1 -0
  186. package/dist/generators/jdl/generator.js +6 -9
  187. package/dist/generators/kubernetes/generator.js +1 -1
  188. package/dist/generators/kubernetes/kubernetes-base.js +3 -3
  189. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +0 -32
  190. package/dist/generators/kubernetes-helm/generator.js +1 -1
  191. package/dist/generators/kubernetes-knative/generator.js +1 -1
  192. package/dist/generators/languages/entity-files.js +3 -2
  193. package/dist/generators/languages/generator.js +7 -10
  194. package/dist/generators/languages/support/translate.js +34 -9
  195. package/dist/generators/languages/translation-data.js +4 -5
  196. package/dist/generators/liquibase/generator.js +68 -25
  197. package/dist/generators/liquibase/support/maven-plugin.js +6 -0
  198. package/dist/generators/liquibase/templates/gradle/liquibase.gradle.ejs +3 -6
  199. package/dist/generators/maven/generator.js +14 -6
  200. package/dist/generators/maven/generators/code-quality/command.js +5 -0
  201. package/dist/generators/maven/generators/code-quality/generator.js +268 -0
  202. package/dist/generators/maven/generators/code-quality/index.js +20 -0
  203. package/dist/generators/maven/generators/frontend-plugin/command.js +5 -0
  204. package/dist/generators/maven/generators/frontend-plugin/generator.js +295 -0
  205. package/dist/generators/maven/generators/frontend-plugin/index.js +20 -0
  206. package/dist/generators/maven/generators/jib/command.js +5 -0
  207. package/dist/generators/maven/generators/jib/generator.js +136 -0
  208. package/dist/generators/maven/generators/jib/index.js +20 -0
  209. package/dist/generators/maven/internal/xml-store.js +1 -2
  210. package/dist/generators/maven/support/dependabot-maven.js +12 -2
  211. package/dist/generators/maven/support/pom-store.js +1 -2
  212. package/dist/generators/project-name/generator.js +9 -11
  213. package/dist/generators/react/generator.js +25 -6
  214. package/dist/generators/react/needle-api/needle-client-react.js +2 -2
  215. package/dist/generators/react/resources/package.json +18 -15
  216. package/dist/generators/react/templates/package.json.ejs +1 -7
  217. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/tracker/tracker.tsx.ejs +2 -2
  218. package/dist/generators/server/command.js +2 -34
  219. package/dist/generators/server/generator.js +20 -154
  220. package/dist/generators/server/jdl/application-definition.js +1 -2
  221. package/dist/generators/server/prompts.js +4 -46
  222. package/dist/generators/server/resources/Dockerfile +7 -7
  223. package/dist/generators/server/resources/build.gradle +1 -0
  224. package/dist/generators/server/resources/gradle/libs.versions.toml +25 -7
  225. package/dist/generators/server/resources/pom.xml +4 -22
  226. package/dist/generators/server/support/prepare-field.js +1 -2
  227. package/dist/generators/server/templates/build.gradle.ejs +29 -143
  228. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -1
  229. package/dist/generators/server/templates/gradle.properties.ejs +0 -7
  230. package/dist/generators/server/templates/pom.xml.ejs +23 -444
  231. package/dist/generators/server/templates/settings.gradle.ejs +0 -4
  232. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +15 -3
  233. package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_imperative.java.ejs +4 -1
  234. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +15 -4
  235. package/dist/generators/server/templates/src/test/java/_package_/IntegrationTest.java.ejs +0 -2
  236. package/dist/generators/server/templates/src/test/java/_package_/config/TestContainersSpringContextCustomizerFactory.java.ejs +71 -46
  237. package/dist/generators/server/templates/src/test/java/_package_/security/jwt/AuthenticationIntegrationTest.java.ejs +0 -3
  238. package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +1 -1
  239. package/dist/generators/spring-boot/command.js +31 -2
  240. package/dist/generators/spring-boot/entity-files.js +2 -2
  241. package/dist/generators/spring-boot/files.js +3 -38
  242. package/dist/generators/spring-boot/generator.js +98 -37
  243. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +105 -105
  244. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +2 -2
  245. package/dist/generators/spring-cache/generator.js +11 -6
  246. package/dist/generators/spring-cache/internal/dependencies.js +5 -0
  247. package/dist/generators/spring-cache/resources/build.gradle +1 -0
  248. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +15 -0
  249. package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainersSpringContextCustomizerFactory.java.ejs +29 -13
  250. package/dist/generators/spring-cloud/generators/gateway/command.js +5 -0
  251. package/dist/generators/spring-cloud/generators/gateway/generator.js +146 -0
  252. package/dist/generators/spring-cloud/generators/gateway/index.js +20 -0
  253. package/dist/generators/spring-cloud-stream/generator.js +2 -3
  254. package/dist/generators/spring-cloud-stream/generators/kafka/generator.js +2 -2
  255. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/config/KafkaTestContainersSpringContextCustomizerFactory.java.ejs +28 -12
  256. package/dist/generators/spring-cloud-stream/generators/pulsar/generator.js +2 -2
  257. package/dist/generators/spring-cloud-stream/generators/pulsar/templates/src/test/java/_package_/config/PulsarTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
  258. package/dist/generators/spring-data-cassandra/generator.js +5 -6
  259. package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
  260. package/dist/generators/spring-data-couchbase/generator.js +3 -4
  261. package/dist/generators/spring-data-elasticsearch/generator.js +3 -5
  262. package/dist/generators/spring-data-mongodb/generator.js +5 -5
  263. package/dist/generators/spring-data-neo4j/generator.js +11 -5
  264. package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainersSpringContextCustomizerFactory.java.ejs +32 -16
  265. package/dist/generators/spring-data-relational/generator.js +6 -7
  266. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +47 -32
  267. package/dist/generators/spring-websocket/generator.js +2 -3
  268. package/dist/generators/statistics.js +2 -2
  269. package/dist/generators/upgrade/generator.js +4 -3
  270. package/dist/generators/vue/generator.js +4 -4
  271. package/dist/generators/vue/resources/package.json +18 -15
  272. package/dist/generators/vue/templates/package.json.ejs +3 -3
  273. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.spec.ts.ejs +1 -1
  274. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +1 -1
  275. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +3 -3
  276. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.vue.ejs +2 -2
  277. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +4 -3
  278. package/dist/generators/vue/templates/vite.config.mts.ejs +6 -0
  279. package/dist/generators/workspaces/generator.js +5 -4
  280. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +2 -2
  281. package/dist/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +3 -3
  282. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +2 -2
  283. package/dist/jdl/jdl-importer.js +1 -2
  284. package/dist/jdl/jhipster/default-application-options.js +1 -1
  285. package/dist/jdl/jhipster/field-types.js +2 -2
  286. package/dist/jdl/jhipster/relationship-types.js +1 -2
  287. package/dist/jdl/models/jdl-deployment.js +1 -2
  288. package/dist/jdl/parsing/api.js +2 -2
  289. package/dist/jdl/parsing/lexer/token-creator.js +1 -2
  290. package/dist/jdl/parsing/self-checks/parsing-system-checker.js +13 -13
  291. package/dist/jdl/parsing/validator.js +5 -5
  292. package/dist/testing/get-generator.js +1 -1
  293. package/dist/testing/helpers.js +34 -9
  294. package/dist/types/generators/angular/support/index.d.ts +0 -1
  295. package/dist/types/generators/angular/support/translate-angular.d.ts +7 -4
  296. package/dist/types/generators/app/support/config.d.ts +1 -1
  297. package/dist/types/generators/base/api.d.ts +7 -0
  298. package/dist/types/generators/base/generator.d.ts +1 -1
  299. package/dist/types/generators/base-application/generator.d.ts +4 -4
  300. package/dist/types/generators/base-application/support/task-type-inference.d.ts +3 -0
  301. package/dist/types/generators/base-application/support/update-application-entities-transform.d.ts +1 -1
  302. package/dist/types/generators/base-core/generator.d.ts +33 -1
  303. package/dist/types/generators/bootstrap/internal/transform-utils.d.ts +1 -0
  304. package/dist/types/generators/bootstrap/support/java-unused-imports-transform.d.ts +1 -1
  305. package/dist/types/generators/bootstrap-application-base/support/export-jdl-transform.d.ts +2 -2
  306. package/dist/types/generators/docker/utils.d.ts +7 -0
  307. package/dist/types/generators/generator-constants.d.ts +2 -20
  308. package/dist/types/generators/gradle/types.d.ts +21 -7
  309. package/dist/types/generators/java/support/index.d.ts +1 -0
  310. package/dist/types/generators/java/types.d.ts +37 -22
  311. package/dist/types/generators/languages/support/translate.d.ts +29 -0
  312. package/dist/types/generators/maven/support/dependabot-maven.d.ts +17 -1
  313. package/dist/types/generators/project-name/support/name-resolver.d.ts +1 -1
  314. package/dist/types/generators/server/types.d.ts +2 -0
  315. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +0 -18
  316. package/dist/types/testing/helpers.d.ts +6 -0
  317. package/dist/types/testing/support/matrix-utils.d.ts +1 -1
  318. package/package.json +15 -27
  319. package/dist/generators/java/files.js +0 -20
  320. /package/dist/generators/{server → gradle/generators/code-quality}/templates/buildSrc/src/main/groovy/jhipster.code-quality-conventions.gradle.ejs +0 -0
  321. /package/dist/generators/{server → gradle/generators/jib}/templates/buildSrc/src/main/groovy/jhipster.docker-conventions.gradle.ejs +0 -0
  322. /package/dist/generators/java/{templates → generators/bootstrap/templates}/src/main/java/_package_/GeneratedByJHipster.java.ejs +0 -0
  323. /package/dist/generators/{server → java/generators/code-quality}/templates/checkstyle.xml.ejs +0 -0
  324. /package/dist/generators/java/{templates → generators/domain/templates}/_global_partials_entity_/field_validators.ejs +0 -0
  325. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +0 -0
  326. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jackson_identity_info.ejs +0 -0
  327. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_validation.ejs +0 -0
  328. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/enumeration/_enumName_.java.ejs +0 -0
  329. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +0 -0
  330. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +0 -0
  331. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_TestSamples.java.ejs +0 -0
  332. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/domain/AssertUtils.java.ejs +0 -0
  333. /package/dist/generators/{server → java/generators/node}/templates/npmw +0 -0
  334. /package/dist/generators/{server → java/generators/node}/templates/npmw.cmd +0 -0
  335. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/security/jwt/JWTRelayGatewayFilterFactory.java.ejs +0 -0
  336. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/filter/ModifyServersOpenApiFilter.java.ejs +0 -0
  337. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/GatewayResource.java.ejs +0 -0
  338. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/vm/RouteVM.java.ejs +0 -0
  339. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/test/java/_package_/web/filter/ModifyServersOpenApiFilterTest.java.ejs +0 -0
@@ -26,11 +26,13 @@ import org.slf4j.Logger;
26
26
  import org.slf4j.LoggerFactory;
27
27
  import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
28
28
  import org.springframework.beans.factory.support.DefaultSingletonBeanRegistry;
29
+ import org.springframework.context.ConfigurableApplicationContext;
29
30
  import org.springframework.core.annotation.AnnotatedElementUtils;
30
31
 
31
32
  import org.springframework.test.context.ContextConfigurationAttributes;
32
33
  import org.springframework.test.context.ContextCustomizer;
33
34
  import org.springframework.test.context.ContextCustomizerFactory;
35
+ import org.springframework.test.context.MergedContextConfiguration;
34
36
  import org.springframework.beans.factory.support.DefaultListableBeanFactory;
35
37
  import org.springframework.boot.test.util.TestPropertyValues;
36
38
  import org.testcontainers.containers.CassandraContainer;
@@ -43,25 +45,39 @@ public class CassandraTestContainersSpringContextCustomizerFactory implements Co
43
45
 
44
46
  @Override
45
47
  public ContextCustomizer createContextCustomizer(Class<?> testClass, List<ContextConfigurationAttributes> configAttributes) {
46
- return (context, mergedConfig) -> {
47
- ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
48
- TestPropertyValues testValues = TestPropertyValues.empty();
49
- EmbeddedCassandra cassandraAnnotation = AnnotatedElementUtils.findMergedAnnotation(testClass, EmbeddedCassandra.class);
50
- if (null != cassandraAnnotation) {
51
- log.debug("detected the EmbeddedCassandra annotation on class {}", testClass.getName());
52
- log.info("Warming up the cassandra database");
53
- if (null == cassandraBean) {
54
- cassandraBean = beanFactory.createBean(CassandraTestContainer.class);
55
- beanFactory.registerSingleton(CassandraTestContainer.class.getName(), cassandraBean);
56
- // ((DefaultListableBeanFactory)beanFactory).registerDisposableBean(CassandraTestContainer.class.getName(), cassandraBean);
48
+ return new ContextCustomizer() {
49
+ @Override
50
+ public void customizeContext(ConfigurableApplicationContext context,
51
+ MergedContextConfiguration mergedConfig) {
52
+ ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
53
+ TestPropertyValues testValues = TestPropertyValues.empty();
54
+ EmbeddedCassandra cassandraAnnotation = AnnotatedElementUtils.findMergedAnnotation(testClass, EmbeddedCassandra.class);
55
+ if (null != cassandraAnnotation) {
56
+ log.debug("detected the EmbeddedCassandra annotation on class {}", testClass.getName());
57
+ log.info("Warming up the cassandra database");
58
+ if (null == cassandraBean) {
59
+ cassandraBean = beanFactory.createBean(CassandraTestContainer.class);
60
+ beanFactory.registerSingleton(CassandraTestContainer.class.getName(), cassandraBean);
61
+ // ((DefaultListableBeanFactory)beanFactory).registerDisposableBean(CassandraTestContainer.class.getName(), cassandraBean);
62
+ }
63
+ testValues = testValues.and("spring.cassandra.port=" + cassandraBean.getCassandraContainer().getMappedPort(CassandraContainer.CQL_PORT))
64
+ .and("spring.cassandra.contact-points=" + cassandraBean.getCassandraContainer().getHost())
65
+ .and("spring.cassandra.keyspace-name=" + DEFAULT_KEYSPACE_NAME)
66
+ .and("spring.cassandra.local-datacenter=" + cassandraBean.getCassandraContainer().getCluster().getMetadata().getAllHosts().iterator().next().getDatacenter())
67
+ .and("spring.cassandra.session-name=" + cassandraBean.getCassandraContainer().getCluster().getMetadata().getClusterName());
57
68
  }
58
- testValues = testValues.and("spring.cassandra.port=" + cassandraBean.getCassandraContainer().getMappedPort(CassandraContainer.CQL_PORT))
59
- .and("spring.cassandra.contact-points=" + cassandraBean.getCassandraContainer().getHost())
60
- .and("spring.cassandra.keyspace-name=" + DEFAULT_KEYSPACE_NAME)
61
- .and("spring.cassandra.local-datacenter=" + cassandraBean.getCassandraContainer().getCluster().getMetadata().getAllHosts().iterator().next().getDatacenter())
62
- .and("spring.cassandra.session-name=" + cassandraBean.getCassandraContainer().getCluster().getMetadata().getClusterName());
69
+ testValues.applyTo(context);
70
+ }
71
+
72
+ @Override
73
+ public int hashCode() {
74
+ return CassandraTestContainer.class.getName().hashCode();
75
+ }
76
+
77
+ @Override
78
+ public boolean equals(Object obj) {
79
+ return this.hashCode() == obj.hashCode();
63
80
  }
64
- testValues.applyTo(context);
65
81
  };
66
82
  }
67
83
  }
@@ -17,16 +17,15 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import BaseApplicationGenerator from '../base-application/index.js';
20
- import { GENERATOR_SPRING_DATA_COUCHBASE, GENERATOR_BOOTSTRAP_APPLICATION } from '../generator-list.js';
21
20
  import writeCouchbaseFilesTask, { cleanupCouchbaseFilesTask } from './files.js';
22
21
  import writeCouchbaseEntityFilesTask, { cleanupCouchbaseEntityFilesTask } from './entity-files.js';
23
22
  export default class CouchbaseGenerator extends BaseApplicationGenerator {
24
23
  async beforeQueue() {
25
24
  if (!this.fromBlueprint) {
26
- await this.composeWithBlueprints(GENERATOR_SPRING_DATA_COUCHBASE);
25
+ await this.composeWithBlueprints();
27
26
  }
28
27
  if (!this.delegateToBlueprint) {
29
- await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION);
28
+ await this.dependsOnBootstrapApplication();
30
29
  }
31
30
  }
32
31
  get writing() {
@@ -70,6 +69,6 @@ export default class CouchbaseGenerator extends BaseApplicationGenerator {
70
69
  });
71
70
  }
72
71
  get [BaseApplicationGenerator.POST_WRITING]() {
73
- return this.asPostWritingTaskGroup(this.delegateTasksToBlueprint(() => this.postWriting));
72
+ return this.delegateTasksToBlueprint(() => this.postWriting);
74
73
  }
75
74
  }
@@ -17,7 +17,6 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import BaseApplicationGenerator from '../base-application/index.js';
20
- import { GENERATOR_SPRING_DATA_ELASTICSEARCH, GENERATOR_BOOTSTRAP_APPLICATION } from '../generator-list.js';
21
20
  import writeElasticsearchFilesTask from './files.js';
22
21
  import cleanupElasticsearchFilesTask from './cleanup.js';
23
22
  import writeElasticsearchEntityFilesTask, { cleanupElasticsearchEntityFilesTask } from './entity-files.js';
@@ -25,10 +24,10 @@ import { mutateData } from '../base/support/index.js';
25
24
  export default class ElasticsearchGenerator extends BaseApplicationGenerator {
26
25
  async beforeQueue() {
27
26
  if (!this.fromBlueprint) {
28
- await this.composeWithBlueprints(GENERATOR_SPRING_DATA_ELASTICSEARCH);
27
+ await this.composeWithBlueprints();
29
28
  }
30
29
  if (!this.delegateToBlueprint) {
31
- await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION);
30
+ await this.dependsOnBootstrapApplication();
32
31
  }
33
32
  }
34
33
  get preparingEachEntity() {
@@ -73,7 +72,6 @@ export default class ElasticsearchGenerator extends BaseApplicationGenerator {
73
72
  source.addJavaDependencies?.([
74
73
  { groupId: 'org.springframework.boot', artifactId: 'spring-boot-starter-data-elasticsearch' },
75
74
  { scope: 'test', groupId: 'org.awaitility', artifactId: 'awaitility' },
76
- { scope: 'test', groupId: 'org.apache.commons', artifactId: 'commons-collections4' },
77
75
  { scope: 'test', groupId: 'org.testcontainers', artifactId: 'elasticsearch' },
78
76
  { scope: 'test', groupId: 'org.testcontainers', artifactId: 'junit-jupiter' },
79
77
  { scope: 'test', groupId: 'org.testcontainers', artifactId: 'testcontainers' },
@@ -82,6 +80,6 @@ export default class ElasticsearchGenerator extends BaseApplicationGenerator {
82
80
  });
83
81
  }
84
82
  get [BaseApplicationGenerator.POST_WRITING]() {
85
- return this.asPostWritingTaskGroup(this.delegateTasksToBlueprint(() => this.postWriting));
83
+ return this.delegateTasksToBlueprint(() => this.postWriting);
86
84
  }
87
85
  }
@@ -17,17 +17,16 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import BaseApplicationGenerator from '../base-application/index.js';
20
- import { GENERATOR_SPRING_DATA_MONGODB, GENERATOR_BOOTSTRAP_APPLICATION } from '../generator-list.js';
21
20
  import writeMongodbFilesTask from './files.js';
22
21
  import cleanupMongodbFilesTask from './cleanup.js';
23
22
  import writeMongodbEntityFilesTask, { cleanupMongodbEntityFilesTask } from './entity-files.js';
24
23
  export default class MongoDBGenerator extends BaseApplicationGenerator {
25
24
  async beforeQueue() {
26
25
  if (!this.fromBlueprint) {
27
- await this.composeWithBlueprints(GENERATOR_SPRING_DATA_MONGODB);
26
+ await this.composeWithBlueprints();
28
27
  }
29
28
  if (!this.delegateToBlueprint) {
30
- await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION);
29
+ await this.dependsOnBootstrapApplication();
31
30
  }
32
31
  }
33
32
  get writing() {
@@ -57,8 +56,9 @@ export default class MongoDBGenerator extends BaseApplicationGenerator {
57
56
  });
58
57
  },
59
58
  addDependencies({ application, source }) {
60
- const { reactive } = application;
59
+ const { reactive, javaDependencies } = application;
61
60
  source.addJavaDependencies?.([
61
+ { groupId: 'io.mongock', artifactId: 'mongock-bom', type: 'pom', version: javaDependencies['mongock-bom'], scope: 'import' },
62
62
  { groupId: 'io.mongock', artifactId: 'mongock-springboot-v3' },
63
63
  { groupId: 'org.springframework.boot', artifactId: `spring-boot-starter-data-mongodb${reactive ? '-reactive' : ''}` },
64
64
  { groupId: 'io.mongock', artifactId: reactive ? 'mongodb-reactive-driver' : 'mongodb-springdata-v4-driver' },
@@ -85,6 +85,6 @@ export default class MongoDBGenerator extends BaseApplicationGenerator {
85
85
  });
86
86
  }
87
87
  get [BaseApplicationGenerator.POST_WRITING]() {
88
- return this.asPostWritingTaskGroup(this.delegateTasksToBlueprint(() => this.postWriting));
88
+ return this.delegateTasksToBlueprint(() => this.postWriting);
89
89
  }
90
90
  }
@@ -17,17 +17,17 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import BaseApplicationGenerator from '../base-application/index.js';
20
- import { GENERATOR_BOOTSTRAP_APPLICATION, GENERATOR_JAVA, GENERATOR_LIQUIBASE, GENERATOR_SPRING_DATA_NEO4J } from '../generator-list.js';
20
+ import { GENERATOR_JAVA, GENERATOR_LIQUIBASE } from '../generator-list.js';
21
21
  import writeTask from './files.js';
22
22
  import cleanupTask from './cleanup.js';
23
23
  import writeEntitiesTask, { cleanupEntitiesTask } from './entity-files.js';
24
24
  export default class Neo4jGenerator extends BaseApplicationGenerator {
25
25
  async beforeQueue() {
26
26
  if (!this.fromBlueprint) {
27
- await this.composeWithBlueprints(GENERATOR_SPRING_DATA_NEO4J);
27
+ await this.composeWithBlueprints();
28
28
  }
29
29
  if (!this.delegateToBlueprint) {
30
- await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION);
30
+ await this.dependsOnBootstrapApplication();
31
31
  const javaGenerator = await this.dependsOnJHipster(GENERATOR_JAVA);
32
32
  javaGenerator.useJacksonIdentityInfo = true;
33
33
  }
@@ -133,12 +133,18 @@ export default class Neo4jGenerator extends BaseApplicationGenerator {
133
133
  { scope: 'test', groupId: 'org.testcontainers', artifactId: 'neo4j' },
134
134
  ]);
135
135
  if (!application.databaseMigrationLiquibase) {
136
- source.addJavaDependencies?.([{ groupId: 'eu.michael-simons.neo4j', artifactId: 'neo4j-migrations-spring-boot-starter' }]);
136
+ source.addJavaDependencies?.([
137
+ {
138
+ groupId: 'eu.michael-simons.neo4j',
139
+ artifactId: 'neo4j-migrations-spring-boot-starter',
140
+ version: application.javaDependencies['neo4j-migrations-spring-boot-starter'],
141
+ },
142
+ ]);
137
143
  }
138
144
  },
139
145
  });
140
146
  }
141
147
  get [BaseApplicationGenerator.POST_WRITING]() {
142
- return this.asPostWritingTaskGroup(this.delegateTasksToBlueprint(() => this.postWriting));
148
+ return this.delegateTasksToBlueprint(() => this.postWriting);
143
149
  }
144
150
  }
@@ -23,11 +23,13 @@ import java.util.List;
23
23
  import org.slf4j.Logger;
24
24
  import org.slf4j.LoggerFactory;
25
25
  import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
26
+ import org.springframework.context.ConfigurableApplicationContext;
26
27
  import org.springframework.core.annotation.AnnotatedElementUtils;
27
28
 
28
29
  import org.springframework.test.context.ContextConfigurationAttributes;
29
30
  import org.springframework.test.context.ContextCustomizer;
30
31
  import org.springframework.test.context.ContextCustomizerFactory;
32
+ import org.springframework.test.context.MergedContextConfiguration;
31
33
  import org.springframework.boot.test.util.TestPropertyValues;
32
34
 
33
35
  public class Neo4jTestContainersSpringContextCustomizerFactory implements ContextCustomizerFactory {
@@ -39,25 +41,39 @@ public class Neo4jTestContainersSpringContextCustomizerFactory implements Contex
39
41
  @Override
40
42
  public ContextCustomizer createContextCustomizer(Class<?> testClass, List<ContextConfigurationAttributes> configAttributes) {
41
43
 
42
- return (context, mergedConfig) -> {
43
- ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
44
- TestPropertyValues testValues = TestPropertyValues.empty();
45
- EmbeddedNeo4j neo4jAnnotation = AnnotatedElementUtils.findMergedAnnotation(testClass, EmbeddedNeo4j.class);
46
- if (null != neo4jAnnotation) {
47
- log.debug("detected the EmbeddedNeo4j annotation on class {}", testClass.getName());
48
- log.info("Warming up the neo4j database");
49
- if (null == neo4jBean) {
50
- neo4jBean = beanFactory.createBean(Neo4jTestContainer.class);
51
- beanFactory.registerSingleton(Neo4jTestContainer.class.getName(), neo4jBean);
44
+ return new ContextCustomizer() {
45
+ @Override
46
+ public void customizeContext(ConfigurableApplicationContext context,
47
+ MergedContextConfiguration mergedConfig) {
48
+ ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
49
+ TestPropertyValues testValues = TestPropertyValues.empty();
50
+ EmbeddedNeo4j neo4jAnnotation = AnnotatedElementUtils.findMergedAnnotation(testClass, EmbeddedNeo4j.class);
51
+ if (null != neo4jAnnotation) {
52
+ log.debug("detected the EmbeddedNeo4j annotation on class {}", testClass.getName());
53
+ log.info("Warming up the neo4j database");
54
+ if (null == neo4jBean) {
55
+ neo4jBean = beanFactory.createBean(Neo4jTestContainer.class);
56
+ beanFactory.registerSingleton(Neo4jTestContainer.class.getName(), neo4jBean);
57
+ }
58
+
59
+ String boltUrl = neo4jBean.getNeo4jContainer().getBoltUrl();
60
+ testValues = testValues.and("spring.neo4j.uri=" + boltUrl);
61
+ <%_ if (databaseMigrationLiquibase) { _%>
62
+ testValues = testValues.and("spring.liquibase.url=jdbc:neo4j:" + boltUrl);
63
+ <%_ } _%>
52
64
  }
65
+ testValues.applyTo(context);
66
+ }
67
+
68
+ @Override
69
+ public int hashCode() {
70
+ return Neo4jTestContainer.class.getName().hashCode();
71
+ }
53
72
 
54
- String boltUrl = neo4jBean.getNeo4jContainer().getBoltUrl();
55
- testValues = testValues.and("spring.neo4j.uri=" + boltUrl);
56
- <%_ if (databaseMigrationLiquibase) { _%>
57
- testValues = testValues.and("spring.liquibase.url=jdbc:neo4j:" + boltUrl);
58
- <%_ } _%>
73
+ @Override
74
+ public boolean equals(Object obj) {
75
+ return this.hashCode() == obj.hashCode();
59
76
  }
60
- testValues.applyTo(context);
61
77
  };
62
78
  }
63
79
  }
@@ -17,7 +17,7 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import BaseApplicationGenerator from '../base-application/index.js';
20
- import { GENERATOR_SPRING_DATA_RELATIONAL, GENERATOR_LIQUIBASE, GENERATOR_SERVER } from '../generator-list.js';
20
+ import { GENERATOR_LIQUIBASE } from '../generator-list.js';
21
21
  import writeTask from './files.js';
22
22
  import cleanupTask from './cleanup.js';
23
23
  import writeEntitiesTask, { cleanupEntitiesTask } from './entity-files.js';
@@ -25,21 +25,20 @@ import { isReservedTableName } from '../../jdl/jhipster/reserved-keywords.js';
25
25
  import { databaseTypes } from '../../jdl/jhipster/index.js';
26
26
  import { getDBCExtraOption, getJdbcUrl, getR2dbcUrl } from './support/index.js';
27
27
  import { getDatabaseDriverForDatabase, getDatabaseTypeMavenDefinition, getH2MavenDefinition } from './internal/dependencies.js';
28
- import command from './command.js';
29
28
  const { SQL } = databaseTypes;
30
29
  export default class SqlGenerator extends BaseApplicationGenerator {
31
30
  async beforeQueue() {
32
31
  if (!this.fromBlueprint) {
33
- await this.composeWithBlueprints(GENERATOR_SPRING_DATA_RELATIONAL);
32
+ await this.composeWithBlueprints();
34
33
  }
35
34
  if (!this.delegateToBlueprint) {
36
- await this.dependsOnJHipster(GENERATOR_SERVER);
35
+ await this.dependsOnJHipster('jhipster:java:domain');
37
36
  }
38
37
  }
39
38
  get initializing() {
40
39
  return this.asInitializingTaskGroup({
41
- loadOptions() {
42
- this.parseJHipsterOptions(command.options);
40
+ async parseCommand() {
41
+ await this.parseCurrentJHipsterCommand();
43
42
  },
44
43
  });
45
44
  }
@@ -183,7 +182,7 @@ export default class SqlGenerator extends BaseApplicationGenerator {
183
182
  });
184
183
  }
185
184
  get [BaseApplicationGenerator.POST_WRITING]() {
186
- return this.asPostWritingTaskGroup(this.delegateTasksToBlueprint(() => this.postWriting));
185
+ return this.delegateTasksToBlueprint(() => this.postWriting);
187
186
  }
188
187
  /**
189
188
  * @private
@@ -30,10 +30,12 @@ import org.slf4j.LoggerFactory;
30
30
  import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
31
31
  import org.springframework.beans.factory.support.DefaultSingletonBeanRegistry;
32
32
  import org.springframework.core.annotation.AnnotatedElementUtils;
33
+ import org.springframework.context.ConfigurableApplicationContext;
33
34
 
34
35
  import org.springframework.test.context.ContextConfigurationAttributes;
35
36
  import org.springframework.test.context.ContextCustomizer;
36
37
  import org.springframework.test.context.ContextCustomizerFactory;
38
+ import org.springframework.test.context.MergedContextConfiguration;
37
39
  import org.springframework.beans.factory.support.DefaultListableBeanFactory;
38
40
  import org.springframework.boot.test.util.TestPropertyValues;
39
41
 
@@ -45,41 +47,54 @@ public class SqlTestContainersSpringContextCustomizerFactory implements ContextC
45
47
 
46
48
  @Override
47
49
  public ContextCustomizer createContextCustomizer(Class<?> testClass, List<ContextConfigurationAttributes> configAttributes) {
48
-
49
- return (context, mergedConfig) -> {
50
- ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
51
- TestPropertyValues testValues = TestPropertyValues.empty();
52
- EmbeddedSQL sqlAnnotation = AnnotatedElementUtils.findMergedAnnotation(testClass, EmbeddedSQL.class);
53
- <%_ if (prodDatabaseType !== devDatabaseType) { _%>
54
- boolean usingTestProdProfile = Arrays.asList(context.getEnvironment().getActiveProfiles()).contains("test" + JHipsterConstants.SPRING_PROFILE_PRODUCTION);
55
- if (null != sqlAnnotation && usingTestProdProfile) {
56
- <%_ } else { _%>
57
- if (null != sqlAnnotation) {
58
- <%_ } _%>
59
- log.debug("detected the EmbeddedSQL annotation on class {}", testClass.getName());
60
- log.info("Warming up the sql database");
61
- if (null == prodTestContainer) {
62
- try {
63
- Class<? extends SqlTestContainer> containerClass = (Class<? extends SqlTestContainer>) Class.forName(this.getClass().getPackageName() + ".<% if (prodDatabaseTypeMysql) { %>Mysql<% } else if (prodDatabaseTypeMariadb) { %>Mariadb<% } else if (prodDatabaseTypeMssql) { %>MsSql<% } else if (prodDatabaseTypePostgresql) { %>PostgreSql<% } %>TestContainer");
64
- prodTestContainer = beanFactory.createBean(containerClass);
65
- beanFactory.registerSingleton(containerClass.getName(), prodTestContainer);
66
- // ((DefaultListableBeanFactory)beanFactory).registerDisposableBean(containerClass.getName(), prodTestContainer);
67
- } catch (ClassNotFoundException e) {
68
- throw new RuntimeException(e);
50
+ return new ContextCustomizer() {
51
+ @Override
52
+ public void customizeContext(ConfigurableApplicationContext context,
53
+ MergedContextConfiguration mergedConfig) {
54
+ ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
55
+ TestPropertyValues testValues = TestPropertyValues.empty();
56
+ EmbeddedSQL sqlAnnotation = AnnotatedElementUtils.findMergedAnnotation(testClass, EmbeddedSQL.class);
57
+ <%_ if (prodDatabaseType !== devDatabaseType) { _%>
58
+ boolean usingTestProdProfile = Arrays.asList(context.getEnvironment().getActiveProfiles()).contains("test" + JHipsterConstants.SPRING_PROFILE_PRODUCTION);
59
+ if (null != sqlAnnotation && usingTestProdProfile) {
60
+ <%_ } else { _%>
61
+ if (null != sqlAnnotation) {
62
+ <%_ } _%>
63
+ log.debug("detected the EmbeddedSQL annotation on class {}", testClass.getName());
64
+ log.info("Warming up the sql database");
65
+ if (null == prodTestContainer) {
66
+ try {
67
+ Class<? extends SqlTestContainer> containerClass = (Class<? extends SqlTestContainer>) Class.forName(this.getClass().getPackageName() + ".<% if (prodDatabaseTypeMysql) { %>Mysql<% } else if (prodDatabaseTypeMariadb) { %>Mariadb<% } else if (prodDatabaseTypeMssql) { %>MsSql<% } else if (prodDatabaseTypePostgresql) { %>PostgreSql<% } %>TestContainer");
68
+ prodTestContainer = beanFactory.createBean(containerClass);
69
+ beanFactory.registerSingleton(containerClass.getName(), prodTestContainer);
70
+ // ((DefaultListableBeanFactory)beanFactory).registerDisposableBean(containerClass.getName(), prodTestContainer);
71
+ } catch (ClassNotFoundException e) {
72
+ throw new RuntimeException(e);
73
+ }
69
74
  }
75
+ <%_ if (reactive) { _%>
76
+ testValues = testValues.and("spring.r2dbc.url=" + prodTestContainer.getTestContainer().getJdbcUrl().replace("jdbc", "r2dbc")<% if (prodDatabaseTypeMariadb) { %>.replace("mariadb", "mysql")<% } else if (prodDatabaseTypeMssql) { %>.replace(";encrypt=false", "")<% } %> + "<%- prodDatabaseExtraOptions %>");
77
+ testValues = testValues.and("spring.r2dbc.username=" + prodTestContainer.getTestContainer().getUsername());
78
+ testValues = testValues.and("spring.r2dbc.password=" + prodTestContainer.getTestContainer().getPassword());
79
+ testValues = testValues.and("spring.liquibase.url=" + prodTestContainer.getTestContainer().getJdbcUrl() + "<%- prodDatabaseExtraOptions %>");
80
+ <%_ } else { _%>
81
+ testValues = testValues.and("spring.datasource.url=" + prodTestContainer.getTestContainer().getJdbcUrl() + "<%- prodDatabaseExtraOptions %>");
82
+ testValues = testValues.and("spring.datasource.username=" + prodTestContainer.getTestContainer().getUsername());
83
+ testValues = testValues.and("spring.datasource.password=" + prodTestContainer.getTestContainer().getPassword());
84
+ <%_ } _%>
70
85
  }
71
- <%_ if (reactive) { _%>
72
- testValues = testValues.and("spring.r2dbc.url=" + prodTestContainer.getTestContainer().getJdbcUrl().replace("jdbc", "r2dbc")<% if (prodDatabaseTypeMariadb) { %>.replace("mariadb", "mysql")<% } else if (prodDatabaseTypeMssql) { %>.replace(";encrypt=false", "")<% } %> + "<%- prodDatabaseExtraOptions %>");
73
- testValues = testValues.and("spring.r2dbc.username=" + prodTestContainer.getTestContainer().getUsername());
74
- testValues = testValues.and("spring.r2dbc.password=" + prodTestContainer.getTestContainer().getPassword());
75
- testValues = testValues.and("spring.liquibase.url=" + prodTestContainer.getTestContainer().getJdbcUrl() + "<%- prodDatabaseExtraOptions %>");
76
- <%_ } else { _%>
77
- testValues = testValues.and("spring.datasource.url=" + prodTestContainer.getTestContainer().getJdbcUrl() + "<%- prodDatabaseExtraOptions %>");
78
- testValues = testValues.and("spring.datasource.username=" + prodTestContainer.getTestContainer().getUsername());
79
- testValues = testValues.and("spring.datasource.password=" + prodTestContainer.getTestContainer().getPassword());
80
- <%_ } _%>
86
+ testValues.applyTo(context);
87
+ }
88
+
89
+ @Override
90
+ public int hashCode() {
91
+ return SqlTestContainer.class.getName().hashCode();
92
+ }
93
+
94
+ @Override
95
+ public boolean equals(Object obj) {
96
+ return this.hashCode() == obj.hashCode();
81
97
  }
82
- testValues.applyTo(context);
83
98
  };
84
99
  }
85
100
  }
@@ -17,16 +17,15 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import BaseApplicationGenerator from '../base-application/index.js';
20
- import { GENERATOR_SPRING_WEBSOCKET, GENERATOR_BOOTSTRAP_APPLICATION } from '../generator-list.js';
21
20
  import writeTask from './files.js';
22
21
  import cleanupTask from './cleanup.js';
23
22
  export default class SpringWebsocketGenerator extends BaseApplicationGenerator {
24
23
  async beforeQueue() {
25
24
  if (!this.fromBlueprint) {
26
- await this.composeWithBlueprints(GENERATOR_SPRING_WEBSOCKET);
25
+ await this.composeWithBlueprints();
27
26
  }
28
27
  if (!this.delegateToBlueprint) {
29
- await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION);
28
+ await this.dependsOnBootstrapApplication();
30
29
  }
31
30
  }
32
31
  get writing() {
@@ -17,7 +17,7 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import os from 'os';
20
- import { v4 as uuid } from 'uuid';
20
+ import { randomUUID } from 'crypto';
21
21
  import Conf from 'conf';
22
22
  import { osLocaleSync } from 'os-locale';
23
23
  import axios from 'axios';
@@ -44,7 +44,7 @@ class Statistics {
44
44
  configName: 'jhipster-insight',
45
45
  projectName: packagejs.name,
46
46
  defaults: {
47
- clientId: uuid(),
47
+ clientId: randomUUID().toString(),
48
48
  doNotAskCounter: 0,
49
49
  isLinked: false,
50
50
  },
@@ -28,7 +28,6 @@ import statistics from '../statistics.js';
28
28
  import EnvironmentBuilder from '../../cli/environment-builder.mjs';
29
29
  import { GIT_VERSION_NOT_ALLOW_MERGE_UNRELATED_HISTORIES, UPGRADE_BRANCH } from './support/index.js';
30
30
  import { SERVER_MAIN_RES_DIR } from '../generator-constants.js';
31
- import command from './command.js';
32
31
  /* Constants used throughout */
33
32
  const GENERATOR_JHIPSTER = 'generator-jhipster';
34
33
  const GENERATOR_APP = 'app';
@@ -63,8 +62,10 @@ export default class UpgradeGenerator extends BaseGenerator {
63
62
  this.log.log(chalk.green('For advanced options, please use the jhipster-migrate blueprint (https://github.com/jhipster/generator-jhipster-migrate/)'));
64
63
  this.log.log('');
65
64
  },
66
- parseCommand() {
67
- this.parseJHipsterOptions(command.options);
65
+ async parseCommand() {
66
+ await this.parseCurrentJHipsterCommand();
67
+ },
68
+ initializeOptions() {
68
69
  if (this.silent) {
69
70
  this.spawnStdio = 'ignore';
70
71
  }
@@ -18,8 +18,8 @@
18
18
  */
19
19
  import { relative } from 'path';
20
20
  import chalk from 'chalk';
21
- import * as _ from 'lodash-es';
22
21
  import { isFileStateModified } from 'mem-fs-editor/state';
22
+ import { camelCase, startCase } from 'lodash-es';
23
23
  import BaseApplicationGenerator from '../base-application/index.js';
24
24
  import { fieldTypes, clientFrameworkTypes } from '../../jdl/jhipster/index.js';
25
25
  import { GENERATOR_VUE, GENERATOR_CLIENT, GENERATOR_LANGUAGES } from '../generator-list.js';
@@ -35,7 +35,7 @@ const TYPE_BOOLEAN = CommonDBTypes.BOOLEAN;
35
35
  export default class VueGenerator extends BaseApplicationGenerator {
36
36
  async beforeQueue() {
37
37
  if (!this.fromBlueprint) {
38
- await this.composeWithBlueprints(GENERATOR_VUE);
38
+ await this.composeWithBlueprints();
39
39
  }
40
40
  if (!this.delegateToBlueprint) {
41
41
  await this.dependsOnJHipster(GENERATOR_CLIENT);
@@ -108,7 +108,7 @@ export default class VueGenerator extends BaseApplicationGenerator {
108
108
  });
109
109
  }
110
110
  get [BaseApplicationGenerator.DEFAULT]() {
111
- return this.asDefaultTaskGroup(this.delegateTasksToBlueprint(() => this.default));
111
+ return this.delegateTasksToBlueprint(() => this.default);
112
112
  }
113
113
  get writing() {
114
114
  return this.asWritingTaskGroup({
@@ -179,7 +179,7 @@ export default class VueGenerator extends BaseApplicationGenerator {
179
179
  * @param {string} entityTranslationKeyMenu - i18n key for entity entry in menu
180
180
  * @param {string} entityTranslationValue - i18n value for entity entry in menu
181
181
  */
182
- addEntityToMenu(routerName, enableTranslation, entityTranslationKeyMenu = _.camelCase(routerName), entityTranslationValue = _.startCase(routerName)) {
182
+ addEntityToMenu(routerName, enableTranslation, entityTranslationKeyMenu = camelCase(routerName), entityTranslationValue = startCase(routerName)) {
183
183
  this.needleApi.clientVue.addEntityToMenu(routerName, enableTranslation, entityTranslationKeyMenu, entityTranslationValue);
184
184
  }
185
185
  /**
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "dependencies": {
3
- "@fortawesome/fontawesome-svg-core": "6.5.1",
4
- "@fortawesome/free-solid-svg-icons": "6.5.1",
3
+ "@fortawesome/fontawesome-svg-core": "6.5.2",
4
+ "@fortawesome/free-solid-svg-icons": "6.5.2",
5
5
  "@fortawesome/vue-fontawesome": "3.0.6",
6
+ "@stomp/rx-stomp": "2.0.0",
6
7
  "@vuelidate/core": "2.0.3",
7
8
  "@vuelidate/validators": "2.0.4",
8
9
  "@vueuse/core": "10.9.0",
@@ -13,15 +14,17 @@
13
14
  "deepmerge": "4.3.1",
14
15
  "js-cookie": "3.0.5",
15
16
  "pinia": "2.1.7",
17
+ "rxjs": "7.8.1",
18
+ "sockjs-client": "1.6.1",
16
19
  "vue": "3.4.21",
17
- "vue-i18n": "9.10.2",
20
+ "vue-i18n": "9.11.0",
18
21
  "vue-router": "4.3.0"
19
22
  },
20
23
  "devDependencies": {
21
24
  "@module-federation/utilities": "3.0.3-0",
22
25
  "@pinia/testing": "0.1.3",
23
- "@rushstack/eslint-patch": "1.8.0",
24
- "@tsconfig/node18": "18.2.2",
26
+ "@rushstack/eslint-patch": "1.10.1",
27
+ "@tsconfig/node18": "18.2.4",
25
28
  "@types/node": "20.11.25",
26
29
  "@types/sinon": "17.0.3",
27
30
  "@vitejs/plugin-vue": "5.0.4",
@@ -29,40 +32,40 @@
29
32
  "@vue/eslint-config-typescript": "10.0.0",
30
33
  "@vue/test-utils": "2.4.5",
31
34
  "@vue/tsconfig": "0.5.1",
32
- "autoprefixer": "10.4.18",
35
+ "autoprefixer": "10.4.19",
33
36
  "axios-mock-adapter": "1.22.0",
34
37
  "browser-sync-webpack-plugin": "2.3.0",
35
38
  "copy-webpack-plugin": "12.0.2",
36
- "css-loader": "6.10.0",
39
+ "css-loader": "7.1.0",
37
40
  "css-minimizer-webpack-plugin": "6.0.0",
38
41
  "eslint": "8.57.0",
39
42
  "eslint-plugin-prettier": "5.1.3",
40
43
  "eslint-plugin-vue": "8.7.1",
41
44
  "flush-promises": "1.0.2",
42
45
  "folder-hash": "4.0.4",
43
- "happy-dom": "14.0.0",
46
+ "happy-dom": "14.7.1",
44
47
  "html-webpack-plugin": "5.6.0",
45
48
  "merge-jsons-webpack-plugin": "2.0.1",
46
49
  "mini-css-extract-plugin": "2.8.1",
47
50
  "numeral": "2.0.6",
48
- "postcss-import": "16.0.1",
51
+ "postcss-import": "16.1.0",
49
52
  "postcss-loader": "8.1.1",
50
53
  "postcss-url": "10.1.3",
51
54
  "rimraf": "5.0.5",
52
- "sass": "1.72.0",
55
+ "sass": "1.74.1",
53
56
  "sass-loader": "14.1.1",
54
57
  "sinon": "17.0.1",
55
58
  "terser-webpack-plugin": "5.3.10",
56
59
  "ts-loader": "9.5.1",
57
- "typescript": "5.4.2",
58
- "vite": "5.1.6",
59
- "vite-plugin-static-copy": "1.0.1",
60
+ "typescript": "5.4.4",
61
+ "vite": "5.2.8",
62
+ "vite-plugin-static-copy": "1.0.2",
60
63
  "vitest": "1.4.0",
61
64
  "vitest-sonar-reporter": "2.0.0",
62
65
  "vue-loader": "17.4.2",
63
66
  "vue-style-loader": "4.1.3",
64
- "vue-tsc": "2.0.6",
65
- "webpack": "5.90.3",
67
+ "vue-tsc": "2.0.11",
68
+ "webpack": "5.91.0",
66
69
  "webpack-bundle-analyzer": "4.10.1",
67
70
  "webpack-cli": "5.1.4",
68
71
  "webpack-dev-server": "5.0.4",
@@ -41,10 +41,10 @@
41
41
  <%_ } _%>
42
42
  "dayjs": "<%= nodeDependencies['dayjs'] %>",
43
43
  <%_ if (communicationSpringWebsocket) { _%>
44
- "@stomp/rx-stomp": "1.1.4",
44
+ "@stomp/rx-stomp": null,
45
45
  "js-cookie": "<%= nodeDependencies['js-cookie'] %>",
46
- "sockjs-client": "1.5.2",
47
- "rxjs": "7.4.0",
46
+ "sockjs-client": null,
47
+ "rxjs": null,
48
48
  <%_ } _%>
49
49
  "pinia": "<%= nodeDependencies.pinia %>",
50
50
  "vue": "<%= nodeDependencies['vue'] %>",