generator-jhipster 8.2.1 → 8.4.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 (478) 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 +70 -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 +15 -12
  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 +19 -27
  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 +19 -26
  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 +11 -16
  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 +32 -47
  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 +21 -32
  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 +21 -35
  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_-form.service.ts.ejs +10 -6
  72. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +18 -25
  73. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +0 -2
  74. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +14 -15
  75. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +1 -5
  76. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
  77. package/dist/generators/angular/templates/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
  78. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +11 -18
  79. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +1 -1
  80. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
  81. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +0 -2
  82. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  83. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.html.ejs +12 -13
  84. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +1 -2
  85. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +1 -1
  86. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +3 -3
  87. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.ts.ejs +1 -1
  88. package/dist/generators/angular/templates/webpack/webpack.custom.js.ejs +1 -1
  89. package/dist/generators/app/generator.js +4 -22
  90. package/dist/generators/app/support/config.js +1 -3
  91. package/dist/generators/base/generator.js +21 -2
  92. package/dist/generators/base/shared-data.js +1 -2
  93. package/dist/generators/base/support/basename.js +1 -2
  94. package/dist/generators/base/support/needles.js +3 -5
  95. package/dist/generators/base/support/string.js +2 -2
  96. package/dist/generators/base-application/generator.js +4 -4
  97. package/dist/generators/base-application/support/entity.js +1 -2
  98. package/dist/generators/base-application/support/enum.js +2 -2
  99. package/dist/generators/base-application/support/prepare-entity.js +1 -1
  100. package/dist/generators/base-application/support/prepare-field.js +6 -7
  101. package/dist/generators/base-application/support/relationship.js +1 -2
  102. package/dist/generators/base-application/support/task-type-inference.js +6 -0
  103. package/dist/generators/base-core/generator.js +86 -14
  104. package/dist/generators/base-entity-changes/generator.js +24 -0
  105. package/dist/generators/base-workspaces/internal/deployments.js +2 -2
  106. package/dist/generators/base-workspaces/internal/docker-dependencies.js +2 -2
  107. package/dist/generators/bootstrap/generator.js +4 -5
  108. package/dist/generators/bootstrap/internal/transform-utils.js +4 -0
  109. package/dist/generators/bootstrap/support/eslint-transform.js +2 -1
  110. package/dist/generators/bootstrap/support/java-unused-imports-transform.js +2 -1
  111. package/dist/generators/bootstrap/support/prettier-worker.js +2 -4
  112. package/dist/generators/bootstrap-application/generator.js +3 -4
  113. package/dist/generators/bootstrap-application-base/generator.js +46 -6
  114. package/dist/generators/bootstrap-application-base/utils.js +3 -3
  115. package/dist/generators/bootstrap-application-client/generator.js +2 -3
  116. package/dist/generators/bootstrap-application-server/generator.js +22 -19
  117. package/dist/generators/bootstrap-workspaces/generator.js +1 -2
  118. package/dist/generators/ci-cd/command.js +1 -2
  119. package/dist/generators/ci-cd/generator.js +2 -7
  120. package/dist/generators/client/command.js +1 -2
  121. package/dist/generators/client/generator.js +11 -33
  122. package/dist/generators/client/needle-api/needle-client-vue.js +2 -2
  123. package/dist/generators/client/resources/package.json +6 -6
  124. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +2 -2
  125. package/dist/generators/common/command.js +13 -0
  126. package/dist/generators/common/generator.js +17 -8
  127. package/dist/generators/common/resources/package.json +1 -1
  128. package/dist/generators/cucumber/generator.js +17 -10
  129. package/dist/generators/cucumber/templates/buildSrc/src/main/groovy/jhipster.cucumber-conventions.gradle.ejs +1 -5
  130. package/dist/generators/cypress/generator.js +2 -3
  131. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/administration/administration.cy.ts.ejs +10 -0
  132. package/dist/generators/docker/generator.js +4 -6
  133. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +0 -32
  134. package/dist/generators/docker/utils.js +2 -3
  135. package/dist/generators/docker-compose/generator.js +5 -10
  136. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +0 -32
  137. package/dist/generators/entities/generator.js +4 -4
  138. package/dist/generators/entity/generator.js +10 -9
  139. package/dist/generators/entity/prompts.js +12 -12
  140. package/dist/generators/export-jdl/generator.js +0 -5
  141. package/dist/generators/feign-client/generator.js +3 -4
  142. package/dist/generators/gatling/generator.js +2 -3
  143. package/dist/generators/gatling/templates/buildSrc/src/main/groovy/jhipster.gatling-conventions.gradle.ejs +1 -1
  144. package/dist/generators/generate-blueprint/files.js +1 -0
  145. package/dist/generators/generate-blueprint/generator.js +3 -4
  146. package/dist/generators/generate-blueprint/resources/package.json +1 -1
  147. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +3 -2
  148. package/dist/generators/generate-blueprint/templates/generators/generator/command.mjs.ejs +19 -1
  149. package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +6 -0
  150. package/dist/generators/generator-constants.js +5 -2
  151. package/dist/generators/git/generator.js +3 -5
  152. package/dist/generators/gradle/command.js +32 -0
  153. package/dist/generators/gradle/constants.js +0 -1
  154. package/dist/generators/gradle/files.js +2 -8
  155. package/dist/generators/gradle/generator.js +85 -13
  156. package/dist/generators/gradle/generators/code-quality/generator.js +86 -0
  157. package/dist/generators/{java/cleanup.js → gradle/generators/code-quality/index.js} +1 -5
  158. package/dist/generators/gradle/generators/jib/generator.js +64 -0
  159. package/dist/generators/{app/prompts.js → gradle/generators/jib/index.js} +1 -15
  160. package/dist/generators/gradle/generators/node-gradle/generator.js +64 -0
  161. package/dist/generators/gradle/generators/node-gradle/index.js +19 -0
  162. package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +101 -0
  163. package/dist/generators/gradle/index.js +1 -0
  164. package/dist/generators/gradle/internal/needles.js +9 -3
  165. package/dist/generators/gradle/templates/buildSrc/build.gradle.ejs +3 -2
  166. package/dist/generators/gradle/templates/buildSrc/gradle/libs.versions.toml.ejs +8 -1
  167. package/dist/generators/gradle/templates/gradle/wrapper/{gradle-wrapper.properties.ejs → gradle-wrapper.properties} +1 -1
  168. package/dist/generators/heroku/generator.js +2 -7
  169. package/dist/generators/init/generator.js +3 -4
  170. package/dist/generators/init/resources/.node-version +1 -0
  171. package/dist/generators/java/command.js +2 -38
  172. package/dist/generators/java/generator.js +5 -260
  173. package/dist/generators/java/generators/bootstrap/command.js +35 -0
  174. package/dist/generators/java/generators/bootstrap/generator.js +178 -0
  175. package/dist/generators/java/generators/bootstrap/index.js +20 -0
  176. package/dist/generators/java/generators/build-tool/command.js +42 -0
  177. package/dist/generators/java/generators/build-tool/generator.js +143 -0
  178. package/dist/generators/java/generators/build-tool/index.js +20 -0
  179. package/dist/generators/java/generators/code-quality/command.js +5 -0
  180. package/dist/generators/java/generators/code-quality/generator.js +91 -0
  181. package/dist/generators/java/generators/code-quality/index.js +20 -0
  182. package/dist/generators/java/generators/domain/command.js +30 -0
  183. package/dist/generators/java/{entity-files.js → generators/domain/entity-files.js} +1 -1
  184. package/dist/generators/java/generators/domain/generator.js +169 -0
  185. package/dist/generators/java/generators/domain/index.js +20 -0
  186. package/dist/generators/java/generators/jib/command.js +5 -0
  187. package/dist/generators/java/generators/jib/generator.js +97 -0
  188. package/dist/generators/java/generators/jib/index.js +20 -0
  189. package/dist/generators/{server → java/generators/jib}/templates/src/main/docker/jib/entrypoint.sh.ejs +2 -0
  190. package/dist/generators/java/generators/node/command.js +5 -0
  191. package/dist/generators/java/generators/node/generator.js +97 -0
  192. package/dist/generators/java/generators/node/index.js +20 -0
  193. package/dist/generators/java/support/index.js +1 -0
  194. package/dist/generators/jdl/generator.js +6 -13
  195. package/dist/generators/kubernetes/generator.js +1 -6
  196. package/dist/generators/kubernetes/kubernetes-base.js +3 -3
  197. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +0 -32
  198. package/dist/generators/kubernetes-helm/generator.js +1 -6
  199. package/dist/generators/kubernetes-knative/generator.js +1 -6
  200. package/dist/generators/languages/entity-files.js +3 -2
  201. package/dist/generators/languages/files.js +2 -2
  202. package/dist/generators/languages/generator.js +6 -15
  203. package/dist/generators/languages/support/translate.js +34 -9
  204. package/dist/generators/languages/templates/src/main/webapp/i18n/al/home.json.ejs +19 -0
  205. package/dist/generators/languages/templates/src/main/webapp/i18n/ar-ly/home.json.ejs +19 -0
  206. package/dist/generators/languages/templates/src/main/webapp/i18n/az-Latn-az/home.json.ejs +19 -0
  207. package/dist/generators/languages/templates/src/main/webapp/i18n/bg/home.json.ejs +19 -0
  208. package/dist/generators/languages/templates/src/main/webapp/i18n/bn/home.json.ejs +19 -0
  209. package/dist/generators/languages/templates/src/main/webapp/i18n/by/home.json.ejs +19 -0
  210. package/dist/generators/languages/templates/src/main/webapp/i18n/ca/home.json.ejs +19 -0
  211. package/dist/generators/languages/templates/src/main/webapp/i18n/cs/home.json.ejs +19 -0
  212. package/dist/generators/languages/templates/src/main/webapp/i18n/da/home.json.ejs +19 -0
  213. package/dist/generators/languages/templates/src/main/webapp/i18n/de/global.json.ejs +2 -2
  214. package/dist/generators/languages/templates/src/main/webapp/i18n/de/home.json.ejs +19 -0
  215. package/dist/generators/languages/templates/src/main/webapp/i18n/el/home.json.ejs +19 -0
  216. package/dist/generators/languages/templates/src/main/webapp/i18n/en/home.json.ejs +19 -0
  217. package/dist/generators/languages/templates/src/main/webapp/i18n/es/home.json.ejs +19 -0
  218. package/dist/generators/languages/templates/src/main/webapp/i18n/et/home.json.ejs +19 -0
  219. package/dist/generators/languages/templates/src/main/webapp/i18n/fa/home.json.ejs +19 -0
  220. package/dist/generators/languages/templates/src/main/webapp/i18n/fi/home.json.ejs +19 -0
  221. package/dist/generators/languages/templates/src/main/webapp/i18n/fr/home.json.ejs +19 -0
  222. package/dist/generators/languages/templates/src/main/webapp/i18n/gl/home.json.ejs +19 -0
  223. package/dist/generators/languages/templates/src/main/webapp/i18n/hi/home.json.ejs +19 -0
  224. package/dist/generators/languages/templates/src/main/webapp/i18n/hr/home.json.ejs +19 -0
  225. package/dist/generators/languages/templates/src/main/webapp/i18n/hu/home.json.ejs +19 -0
  226. package/dist/generators/languages/templates/src/main/webapp/i18n/hy/home.json.ejs +19 -0
  227. package/dist/generators/languages/templates/src/main/webapp/i18n/id/home.json.ejs +19 -0
  228. package/dist/generators/languages/templates/src/main/webapp/i18n/it/home.json.ejs +19 -0
  229. package/dist/generators/languages/templates/src/main/webapp/i18n/ja/home.json.ejs +19 -0
  230. package/dist/generators/languages/templates/src/main/webapp/i18n/ko/home.json.ejs +19 -0
  231. package/dist/generators/languages/templates/src/main/webapp/i18n/kr-Latn-kr/home.json.ejs +19 -0
  232. package/dist/generators/languages/templates/src/main/webapp/i18n/mr/home.json.ejs +19 -0
  233. package/dist/generators/languages/templates/src/main/webapp/i18n/my/home.json.ejs +19 -0
  234. package/dist/generators/languages/templates/src/main/webapp/i18n/nl/home.json.ejs +19 -0
  235. package/dist/generators/languages/templates/src/main/webapp/i18n/pa/{home.json → home.json.ejs} +2 -2
  236. package/dist/generators/languages/templates/src/main/webapp/i18n/pl/home.json.ejs +19 -0
  237. package/dist/generators/languages/templates/src/main/webapp/i18n/pt-br/home.json.ejs +19 -0
  238. package/dist/generators/languages/templates/src/main/webapp/i18n/pt-pt/home.json.ejs +19 -0
  239. package/dist/generators/languages/templates/src/main/webapp/i18n/ro/home.json.ejs +19 -0
  240. package/dist/generators/languages/templates/src/main/webapp/i18n/ru/home.json.ejs +19 -0
  241. package/dist/generators/languages/templates/src/main/webapp/i18n/si/{home.json → home.json.ejs} +6 -6
  242. package/dist/generators/languages/templates/src/main/webapp/i18n/sk/home.json.ejs +19 -0
  243. package/dist/generators/languages/templates/src/main/webapp/i18n/sr/home.json.ejs +19 -0
  244. package/dist/generators/languages/templates/src/main/webapp/i18n/sv/home.json.ejs +19 -0
  245. package/dist/generators/languages/templates/src/main/webapp/i18n/ta/home.json.ejs +19 -0
  246. package/dist/generators/languages/templates/src/main/webapp/i18n/te/{home.json → home.json.ejs} +1 -1
  247. package/dist/generators/languages/templates/src/main/webapp/i18n/th/home.json.ejs +19 -0
  248. package/dist/generators/languages/templates/src/main/webapp/i18n/tr/home.json.ejs +19 -0
  249. package/dist/generators/languages/templates/src/main/webapp/i18n/ua/home.json.ejs +19 -0
  250. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/home.json.ejs +19 -0
  251. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/home.json.ejs +19 -0
  252. package/dist/generators/languages/templates/src/main/webapp/i18n/vi/home.json.ejs +19 -0
  253. package/dist/generators/languages/templates/src/main/webapp/i18n/zh-cn/home.json.ejs +19 -0
  254. package/dist/generators/languages/templates/src/main/webapp/i18n/zh-tw/home.json.ejs +19 -0
  255. package/dist/generators/languages/translation-data.js +4 -5
  256. package/dist/generators/liquibase/generator.js +126 -36
  257. package/dist/generators/liquibase/support/maven-plugin.js +6 -0
  258. package/dist/generators/liquibase/support/prepare-field.js +16 -1
  259. package/dist/generators/liquibase/support/relationship.js +1 -0
  260. package/dist/generators/liquibase/templates/gradle/liquibase.gradle.ejs +3 -6
  261. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +1 -1
  262. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +3 -3
  263. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +26 -1
  264. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +3 -3
  265. package/dist/generators/maven/generator.js +14 -6
  266. package/dist/generators/maven/generators/code-quality/command.js +5 -0
  267. package/dist/generators/maven/generators/code-quality/generator.js +268 -0
  268. package/dist/generators/maven/generators/code-quality/index.js +20 -0
  269. package/dist/generators/maven/generators/frontend-plugin/command.js +5 -0
  270. package/dist/generators/maven/generators/frontend-plugin/generator.js +295 -0
  271. package/dist/generators/maven/generators/frontend-plugin/index.js +20 -0
  272. package/dist/generators/maven/generators/jib/command.js +5 -0
  273. package/dist/generators/maven/generators/jib/generator.js +136 -0
  274. package/dist/generators/maven/generators/jib/index.js +20 -0
  275. package/dist/generators/maven/internal/xml-store.js +1 -2
  276. package/dist/generators/maven/support/dependabot-maven.js +12 -2
  277. package/dist/generators/maven/support/pom-store.js +1 -2
  278. package/dist/generators/project-name/generator.js +9 -11
  279. package/dist/generators/react/generator.js +25 -6
  280. package/dist/generators/react/needle-api/needle-client-react.js +2 -2
  281. package/dist/generators/react/resources/package.json +27 -24
  282. package/dist/generators/react/templates/package.json.ejs +1 -7
  283. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/tracker/tracker.tsx.ejs +2 -2
  284. package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +7 -7
  285. package/dist/generators/react/templates/webpack/webpack.microfrontend.js.jhi.react.ejs +0 -8
  286. package/dist/generators/server/command.js +2 -34
  287. package/dist/generators/server/generator.js +35 -204
  288. package/dist/generators/server/jdl/application-definition.js +1 -2
  289. package/dist/generators/server/resources/Dockerfile +13 -13
  290. package/dist/generators/server/resources/build.gradle +1 -0
  291. package/dist/generators/server/resources/gradle/libs.versions.toml +27 -9
  292. package/dist/generators/server/resources/pom.xml +9 -27
  293. package/dist/generators/server/support/prepare-field.js +8 -4
  294. package/dist/generators/server/support/prepare-relationship.js +7 -2
  295. package/dist/generators/server/templates/build.gradle.ejs +29 -143
  296. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +3 -3
  297. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +2 -2
  298. package/dist/generators/server/templates/gradle.properties.ejs +0 -7
  299. package/dist/generators/server/templates/pom.xml.ejs +23 -448
  300. package/dist/generators/server/templates/settings.gradle.ejs +0 -4
  301. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +71 -9
  302. package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_imperative.java.ejs +4 -1
  303. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +16 -5
  304. package/dist/generators/server/templates/src/main/resources/config/bootstrap.yml.ejs +1 -1
  305. package/dist/generators/server/templates/src/main/resources/static/index_microservices.html.ejs +8 -8
  306. package/dist/generators/server/templates/src/test/java/_package_/IntegrationTest.java.ejs +0 -2
  307. package/dist/generators/server/templates/src/test/java/_package_/config/TestContainersSpringContextCustomizerFactory.java.ejs +71 -46
  308. package/dist/generators/server/templates/src/test/java/_package_/security/jwt/AuthenticationIntegrationTest.java.ejs +0 -3
  309. package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +1 -1
  310. package/dist/generators/spring-boot/cleanup.js +3 -0
  311. package/dist/generators/spring-boot/command.js +40 -2
  312. package/dist/generators/spring-boot/entity-files.js +2 -2
  313. package/dist/generators/spring-boot/files.js +3 -43
  314. package/dist/generators/spring-boot/generator.js +115 -37
  315. package/dist/generators/{server → spring-boot}/prompts.js +6 -48
  316. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +125 -125
  317. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +2 -2
  318. package/dist/generators/spring-cache/generator.js +11 -6
  319. package/dist/generators/spring-cache/internal/dependencies.js +5 -0
  320. package/dist/generators/spring-cache/resources/build.gradle +1 -0
  321. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +15 -0
  322. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +4 -0
  323. package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainersSpringContextCustomizerFactory.java.ejs +29 -13
  324. package/dist/generators/spring-cloud/generators/gateway/command.js +5 -0
  325. package/dist/generators/spring-cloud/generators/gateway/generator.js +146 -0
  326. package/dist/generators/spring-cloud/generators/gateway/index.js +20 -0
  327. package/dist/generators/spring-cloud-stream/generator.js +2 -3
  328. package/dist/generators/spring-cloud-stream/generators/kafka/generator.js +2 -2
  329. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/config/KafkaTestContainersSpringContextCustomizerFactory.java.ejs +28 -12
  330. package/dist/generators/spring-cloud-stream/generators/pulsar/generator.js +2 -2
  331. package/dist/generators/spring-cloud-stream/generators/pulsar/templates/src/test/java/_package_/config/PulsarTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
  332. package/dist/generators/spring-data-cassandra/generator.js +5 -6
  333. package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
  334. package/dist/generators/spring-data-couchbase/generator.js +3 -4
  335. package/dist/generators/spring-data-elasticsearch/generator.js +3 -5
  336. package/dist/generators/spring-data-mongodb/generator.js +5 -5
  337. package/dist/generators/spring-data-neo4j/generator.js +11 -5
  338. package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainersSpringContextCustomizerFactory.java.ejs +32 -16
  339. package/dist/generators/spring-data-relational/generator.js +6 -7
  340. package/dist/generators/spring-data-relational/support/h2-reserved-keywords.js +22 -0
  341. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +47 -32
  342. package/dist/generators/spring-websocket/generator.js +2 -3
  343. package/dist/generators/upgrade/generator.js +4 -7
  344. package/dist/generators/vue/generator.js +4 -4
  345. package/dist/generators/vue/resources/package.json +24 -21
  346. package/dist/generators/vue/templates/package.json.ejs +3 -3
  347. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.spec.ts.ejs +1 -1
  348. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +1 -1
  349. package/dist/generators/vue/templates/src/main/webapp/app/account/change-password/change-password.vue.ejs +1 -1
  350. package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.vue.ejs +1 -1
  351. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.vue.ejs +1 -1
  352. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.vue.ejs +1 -1
  353. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/init/reset-password-init.vue.ejs +1 -1
  354. package/dist/generators/vue/templates/src/main/webapp/app/account/settings/settings.vue.ejs +1 -1
  355. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +3 -3
  356. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.vue.ejs +2 -2
  357. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-edit.vue.ejs +1 -1
  358. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.vue.ejs +7 -7
  359. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +1 -1
  360. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +4 -3
  361. package/dist/generators/vue/templates/vite.config.mts.ejs +6 -0
  362. package/dist/generators/vue/templates/vitest.config.mts.ejs +1 -1
  363. package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +0 -9
  364. package/dist/generators/workspaces/generator.js +5 -4
  365. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +2 -2
  366. package/dist/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +3 -3
  367. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +2 -2
  368. package/dist/jdl/jdl-importer.js +1 -2
  369. package/dist/jdl/jhipster/default-application-options.js +1 -1
  370. package/dist/jdl/jhipster/field-types.js +2 -2
  371. package/dist/jdl/jhipster/relationship-types.js +1 -2
  372. package/dist/jdl/models/jdl-deployment.js +1 -2
  373. package/dist/jdl/parsing/api.js +2 -2
  374. package/dist/jdl/parsing/lexer/token-creator.js +1 -2
  375. package/dist/jdl/parsing/self-checks/parsing-system-checker.js +13 -13
  376. package/dist/jdl/parsing/validator.js +5 -5
  377. package/dist/testing/get-generator.js +1 -1
  378. package/dist/testing/helpers.js +34 -9
  379. package/dist/types/generators/angular/support/index.d.ts +0 -1
  380. package/dist/types/generators/angular/support/translate-angular.d.ts +7 -4
  381. package/dist/types/generators/app/support/config.d.ts +1 -1
  382. package/dist/types/generators/base/api.d.ts +8 -1
  383. package/dist/types/generators/base/generator.d.ts +1 -1
  384. package/dist/types/generators/base-application/generator.d.ts +4 -4
  385. package/dist/types/generators/base-application/support/task-type-inference.d.ts +3 -0
  386. package/dist/types/generators/base-application/support/update-application-entities-transform.d.ts +1 -1
  387. package/dist/types/generators/base-application/types.d.ts +15 -0
  388. package/dist/types/generators/base-core/generator.d.ts +33 -1
  389. package/dist/types/generators/base-entity-changes/types.d.ts +2 -0
  390. package/dist/types/generators/bootstrap/internal/transform-utils.d.ts +1 -0
  391. package/dist/types/generators/bootstrap/support/java-unused-imports-transform.d.ts +1 -1
  392. package/dist/types/generators/bootstrap-application-base/support/export-jdl-transform.d.ts +2 -2
  393. package/dist/types/generators/docker/utils.d.ts +7 -0
  394. package/dist/types/generators/generator-constants.d.ts +2 -20
  395. package/dist/types/generators/gradle/types.d.ts +21 -7
  396. package/dist/types/generators/java/support/index.d.ts +1 -0
  397. package/dist/types/generators/java/types.d.ts +37 -22
  398. package/dist/types/generators/languages/support/translate.d.ts +29 -0
  399. package/dist/types/generators/maven/support/dependabot-maven.d.ts +17 -1
  400. package/dist/types/generators/project-name/support/name-resolver.d.ts +1 -1
  401. package/dist/types/generators/server/types.d.ts +2 -0
  402. package/dist/types/generators/spring-data-relational/support/h2-reserved-keywords.d.ts +20 -0
  403. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +0 -18
  404. package/dist/types/testing/helpers.d.ts +6 -0
  405. package/dist/types/testing/support/matrix-utils.d.ts +1 -1
  406. package/package.json +19 -32
  407. package/dist/generators/java/files.js +0 -20
  408. package/dist/generators/languages/templates/src/main/webapp/i18n/al/home.json +0 -19
  409. package/dist/generators/languages/templates/src/main/webapp/i18n/ar-ly/home.json +0 -19
  410. package/dist/generators/languages/templates/src/main/webapp/i18n/az-Latn-az/home.json +0 -19
  411. package/dist/generators/languages/templates/src/main/webapp/i18n/bg/home.json +0 -19
  412. package/dist/generators/languages/templates/src/main/webapp/i18n/bn/home.json +0 -19
  413. package/dist/generators/languages/templates/src/main/webapp/i18n/by/home.json +0 -19
  414. package/dist/generators/languages/templates/src/main/webapp/i18n/ca/home.json +0 -19
  415. package/dist/generators/languages/templates/src/main/webapp/i18n/cs/home.json +0 -19
  416. package/dist/generators/languages/templates/src/main/webapp/i18n/da/home.json +0 -19
  417. package/dist/generators/languages/templates/src/main/webapp/i18n/de/home.json +0 -19
  418. package/dist/generators/languages/templates/src/main/webapp/i18n/el/home.json +0 -19
  419. package/dist/generators/languages/templates/src/main/webapp/i18n/en/home.json +0 -19
  420. package/dist/generators/languages/templates/src/main/webapp/i18n/es/home.json +0 -19
  421. package/dist/generators/languages/templates/src/main/webapp/i18n/et/home.json +0 -19
  422. package/dist/generators/languages/templates/src/main/webapp/i18n/fa/home.json +0 -19
  423. package/dist/generators/languages/templates/src/main/webapp/i18n/fi/home.json +0 -19
  424. package/dist/generators/languages/templates/src/main/webapp/i18n/fr/home.json +0 -19
  425. package/dist/generators/languages/templates/src/main/webapp/i18n/gl/home.json +0 -19
  426. package/dist/generators/languages/templates/src/main/webapp/i18n/hi/home.json +0 -19
  427. package/dist/generators/languages/templates/src/main/webapp/i18n/hr/home.json +0 -19
  428. package/dist/generators/languages/templates/src/main/webapp/i18n/hu/home.json +0 -19
  429. package/dist/generators/languages/templates/src/main/webapp/i18n/hy/home.json +0 -19
  430. package/dist/generators/languages/templates/src/main/webapp/i18n/id/home.json +0 -19
  431. package/dist/generators/languages/templates/src/main/webapp/i18n/it/home.json +0 -19
  432. package/dist/generators/languages/templates/src/main/webapp/i18n/ja/home.json +0 -19
  433. package/dist/generators/languages/templates/src/main/webapp/i18n/ko/home.json +0 -19
  434. package/dist/generators/languages/templates/src/main/webapp/i18n/kr-Latn-kr/home.json +0 -19
  435. package/dist/generators/languages/templates/src/main/webapp/i18n/mr/home.json +0 -19
  436. package/dist/generators/languages/templates/src/main/webapp/i18n/my/home.json +0 -19
  437. package/dist/generators/languages/templates/src/main/webapp/i18n/nl/home.json +0 -19
  438. package/dist/generators/languages/templates/src/main/webapp/i18n/pl/home.json +0 -19
  439. package/dist/generators/languages/templates/src/main/webapp/i18n/pt-br/home.json +0 -19
  440. package/dist/generators/languages/templates/src/main/webapp/i18n/pt-pt/home.json +0 -19
  441. package/dist/generators/languages/templates/src/main/webapp/i18n/ro/home.json +0 -19
  442. package/dist/generators/languages/templates/src/main/webapp/i18n/ru/home.json +0 -19
  443. package/dist/generators/languages/templates/src/main/webapp/i18n/sk/home.json +0 -19
  444. package/dist/generators/languages/templates/src/main/webapp/i18n/sr/home.json +0 -19
  445. package/dist/generators/languages/templates/src/main/webapp/i18n/sv/home.json +0 -19
  446. package/dist/generators/languages/templates/src/main/webapp/i18n/ta/home.json +0 -19
  447. package/dist/generators/languages/templates/src/main/webapp/i18n/th/home.json +0 -19
  448. package/dist/generators/languages/templates/src/main/webapp/i18n/tr/home.json +0 -19
  449. package/dist/generators/languages/templates/src/main/webapp/i18n/ua/home.json +0 -19
  450. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/global.json +0 -148
  451. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/home.json +0 -19
  452. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/home.json +0 -19
  453. package/dist/generators/languages/templates/src/main/webapp/i18n/vi/home.json +0 -19
  454. package/dist/generators/languages/templates/src/main/webapp/i18n/zh-cn/home.json +0 -19
  455. package/dist/generators/languages/templates/src/main/webapp/i18n/zh-tw/home.json +0 -19
  456. package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_imperative.java.ejs +0 -43
  457. package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_reactive.java.ejs +0 -184
  458. package/dist/generators/statistics.js +0 -223
  459. /package/dist/generators/{server → gradle/generators/code-quality}/templates/buildSrc/src/main/groovy/jhipster.code-quality-conventions.gradle.ejs +0 -0
  460. /package/dist/generators/{server → gradle/generators/jib}/templates/buildSrc/src/main/groovy/jhipster.docker-conventions.gradle.ejs +0 -0
  461. /package/dist/generators/java/{templates → generators/bootstrap/templates}/src/main/java/_package_/GeneratedByJHipster.java.ejs +0 -0
  462. /package/dist/generators/{server → java/generators/code-quality}/templates/checkstyle.xml.ejs +0 -0
  463. /package/dist/generators/java/{templates → generators/domain/templates}/_global_partials_entity_/field_validators.ejs +0 -0
  464. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +0 -0
  465. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jackson_identity_info.ejs +0 -0
  466. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_validation.ejs +0 -0
  467. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/enumeration/_enumName_.java.ejs +0 -0
  468. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +0 -0
  469. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +0 -0
  470. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_TestSamples.java.ejs +0 -0
  471. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/domain/AssertUtils.java.ejs +0 -0
  472. /package/dist/generators/{server → java/generators/node}/templates/npmw +0 -0
  473. /package/dist/generators/{server → java/generators/node}/templates/npmw.cmd +0 -0
  474. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/security/jwt/JWTRelayGatewayFilterFactory.java.ejs +0 -0
  475. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/filter/ModifyServersOpenApiFilter.java.ejs +0 -0
  476. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/GatewayResource.java.ejs +0 -0
  477. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/vm/RouteVM.java.ejs +0 -0
  478. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/test/java/_package_/web/filter/ModifyServersOpenApiFilterTest.java.ejs +0 -0
@@ -18,18 +18,19 @@
18
18
  */
19
19
  import os from 'node:os';
20
20
  import chalk from 'chalk';
21
- import { kebabCase, sortedUniqBy } from 'lodash-es';
21
+ import { sortedUniqBy } from 'lodash-es';
22
22
  import BaseApplicationGenerator from '../base-application/index.js';
23
- import { GENERATOR_SERVER, GENERATOR_SPRING_CACHE, GENERATOR_SPRING_CLOUD_STREAM, GENERATOR_SPRING_DATA_CASSANDRA, GENERATOR_SPRING_DATA_COUCHBASE, GENERATOR_SPRING_DATA_ELASTICSEARCH, GENERATOR_SPRING_DATA_MONGODB, GENERATOR_SPRING_DATA_NEO4J, GENERATOR_SPRING_DATA_RELATIONAL, GENERATOR_SPRING_WEBSOCKET, } from '../generator-list.js';
23
+ import { GENERATOR_CUCUMBER, GENERATOR_DOCKER, GENERATOR_FEIGN_CLIENT, GENERATOR_GATLING, GENERATOR_LANGUAGES, GENERATOR_SERVER, GENERATOR_SPRING_CACHE, GENERATOR_SPRING_CLOUD_STREAM, GENERATOR_SPRING_DATA_CASSANDRA, GENERATOR_SPRING_DATA_COUCHBASE, GENERATOR_SPRING_DATA_ELASTICSEARCH, GENERATOR_SPRING_DATA_MONGODB, GENERATOR_SPRING_DATA_NEO4J, GENERATOR_SPRING_DATA_RELATIONAL, GENERATOR_SPRING_WEBSOCKET, } from '../generator-list.js';
24
24
  import { serverFiles } from './files.js';
25
25
  import cleanupTask from './cleanup.js';
26
26
  import { ADD_SPRING_MILESTONE_REPOSITORY } from '../generator-constants.js';
27
27
  import { addSpringFactory, getJavaValueGeneratorForType, getPrimaryKeyValue, getSpecificationBuildForType, insertContentIntoApplicationProperties, javaBeanCase, } from '../server/support/index.js';
28
28
  import { addJavaAnnotation, generateKeyStore } from '../java/support/index.js';
29
29
  import { createNeedleCallback, mutateData } from '../base/support/index.js';
30
- import { APPLICATION_TYPE_MICROSERVICE, applicationTypes, cacheTypes, databaseTypes, fieldTypes, messageBrokerTypes, searchEngineTypes, websocketTypes, } from '../../jdl/index.js';
30
+ import { APPLICATION_TYPE_MICROSERVICE, applicationTypes, cacheTypes, databaseTypes, fieldTypes, messageBrokerTypes, searchEngineTypes, testFrameworkTypes, websocketTypes, } from '../../jdl/index.js';
31
31
  import { writeFiles as writeEntityFiles } from './entity-files.js';
32
- import { getPomVersionProperties } from '../maven/support/index.js';
32
+ import { getPomVersionProperties, parseMavenPom } from '../maven/support/index.js';
33
+ import { askForOptionalItems, askForServerSideOpts, askForServerTestOpts } from './prompts.js';
33
34
  const { CAFFEINE, EHCACHE, HAZELCAST, INFINISPAN, MEMCACHED, REDIS, NO: NO_CACHE } = cacheTypes;
34
35
  const { NO: NO_WEBSOCKET, SPRING_WEBSOCKET } = websocketTypes;
35
36
  const { CASSANDRA, COUCHBASE, MONGODB, NEO4J, SQL } = databaseTypes;
@@ -37,6 +38,7 @@ const { MICROSERVICE, GATEWAY } = applicationTypes;
37
38
  const { KAFKA, PULSAR } = messageBrokerTypes;
38
39
  const { ELASTICSEARCH } = searchEngineTypes;
39
40
  const { BYTES: TYPE_BYTES, BYTE_BUFFER: TYPE_BYTE_BUFFER } = fieldTypes.RelationalOnlyDBTypes;
41
+ const { CUCUMBER, GATLING } = testFrameworkTypes;
40
42
  export default class SpringBootGenerator extends BaseApplicationGenerator {
41
43
  fakeKeytool;
42
44
  async beforeQueue() {
@@ -45,6 +47,8 @@ export default class SpringBootGenerator extends BaseApplicationGenerator {
45
47
  }
46
48
  if (!this.delegateToBlueprint) {
47
49
  await this.dependsOnJHipster(GENERATOR_SERVER);
50
+ await this.dependsOnJHipster('jhipster:java:domain');
51
+ await this.dependsOnJHipster('jhipster:java:build-tool');
48
52
  }
49
53
  }
50
54
  get initializing() {
@@ -57,30 +61,29 @@ export default class SpringBootGenerator extends BaseApplicationGenerator {
57
61
  get [BaseApplicationGenerator.INITIALIZING]() {
58
62
  return this.delegateTasksToBlueprint(() => this.initializing);
59
63
  }
64
+ get prompting() {
65
+ return this.asPromptingTaskGroup({
66
+ async promptCommand({ control }) {
67
+ if (control.existingProject && this.options.askAnswered !== true)
68
+ return;
69
+ await this.promptCurrentJHipsterCommand();
70
+ },
71
+ askForServerTestOpts,
72
+ askForServerSideOpts,
73
+ askForOptionalItems,
74
+ });
75
+ }
76
+ get [BaseApplicationGenerator.PROMPTING]() {
77
+ return this.delegateTasksToBlueprint(() => this.prompting);
78
+ }
60
79
  get configuring() {
61
80
  return this.asConfiguringTaskGroup({
62
- forceReactiveGateway() {
63
- if (this.jhipsterConfig.applicationType === GATEWAY) {
64
- if (this.jhipsterConfig.reactive !== undefined && !this.jhipsterConfig.reactive) {
65
- this.log.warn('Non reactive gateway is not supported. Switching to reactive.');
66
- }
67
- this.jhipsterConfig.reactive = true;
68
- }
69
- },
70
81
  checks() {
71
82
  const config = this.jhipsterConfigWithDefaults;
72
83
  if (config.enableHibernateCache && [NO_CACHE, MEMCACHED].includes(config.cacheProvider)) {
73
84
  this.log.verboseInfo(`Disabling hibernate cache for cache provider ${config.cacheProvider}`);
74
85
  this.jhipsterConfig.enableHibernateCache = false;
75
86
  }
76
- if (config.websocket && config.websocket !== NO_WEBSOCKET) {
77
- if (config.reactive) {
78
- throw new Error('Spring Websocket is not supported with reactive applications.');
79
- }
80
- if (config.applicationType === MICROSERVICE) {
81
- throw new Error('Spring Websocket is not supported with microservice applications.');
82
- }
83
- }
84
87
  },
85
88
  feignMigration() {
86
89
  const { reactive, applicationType, feignClient } = this.jhipsterConfigWithDefaults;
@@ -107,7 +110,28 @@ export default class SpringBootGenerator extends BaseApplicationGenerator {
107
110
  get composing() {
108
111
  return this.asComposingTaskGroup({
109
112
  async composing() {
110
- const { databaseType, messageBroker, searchEngine, websocket, cacheProvider } = this.jhipsterConfigWithDefaults;
113
+ const { applicationType, databaseType, messageBroker, searchEngine, websocket, cacheProvider, skipClient, clientFramework, enableTranslation, testFrameworks, feignClient, } = this.jhipsterConfigWithDefaults;
114
+ await this.composeWithJHipster(GENERATOR_DOCKER);
115
+ await this.composeWithJHipster('jhipster:java:jib');
116
+ await this.composeWithJHipster('jhipster:java:code-quality');
117
+ if (!skipClient && clientFramework !== 'no') {
118
+ await this.composeWithJHipster('jhipster:java:node');
119
+ }
120
+ if (applicationType === GATEWAY) {
121
+ await this.composeWithJHipster('jhipster:spring-cloud:gateway');
122
+ }
123
+ if (enableTranslation) {
124
+ await this.composeWithJHipster(GENERATOR_LANGUAGES);
125
+ }
126
+ if (testFrameworks?.includes(CUCUMBER)) {
127
+ await this.composeWithJHipster(GENERATOR_CUCUMBER);
128
+ }
129
+ if (testFrameworks?.includes(GATLING)) {
130
+ await this.composeWithJHipster(GENERATOR_GATLING);
131
+ }
132
+ if (feignClient) {
133
+ await this.composeWithJHipster(GENERATOR_FEIGN_CLIENT);
134
+ }
111
135
  if (databaseType === SQL) {
112
136
  await this.composeWithJHipster(GENERATOR_SPRING_DATA_RELATIONAL);
113
137
  }
@@ -143,19 +167,36 @@ export default class SpringBootGenerator extends BaseApplicationGenerator {
143
167
  }
144
168
  get preparing() {
145
169
  return this.asPreparingTaskGroup({
170
+ async loadCommand({ application }) {
171
+ await this.loadCurrentJHipsterCommandConfig(application);
172
+ },
173
+ checksWebsocket({ application }) {
174
+ const { websocket } = application;
175
+ if (websocket && websocket !== NO_WEBSOCKET) {
176
+ if (application.reactive) {
177
+ throw new Error('Spring Websocket is not supported with reactive applications.');
178
+ }
179
+ if (application.applicationType === MICROSERVICE) {
180
+ throw new Error('Spring Websocket is not supported with microservice applications.');
181
+ }
182
+ }
183
+ },
146
184
  loadSpringBootBom({ application }) {
147
- const pomFile = this.readTemplate(this.jhipsterTemplatePath('../resources/spring-boot-dependencies.pom'))?.toString();
148
185
  if (this.useVersionPlaceholders) {
149
- application.javaDependencies['spring-boot'] = "'SPRING-BOOT-VERSION'";
150
- application.springBootDependencies = {};
186
+ application.springBootDependencies = {
187
+ 'spring-boot-dependencies': "'SPRING-BOOT-VERSION'",
188
+ };
151
189
  }
152
190
  else {
153
- application.springBootDependencies = this.prepareDependencies(getPomVersionProperties(pomFile), value => `'${kebabCase(value).toUpperCase()}-VERSION'`);
191
+ const pomFile = this.readTemplate(this.jhipsterTemplatePath('../resources/spring-boot-dependencies.pom')).toString();
192
+ const pom = parseMavenPom(pomFile);
193
+ application.springBootDependencies = this.prepareDependencies(getPomVersionProperties(pom), 'java');
154
194
  application.javaDependencies['spring-boot'] = application.springBootDependencies['spring-boot-dependencies'];
195
+ Object.assign(application.javaManagedProperties, pom.project.properties);
155
196
  }
156
197
  },
157
198
  prepareForTemplates({ application }) {
158
- const SPRING_BOOT_VERSION = application.javaDependencies['spring-boot'];
199
+ const SPRING_BOOT_VERSION = application.springBootDependencies['spring-boot-dependencies'];
159
200
  application.addSpringMilestoneRepository =
160
201
  (application.backendType ?? 'Java') === 'Java' &&
161
202
  (ADD_SPRING_MILESTONE_REPOSITORY || SPRING_BOOT_VERSION.includes('M') || SPRING_BOOT_VERSION.includes('RC'));
@@ -250,6 +291,16 @@ public void set${javaBeanCase(propertyName)}(${propertyType} ${propertyName}) {
250
291
  }
251
292
  get preparingEachEntityRelationship() {
252
293
  return this.asPreparingEachEntityRelationshipTaskGroup({
294
+ checkUserRelationships({ entity, entityName, relationship }) {
295
+ if (!entity.dtoMapstruct && relationship.otherEntity.builtInUser) {
296
+ this.log.warn(`Entity ${entityName} doesn't use DTO. You should check for User data leakage through ${relationship.relationshipName} relationship.`);
297
+ }
298
+ },
299
+ checkDtoRelationships({ entity, entityName, relationship }) {
300
+ if (entity.dto !== relationship.otherEntity.dto) {
301
+ this.log.warn(`Relationship between entities with different DTO configurations can cause unexpected results. Check ${relationship.relationshipName} in the ${entityName} entity.`);
302
+ }
303
+ },
253
304
  prepareEntity({ relationship }) {
254
305
  if (relationship.otherEntity.embedded)
255
306
  return;
@@ -300,7 +351,7 @@ public void set${javaBeanCase(propertyName)}(${propertyType} ${propertyName}) {
300
351
  async writeFiles({ application }) {
301
352
  return this.writeFiles({
302
353
  sections: serverFiles,
303
- rootTemplatesPath: ['', '../../server/templates/', '../../java/templates/'],
354
+ rootTemplatesPath: ['', '../../server/templates/', '../../java/generators/domain/templates/'],
304
355
  context: application,
305
356
  });
306
357
  },
@@ -329,20 +380,47 @@ public void set${javaBeanCase(propertyName)}(${propertyType} ${propertyName}) {
329
380
  get postWriting() {
330
381
  return this.asPostWritingTaskGroup({
331
382
  addJHipsterBomDependencies({ application, source }) {
383
+ const { applicationTypeGateway, applicationTypeMicroservice, javaDependencies, jhipsterDependenciesVersion, messageBrokerAny } = application;
384
+ const { serviceDiscoveryAny } = application;
385
+ if (application.buildToolMaven) {
386
+ source.addMavenProperty?.({
387
+ property: 'spring-boot.version',
388
+ // eslint-disable-next-line no-template-curly-in-string
389
+ value: '${project.parent.version}',
390
+ });
391
+ }
332
392
  source.addJavaDependencies?.([
333
- {
334
- groupId: 'tech.jhipster',
335
- artifactId: 'jhipster-dependencies',
336
- version: application.jhipsterDependenciesVersion,
337
- type: 'pom',
338
- scope: 'import',
339
- },
340
- { groupId: 'tech.jhipster', artifactId: 'jhipster-framework' },
393
+ { groupId: 'tech.jhipster', artifactId: 'jhipster-framework', version: jhipsterDependenciesVersion },
341
394
  ]);
395
+ if (applicationTypeGateway || applicationTypeMicroservice || serviceDiscoveryAny || messageBrokerAny) {
396
+ source.addJavaDependencies?.([
397
+ {
398
+ groupId: 'org.springframework.cloud',
399
+ artifactId: 'spring-cloud-dependencies',
400
+ type: 'pom',
401
+ scope: 'import',
402
+ version: javaDependencies['spring-cloud-dependencies'],
403
+ },
404
+ ]);
405
+ }
342
406
  },
343
407
  addSpringdoc({ application, source }) {
344
408
  const springdocDependency = `springdoc-openapi-starter-${application.reactive ? 'webflux' : 'webmvc'}-api`;
345
- source.addJavaDependencies?.([{ groupId: 'org.springdoc', artifactId: springdocDependency }]);
409
+ source.addJavaDependencies?.([
410
+ { groupId: 'org.springdoc', artifactId: springdocDependency, version: application.javaDependencies.springdoc },
411
+ ]);
412
+ },
413
+ addFeignReactor({ application, source }) {
414
+ const { applicationTypeGateway, applicationTypeMicroservice, javaDependencies, reactive } = application;
415
+ if ((applicationTypeMicroservice || applicationTypeGateway) && reactive) {
416
+ const groupId = 'com.playtika.reactivefeign';
417
+ source.addJavaDependencies?.([
418
+ { groupId, artifactId: 'feign-reactor-bom', type: 'pom', scope: 'import', version: javaDependencies['feign-reactor-bom'] },
419
+ { groupId, artifactId: 'feign-reactor-cloud' },
420
+ { groupId, artifactId: 'feign-reactor-spring-configuration' },
421
+ { groupId, artifactId: 'feign-reactor-webclient' },
422
+ ]);
423
+ }
346
424
  },
347
425
  addSpringSnapshotRepository({ application, source }) {
348
426
  if (application.buildToolMaven) {
@@ -403,7 +481,7 @@ public void set${javaBeanCase(propertyName)}(${propertyType} ${propertyName}) {
403
481
  });
404
482
  }
405
483
  get [BaseApplicationGenerator.END]() {
406
- return this.asEndTaskGroup(this.delegateTasksToBlueprint(() => this.end));
484
+ return this.delegateTasksToBlueprint(() => this.end);
407
485
  }
408
486
  /**
409
487
  * @private
@@ -17,23 +17,21 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import chalk from 'chalk';
20
- import * as _ from 'lodash-es';
21
- import { applicationOptions, applicationTypes, authenticationTypes, buildToolTypes, databaseTypes, cacheTypes, serviceDiscoveryTypes, testFrameworkTypes, } from '../../jdl/jhipster/index.js';
22
- import { MESSAGE_BROKER } from './options/index.js';
23
- import { R2DBC_DB_OPTIONS, SQL_DB_OPTIONS } from './support/database.js';
20
+ import { includes, intersection } from 'lodash-es';
21
+ import { applicationOptions, applicationTypes, authenticationTypes, databaseTypes, cacheTypes, serviceDiscoveryTypes, testFrameworkTypes, } from '../../jdl/jhipster/index.js';
22
+ import { MESSAGE_BROKER } from '../server/options/index.js';
23
+ import { R2DBC_DB_OPTIONS, SQL_DB_OPTIONS } from '../server/support/database.js';
24
24
  const { OptionNames } = applicationOptions;
25
25
  const { GATEWAY, MICROSERVICE, MONOLITH } = applicationTypes;
26
26
  const { CAFFEINE, EHCACHE, HAZELCAST, INFINISPAN, MEMCACHED, REDIS } = cacheTypes;
27
27
  const { JWT, OAUTH2, SESSION } = authenticationTypes;
28
- const { GRADLE, MAVEN } = buildToolTypes;
29
28
  const { CASSANDRA, H2_DISK, H2_MEMORY, MONGODB, NEO4J, SQL, COUCHBASE } = databaseTypes;
30
29
  const { CONSUL, EUREKA } = serviceDiscoveryTypes;
31
- const { AUTHENTICATION_TYPE, BUILD_TOOL, CACHE_PROVIDER, DATABASE_TYPE, PACKAGE_NAME, DEV_DATABASE_TYPE, PROD_DATABASE_TYPE, REACTIVE, SERVER_PORT, SERVICE_DISCOVERY_TYPE, WEBSOCKET, SEARCH_ENGINE, ENABLE_SWAGGER_CODEGEN, } = OptionNames;
30
+ const { AUTHENTICATION_TYPE, CACHE_PROVIDER, DATABASE_TYPE, DEV_DATABASE_TYPE, PROD_DATABASE_TYPE, REACTIVE, SERVER_PORT, SERVICE_DISCOVERY_TYPE, WEBSOCKET, SEARCH_ENGINE, ENABLE_SWAGGER_CODEGEN, } = OptionNames;
32
31
  const NO_SERVICE_DISCOVERY = serviceDiscoveryTypes.NO;
33
32
  const NO_DATABASE = databaseTypes.NO;
34
33
  const NO_CACHE_PROVIDER = cacheTypes.NO;
35
34
  const { GATLING, CUCUMBER } = testFrameworkTypes;
36
- const { intersection } = _;
37
35
  /**
38
36
  * Get Option From Array
39
37
  *
@@ -44,7 +42,7 @@ const { intersection } = _;
44
42
  const getOptionFromArray = (array, option) => {
45
43
  let optionValue = false;
46
44
  array.forEach(value => {
47
- if (_.includes(value, option)) {
45
+ if (includes(value, option)) {
48
46
  optionValue = value.split(':')[1];
49
47
  }
50
48
  });
@@ -71,16 +69,6 @@ export async function askForServerSideOpts({ control }) {
71
69
  message: 'As you are running in a microservice architecture, on which port would like your server to run? It should be unique to avoid port conflicts.',
72
70
  default: defaultServerPort,
73
71
  },
74
- {
75
- type: 'input',
76
- name: PACKAGE_NAME,
77
- validate: input => /^([a-z_]{1}[a-z0-9_]*(\.[a-z_]{1}[a-z0-9_]*)*)$/.test(input)
78
- ? true
79
- : 'The package name you have provided is not a valid Java package name.',
80
- message: 'What is your default Java package name?',
81
- default: this.jhipsterConfigWithDefaults.packageName,
82
- store: true,
83
- },
84
72
  {
85
73
  when: () => applicationType === 'gateway' || applicationType === 'microservice',
86
74
  type: 'list',
@@ -243,36 +231,6 @@ export async function askForServerSideOpts({ control }) {
243
231
  message: 'Do you want to use Hibernate 2nd level cache?',
244
232
  default: this.jhipsterConfigWithDefaults.enableHibernateCache,
245
233
  },
246
- {
247
- type: 'list',
248
- name: BUILD_TOOL,
249
- message: 'Would you like to use Maven or Gradle for building the backend?',
250
- choices: [
251
- {
252
- value: MAVEN,
253
- name: 'Maven',
254
- },
255
- {
256
- value: GRADLE,
257
- name: 'Gradle',
258
- },
259
- ],
260
- default: this.jhipsterConfigWithDefaults.buildTool,
261
- },
262
- {
263
- when: answers => answers.buildTool === GRADLE && this.experimental,
264
- type: 'confirm',
265
- name: 'enableGradleEnterprise',
266
- message: 'Do you want to enable Gradle Enterprise integration?',
267
- default: this.jhipsterConfigWithDefaults.enableGradleEnterprise,
268
- },
269
- {
270
- when: answers => answers.enableGradleEnterprise,
271
- type: 'input',
272
- name: 'gradleEnterpriseHost',
273
- message: 'Enter your Gradle Enterprise host',
274
- validate: input => (input.length === 0 ? 'Please enter your Gradle Enterprise host' : true),
275
- },
276
234
  ];
277
235
  await this.prompt(prompts, this.config);
278
236
  }