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
@@ -21,7 +21,7 @@ import { existsSync, readFileSync } from 'fs';
21
21
  import path, { dirname, resolve } from 'path';
22
22
  import { fileURLToPath, pathToFileURL } from 'url';
23
23
  import chalk from 'chalk';
24
- import * as _ from 'lodash-es';
24
+ import { cloneDeep, mergeWith } from 'lodash-es';
25
25
  import Environment from 'yeoman-environment';
26
26
  import { QueuedAdapter } from '@yeoman/adapter';
27
27
  import { CLI_NAME, logger } from './utils.mjs';
@@ -366,7 +366,7 @@ export default class EnvironmentBuilder {
366
366
  const blueprintCommandsUrl = pathToFileURL(resolve(`${blueprintCommandFile}${blueprintCommandExtension}`));
367
367
  try {
368
368
  blueprintCommand = (await import(blueprintCommandsUrl)).default;
369
- const blueprintCommands = _.cloneDeep(blueprintCommand);
369
+ const blueprintCommands = cloneDeep(blueprintCommand);
370
370
  Object.entries(blueprintCommands).forEach(([_command, commandSpec]) => {
371
371
  commandSpec.blueprint = commandSpec.blueprint || blueprint;
372
372
  });
@@ -437,7 +437,7 @@ export default class EnvironmentBuilder {
437
437
  for (const [blueprint, packagePath] of blueprintPackagePaths) {
438
438
  const errorMsg = `No custom sharedOptions found within blueprint: ${blueprint} at ${packagePath}`;
439
439
  const opts = await loadSharedOptionsFromFile(`${packagePath}/cli/sharedOptions`, undefined, errorMsg);
440
- result = _.mergeWith(result, opts, joiner);
440
+ result = mergeWith(result, opts, joiner);
441
441
  }
442
442
  return result;
443
443
  }
@@ -18,9 +18,8 @@
18
18
  */
19
19
  import chalk from 'chalk';
20
20
  import { Command, Option } from 'commander';
21
- import lodash from 'lodash';
21
+ import { kebabCase } from 'lodash-es';
22
22
  import { convertConfigToOption } from '../lib/internal/index.js';
23
- const { kebabCase } = lodash;
24
23
  export default class JHipsterCommand extends Command {
25
24
  createCommand(name) {
26
25
  return new JHipsterCommand(name);
File without changes
@@ -0,0 +1,5 @@
1
+ const command = {
2
+ options: {},
3
+ import: [],
4
+ };
5
+ export default command;
@@ -16,7 +16,7 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import * as _ from 'lodash-es';
19
+ import { camelCase } from 'lodash-es';
20
20
  import chalk from 'chalk';
21
21
  import { isFileStateModified } from 'mem-fs-editor/state';
22
22
  import BaseApplicationGenerator from '../base-application/index.js';
@@ -34,7 +34,7 @@ export default class AngularGenerator extends BaseApplicationGenerator {
34
34
  localEntities;
35
35
  async beforeQueue() {
36
36
  if (!this.fromBlueprint) {
37
- await this.composeWithBlueprints(GENERATOR_ANGULAR);
37
+ await this.composeWithBlueprints();
38
38
  }
39
39
  if (!this.delegateToBlueprint) {
40
40
  await this.dependsOnJHipster(GENERATOR_CLIENT);
@@ -49,7 +49,7 @@ export default class AngularGenerator extends BaseApplicationGenerator {
49
49
  });
50
50
  }
51
51
  get [BaseApplicationGenerator.LOADING]() {
52
- return this.asLoadingTaskGroup(this.delegateTasksToBlueprint(() => this.loading));
52
+ return this.delegateTasksToBlueprint(() => this.loading);
53
53
  }
54
54
  get preparing() {
55
55
  return this.asPreparingTaskGroup({
@@ -94,7 +94,7 @@ export default class AngularGenerator extends BaseApplicationGenerator {
94
94
  });
95
95
  }
96
96
  get [BaseApplicationGenerator.PREPARING]() {
97
- return this.asPreparingTaskGroup(this.delegateTasksToBlueprint(() => this.preparing));
97
+ return this.delegateTasksToBlueprint(() => this.preparing);
98
98
  }
99
99
  get preparingEachEntity() {
100
100
  return this.asPreparingEachEntityTaskGroup({
@@ -113,6 +113,40 @@ export default class AngularGenerator extends BaseApplicationGenerator {
113
113
  get [BaseApplicationGenerator.PREPARING_EACH_ENTITY]() {
114
114
  return this.delegateTasksToBlueprint(() => this.preparingEachEntity);
115
115
  }
116
+ get preparingEachEntityField() {
117
+ return this.asPreparingEachEntityFieldTaskGroup({
118
+ prepareField({ field }) {
119
+ mutateData(field, {
120
+ fieldTsDefaultValue: ({ fieldTsDefaultValue, defaultValue, fieldTypeCharSequence, fieldTypeTimed }) => {
121
+ let returnValue;
122
+ if (fieldTsDefaultValue !== undefined || defaultValue !== undefined) {
123
+ let fieldDefaultValue;
124
+ if (fieldTsDefaultValue !== undefined) {
125
+ fieldDefaultValue = fieldTsDefaultValue;
126
+ }
127
+ else {
128
+ fieldDefaultValue = defaultValue;
129
+ }
130
+ fieldDefaultValue = String(fieldDefaultValue).replace(/'/g, "\\'");
131
+ if (fieldTypeCharSequence) {
132
+ returnValue = `'${fieldDefaultValue}'`;
133
+ }
134
+ else if (fieldTypeTimed) {
135
+ returnValue = `dayjs('${fieldDefaultValue}')`;
136
+ }
137
+ else {
138
+ returnValue = fieldDefaultValue;
139
+ }
140
+ }
141
+ return returnValue;
142
+ },
143
+ });
144
+ },
145
+ });
146
+ }
147
+ get [BaseApplicationGenerator.PREPARING_EACH_ENTITY_FIELD]() {
148
+ return this.delegateTasksToBlueprint(() => this.preparingEachEntityField);
149
+ }
116
150
  get default() {
117
151
  return this.asDefaultTaskGroup({
118
152
  loadEntities() {
@@ -120,16 +154,17 @@ export default class AngularGenerator extends BaseApplicationGenerator {
120
154
  this.localEntities = entities.filter(entity => !entity.builtIn && !entity.skipClient);
121
155
  },
122
156
  queueTranslateTransform({ control, application }) {
157
+ const { enableTranslation, jhiPrefix } = application;
123
158
  this.queueTransformStream({
124
159
  name: 'translating angular application',
125
160
  filter: file => isFileStateModified(file) && file.path.startsWith(this.destinationPath()) && isTranslatedAngularFile(file),
126
161
  refresh: false,
127
- }, translateAngularFilesTransform(control.getWebappTranslation, application.enableTranslation));
162
+ }, translateAngularFilesTransform(control.getWebappTranslation, { enableTranslation, jhiPrefix }));
128
163
  },
129
164
  });
130
165
  }
131
166
  get [BaseApplicationGenerator.DEFAULT]() {
132
- return this.asDefaultTaskGroup(this.delegateTasksToBlueprint(() => this.default));
167
+ return this.delegateTasksToBlueprint(() => this.default);
133
168
  }
134
169
  get writing() {
135
170
  return this.asWritingTaskGroup({
@@ -149,6 +184,32 @@ export default class AngularGenerator extends BaseApplicationGenerator {
149
184
  get [BaseApplicationGenerator.WRITING_ENTITIES]() {
150
185
  return this.delegateTasksToBlueprint(() => this.writingEntities);
151
186
  }
187
+ get postWriting() {
188
+ return this.asPostWritingTaskGroup({
189
+ addWebsocketDependencies({ application }) {
190
+ const { authenticationTypeSession, communicationSpringWebsocket, nodeDependencies } = application;
191
+ const dependencies = {};
192
+ if (communicationSpringWebsocket) {
193
+ if (authenticationTypeSession) {
194
+ dependencies['ngx-cookie-service'] = nodeDependencies['ngx-cookie-service'];
195
+ }
196
+ this.packageJson.merge({
197
+ dependencies: {
198
+ 'sockjs-client': nodeDependencies['sockjs-client'],
199
+ '@stomp/rx-stomp': nodeDependencies['@stomp/rx-stomp'],
200
+ ...dependencies,
201
+ },
202
+ devDependencies: {
203
+ '@types/sockjs-client': nodeDependencies['@types/sockjs-client'],
204
+ },
205
+ });
206
+ }
207
+ },
208
+ });
209
+ }
210
+ get [BaseApplicationGenerator.POST_WRITING]() {
211
+ return this.delegateTasksToBlueprint(() => this.postWriting);
212
+ }
152
213
  get postWritingEntities() {
153
214
  return this.asPostWritingEntitiesTaskGroup({
154
215
  postWriteEntitiesFiles,
@@ -168,7 +229,7 @@ export default class AngularGenerator extends BaseApplicationGenerator {
168
229
  });
169
230
  }
170
231
  get [BaseApplicationGenerator.END]() {
171
- return this.asEndTaskGroup(this.delegateTasksToBlueprint(() => this.end));
232
+ return this.delegateTasksToBlueprint(() => this.end);
172
233
  }
173
234
  /**
174
235
  * @private
@@ -239,7 +300,7 @@ export default class AngularGenerator extends BaseApplicationGenerator {
239
300
  * @param {boolean} enableTranslation - If translations are enabled or not
240
301
  * @param {string} translationKeyMenu - i18n key for entry in the admin menu
241
302
  */
242
- addElementToAdminMenu(routerName, iconName, enableTranslation, translationKeyMenu = _.camelCase(routerName), jhiPrefix) {
303
+ addElementToAdminMenu(routerName, iconName, enableTranslation, translationKeyMenu = camelCase(routerName), jhiPrefix) {
243
304
  this.needleApi.clientAngular.addElementToAdminMenu(routerName, iconName, enableTranslation, translationKeyMenu, jhiPrefix);
244
305
  }
245
306
  addEntitiesToMenu({ application, entities }) {
@@ -344,7 +405,7 @@ export default class AngularGenerator extends BaseApplicationGenerator {
344
405
  * @param {string} clientFramework - The name of the client framework
345
406
  * @param {string} translationKeyMenu - i18n key for entry in the menu
346
407
  */
347
- addElementToMenu(routerName, iconName, enableTranslation, clientFramework, translationKeyMenu = _.camelCase(routerName)) {
408
+ addElementToMenu(routerName, iconName, enableTranslation, clientFramework, translationKeyMenu = camelCase(routerName)) {
348
409
  this.needleApi.clientAngular.addElementToMenu(routerName, iconName, enableTranslation, translationKeyMenu);
349
410
  }
350
411
  }
@@ -17,3 +17,4 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  export { default } from './generator.js';
20
+ export { default as command } from './command.js';
@@ -17,7 +17,7 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import chalk from 'chalk';
20
- import * as _ from 'lodash-es';
20
+ import { startCase } from 'lodash-es';
21
21
  import needleClientBase from '../../client/needle-api/needle-client.js';
22
22
  import { LINE_LENGTH } from '../../generator-constants.js';
23
23
  import { stripMargin, upperFirstCamelCase } from '../../base/support/index.js';
@@ -82,7 +82,7 @@ export default class extends needleClientBase {
82
82
  const entityEntry = `<li class="nav-item" routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}">
83
83
  <a class="nav-link" ${routerLink} (click)="collapseNavbar()">
84
84
  <fa-icon icon="${iconName}" [fixedWidth]="true"></fa-icon>
85
- <span${enableTranslation ? ` ${jhiPrefix}Translate="global.menu.${translationKeyMenu}"` : ''}>${_.startCase(routerName)}</span>
85
+ <span${enableTranslation ? ` ${jhiPrefix}Translate="global.menu.${translationKeyMenu}"` : ''}>${startCase(routerName)}</span>
86
86
  </a>
87
87
  </li>`;
88
88
  const rewriteFileModel = this.generateFileModel(entityMenuPath, 'jhipster-needle-add-element-to-menu', entityEntry);
@@ -98,7 +98,7 @@ export default class extends needleClientBase {
98
98
  const entityEntry = `<li>
99
99
  <a class="dropdown-item" ${routerLink} routerLinkActive="active" (click)="collapseNavbar()">
100
100
  <fa-icon icon="${iconName}" [fixedWidth]="true"></fa-icon>
101
- <span${enableTranslation ? ` ${jhiPrefix}Translate="global.menu.admin.${translationKeyMenu}"` : ''}>${_.startCase(routerName)}</span>
101
+ <span${enableTranslation ? ` ${jhiPrefix}Translate="global.menu.admin.${translationKeyMenu}"` : ''}>${startCase(routerName)}</span>
102
102
  </a>
103
103
  </li>`;
104
104
  const rewriteFileModel = this.generateFileModel(navbarAdminPath, 'jhipster-needle-add-element-to-admin-menu', entityEntry);
@@ -1,31 +1,34 @@
1
1
  {
2
2
  "dependencies": {
3
- "@angular/common": "17.3.0",
3
+ "@angular/common": "17.3.6",
4
4
  "@fortawesome/angular-fontawesome": "0.14.1",
5
- "@fortawesome/fontawesome-svg-core": "6.5.1",
6
- "@fortawesome/free-solid-svg-icons": "6.5.1",
5
+ "@fortawesome/fontawesome-svg-core": "6.5.2",
6
+ "@fortawesome/free-solid-svg-icons": "6.5.2",
7
7
  "@ng-bootstrap/ng-bootstrap": "16.0.0",
8
8
  "@ngx-translate/core": "15.0.0",
9
9
  "@ngx-translate/http-loader": "8.0.0",
10
10
  "@popperjs/core": "2.11.8",
11
+ "@stomp/rx-stomp": "2.0.0",
11
12
  "bootstrap": "5.3.3",
12
13
  "bootswatch": "5.3.3",
13
14
  "ngx-cookie-service": "17.1.0",
14
15
  "ngx-infinite-scroll": "17.0.0",
15
16
  "rxjs": "7.8.1",
17
+ "sockjs-client": "1.6.1",
16
18
  "tslib": "2.6.2",
17
19
  "zone.js": "0.14.4"
18
20
  },
19
21
  "devDependencies": {
20
22
  "@angular-architects/module-federation": "17.0.8",
21
23
  "@angular-architects/module-federation-runtime": "17.0.8",
22
- "@angular-builders/custom-webpack": "17.0.1",
23
- "@angular-builders/jest": "17.0.2",
24
+ "@angular-builders/custom-webpack": "17.0.2",
25
+ "@angular-builders/jest": "17.0.3",
24
26
  "@angular-eslint/eslint-plugin": "17.3.0",
25
- "@angular/cli": "17.3.0",
27
+ "@angular/cli": "17.3.6",
26
28
  "@types/jest": "29.5.12",
27
29
  "@types/node": "20.11.25",
28
- "@typescript-eslint/eslint-plugin": "7.3.1",
30
+ "@types/sockjs-client": "1.5.4",
31
+ "@typescript-eslint/eslint-plugin": "7.7.1",
29
32
  "browser-sync": "3.0.2",
30
33
  "browser-sync-webpack-plugin": "2.3.0",
31
34
  "buffer": "6.0.3",
@@ -35,17 +38,17 @@
35
38
  "eslint-webpack-plugin": "4.1.0",
36
39
  "folder-hash": "4.0.4",
37
40
  "jest": "29.7.0",
38
- "jest-date-mock": "1.0.8",
41
+ "jest-date-mock": "1.0.10",
39
42
  "jest-junit": "16.0.0",
40
43
  "jest-preset-angular": "14.0.3",
41
44
  "jest-sonar": "0.2.16",
42
45
  "merge-jsons-webpack-plugin": "2.0.1",
43
- "postcss-rtlcss": "5.1.0",
46
+ "postcss-rtlcss": "5.1.2",
44
47
  "rimraf": "5.0.5",
45
48
  "ts-jest": "29.1.2",
46
- "typescript": "5.4.2",
47
- "webpack": "5.90.3",
48
- "webpack-bundle-analyzer": "4.10.1",
49
+ "typescript": "5.4.5",
50
+ "webpack": "5.91.0",
51
+ "webpack-bundle-analyzer": "4.10.2",
49
52
  "webpack-merge": "5.10.0",
50
53
  "webpack-notifier": "1.15.0"
51
54
  }
@@ -20,5 +20,4 @@ export * from './needles.js';
20
20
  export * from './path-utils.js';
21
21
  export * from './reserved-keywords.js';
22
22
  export * from './translate-angular.js';
23
- export { default as translateAngularFilesTransform } from './translate-angular.js';
24
23
  export { default as updateLanguagesTask } from './update-languages.js';
@@ -16,9 +16,10 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ import { extname } from 'node:path';
19
20
  import { passthrough } from '@yeoman/transform';
20
21
  import { Minimatch } from 'minimatch';
21
- import { createJhiTransformTranslateReplacer, createJhiTransformTranslateStringifyReplacer } from '../../languages/support/index.js';
22
+ import { createJhiTransformTranslateReplacer, createJhiTransformTranslateStringifyReplacer, createJhiTranslateReplacer, escapeHtmlTranslationValue, escapeTsTranslationValue, } from '../../languages/support/index.js';
22
23
  const PLACEHOLDER_REGEX = /(?:placeholder|title)=['|"](\{\{\s?['|"]([a-zA-Z0-9.\-_]+)['|"]\s?\|\s?translate\s?\}\})['|"]/.source;
23
24
  const JHI_TRANSLATE_REGEX = /(\n?\s*[a-z][a-zA-Z]*Translate="[a-zA-Z0-9 +{}'_!?.]+")/.source;
24
25
  const TRANSLATE_VALUES_REGEX = /(\n?\s*\[translateValues\]="\{(?:(?!\}").)*?\}")/.source;
@@ -35,9 +36,10 @@ function getTranslationValue(getWebappTranslation, key, data) {
35
36
  * @param {object} [options]
36
37
  * @param {number} [options.keyIndex]
37
38
  * @param {number} [options.replacementIndex]
39
+ * @param {any} [options.escape]
38
40
  * @returns {string}
39
41
  */
40
- function replaceTranslationKeysWithText(getWebappTranslation, content, regexSource, { keyIndex = 1, replacementIndex = 1, escape } = {}) {
42
+ function replaceTranslationKeysWithText(getWebappTranslation, content, regexSource, { keyIndex = 1, replacementIndex = 1, escape, } = {}) {
41
43
  const regex = new RegExp(regexSource, 'g');
42
44
  const allMatches = content.matchAll(regex);
43
45
  for (const match of allMatches) {
@@ -87,15 +89,145 @@ function replacePlaceholders(getWebappTranslation, content) {
87
89
  function replaceErrorMessage(getWebappTranslation, content) {
88
90
  return replaceJSTranslation(getWebappTranslation, content, 'errorMessage');
89
91
  }
92
+ /**
93
+ * Creates a `jhiTranslate` attribute with optional translateValues.
94
+ * Or the translation value if translation is disabled.
95
+ */
96
+ const tagTranslation = (getWebappTranslation, { enableTranslation, jhiPrefix }, { key, parsedInterpolate, prefix, suffix }) => {
97
+ const translatedValueInterpolate = parsedInterpolate
98
+ ? Object.fromEntries(Object.entries(parsedInterpolate).map(([key, value]) => [key, `{{ ${value} }}`]))
99
+ : undefined;
100
+ const translatedValue = escapeHtmlTranslationValue(getTranslationValue(getWebappTranslation, key, translatedValueInterpolate));
101
+ if (enableTranslation) {
102
+ const translateValuesAttr = parsedInterpolate
103
+ ? ` [translateValues]="{ ${Object.entries(parsedInterpolate)
104
+ .map(([key, value]) => `${key}: ${value}`)
105
+ .join(', ')} }"`
106
+ : '';
107
+ return ` ${jhiPrefix}Translate="${key}"${translateValuesAttr}${prefix}${translatedValue}${suffix}`;
108
+ }
109
+ return `${prefix}${translatedValue}${suffix}`;
110
+ };
111
+ /**
112
+ * Creates a `jhiTranslate` attribute with translateValues.
113
+ * Or the translation value if translation is disabled.
114
+ */
115
+ const validationTagTranslation = (getWebappTranslation, { enableTranslation, jhiPrefix }, { key, parsedInterpolate, prefix, suffix }) => {
116
+ if (!parsedInterpolate || Object.keys(parsedInterpolate).length === 0) {
117
+ throw new Error(`No interpolation values found for translation key ${key}, use __jhiTranslateTag__ instead.`);
118
+ }
119
+ const translatedValue = escapeHtmlTranslationValue(getTranslationValue(getWebappTranslation, key, parsedInterpolate));
120
+ if (enableTranslation) {
121
+ const translateValuesAttr = parsedInterpolate
122
+ ? ` [translateValues]="{ ${Object.entries(parsedInterpolate)
123
+ .map(([key, value]) => `${key}: '${value}'`)
124
+ .join(', ')} }"`
125
+ : '';
126
+ return ` ${jhiPrefix}Translate="${key}"${translateValuesAttr}${prefix}${translatedValue}${suffix}`;
127
+ }
128
+ return `${prefix}${translatedValue}${suffix}`;
129
+ };
130
+ /**
131
+ * Creates a `jhiTranslate` attribute with optional translateValues.
132
+ * Or the translation value if translation is disabled.
133
+ */
134
+ const tagPipeTranslation = (getWebappTranslation, { enableTranslation, jhiPrefix }, { key, parsedInterpolate, prefix, suffix }) => {
135
+ if (!parsedInterpolate || Object.keys(parsedInterpolate).length === 0) {
136
+ throw new Error(`No interpolation values found for translation key ${key}, use __jhiTranslateTag__ instead.`);
137
+ }
138
+ const translatedValueInterpolate = Object.fromEntries(Object.entries(parsedInterpolate).map(([key, value]) => [key, getWebappTranslation(value)]));
139
+ const translatedValue = escapeHtmlTranslationValue(getTranslationValue(getWebappTranslation, key, translatedValueInterpolate));
140
+ if (enableTranslation) {
141
+ const translateValuesAttr = ` [translateValues]="{ ${Object.entries(parsedInterpolate)
142
+ .map(([key, value]) => `${key}: ('${value}' | translate)`)
143
+ .join(', ')} }"`;
144
+ return ` ${jhiPrefix}Translate="${key}"${translateValuesAttr}${prefix}${translatedValue}${suffix}`;
145
+ }
146
+ return `${prefix}${translatedValue}${suffix}`;
147
+ };
148
+ /**
149
+ * Creates a `jhiTranslate` attribute with optional translateValues.
150
+ * Or the translation value if translation is disabled.
151
+ */
152
+ const tagEnumTranslation = (getWebappTranslation, { enableTranslation, jhiPrefix }, { key, parsedInterpolate, prefix, suffix }) => {
153
+ if (!parsedInterpolate?.value) {
154
+ throw new Error(`Value is required for TagEnum ${key}.`);
155
+ }
156
+ const { value, fallback } = parsedInterpolate;
157
+ const translatedValue = `{{ ${JSON.stringify(getTranslationValue(getWebappTranslation, key))}[${value}]${fallback ? ` || ${fallback}` : ''} }}`;
158
+ if (enableTranslation) {
159
+ return ` [${jhiPrefix}Translate]="'${key}.' + (${parsedInterpolate?.value})"${prefix}${translatedValue}${suffix}`;
160
+ }
161
+ return `${prefix}${translatedValue}${suffix}`;
162
+ };
163
+ /**
164
+ * Creates a `translate` pipe.
165
+ * Or the translation value if translation is disabled.
166
+ */
167
+ const pipeTranslation = (getWebappTranslation, { enableTranslation }, { key, prefix, suffix }) => {
168
+ if (enableTranslation) {
169
+ return `${prefix}{{ '${key}' | translate }}${suffix}`;
170
+ }
171
+ return `${prefix}${escapeHtmlTranslationValue(getTranslationValue(getWebappTranslation, key))}${suffix}`;
172
+ };
173
+ /**
174
+ * Get translation value.
175
+ */
176
+ const valueTranslation = (getWebappTranslation, _replacerOptions, { filePath, key, prefix, suffix }) => {
177
+ let translationValue = getTranslationValue(getWebappTranslation, key);
178
+ const fileExtension = extname(filePath);
179
+ if (fileExtension === '.html') {
180
+ translationValue = escapeHtmlTranslationValue(translationValue);
181
+ }
182
+ else if (fileExtension === '.ts') {
183
+ translationValue = escapeTsTranslationValue(translationValue);
184
+ }
185
+ return `${prefix}${translationValue}${suffix}`;
186
+ };
187
+ /**
188
+ * Creates a `translate` pipe.
189
+ * Or the translation value if translation is disabled.
190
+ */
191
+ const pipeEnumTranslation = (getWebappTranslation, { enableTranslation }, { key, parsedInterpolate, prefix, suffix }) => {
192
+ if (!parsedInterpolate?.value) {
193
+ throw new Error(`Value is required for TagEnum ${key}.`);
194
+ }
195
+ const { value, fallback } = parsedInterpolate;
196
+ if (enableTranslation) {
197
+ return `${prefix}{{ '${key}.' + ${value} | translate }}${suffix}`;
198
+ }
199
+ const translatedValue = `{{ ${JSON.stringify(getTranslationValue(getWebappTranslation, key))}[${value}]${fallback ? ` ?? ${fallback}` : ''} }}`;
200
+ return `${prefix}${translatedValue}${suffix}`;
201
+ };
202
+ const replaceImplementations = {
203
+ Tag: tagTranslation,
204
+ TagPipe: tagPipeTranslation,
205
+ TagEnum: tagEnumTranslation,
206
+ ValidationTag: validationTagTranslation,
207
+ Pipe: pipeTranslation,
208
+ PipeEnum: pipeEnumTranslation,
209
+ Value: valueTranslation,
210
+ };
90
211
  /**
91
212
  * Replace and cleanup translations.
92
213
  *
93
214
  * @type {import('../generator-base.js').EditFileCallback}
94
215
  * @this {import('../generator-base.js')}
95
216
  */
96
- export const createTranslationReplacer = (getWebappTranslation, enableTranslation) => {
217
+ export const createTranslationReplacer = (getWebappTranslation, opts) => {
97
218
  const htmlJhiTranslateReplacer = createJhiTransformTranslateReplacer(getWebappTranslation, { escapeHtml: true });
98
- const htmlJhiTranslateStringifyReplacer = createJhiTransformTranslateStringifyReplacer(getWebappTranslation, { escapeHtml: true });
219
+ const htmlJhiTranslateStringifyReplacer = createJhiTransformTranslateStringifyReplacer(getWebappTranslation);
220
+ let translationReplacer;
221
+ const enableTranslation = typeof opts === 'boolean' ? opts : opts.enableTranslation;
222
+ if (typeof opts !== 'boolean') {
223
+ translationReplacer = createJhiTranslateReplacer(optsReplacer => {
224
+ const replacer = replaceImplementations[optsReplacer.type] ??
225
+ (() => {
226
+ throw new Error(`Translation type not supported ${optsReplacer.type}`);
227
+ });
228
+ return replacer(getWebappTranslation, opts, optsReplacer);
229
+ }, { prefixPattern: '>\\s*', suffixPattern: '\\s*<' });
230
+ }
99
231
  return function replaceAngularTranslations(content, filePath) {
100
232
  if (/\.html$/.test(filePath)) {
101
233
  if (!enableTranslation) {
@@ -108,6 +240,9 @@ export const createTranslationReplacer = (getWebappTranslation, enableTranslatio
108
240
  content = htmlJhiTranslateReplacer(content);
109
241
  content = htmlJhiTranslateStringifyReplacer(content);
110
242
  }
243
+ if (/(:?\.html|.ts)$/.test(filePath)) {
244
+ content = translationReplacer?.(content, filePath);
245
+ }
111
246
  if (!enableTranslation) {
112
247
  if (/(:?route|module)\.ts$/.test(filePath)) {
113
248
  content = replacePageTitles(getWebappTranslation, content);
@@ -119,12 +254,11 @@ export const createTranslationReplacer = (getWebappTranslation, enableTranslatio
119
254
  return content;
120
255
  };
121
256
  };
122
- const minimatch = new Minimatch('**/*{.html,.component.ts,.route.ts,.module.ts}');
257
+ const minimatch = new Minimatch('**/*{.html,.ts}');
123
258
  export const isTranslatedAngularFile = file => minimatch.match(file.path);
124
- const translateAngularFilesTransform = (getWebappTranslation, enableTranslation) => {
125
- const translate = createTranslationReplacer(getWebappTranslation, enableTranslation);
259
+ export const translateAngularFilesTransform = (getWebappTranslation, opts) => {
260
+ const translate = createTranslationReplacer(getWebappTranslation, opts);
126
261
  return passthrough(file => {
127
262
  file.contents = Buffer.from(translate(file.contents.toString(), file.path));
128
263
  });
129
264
  };
130
- export default translateAngularFilesTransform;
@@ -48,16 +48,9 @@
48
48
  "bootswatch": "<%= nodeDependencies.bootswatch %>",
49
49
  <%_ } _%>
50
50
  "dayjs": "<%= nodeDependencies['dayjs'] %>",
51
- <%_ if (authenticationTypeSession && communicationSpringWebsocket) { _%>
52
- "ngx-cookie-service": "<%= nodeDependencies['ngx-cookie-service'] %>",
53
- <%_ } _%>
54
51
  "ngx-infinite-scroll": "<%= nodeDependencies['ngx-infinite-scroll'] %>",
55
52
  "@popperjs/core": "<%= nodeDependencies['@popperjs/core'] %>",
56
53
  "rxjs": "<%= nodeDependencies['rxjs'] %>",
57
- <%_ if (communicationSpringWebsocket) { _%>
58
- "sockjs-client": "1.6.1",
59
- "@stomp/rx-stomp": "1.2.0",
60
- <%_ } _%>
61
54
  "tslib": "<%= nodeDependencies['tslib'] %>",
62
55
  "zone.js": "<%= nodeDependencies['zone.js'] %>"
63
56
  },
@@ -71,9 +64,6 @@
71
64
  <%_ } _%>
72
65
  "@angular-architects/module-federation": "<%= nodeDependencies['@angular-architects/module-federation'] %>",
73
66
  <%_ } _%>
74
- <%_ if (communicationSpringWebsocket) { _%>
75
- "@types/sockjs-client": "1.5.1",
76
- <%_ } _%>
77
67
  <%_ if (cypressTests) { _%>
78
68
  "cypress": "<%= nodeDependencies['cypress'] %>",
79
69
  <%_ } _%>
@@ -19,15 +19,15 @@
19
19
  <div>
20
20
  <div class="d-flex justify-content-center">
21
21
  <div class="col-md-8">
22
- <h1 <%= jhiPrefix %>Translate="activate.title">__jhiTransformTranslate__('activate.title')</h1>
22
+ <h1>__jhiTranslateTag__('activate.title')</h1>
23
23
  @if (success()) {
24
24
  <div class="alert alert-success">
25
- <span <%= jhiPrefix %>Translate="activate.messages.success">__jhiTransformTranslate__('activate.messages.success')</span>
26
- <a class="alert-link" routerLink="/login" <%= jhiPrefix %>Translate="global.messages.info.authenticated.link">__jhiTransformTranslate__('global.messages.info.authenticated.link')</a>.
25
+ <span>__jhiTranslateTag__('activate.messages.success')</span>
26
+ <a class="alert-link" routerLink="/login">__jhiTranslateTag__('global.messages.info.authenticated.link')</a>.
27
27
  </div>
28
28
  }
29
29
  @if (error()) {
30
- <div class="alert alert-danger" <%= jhiPrefix %>Translate="activate.messages.error">__jhiTransformTranslate__('activate.messages.error')</div>
30
+ <div class="alert alert-danger">__jhiTranslateTag__('activate.messages.error')</div>
31
31
  }
32
32
  </div>
33
33
  </div>
@@ -24,8 +24,8 @@ import SharedModule from 'app/shared/shared.module';
24
24
  import { ActivateService } from './activate.service';
25
25
 
26
26
  @Component({
27
- selector: '<%= jhiPrefixDashed %>-activate',
28
27
  standalone: true,
28
+ selector: '<%= jhiPrefixDashed %>-activate',
29
29
  imports: [SharedModule, RouterModule],
30
30
  templateUrl: './activate.component.html',
31
31
  })
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <div id="strength">
20
- <small<% if (enableTranslation) { %> <%= jhiPrefix %>Translate="global.messages.validate.newpassword.strength"<% } %>>__jhiTransformTranslate__('global.messages.validate.newpassword.strength')</small>
20
+ <small>__jhiTranslateTag__('global.messages.validate.newpassword.strength')</small>
21
21
  <ul id="strengthBar">
22
22
  <li class="point"></li>
23
23
  <li class="point"></li>
@@ -21,8 +21,8 @@ import { Component, ElementRef, inject, Input, Renderer2 } from '@angular/core';
21
21
  import SharedModule from 'app/shared/shared.module';
22
22
 
23
23
  @Component({
24
- selector: '<%= jhiPrefixDashed %>-password-strength-bar',
25
24
  standalone: true,
25
+ selector: '<%= jhiPrefixDashed %>-password-strength-bar',
26
26
  imports: [SharedModule],
27
27
  templateUrl: './password-strength-bar.component.html',
28
28
  styleUrl: './password-strength-bar.component.scss',