generator-jhipster 8.2.1 → 8.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/dist/cli/environment-builder.mjs +3 -3
  2. package/dist/cli/jhipster-command.mjs +1 -2
  3. package/dist/cli/jhipster.cjs +0 -0
  4. package/dist/generators/angular/command.js +5 -0
  5. package/dist/generators/angular/generator.js +36 -9
  6. package/dist/generators/angular/index.js +1 -0
  7. package/dist/generators/angular/needle-api/needle-client-angular.js +3 -3
  8. package/dist/generators/angular/resources/package.json +13 -10
  9. package/dist/generators/angular/support/index.js +0 -1
  10. package/dist/generators/angular/support/translate-angular.js +142 -8
  11. package/dist/generators/angular/templates/package.json.ejs +0 -10
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -4
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +1 -1
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +1 -1
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +18 -26
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +1 -1
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +18 -25
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +1 -1
  20. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +10 -15
  21. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +1 -1
  22. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +31 -46
  23. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +1 -1
  24. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -8
  25. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +1 -1
  26. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +20 -31
  27. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +1 -1
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +4 -4
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +1 -1
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -7
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.html.ejs +7 -12
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.model.ts.ejs +9 -5
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +5 -9
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +3 -3
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.ts.ejs +3 -3
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +12 -12
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.ts.ejs +4 -4
  40. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +36 -36
  41. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.ts.ejs +4 -4
  42. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +2 -2
  43. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.ts.ejs +3 -3
  44. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +33 -33
  45. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.ts.ejs +3 -3
  46. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
  47. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +8 -8
  48. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.ts.ejs +4 -4
  49. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +13 -13
  50. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.ts.ejs +3 -3
  51. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
  52. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +6 -6
  53. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +2 -1
  54. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -4
  55. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +26 -26
  56. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +3 -3
  57. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.ts.ejs +2 -2
  58. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -18
  59. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +1 -2
  60. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +20 -34
  61. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +1 -1
  62. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +0 -2
  63. package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +7 -7
  64. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +4 -4
  65. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +25 -25
  66. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +3 -3
  67. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.ts.ejs +2 -2
  68. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +14 -14
  69. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +0 -2
  70. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +1 -2
  71. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +17 -24
  72. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +0 -2
  73. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +14 -15
  74. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +1 -5
  75. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
  76. package/dist/generators/angular/templates/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
  77. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +11 -18
  78. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +1 -1
  79. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
  80. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +0 -2
  81. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  82. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.html.ejs +11 -12
  83. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +1 -2
  84. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +1 -1
  85. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +3 -3
  86. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.ts.ejs +1 -1
  87. package/dist/generators/app/generator.js +4 -4
  88. package/dist/generators/base/generator.js +21 -2
  89. package/dist/generators/base/shared-data.js +1 -2
  90. package/dist/generators/base/support/basename.js +1 -2
  91. package/dist/generators/base/support/needles.js +3 -5
  92. package/dist/generators/base/support/string.js +2 -2
  93. package/dist/generators/base-application/generator.js +4 -4
  94. package/dist/generators/base-application/support/entity.js +1 -2
  95. package/dist/generators/base-application/support/enum.js +2 -2
  96. package/dist/generators/base-application/support/prepare-entity.js +1 -1
  97. package/dist/generators/base-application/support/prepare-field.js +5 -6
  98. package/dist/generators/base-application/support/relationship.js +1 -2
  99. package/dist/generators/base-application/support/task-type-inference.js +6 -0
  100. package/dist/generators/base-core/generator.js +83 -14
  101. package/dist/generators/base-workspaces/internal/deployments.js +2 -2
  102. package/dist/generators/base-workspaces/internal/docker-dependencies.js +2 -2
  103. package/dist/generators/bootstrap/generator.js +4 -5
  104. package/dist/generators/bootstrap/internal/transform-utils.js +4 -0
  105. package/dist/generators/bootstrap/support/eslint-transform.js +2 -1
  106. package/dist/generators/bootstrap/support/java-unused-imports-transform.js +2 -1
  107. package/dist/generators/bootstrap/support/prettier-worker.js +2 -4
  108. package/dist/generators/bootstrap-application/generator.js +3 -4
  109. package/dist/generators/bootstrap-application-base/generator.js +4 -5
  110. package/dist/generators/bootstrap-application-base/utils.js +3 -3
  111. package/dist/generators/bootstrap-application-client/generator.js +2 -3
  112. package/dist/generators/bootstrap-application-server/generator.js +21 -15
  113. package/dist/generators/bootstrap-workspaces/generator.js +1 -2
  114. package/dist/generators/ci-cd/command.js +1 -2
  115. package/dist/generators/ci-cd/generator.js +3 -3
  116. package/dist/generators/client/command.js +1 -2
  117. package/dist/generators/client/generator.js +12 -12
  118. package/dist/generators/client/needle-api/needle-client-vue.js +2 -2
  119. package/dist/generators/client/resources/package.json +4 -4
  120. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
  121. package/dist/generators/common/generator.js +5 -5
  122. package/dist/generators/common/resources/package.json +1 -1
  123. package/dist/generators/cucumber/generator.js +17 -10
  124. package/dist/generators/cucumber/templates/buildSrc/src/main/groovy/jhipster.cucumber-conventions.gradle.ejs +1 -5
  125. package/dist/generators/cypress/generator.js +2 -3
  126. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/administration/administration.cy.ts.ejs +10 -0
  127. package/dist/generators/docker/generator.js +4 -6
  128. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +0 -32
  129. package/dist/generators/docker/utils.js +2 -3
  130. package/dist/generators/docker-compose/generator.js +4 -5
  131. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +0 -32
  132. package/dist/generators/entities/generator.js +4 -4
  133. package/dist/generators/entity/generator.js +10 -9
  134. package/dist/generators/entity/prompts.js +12 -12
  135. package/dist/generators/feign-client/generator.js +3 -4
  136. package/dist/generators/gatling/generator.js +2 -3
  137. package/dist/generators/generate-blueprint/files.js +1 -0
  138. package/dist/generators/generate-blueprint/generator.js +3 -4
  139. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +3 -2
  140. package/dist/generators/generate-blueprint/templates/generators/generator/command.mjs.ejs +19 -1
  141. package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +6 -0
  142. package/dist/generators/generator-constants.js +5 -2
  143. package/dist/generators/git/generator.js +3 -5
  144. package/dist/generators/gradle/command.js +32 -0
  145. package/dist/generators/gradle/constants.js +0 -1
  146. package/dist/generators/gradle/files.js +2 -8
  147. package/dist/generators/gradle/generator.js +85 -13
  148. package/dist/generators/gradle/generators/code-quality/generator.js +86 -0
  149. package/dist/generators/{java/cleanup.js → gradle/generators/code-quality/index.js} +1 -5
  150. package/dist/generators/gradle/generators/jib/generator.js +64 -0
  151. package/dist/generators/gradle/generators/jib/index.js +19 -0
  152. package/dist/generators/gradle/generators/node-gradle/generator.js +64 -0
  153. package/dist/generators/gradle/generators/node-gradle/index.js +19 -0
  154. package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +101 -0
  155. package/dist/generators/gradle/index.js +1 -0
  156. package/dist/generators/gradle/internal/needles.js +9 -3
  157. package/dist/generators/gradle/templates/buildSrc/build.gradle.ejs +3 -2
  158. package/dist/generators/gradle/templates/buildSrc/gradle/libs.versions.toml.ejs +8 -1
  159. package/dist/generators/gradle/templates/gradle/wrapper/{gradle-wrapper.properties.ejs → gradle-wrapper.properties} +1 -1
  160. package/dist/generators/heroku/generator.js +3 -3
  161. package/dist/generators/init/generator.js +3 -4
  162. package/dist/generators/init/resources/.node-version +1 -0
  163. package/dist/generators/java/command.js +2 -38
  164. package/dist/generators/java/generator.js +5 -260
  165. package/dist/generators/java/generators/bootstrap/command.js +35 -0
  166. package/dist/generators/java/generators/bootstrap/generator.js +178 -0
  167. package/dist/generators/java/generators/bootstrap/index.js +20 -0
  168. package/dist/generators/java/generators/build-tool/command.js +42 -0
  169. package/dist/generators/java/generators/build-tool/generator.js +143 -0
  170. package/dist/generators/java/generators/build-tool/index.js +20 -0
  171. package/dist/generators/java/generators/code-quality/command.js +5 -0
  172. package/dist/generators/java/generators/code-quality/generator.js +91 -0
  173. package/dist/generators/java/generators/code-quality/index.js +20 -0
  174. package/dist/generators/java/generators/domain/command.js +30 -0
  175. package/dist/generators/java/{entity-files.js → generators/domain/entity-files.js} +1 -1
  176. package/dist/generators/java/generators/domain/generator.js +153 -0
  177. package/dist/generators/java/generators/domain/index.js +20 -0
  178. package/dist/generators/java/generators/jib/command.js +5 -0
  179. package/dist/generators/java/generators/jib/generator.js +97 -0
  180. package/dist/generators/java/generators/jib/index.js +20 -0
  181. package/dist/generators/{server → java/generators/jib}/templates/src/main/docker/jib/entrypoint.sh.ejs +2 -0
  182. package/dist/generators/java/generators/node/command.js +5 -0
  183. package/dist/generators/java/generators/node/generator.js +97 -0
  184. package/dist/generators/java/generators/node/index.js +20 -0
  185. package/dist/generators/java/support/index.js +1 -0
  186. package/dist/generators/jdl/generator.js +6 -9
  187. package/dist/generators/kubernetes/generator.js +1 -1
  188. package/dist/generators/kubernetes/kubernetes-base.js +3 -3
  189. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +0 -32
  190. package/dist/generators/kubernetes-helm/generator.js +1 -1
  191. package/dist/generators/kubernetes-knative/generator.js +1 -1
  192. package/dist/generators/languages/entity-files.js +3 -2
  193. package/dist/generators/languages/generator.js +7 -10
  194. package/dist/generators/languages/support/translate.js +34 -9
  195. package/dist/generators/languages/translation-data.js +4 -5
  196. package/dist/generators/liquibase/generator.js +68 -25
  197. package/dist/generators/liquibase/support/maven-plugin.js +6 -0
  198. package/dist/generators/liquibase/templates/gradle/liquibase.gradle.ejs +3 -6
  199. package/dist/generators/maven/generator.js +14 -6
  200. package/dist/generators/maven/generators/code-quality/command.js +5 -0
  201. package/dist/generators/maven/generators/code-quality/generator.js +268 -0
  202. package/dist/generators/maven/generators/code-quality/index.js +20 -0
  203. package/dist/generators/maven/generators/frontend-plugin/command.js +5 -0
  204. package/dist/generators/maven/generators/frontend-plugin/generator.js +295 -0
  205. package/dist/generators/maven/generators/frontend-plugin/index.js +20 -0
  206. package/dist/generators/maven/generators/jib/command.js +5 -0
  207. package/dist/generators/maven/generators/jib/generator.js +136 -0
  208. package/dist/generators/maven/generators/jib/index.js +20 -0
  209. package/dist/generators/maven/internal/xml-store.js +1 -2
  210. package/dist/generators/maven/support/dependabot-maven.js +12 -2
  211. package/dist/generators/maven/support/pom-store.js +1 -2
  212. package/dist/generators/project-name/generator.js +9 -11
  213. package/dist/generators/react/generator.js +25 -6
  214. package/dist/generators/react/needle-api/needle-client-react.js +2 -2
  215. package/dist/generators/react/resources/package.json +18 -15
  216. package/dist/generators/react/templates/package.json.ejs +1 -7
  217. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/tracker/tracker.tsx.ejs +2 -2
  218. package/dist/generators/server/command.js +2 -34
  219. package/dist/generators/server/generator.js +20 -154
  220. package/dist/generators/server/jdl/application-definition.js +1 -2
  221. package/dist/generators/server/prompts.js +4 -46
  222. package/dist/generators/server/resources/Dockerfile +7 -7
  223. package/dist/generators/server/resources/build.gradle +1 -0
  224. package/dist/generators/server/resources/gradle/libs.versions.toml +25 -7
  225. package/dist/generators/server/resources/pom.xml +4 -22
  226. package/dist/generators/server/support/prepare-field.js +1 -2
  227. package/dist/generators/server/templates/build.gradle.ejs +29 -143
  228. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -1
  229. package/dist/generators/server/templates/gradle.properties.ejs +0 -7
  230. package/dist/generators/server/templates/pom.xml.ejs +23 -444
  231. package/dist/generators/server/templates/settings.gradle.ejs +0 -4
  232. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +15 -3
  233. package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_imperative.java.ejs +4 -1
  234. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +15 -4
  235. package/dist/generators/server/templates/src/test/java/_package_/IntegrationTest.java.ejs +0 -2
  236. package/dist/generators/server/templates/src/test/java/_package_/config/TestContainersSpringContextCustomizerFactory.java.ejs +71 -46
  237. package/dist/generators/server/templates/src/test/java/_package_/security/jwt/AuthenticationIntegrationTest.java.ejs +0 -3
  238. package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +1 -1
  239. package/dist/generators/spring-boot/command.js +31 -2
  240. package/dist/generators/spring-boot/entity-files.js +2 -2
  241. package/dist/generators/spring-boot/files.js +3 -38
  242. package/dist/generators/spring-boot/generator.js +98 -37
  243. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +105 -105
  244. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +2 -2
  245. package/dist/generators/spring-cache/generator.js +11 -6
  246. package/dist/generators/spring-cache/internal/dependencies.js +5 -0
  247. package/dist/generators/spring-cache/resources/build.gradle +1 -0
  248. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +15 -0
  249. package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainersSpringContextCustomizerFactory.java.ejs +29 -13
  250. package/dist/generators/spring-cloud/generators/gateway/command.js +5 -0
  251. package/dist/generators/spring-cloud/generators/gateway/generator.js +146 -0
  252. package/dist/generators/spring-cloud/generators/gateway/index.js +20 -0
  253. package/dist/generators/spring-cloud-stream/generator.js +2 -3
  254. package/dist/generators/spring-cloud-stream/generators/kafka/generator.js +2 -2
  255. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/config/KafkaTestContainersSpringContextCustomizerFactory.java.ejs +28 -12
  256. package/dist/generators/spring-cloud-stream/generators/pulsar/generator.js +2 -2
  257. package/dist/generators/spring-cloud-stream/generators/pulsar/templates/src/test/java/_package_/config/PulsarTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
  258. package/dist/generators/spring-data-cassandra/generator.js +5 -6
  259. package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
  260. package/dist/generators/spring-data-couchbase/generator.js +3 -4
  261. package/dist/generators/spring-data-elasticsearch/generator.js +3 -5
  262. package/dist/generators/spring-data-mongodb/generator.js +5 -5
  263. package/dist/generators/spring-data-neo4j/generator.js +11 -5
  264. package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainersSpringContextCustomizerFactory.java.ejs +32 -16
  265. package/dist/generators/spring-data-relational/generator.js +6 -7
  266. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +47 -32
  267. package/dist/generators/spring-websocket/generator.js +2 -3
  268. package/dist/generators/statistics.js +2 -2
  269. package/dist/generators/upgrade/generator.js +4 -3
  270. package/dist/generators/vue/generator.js +4 -4
  271. package/dist/generators/vue/resources/package.json +18 -15
  272. package/dist/generators/vue/templates/package.json.ejs +3 -3
  273. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.spec.ts.ejs +1 -1
  274. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +1 -1
  275. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +3 -3
  276. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.vue.ejs +2 -2
  277. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +4 -3
  278. package/dist/generators/vue/templates/vite.config.mts.ejs +6 -0
  279. package/dist/generators/workspaces/generator.js +5 -4
  280. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +2 -2
  281. package/dist/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +3 -3
  282. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +2 -2
  283. package/dist/jdl/jdl-importer.js +1 -2
  284. package/dist/jdl/jhipster/default-application-options.js +1 -1
  285. package/dist/jdl/jhipster/field-types.js +2 -2
  286. package/dist/jdl/jhipster/relationship-types.js +1 -2
  287. package/dist/jdl/models/jdl-deployment.js +1 -2
  288. package/dist/jdl/parsing/api.js +2 -2
  289. package/dist/jdl/parsing/lexer/token-creator.js +1 -2
  290. package/dist/jdl/parsing/self-checks/parsing-system-checker.js +13 -13
  291. package/dist/jdl/parsing/validator.js +5 -5
  292. package/dist/testing/get-generator.js +1 -1
  293. package/dist/testing/helpers.js +34 -9
  294. package/dist/types/generators/angular/support/index.d.ts +0 -1
  295. package/dist/types/generators/angular/support/translate-angular.d.ts +7 -4
  296. package/dist/types/generators/app/support/config.d.ts +1 -1
  297. package/dist/types/generators/base/api.d.ts +7 -0
  298. package/dist/types/generators/base/generator.d.ts +1 -1
  299. package/dist/types/generators/base-application/generator.d.ts +4 -4
  300. package/dist/types/generators/base-application/support/task-type-inference.d.ts +3 -0
  301. package/dist/types/generators/base-application/support/update-application-entities-transform.d.ts +1 -1
  302. package/dist/types/generators/base-core/generator.d.ts +33 -1
  303. package/dist/types/generators/bootstrap/internal/transform-utils.d.ts +1 -0
  304. package/dist/types/generators/bootstrap/support/java-unused-imports-transform.d.ts +1 -1
  305. package/dist/types/generators/bootstrap-application-base/support/export-jdl-transform.d.ts +2 -2
  306. package/dist/types/generators/docker/utils.d.ts +7 -0
  307. package/dist/types/generators/generator-constants.d.ts +2 -20
  308. package/dist/types/generators/gradle/types.d.ts +21 -7
  309. package/dist/types/generators/java/support/index.d.ts +1 -0
  310. package/dist/types/generators/java/types.d.ts +37 -22
  311. package/dist/types/generators/languages/support/translate.d.ts +29 -0
  312. package/dist/types/generators/maven/support/dependabot-maven.d.ts +17 -1
  313. package/dist/types/generators/project-name/support/name-resolver.d.ts +1 -1
  314. package/dist/types/generators/server/types.d.ts +2 -0
  315. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +0 -18
  316. package/dist/types/testing/helpers.d.ts +6 -0
  317. package/dist/types/testing/support/matrix-utils.d.ts +1 -1
  318. package/package.json +15 -27
  319. package/dist/generators/java/files.js +0 -20
  320. /package/dist/generators/{server → gradle/generators/code-quality}/templates/buildSrc/src/main/groovy/jhipster.code-quality-conventions.gradle.ejs +0 -0
  321. /package/dist/generators/{server → gradle/generators/jib}/templates/buildSrc/src/main/groovy/jhipster.docker-conventions.gradle.ejs +0 -0
  322. /package/dist/generators/java/{templates → generators/bootstrap/templates}/src/main/java/_package_/GeneratedByJHipster.java.ejs +0 -0
  323. /package/dist/generators/{server → java/generators/code-quality}/templates/checkstyle.xml.ejs +0 -0
  324. /package/dist/generators/java/{templates → generators/domain/templates}/_global_partials_entity_/field_validators.ejs +0 -0
  325. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +0 -0
  326. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jackson_identity_info.ejs +0 -0
  327. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_validation.ejs +0 -0
  328. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/enumeration/_enumName_.java.ejs +0 -0
  329. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +0 -0
  330. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +0 -0
  331. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_TestSamples.java.ejs +0 -0
  332. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/domain/AssertUtils.java.ejs +0 -0
  333. /package/dist/generators/{server → java/generators/node}/templates/npmw +0 -0
  334. /package/dist/generators/{server → java/generators/node}/templates/npmw.cmd +0 -0
  335. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/security/jwt/JWTRelayGatewayFilterFactory.java.ejs +0 -0
  336. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/filter/ModifyServersOpenApiFilter.java.ejs +0 -0
  337. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/GatewayResource.java.ejs +0 -0
  338. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/vm/RouteVM.java.ejs +0 -0
  339. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/test/java/_package_/web/filter/ModifyServersOpenApiFilterTest.java.ejs +0 -0
@@ -21,9 +21,8 @@ jest.mock('app/core/auth/account.service');
21
21
  import { waitForAsync, ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing';
22
22
  import { Router, TitleStrategy } from '@angular/router';
23
23
  import { Title } from '@angular/platform-browser';
24
- import { RouterTestingModule } from '@angular/router/testing';
25
24
  import { DOCUMENT } from '@angular/common';
26
- import { Component } from '@angular/core';
25
+ import { Component, NgZone } from '@angular/core';
27
26
  import { of } from 'rxjs';
28
27
  <%_ if (enableTranslation) { _%>
29
28
  import { TranslateModule, TranslateService, LangChangeEvent } from '@ngx-translate/core';
@@ -48,6 +47,7 @@ describe('MainComponent', () => {
48
47
  <%_ } _%>
49
48
  <%_ } _%>
50
49
  let mockAccountService: AccountService;
50
+ let ngZone: NgZone;
51
51
  const routerState: any = { snapshot: { root: { data: {} } } };
52
52
  let router: Router;
53
53
  let document: Document;
@@ -58,7 +58,6 @@ describe('MainComponent', () => {
58
58
  imports: [
59
59
  <%_ if (enableTranslation) { _%>
60
60
  TranslateModule.forRoot(),
61
- RouterTestingModule,
62
61
  <%_ } _%>
63
62
  MainComponent,
64
63
  ],
@@ -89,6 +88,7 @@ describe('MainComponent', () => {
89
88
  mockAccountService = TestBed.inject(AccountService);
90
89
  mockAccountService.identity = jest.fn(() => of(null));
91
90
  mockAccountService.getAuthenticationState = jest.fn(() => of(null));
91
+ ngZone = TestBed.inject(NgZone);
92
92
  router = TestBed.inject(Router);
93
93
  document = TestBed.inject(DOCUMENT);
94
94
  });
@@ -114,7 +114,7 @@ describe('MainComponent', () => {
114
114
  describe('navigation end', () => {
115
115
  it('should set page title to default title if pageTitle is missing on routes', fakeAsync(() => {
116
116
  // WHEN
117
- router.navigateByUrl('');
117
+ ngZone.run(() => router.navigateByUrl(''));
118
118
  tick();
119
119
 
120
120
  // THEN
@@ -126,7 +126,7 @@ describe('MainComponent', () => {
126
126
  router.resetConfig([{ path: '', title: parentRoutePageTitle, component: BlankComponent }]);
127
127
 
128
128
  // WHEN
129
- router.navigateByUrl('');
129
+ ngZone.run(() => router.navigateByUrl(''));
130
130
  tick();
131
131
 
132
132
  // THEN
@@ -146,7 +146,7 @@ describe('MainComponent', () => {
146
146
  ]);
147
147
 
148
148
  // WHEN
149
- router.navigateByUrl('home');
149
+ ngZone.run(() => router.navigateByUrl('home'));
150
150
  tick();
151
151
 
152
152
  // THEN
@@ -166,22 +166,15 @@ describe('MainComponent', () => {
166
166
  ]);
167
167
 
168
168
  // WHEN
169
- router.navigateByUrl('home');
169
+ ngZone.run(() => router.navigateByUrl('home'));
170
170
  tick();
171
171
 
172
172
  // THEN
173
173
  expect(document.title).toBe(parentRoutePageTitle<% if (enableTranslation) { %> + ' translated'<% } %>);
174
174
  }));
175
175
  });
176
-
177
-
178
-
179
-
180
-
181
-
182
-
183
-
184
176
  <%_ if (enableTranslation) { _%>
177
+
185
178
  describe('language change', () => {
186
179
  it('should set page title to default title if pageTitle is missing on routes', () => {
187
180
  // WHEN
@@ -197,7 +190,7 @@ describe('MainComponent', () => {
197
190
  router.resetConfig([{ path: '', title: parentRoutePageTitle, component: BlankComponent }]);
198
191
 
199
192
  // WHEN
200
- router.navigateByUrl('');
193
+ ngZone.run(() => router.navigateByUrl(''));
201
194
  tick();
202
195
 
203
196
  // THEN
@@ -226,7 +219,7 @@ describe('MainComponent', () => {
226
219
  ]);
227
220
 
228
221
  // WHEN
229
- router.navigateByUrl('home');
222
+ ngZone.run(() => router.navigateByUrl('home'));
230
223
  tick();
231
224
 
232
225
  // THEN
@@ -255,7 +248,7 @@ describe('MainComponent', () => {
255
248
  ]);
256
249
 
257
250
  // WHEN
258
- router.navigateByUrl('home');
251
+ ngZone.run(() => router.navigateByUrl('home'));
259
252
  tick();
260
253
 
261
254
  // THEN
@@ -32,8 +32,8 @@ import FooterComponent from '../footer/footer.component';
32
32
  import PageRibbonComponent from '../profiles/page-ribbon.component';
33
33
 
34
34
  @Component({
35
- selector: '<%= jhiPrefixDashed %>-main',
36
35
  standalone: true,
36
+ selector: '<%= jhiPrefixDashed %>-main',
37
37
  templateUrl: './main.component.html',
38
38
  providers: [AppPageTitleStrategy],
39
39
  imports: [RouterOutlet, FooterComponent, PageRibbonComponent],
@@ -20,7 +20,7 @@
20
20
  <div class="container-fluid">
21
21
  <a class="navbar-brand logo" routerLink="/" (click)="collapseNavbar()">
22
22
  <span class="logo-img"></span>
23
- <span <%= jhiPrefix %>Translate="global.title" class="navbar-title">__jhiTransformTranslate__('global.title')</span>
23
+ <span class="navbar-title">__jhiTranslateTag__('global.title')</span>
24
24
  <span class="navbar-version">{{ version }}</span>
25
25
  </a>
26
26
  <a
@@ -41,7 +41,7 @@
41
41
  <a class="nav-link" routerLink="/" (click)="collapseNavbar()">
42
42
  <span>
43
43
  <fa-icon icon="home"></fa-icon>
44
- <span <%= jhiPrefix %>Translate="global.menu.home">__jhiTransformTranslate__('global.menu.home')</span>
44
+ <span>__jhiTranslateTag__('global.menu.home')</span>
45
45
  </span>
46
46
  </a>
47
47
  </li>
@@ -57,7 +57,7 @@
57
57
  <a class="nav-link dropdown-toggle" ngbDropdownToggle href="javascript:void(0);" id="entity-menu" data-cy="entity">
58
58
  <span>
59
59
  <fa-icon icon="th-list"></fa-icon>
60
- <span <%= jhiPrefix %>Translate="global.menu.entities.main">__jhiTransformTranslate__('global.menu.entities.main')</span>
60
+ <span>__jhiTranslateTag__('global.menu.entities.main')</span>
61
61
  </span>
62
62
  </a>
63
63
  <ul class="dropdown-menu" ngbDropdownMenu aria-labelledby="entity-menu">
@@ -103,7 +103,7 @@
103
103
  <a class="nav-link dropdown-toggle" ngbDropdownToggle href="javascript:void(0);" id="admin-menu" data-cy="adminMenu">
104
104
  <span>
105
105
  <fa-icon icon="users-cog"></fa-icon>
106
- <span <%= jhiPrefix %>Translate="global.menu.admin.main">__jhiTransformTranslate__('global.menu.admin.main')</span>
106
+ <span>__jhiTranslateTag__('global.menu.admin.main')</span>
107
107
  </span>
108
108
  </a>
109
109
  <ul class="dropdown-menu" ngbDropdownMenu aria-labelledby="admin-menu">
@@ -112,7 +112,7 @@
112
112
  <li>
113
113
  <a class="dropdown-item" routerLink="/admin/gateway" routerLinkActive="active" (click)="collapseNavbar()">
114
114
  <fa-icon icon="road" [fixedWidth]="true"></fa-icon>
115
- <span <%= jhiPrefix %>Translate="global.menu.admin.gateway">__jhiTransformTranslate__('global.menu.admin.gateway')</span>
115
+ <span>__jhiTranslateTag__('global.menu.admin.gateway')</span>
116
116
  </a>
117
117
  </li>
118
118
  <%_ } _%>
@@ -120,7 +120,7 @@
120
120
  <li>
121
121
  <a class="dropdown-item" routerLink="/admin/user-management" routerLinkActive="active" (click)="collapseNavbar()">
122
122
  <fa-icon icon="users" [fixedWidth]="true"></fa-icon>
123
- <span <%= jhiPrefix %>Translate="global.menu.admin.userManagement">__jhiTransformTranslate__('global.menu.admin.userManagement')</span>
123
+ <span>__jhiTranslateTag__('global.menu.admin.userManagement')</span>
124
124
  </a>
125
125
  </li>
126
126
  <%_ } _%>
@@ -128,7 +128,7 @@
128
128
  <li>
129
129
  <a class="dropdown-item" routerLink="/admin/tracker" routerLinkActive="active" (click)="collapseNavbar()">
130
130
  <fa-icon icon="eye" [fixedWidth]="true"></fa-icon>
131
- <span <%= jhiPrefix %>Translate="global.menu.admin.tracker">__jhiTransformTranslate__('global.menu.admin.tracker')</span>
131
+ <span>__jhiTranslateTag__('global.menu.admin.tracker')</span>
132
132
  </a>
133
133
  </li>
134
134
  <%_ } _%>
@@ -136,25 +136,25 @@
136
136
  <li>
137
137
  <a class="dropdown-item" routerLink="/admin/metrics" routerLinkActive="active" (click)="collapseNavbar()">
138
138
  <fa-icon icon="tachometer-alt" [fixedWidth]="true"></fa-icon>
139
- <span <%= jhiPrefix %>Translate="global.menu.admin.metrics">__jhiTransformTranslate__('global.menu.admin.metrics')</span>
139
+ <span>__jhiTranslateTag__('global.menu.admin.metrics')</span>
140
140
  </a>
141
141
  </li>
142
142
  <li>
143
143
  <a class="dropdown-item" routerLink="/admin/health" routerLinkActive="active" (click)="collapseNavbar()">
144
144
  <fa-icon icon="heart" [fixedWidth]="true"></fa-icon>
145
- <span <%= jhiPrefix %>Translate="global.menu.admin.health">__jhiTransformTranslate__('global.menu.admin.health')</span>
145
+ <span>__jhiTranslateTag__('global.menu.admin.health')</span>
146
146
  </a>
147
147
  </li>
148
148
  <li>
149
149
  <a class="dropdown-item" routerLink="/admin/configuration" routerLinkActive="active" (click)="collapseNavbar()">
150
150
  <fa-icon icon="cogs" [fixedWidth]="true"></fa-icon>
151
- <span <%= jhiPrefix %>Translate="global.menu.admin.configuration">__jhiTransformTranslate__('global.menu.admin.configuration')</span>
151
+ <span>__jhiTranslateTag__('global.menu.admin.configuration')</span>
152
152
  </a>
153
153
  </li>
154
154
  <li>
155
155
  <a class="dropdown-item" routerLink="/admin/logs" routerLinkActive="active" (click)="collapseNavbar()">
156
156
  <fa-icon icon="tasks" [fixedWidth]="true"></fa-icon>
157
- <span <%= jhiPrefix %>Translate="global.menu.admin.logs">__jhiTransformTranslate__('global.menu.admin.logs')</span>
157
+ <span>__jhiTranslateTag__('global.menu.admin.logs')</span>
158
158
  </a>
159
159
  </li>
160
160
  <%_ } _%>
@@ -163,7 +163,7 @@
163
163
  <li>
164
164
  <a class="dropdown-item" routerLink="/admin/docs" routerLinkActive="active" (click)="collapseNavbar()">
165
165
  <fa-icon icon="book" [fixedWidth]="true"></fa-icon>
166
- <span <%= jhiPrefix %>Translate="global.menu.admin.apidocs">__jhiTransformTranslate__('global.menu.admin.apidocs')</span>
166
+ <span>__jhiTranslateTag__('global.menu.admin.apidocs')</span>
167
167
  </a>
168
168
  </li>
169
169
  }
@@ -173,7 +173,7 @@
173
173
  <li>
174
174
  <a class="dropdown-item" href="<% if (databaseTypeCouchbase) { %>http://localhost:8091/<% } else if (reactive) { %> http://localhost:8092/ <% } else { %>./h2-console/<% } %>" target="_tab" (click)="collapseNavbar()">
175
175
  <fa-icon icon="database" [fixedWidth]="true"></fa-icon>
176
- <span <%= jhiPrefix %>Translate="global.menu.admin.database">__jhiTransformTranslate__('global.menu.admin.database')</span>
176
+ <span>__jhiTranslateTag__('global.menu.admin.database')</span>
177
177
  </a>
178
178
  </li>
179
179
  }
@@ -186,7 +186,7 @@
186
186
  <a class="nav-link dropdown-toggle" ngbDropdownToggle href="javascript:void(0);" id="languagesnavBarDropdown">
187
187
  <span>
188
188
  <fa-icon icon="flag"></fa-icon>
189
- <span <%= jhiPrefix %>Translate="global.menu.language">__jhiTransformTranslate__('global.menu.language')</span>
189
+ <span>__jhiTranslateTag__('global.menu.language')</span>
190
190
  </span>
191
191
  </a>
192
192
  <ul class="dropdown-menu" ngbDropdownMenu aria-labelledby="languagesnavBarDropdown">
@@ -204,7 +204,7 @@
204
204
  @if (!account()?.imageUrl) {
205
205
  <span>
206
206
  <fa-icon icon="user"></fa-icon>
207
- <span <%= jhiPrefix %>Translate="global.menu.account.main">__jhiTransformTranslate__('global.menu.account.main')</span>
207
+ <span>__jhiTranslateTag__('global.menu.account.main')</span>
208
208
  </span>
209
209
  } @else {
210
210
  <span>
@@ -218,13 +218,13 @@
218
218
  <li>
219
219
  <a class="dropdown-item" routerLink="/account/settings" routerLinkActive="active" (click)="collapseNavbar()" data-cy="settings">
220
220
  <fa-icon icon="wrench" [fixedWidth]="true"></fa-icon>
221
- <span <%= jhiPrefix %>Translate="global.menu.account.settings">__jhiTransformTranslate__('global.menu.account.settings')</span>
221
+ <span>__jhiTranslateTag__('global.menu.account.settings')</span>
222
222
  </a>
223
223
  </li>
224
224
  <li>
225
225
  <a class="dropdown-item" routerLink="/account/password" routerLinkActive="active" (click)="collapseNavbar()" data-cy="passwordItem">
226
226
  <fa-icon icon="lock" [fixedWidth]="true"></fa-icon>
227
- <span <%= jhiPrefix %>Translate="global.menu.account.password">__jhiTransformTranslate__('global.menu.account.password')</span>
227
+ <span>__jhiTranslateTag__('global.menu.account.password')</span>
228
228
  </a>
229
229
  </li>
230
230
  <%_ } _%>
@@ -232,28 +232,28 @@
232
232
  <li>
233
233
  <a class="dropdown-item" routerLink="/account/sessions" routerLinkActive="active" (click)="collapseNavbar()">
234
234
  <fa-icon icon="cloud" [fixedWidth]="true"></fa-icon>
235
- <span <%= jhiPrefix %>Translate="global.menu.account.sessions">__jhiTransformTranslate__('global.menu.account.sessions')</span>
235
+ <span>__jhiTranslateTag__('global.menu.account.sessions')</span>
236
236
  </a>
237
237
  </li>
238
238
  <%_ } _%>
239
239
  <li>
240
240
  <a class="dropdown-item" (click)="logout()" id="logout" data-cy="logout">
241
241
  <fa-icon icon="sign-out-alt" [fixedWidth]="true"></fa-icon>
242
- <span <%= jhiPrefix %>Translate="global.menu.account.logout">__jhiTransformTranslate__('global.menu.account.logout')</span>
242
+ <span>__jhiTranslateTag__('global.menu.account.logout')</span>
243
243
  </a>
244
244
  </li>
245
245
  } @else {
246
246
  <li>
247
247
  <a class="dropdown-item" (click)="login()" id="login" data-cy="login">
248
248
  <fa-icon icon="sign-in-alt" [fixedWidth]="true"></fa-icon>
249
- <span <%= jhiPrefix %>Translate="global.menu.account.login">__jhiTransformTranslate__('global.menu.account.login')</span>
249
+ <span>__jhiTranslateTag__('global.menu.account.login')</span>
250
250
  </a>
251
251
  </li>
252
252
  <%_ if (generateUserManagement) { _%>
253
253
  <li>
254
254
  <a class="dropdown-item" routerLink="/account/register" routerLinkActive="active" (click)="collapseNavbar()" data-cy="register">
255
255
  <fa-icon icon="user-plus" [fixedWidth]="true"></fa-icon>
256
- <span <%= jhiPrefix %>Translate="global.menu.account.register">__jhiTransformTranslate__('global.menu.account.register')</span>
256
+ <span>__jhiTranslateTag__('global.menu.account.register')</span>
257
257
  </a>
258
258
  </li>
259
259
  <%_ } _%>
@@ -20,7 +20,6 @@ jest.mock('app/login/login.service');
20
20
 
21
21
  import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
22
22
  import { HttpClientTestingModule } from '@angular/common/http/testing';
23
- import { RouterTestingModule } from '@angular/router/testing';
24
23
  import { of } from 'rxjs';
25
24
  <%_ if (enableTranslation) { _%>
26
25
  import { TranslateModule } from '@ngx-translate/core';
@@ -56,7 +55,6 @@ describe('Navbar Component', () => {
56
55
  imports: [
57
56
  NavbarComponent,
58
57
  HttpClientTestingModule,
59
- RouterTestingModule.withRoutes([]),
60
58
  <%_ if (enableTranslation) { _%>
61
59
  TranslateModule.forRoot(),
62
60
  <%_ } _%>
@@ -29,7 +29,7 @@ import { ProfileService } from './profile.service';
29
29
  template: `
30
30
  @if (ribbonEnv$ | async; as ribbonEnv) {
31
31
  <div class="ribbon">
32
- <a href=""<% if (enableTranslation) { %> <%= jhiPrefix %>Translate="global.ribbon.{{ ribbonEnv }}"<% } %>>{{ __jhiTransformTranslateStringify__('global.ribbon')[ribbonEnv] || '' }}</a>
32
+ <a href="">__jhiTranslateTagEnum__('global.ribbon', { "value": "ribbonEnv ?? ''" })</a>
33
33
  </div>
34
34
  }
35
35
  `,
@@ -19,22 +19,21 @@
19
19
  <div>
20
20
  <div class="d-flex justify-content-center">
21
21
  <div class="col-lg-6 col-md-8 col-sm-10">
22
- <h1 <%= jhiPrefix %>Translate="login.title" data-cy="loginTitle">__jhiTransformTranslate__('login.title')</h1>
22
+ <h1 data-cy="loginTitle">__jhiTranslateTag__('login.title')</h1>
23
23
  @if (authenticationError()) {
24
24
  <div class="alert alert-danger"
25
- <%= jhiPrefix %>Translate="login.messages.error.authentication"
26
25
  data-cy="loginError"
27
- >__jhiTransformTranslate__('login.messages.error.authentication')</div>
26
+ >__jhiTranslateTag__('login.messages.error.authentication')</div>
28
27
  }
29
28
  <form class="form" role="form" (ngSubmit)="login()" [formGroup]="loginForm">
30
29
  <div class="mb-3">
31
- <label class="username-label" for="username" <%= jhiPrefix %>Translate="global.form.username.label">__jhiTransformTranslate__('global.form["username.label"]')</label>
30
+ <label class="username-label" for="username">__jhiTranslateTag__('global.form.username.label')</label>
32
31
  <input
33
32
  type="text"
34
33
  class="form-control"
35
34
  name="username"
36
35
  id="username"
37
- placeholder="{{ 'global.form.username.placeholder' | translate }}"
36
+ placeholder="__jhiTranslatePipe__('global.form.username.placeholder')"
38
37
  formControlName="username"
39
38
  #username
40
39
  data-cy="username"
@@ -42,13 +41,13 @@
42
41
  </div>
43
42
 
44
43
  <div class="mb-3">
45
- <label for="password" <%= jhiPrefix %>Translate="login.form.password">__jhiTransformTranslate__('login.form.password')</label>
44
+ <label for="password">__jhiTranslateTag__('login.form.password')</label>
46
45
  <input
47
46
  type="password"
48
47
  class="form-control"
49
48
  name="password"
50
49
  id="password"
51
- placeholder="{{ 'login.form.password.placeholder' | translate }}"
50
+ placeholder="__jhiTranslatePipe__('login.form.password.placeholder')"
52
51
  formControlName="password"
53
52
  data-cy="password"
54
53
  />
@@ -57,20 +56,20 @@
57
56
  <div class="form-check"<% if (authenticationTypeSession && databaseTypeNo) { %> hidden<% } %>>
58
57
  <label class="form-check-label" for="rememberMe">
59
58
  <input class="form-check-input" type="checkbox" name="rememberMe" id="rememberMe" formControlName="rememberMe" />
60
- <span <%= jhiPrefix %>Translate="login.form.rememberme">__jhiTransformTranslate__('login.form.rememberme')</span>
59
+ <span>__jhiTranslateTag__('login.form.rememberme')</span>
61
60
  </label>
62
61
  </div>
63
62
 
64
- <button type="submit" class="btn btn-primary" <%= jhiPrefix %>Translate="login.form.button" data-cy="submit">__jhiTransformTranslate__('login.form.button')</button>
63
+ <button type="submit" class="btn btn-primary" data-cy="submit">__jhiTranslateTag__('login.form.button')</button>
65
64
  </form>
66
65
  <%_ if (generateUserManagement) { _%>
67
66
  <div class="mt-3 alert alert-warning">
68
- <a class="alert-link" routerLink="/account/reset/request" <%= jhiPrefix %>Translate="login.password.forgot" data-cy="forgetYourPasswordSelector">__jhiTransformTranslate__('login.password.forgot')</a>
67
+ <a class="alert-link" routerLink="/account/reset/request" data-cy="forgetYourPasswordSelector">__jhiTranslateTag__('login.password.forgot')</a>
69
68
  </div>
70
69
 
71
70
  <div class="alert alert-warning">
72
- <span <%= jhiPrefix %>Translate="global.messages.info.register.noaccount">__jhiTransformTranslate__('global.messages.info.register.noaccount')</span>
73
- <a class="alert-link" routerLink="/account/register" <%= jhiPrefix %>Translate="global.messages.info.register.link">__jhiTransformTranslate__('global.messages.info.register.link')</a>
71
+ <span>__jhiTranslateTag__('global.messages.info.register.noaccount')</span>
72
+ <a class="alert-link" routerLink="/account/register">__jhiTranslateTag__('global.messages.info.register.link')</a>
74
73
  </div>
75
74
  <%_ } _%>
76
75
  </div>
@@ -23,7 +23,6 @@ import { ElementRef } from '@angular/core';
23
23
  import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
24
24
  import { FormBuilder } from '@angular/forms';
25
25
  import { Router, Navigation } from '@angular/router';
26
- import { RouterTestingModule } from '@angular/router/testing';
27
26
  import { of, throwError } from 'rxjs';
28
27
 
29
28
  import { AccountService } from 'app/core/auth/account.service';
@@ -41,7 +40,7 @@ describe('LoginComponent', () => {
41
40
  beforeEach(
42
41
  waitForAsync(() => {
43
42
  TestBed.configureTestingModule({
44
- imports: [RouterTestingModule.withRoutes([]), LoginComponent],
43
+ imports: [LoginComponent],
45
44
  providers: [
46
45
  FormBuilder,
47
46
  AccountService,
@@ -25,8 +25,8 @@ import { LoginService } from 'app/login/login.service';
25
25
  import { AccountService } from 'app/core/auth/account.service';
26
26
 
27
27
  @Component({
28
- selector: '<%= jhiPrefixDashed %>-login',
29
28
  standalone: true,
29
+ selector: '<%= jhiPrefixDashed %>-login',
30
30
  imports: [SharedModule, FormsModule, ReactiveFormsModule, RouterModule],
31
31
  templateUrl: './login.component.html',
32
32
  })
@@ -1,13 +1,13 @@
1
1
  @if (filters.hasAnyFilterSet()) {
2
2
  <div class="filter-display">
3
- <span <%= jhiPrefix %>Translate="entity.filters.set">__jhiTransformTranslate__('entity.filters.set')</span>
4
- <fa-icon icon="times" (click)="clearAllFilters()" title="<% if (enableTranslation) { %>{{ 'entity.filters.clearAll' | translate }}<% } else { %>__jhiTransformTranslate__('entity.filters.clearAll')<% } %>"></fa-icon>
3
+ <span>__jhiTranslateTag__('entity.filters.set')</span>
4
+ <fa-icon icon="times" (click)="clearAllFilters()" title="__jhiTranslatePipe__('entity.filters.clearAll')"></fa-icon>
5
5
  <ul>
6
6
  @for (filterOption of filters.filterOptions; track filterOption.name) {
7
7
  @for (value of filterOption.values; track value) {
8
8
  <li>
9
9
  <span>{{ filterOption.name }}:</span> {{ value }}
10
- <fa-icon icon="times" (click)="clearFilter(filterOption.name, value)" title="<% if (enableTranslation) { %>{{ 'entity.filters.clear' | translate }}<% } else { %>__jhiTransformTranslate__('entity.filters.clear')<% } %>"></fa-icon>
10
+ <fa-icon icon="times" (click)="clearFilter(filterOption.name, value)" title="__jhiTranslatePipe__('entity.filters.clear')"></fa-icon>
11
11
  </li>
12
12
  }
13
13
  }
@@ -3,8 +3,8 @@ import { IFilterOptions } from './filter.model';
3
3
  import SharedModule from '../shared.module';
4
4
 
5
5
  @Component({
6
- selector: '<%= jhiPrefixDashed %>-filter',
7
6
  standalone: true,
7
+ selector: '<%= jhiPrefixDashed %>-filter',
8
8
  imports: [SharedModule],
9
9
  templateUrl: './filter.component.html',
10
10
  })
@@ -18,7 +18,7 @@
18
18
  */
19
19
  /* eslint-disable consistent-return, import/no-named-as-default-member */
20
20
  import chalk from 'chalk';
21
- import * as _ from 'lodash-es';
21
+ import { camelCase, omit } from 'lodash-es';
22
22
  import BaseApplicationGenerator from '../base-application/index.js';
23
23
  import { checkNode, loadStoredAppOptions } from './support/index.js';
24
24
  import cleanupOldFilesTask from './cleanup.js';
@@ -39,7 +39,7 @@ export default class JHipsterAppGenerator extends BaseApplicationGenerator {
39
39
  await this.composeWithBlueprints();
40
40
  }
41
41
  if (!this.delegateToBlueprint) {
42
- await this.dependsOnBootstrapAplicationBase();
42
+ await this.dependsOnBootstrapApplicationBase();
43
43
  }
44
44
  }
45
45
  get initializing() {
@@ -93,7 +93,7 @@ export default class JHipsterAppGenerator extends BaseApplicationGenerator {
93
93
  },
94
94
  fixConfig() {
95
95
  if (this.jhipsterConfig.jhiPrefix) {
96
- this.jhipsterConfig.jhiPrefix = _.camelCase(this.jhipsterConfig.jhiPrefix);
96
+ this.jhipsterConfig.jhiPrefix = camelCase(this.jhipsterConfig.jhiPrefix);
97
97
  }
98
98
  },
99
99
  defaults() {
@@ -160,7 +160,7 @@ export default class JHipsterAppGenerator extends BaseApplicationGenerator {
160
160
  return this.asDefaultTaskGroup({
161
161
  insight({ control }) {
162
162
  const yorc = {
163
- ..._.omit(this.jhipsterConfig, [JHI_PREFIX, BASE_NAME, JWT_SECRET_KEY, PACKAGE_NAME, PACKAGE_FOLDER, REMEMBER_ME_KEY]),
163
+ ...omit(this.jhipsterConfig, [JHI_PREFIX, BASE_NAME, JWT_SECRET_KEY, PACKAGE_NAME, PACKAGE_FOLDER, REMEMBER_ME_KEY]),
164
164
  };
165
165
  yorc.applicationType = this.jhipsterConfig.applicationType;
166
166
  statistics.sendYoRc(yorc, control.existingProject, this.jhipsterConfig.jhipsterVersion);
@@ -20,7 +20,7 @@ import fs from 'fs';
20
20
  import path from 'path';
21
21
  import chalk from 'chalk';
22
22
  import semver from 'semver';
23
- import * as _ from 'lodash-es';
23
+ import { defaults } from 'lodash-es';
24
24
  import { packageJson } from '../../lib/index.js';
25
25
  import { packageNameToNamespace, removeFieldsWithNullishValues } from './support/index.js';
26
26
  import { mergeBlueprints, parseBluePrints, loadBlueprintsFromConfiguration, normalizeBlueprintName } from './internal/index.js';
@@ -29,7 +29,6 @@ import CoreGenerator from '../base-core/index.js';
29
29
  import { LOCAL_BLUEPRINT_PACKAGE_NAMESPACE } from './support/constants.js';
30
30
  import { getConfigWithDefaults } from '../../jdl/index.js';
31
31
  import { loadStoredAppOptions } from '../app/support/index.js';
32
- const { defaults } = _;
33
32
  /**
34
33
  * Base class that contains blueprints support.
35
34
  */
@@ -385,6 +384,7 @@ export default class JHipsterBaseBlueprintGenerator extends CoreGenerator {
385
384
  const composedBlueprints = [];
386
385
  for (const blueprint of blueprints) {
387
386
  const blueprintGenerator = await this._composeBlueprint(blueprint.name, subGen, options);
387
+ let blueprintCommand;
388
388
  if (blueprintGenerator) {
389
389
  composedBlueprints.push(blueprintGenerator);
390
390
  if (blueprintGenerator.sbsBlueprint) {
@@ -396,6 +396,25 @@ export default class JHipsterBaseBlueprintGenerator extends CoreGenerator {
396
396
  this.delegateToBlueprint = true;
397
397
  this.checkBlueprintImplementsPriorities(blueprintGenerator);
398
398
  }
399
+ const blueprintModule = (await blueprintGenerator._meta?.importModule?.());
400
+ blueprintCommand = blueprintModule?.command;
401
+ }
402
+ else {
403
+ const generatorName = packageNameToNamespace(normalizeBlueprintName(blueprint.name));
404
+ const generatorNamespace = `${generatorName}:${subGen}`;
405
+ const blueprintMeta = await this.env.findMeta(generatorNamespace);
406
+ const blueprintModule = (await blueprintMeta?.importModule?.());
407
+ blueprintCommand = blueprintModule?.command;
408
+ if (blueprintCommand?.compose) {
409
+ this.generatorsToCompose.push(...blueprintCommand.compose);
410
+ }
411
+ }
412
+ if (blueprintCommand?.override) {
413
+ if (this.generatorCommand) {
414
+ this.log.warn('Command already set, multiple blueprints may be overriding the command. Unexpected behavior may occur.');
415
+ }
416
+ // Use the blueprint command if it is set to override.
417
+ this.generatorCommand = blueprintCommand;
399
418
  }
400
419
  }
401
420
  return composedBlueprints;
@@ -16,8 +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';
20
- const { defaults } = _;
19
+ import { defaults } from 'lodash-es';
21
20
  export default class SharedData {
22
21
  _storage;
23
22
  constructor(storage, initialControl = {}) {
@@ -1,5 +1,4 @@
1
- import * as _ from 'lodash-es';
2
- const { camelCase } = _;
1
+ import { camelCase } from 'lodash-es';
3
2
  /**
4
3
  * get the frontend application name.
5
4
  */
@@ -17,10 +17,8 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import assert from 'assert';
20
- import * as _ from 'lodash-es';
21
- import escapeStringRegexp from 'escape-string-regexp';
20
+ import { escapeRegExp, kebabCase } from 'lodash-es';
22
21
  import { joinCallbacks } from './write-files.js';
23
- const { kebabCase } = _;
24
22
  /**
25
23
  * Change spaces sequences and '>' to allow any number of spaces or new line prefix
26
24
  */
@@ -40,10 +38,10 @@ export const checkContentIn = (contentToCheck, content, ignoreWhitespaces = true
40
38
  let re;
41
39
  if (typeof contentToCheck === 'string') {
42
40
  const pattern = ignoreWhitespaces
43
- ? convertToPrettierExpressions(escapeStringRegexp(contentToCheck))
41
+ ? convertToPrettierExpressions(escapeRegExp(contentToCheck))
44
42
  : contentToCheck
45
43
  .split('\n')
46
- .map(line => `\\s*${escapeStringRegexp(line)}`)
44
+ .map(line => `\\s*${escapeRegExp(line)}`)
47
45
  .join('\n');
48
46
  re = new RegExp(pattern);
49
47
  }
@@ -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, upperFirst } from 'lodash-es';
20
20
  /**
21
21
  * Calculate a hash code for a given string.
22
22
  * @param str - any string
@@ -39,5 +39,5 @@ export function stringHashCode(str) {
39
39
  * @param value string to convert
40
40
  */
41
41
  export function upperFirstCamelCase(value) {
42
- return _.upperFirst(_.camelCase(value));
42
+ return upperFirst(camelCase(value));
43
43
  }
@@ -68,16 +68,16 @@ export default class BaseApplicationGenerator extends BaseGenerator {
68
68
  delete this.options.applicationWithEntities;
69
69
  }
70
70
  }
71
- dependsOnBootstrapAplication(options) {
71
+ dependsOnBootstrapApplication(options) {
72
72
  return this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION, options);
73
73
  }
74
- dependsOnBootstrapAplicationBase(options) {
74
+ dependsOnBootstrapApplicationBase(options) {
75
75
  return this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION_BASE, options);
76
76
  }
77
- dependsOnBootstrapAplicationServer(options) {
77
+ dependsOnBootstrapApplicationServer(options) {
78
78
  return this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION_SERVER, options);
79
79
  }
80
- dependsOnBootstrapAplicationClient(options) {
80
+ dependsOnBootstrapApplicationClient(options) {
81
81
  return this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION_CLIENT, options);
82
82
  }
83
83
  /**
@@ -16,7 +16,6 @@
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';
20
- const { upperFirst } = _;
19
+ import { upperFirst } from 'lodash-es';
21
20
  // eslint-disable-next-line import/prefer-default-export
22
21
  export const findEntityInEntities = (entityName, entities) => entities.find(entity => upperFirst(entity.name) === upperFirst(entityName));