generator-jhipster 8.7.2 → 8.8.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 (523) hide show
  1. package/README.md +4 -4
  2. package/dist/cli/environment-builder.d.mts +1 -3
  3. package/dist/cli/jhipster-command.d.mts +2 -2
  4. package/dist/cli/program.mjs +2 -1
  5. package/dist/generators/angular/files-angular.d.ts +2 -0
  6. package/dist/generators/angular/files-angular.js +39 -4
  7. package/dist/generators/angular/generator.d.ts +14 -154
  8. package/dist/generators/angular/generator.js +98 -196
  9. package/dist/generators/angular/resources/package.json +26 -22
  10. package/dist/generators/angular/support/path-utils.d.ts +1 -0
  11. package/dist/generators/angular/support/path-utils.js +1 -0
  12. package/dist/generators/angular/support/translate-angular.d.ts +3 -2
  13. package/dist/generators/angular/support/translate-angular.js +2 -10
  14. package/dist/generators/angular/support/update-languages.d.ts +1 -1
  15. package/dist/generators/angular/support/update-languages.js +3 -1
  16. package/dist/generators/angular/templates/angular.json.ejs +7 -1
  17. package/dist/generators/angular/templates/angular.json.esbuild.ejs +160 -0
  18. package/dist/generators/angular/templates/build-plugins/define-esbuild.mjs.ejs +10 -0
  19. package/dist/generators/angular/templates/build-plugins/i18n-esbuild.mjs.ejs +49 -0
  20. package/dist/generators/angular/templates/eslint.config.js.jhi.angular.ejs +1 -7
  21. package/dist/generators/angular/templates/jest.conf.js.ejs +1 -2
  22. package/dist/generators/angular/templates/package.json.ejs +2 -19
  23. package/dist/generators/angular/templates/postcss.config.json.ejs +5 -0
  24. package/dist/generators/angular/templates/proxy.conf.json.ejs +27 -0
  25. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +0 -1
  26. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +0 -1
  27. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +0 -1
  28. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +0 -1
  29. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +0 -1
  30. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +0 -1
  31. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +0 -1
  32. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +0 -1
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +1 -1
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.ts.ejs +0 -1
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/docs/docs.component.ts.ejs +0 -1
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +0 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.ts.ejs +1 -2
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.model.ts.ejs +1 -3
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +0 -1
  40. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +1 -1
  41. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.ts.ejs +0 -1
  42. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.ts.ejs +0 -1
  43. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.ts.ejs +0 -1
  44. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.ts.ejs +0 -1
  45. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.ts.ejs +0 -1
  46. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.ts.ejs +0 -1
  47. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +1 -1
  48. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.ts.ejs +0 -1
  49. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts.ejs +0 -1
  50. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.ts.ejs +0 -1
  51. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.ts.ejs +0 -1
  52. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +0 -3
  53. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.model.ts.ejs +1 -6
  54. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +0 -1
  55. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.ts.ejs +0 -1
  56. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +1 -1
  57. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.ts.ejs +0 -1
  58. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +1 -1
  59. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +1 -1
  60. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +1 -3
  61. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +1 -1
  62. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +1 -1
  63. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +0 -1
  64. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/user-management.model.ts.ejs +1 -1
  65. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +0 -1
  66. package/dist/generators/angular/templates/src/main/webapp/app/app.config.ts.ejs +2 -2
  67. package/dist/generators/angular/templates/src/main/webapp/app/config/translation.config.ts.ejs +16 -1
  68. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +2 -2
  69. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.ts.ejs +1 -1
  70. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.model.ts.ejs +1 -1
  71. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.test-samples.ts.ejs +5 -5
  72. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +1 -1
  73. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.ts.ejs +0 -1
  74. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +4 -4
  75. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +2 -2
  76. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.ts.ejs +13 -2
  77. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +5 -7
  78. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +4 -5
  79. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +27 -17
  80. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +1 -1
  81. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +7 -7
  82. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +3 -3
  83. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +12 -12
  84. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +1 -2
  85. package/dist/generators/angular/templates/src/main/webapp/app/entities/entity-navbar-items.ts.ejs +1 -1
  86. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.ts.ejs +0 -1
  87. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.ts.ejs +0 -1
  88. package/dist/generators/angular/templates/src/main/webapp/app/layouts/footer/footer.component.ts.ejs +0 -1
  89. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +7 -5
  90. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +0 -1
  91. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +0 -1
  92. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +2 -2
  93. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +0 -1
  94. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +0 -1
  95. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.ts.ejs +0 -1
  96. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.ts.ejs +0 -1
  97. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +2 -2
  98. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +7 -11
  99. package/dist/generators/angular/templates/src/main/webapp/app/shared/date/duration.pipe.ts.ejs +0 -1
  100. package/dist/generators/angular/templates/src/main/webapp/app/shared/date/format-medium-date.pipe.ts.ejs +0 -1
  101. package/dist/generators/angular/templates/src/main/webapp/app/shared/date/format-medium-datetime.pipe.ts.ejs +0 -1
  102. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +2 -2
  103. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.ts.ejs +4 -5
  104. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/find-language-from-key.pipe.ts.ejs +0 -1
  105. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translate.directive.spec.ts.ejs +2 -2
  106. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translate.directive.ts.ejs +5 -6
  107. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translation.module.ts.ejs +1 -1
  108. package/dist/generators/angular/templates/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +0 -1
  109. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.spec.ts.ejs +5 -6
  110. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +4 -5
  111. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.directive.spec.ts.ejs +1 -2
  112. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.directive.ts.ejs +8 -13
  113. package/dist/generators/angular/templates/src/main/webapp/bootstrap.ts.ejs +2 -2
  114. package/dist/generators/angular/templates/src/main/webapp/declarations.d.ts.ejs +5 -0
  115. package/dist/generators/angular/templates/src/main/webapp/{app/entities/_entityFolder_/list/pagination-template.ejs → environments/environment.development.ts.ejs} +4 -3
  116. package/dist/generators/angular/templates/src/main/webapp/environments/environment.ts.ejs +22 -0
  117. package/dist/generators/angular/templates/src/main/webapp/i18n/index.ts.ejs +14 -0
  118. package/dist/generators/angular/templates/webpack/environment.js.ejs +0 -1
  119. package/dist/generators/angular/templates/webpack/webpack.custom.js.ejs +2 -22
  120. package/dist/generators/angular/types-partial.d.ts +32 -0
  121. package/dist/generators/angular/types.d.ts +35 -1
  122. package/dist/generators/app/generator.d.ts +1 -0
  123. package/dist/generators/app/support/config.d.ts +2 -1
  124. package/dist/generators/base/shared-data.d.ts +12 -8
  125. package/dist/generators/base/shared-data.js +14 -4
  126. package/dist/generators/base/support/index.d.ts +4 -3
  127. package/dist/generators/base/support/index.js +4 -3
  128. package/dist/generators/base/support/jhipster7-context.d.ts +1 -1
  129. package/dist/generators/base/support/jhipster7-context.js +1 -1
  130. package/dist/generators/base/types.d.ts +8 -2
  131. package/dist/generators/base-application/generator.d.ts +98 -87
  132. package/dist/generators/base-application/support/prepare-entity.d.ts +6 -3
  133. package/dist/generators/base-application/support/prepare-entity.js +37 -40
  134. package/dist/generators/base-application/support/prepare-field.js +22 -23
  135. package/dist/generators/base-application/types.d.ts +8 -9
  136. package/dist/generators/base-core/generator.d.ts +5 -5
  137. package/dist/generators/base-core/generator.js +8 -7
  138. package/dist/generators/base-entity-changes/generator.d.ts +2 -4
  139. package/dist/generators/bootstrap/generator.d.ts +1 -0
  140. package/dist/generators/bootstrap/generator.js +2 -8
  141. package/dist/generators/bootstrap/support/eslint-worker.d.ts +1 -1
  142. package/dist/generators/bootstrap-application/generator.d.ts +1 -0
  143. package/dist/generators/bootstrap-application/generator.js +1 -1
  144. package/dist/generators/bootstrap-application-base/generator.d.ts +2 -1
  145. package/dist/generators/bootstrap-application-base/generator.js +10 -0
  146. package/dist/generators/bootstrap-application-base/utils.d.ts +4 -71
  147. package/dist/generators/bootstrap-application-base/utils.js +7 -6
  148. package/dist/generators/bootstrap-application-client/generator.d.ts +2 -1
  149. package/dist/generators/bootstrap-application-client/generator.js +16 -9
  150. package/dist/generators/bootstrap-application-server/generator.d.ts +2 -0
  151. package/dist/generators/bootstrap-application-server/generator.js +27 -5
  152. package/dist/generators/bootstrap-workspaces/generator.d.ts +1 -0
  153. package/dist/generators/ci-cd/generator.d.ts +1 -0
  154. package/dist/generators/ci-cd/templates/.gitlab-ci.yml.ejs +4 -6
  155. package/dist/generators/client/command.d.ts +15 -1
  156. package/dist/generators/client/command.js +15 -1
  157. package/dist/generators/client/files-common.js +1 -1
  158. package/dist/generators/client/generator.d.ts +2 -1
  159. package/dist/generators/client/generator.js +24 -11
  160. package/dist/generators/client/generators/common/generator.d.ts +1 -0
  161. package/dist/generators/client/prompts.d.ts +2 -2
  162. package/dist/generators/client/resources/package.json +5 -5
  163. package/dist/generators/client/support/config.js +4 -2
  164. package/dist/generators/client/support/entity-definition.d.ts +2 -5
  165. package/dist/generators/client/support/entity-definition.js +3 -8
  166. package/dist/generators/client/support/filter-entities.d.ts +5 -1
  167. package/dist/generators/client/support/filter-entities.js +4 -2
  168. package/dist/generators/client/support/prepare-entity.d.ts +20 -1
  169. package/dist/generators/client/support/prepare-entity.js +30 -19
  170. package/dist/generators/client/support/template-utils.d.ts +16 -12
  171. package/dist/generators/client/support/template-utils.js +45 -18
  172. package/dist/generators/client/support/update-languages.d.ts +4 -4
  173. package/dist/generators/client/types.d.ts +10 -3
  174. package/dist/generators/common/files.d.ts +1 -3
  175. package/dist/generators/common/files.js +3 -3
  176. package/dist/generators/common/generator.d.ts +2 -4
  177. package/dist/generators/common/generator.js +17 -15
  178. package/dist/generators/common/resources/package.json +2 -2
  179. package/dist/generators/common/templates/sonar-project.properties.ejs +34 -28
  180. package/dist/generators/cucumber/generator.d.ts +1 -0
  181. package/dist/generators/cypress/generator.d.ts +1 -0
  182. package/dist/generators/cypress/generator.js +12 -5
  183. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/logout.cy.ts.ejs +2 -2
  184. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/register-page.cy.ts.ejs +1 -1
  185. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +4 -1
  186. package/dist/generators/docker/generator.d.ts +1 -0
  187. package/dist/generators/docker/generator.js +1 -1
  188. package/dist/generators/docker/templates/docker/couchbase.yml.ejs +2 -2
  189. package/dist/generators/docker/templates/docker/kafka.yml.ejs +8 -16
  190. package/dist/generators/docker/templates/docker/mysql.yml.ejs +2 -2
  191. package/dist/generators/docker-compose/generator.d.ts +1 -0
  192. package/dist/generators/docker-compose/generator.js +3 -0
  193. package/dist/generators/docker-compose/templates/README-DOCKER-COMPOSE.md.ejs +0 -1
  194. package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +7 -9
  195. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +1 -3
  196. package/dist/generators/entities/generator.d.ts +1 -0
  197. package/dist/generators/entity/generator.d.ts +1 -0
  198. package/dist/generators/export-jdl/generator.d.ts +1 -0
  199. package/dist/generators/feign-client/generator.d.ts +1 -0
  200. package/dist/generators/gatling/generator.d.ts +1 -0
  201. package/dist/generators/generate-blueprint/command.d.ts +15 -0
  202. package/dist/generators/generate-blueprint/command.js +15 -0
  203. package/dist/generators/generate-blueprint/constants.d.ts +2 -2
  204. package/dist/generators/generate-blueprint/constants.js +1 -2
  205. package/dist/generators/generate-blueprint/files.js +4 -1
  206. package/dist/generators/generate-blueprint/generator.d.ts +2 -0
  207. package/dist/generators/generate-blueprint/generator.js +5 -3
  208. package/dist/generators/generate-blueprint/resources/package.json +3 -3
  209. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +10 -1
  210. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +64 -30
  211. package/dist/generators/{angular/templates/src/main/webapp/app/app.constants.ts.ejs → generate-blueprint/templates/.blueprint/github-build-matrix/command.mjs.ejs} +24 -8
  212. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +23 -7
  213. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.spec.mjs.ejs +24 -0
  214. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/index.mjs.ejs +1 -0
  215. package/dist/generators/generate-blueprint/templates/.github/workflows/samples.yml.ejs +14 -8
  216. package/dist/generators/generate-blueprint/templates/.gitignore.jhi.blueprint.ejs +22 -0
  217. package/dist/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +6 -7
  218. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -0
  219. package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +7 -0
  220. package/dist/generators/generator-constants.d.ts +1 -1
  221. package/dist/generators/generator-constants.js +1 -1
  222. package/dist/generators/git/generator.d.ts +1 -0
  223. package/dist/generators/git/templates/.gitignore.jhi.ejs +2 -2
  224. package/dist/generators/gradle/command.d.ts +31 -20
  225. package/dist/generators/gradle/generator.d.ts +1 -0
  226. package/dist/generators/gradle/generators/code-quality/generator.d.ts +1 -0
  227. package/dist/generators/gradle/generators/jib/generator.d.ts +1 -0
  228. package/dist/generators/gradle/generators/node-gradle/generator.d.ts +1 -0
  229. package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +5 -54
  230. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  231. package/dist/generators/heroku/generator.d.ts +1 -0
  232. package/dist/generators/info/generator.d.ts +1 -0
  233. package/dist/generators/info/support/extract-info.d.ts +2 -0
  234. package/dist/generators/info/support/extract-info.js +25 -12
  235. package/dist/generators/info/support/index.d.ts +1 -0
  236. package/dist/generators/info/support/index.js +1 -0
  237. package/dist/generators/info/support/markdown-content.d.ts +6 -0
  238. package/dist/generators/info/support/markdown-content.js +14 -0
  239. package/dist/generators/init/generator.d.ts +1 -0
  240. package/dist/generators/init/resources/.node-version +1 -1
  241. package/dist/generators/java/generators/bootstrap/generator.d.ts +2 -0
  242. package/dist/generators/java/generators/bootstrap/generator.js +13 -0
  243. package/dist/generators/java/generators/build-tool/generator.d.ts +1 -0
  244. package/dist/generators/java/generators/code-quality/generator.d.ts +1 -0
  245. package/dist/generators/java/generators/domain/generator.d.ts +1 -0
  246. package/dist/generators/java/generators/domain/generator.js +1 -1
  247. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/domain/AssertUtils.java.ejs +1 -1
  248. package/dist/generators/java/generators/graalvm/generator.d.ts +3 -1
  249. package/dist/generators/java/generators/graalvm/generator.js +16 -2
  250. package/dist/generators/java/generators/graalvm/internal/constants.d.ts +1 -0
  251. package/dist/generators/java/generators/graalvm/internal/constants.js +2 -0
  252. package/dist/generators/java/generators/graalvm/internal/maven-definition.d.ts +2 -1
  253. package/dist/generators/java/generators/graalvm/internal/maven-definition.js +2 -1
  254. package/dist/generators/java/generators/graalvm/templates/gradle/native.gradle.ejs +5 -1
  255. package/dist/generators/java/generators/jib/generator.d.ts +1 -0
  256. package/dist/generators/java/generators/node/generator.d.ts +3 -1
  257. package/dist/generators/java/generators/node/generator.js +22 -1
  258. package/dist/generators/java/generators/node/templates/{npmw.cmd → npmw.cmd.ejs} +11 -11
  259. package/dist/generators/java/generators/node/templates/{npmw → npmw.ejs} +5 -2
  260. package/dist/generators/java/generators/openapi-generator/generator.d.ts +1 -0
  261. package/dist/generators/java/generators/server/command.d.ts +5 -0
  262. package/dist/generators/java/generators/server/command.js +5 -0
  263. package/dist/generators/java/generators/server/generator.d.ts +24 -0
  264. package/dist/generators/java/generators/server/generator.js +107 -0
  265. package/dist/generators/java/generators/server/index.d.ts +20 -0
  266. package/dist/generators/java/generators/server/index.js +20 -0
  267. package/dist/generators/java/types.d.ts +3 -0
  268. package/dist/generators/javascript/generators/bootstrap/generator.d.ts +3 -1
  269. package/dist/generators/javascript/generators/bootstrap/generator.js +18 -3
  270. package/dist/generators/javascript/generators/eslint/command.d.ts +12 -20
  271. package/dist/generators/javascript/generators/eslint/command.js +2 -0
  272. package/dist/generators/javascript/generators/eslint/generator.d.ts +1 -0
  273. package/dist/generators/javascript/generators/husky/generator.d.ts +1 -0
  274. package/dist/generators/javascript/generators/prettier/generator.d.ts +1 -0
  275. package/dist/generators/javascript/generators/prettier/generator.js +12 -2
  276. package/dist/generators/javascript/resources/package.json +2 -2
  277. package/dist/generators/javascript/types.d.ts +24 -9
  278. package/dist/generators/jdl/generator.d.ts +1 -0
  279. package/dist/generators/kubernetes/files.js +3 -0
  280. package/dist/generators/kubernetes/generator.d.ts +49 -0
  281. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +1 -3
  282. package/dist/generators/kubernetes/templates/messagebroker/kafka.yml.ejs +16 -55
  283. package/dist/generators/kubernetes-helm/generator.d.ts +42 -0
  284. package/dist/generators/kubernetes-helm/templates/csvc/helpers.tpl.ejs +1 -12
  285. package/dist/generators/kubernetes-helm/templates/csvc/values.yml.ejs +0 -7
  286. package/dist/generators/kubernetes-knative/generator.d.ts +27 -1
  287. package/dist/generators/languages/generator.d.ts +5 -6
  288. package/dist/generators/languages/generator.js +8 -8
  289. package/dist/generators/languages/prompts.js +8 -5
  290. package/dist/generators/languages/support/translate.d.ts +4 -3
  291. package/dist/generators/languages/support/translate.js +1 -19
  292. package/dist/generators/languages/templates/src/main/webapp/i18n/fr/user-management.json +1 -1
  293. package/dist/generators/liquibase/generator.d.ts +1 -0
  294. package/dist/generators/liquibase/generator.js +11 -10
  295. package/dist/generators/liquibase/support/relationship.d.ts +3 -2
  296. package/dist/generators/liquibase/templates/src/main/java/_package_/config/LiquibaseConfiguration.java.ejs +10 -9
  297. package/dist/generators/maven/generator.d.ts +1 -0
  298. package/dist/generators/maven/generators/code-quality/generator.d.ts +1 -0
  299. package/dist/generators/maven/generators/frontend-plugin/generator.d.ts +1 -0
  300. package/dist/generators/maven/generators/frontend-plugin/generator.js +5 -31
  301. package/dist/generators/maven/generators/jib/generator.d.ts +1 -0
  302. package/dist/generators/project-name/generator.d.ts +1 -0
  303. package/dist/generators/react/files-react.js +1 -6
  304. package/dist/generators/react/generator.d.ts +3 -4
  305. package/dist/generators/react/generator.js +21 -13
  306. package/dist/generators/react/resources/package.json +28 -27
  307. package/dist/generators/react/support/translate-react.d.ts +3 -2
  308. package/dist/generators/react/support/translate-react.js +2 -2
  309. package/dist/generators/react/support/update-languages.d.ts +1 -1
  310. package/dist/generators/react/templates/eslint.config.js.jhi.react.ejs +1 -0
  311. package/dist/generators/react/templates/jest.conf.js.ejs +1 -1
  312. package/dist/generators/react/templates/package.json.ejs +1 -2
  313. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.ts.ejs +4 -4
  314. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-reducer.spec.ts.ejs +3 -3
  315. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/index.tsx.ejs +1 -1
  316. package/dist/generators/react/templates/src/main/webapp/app/entities/routes.tsx.ejs +1 -1
  317. package/dist/generators/react/templates/src/main/webapp/app/modules/account/index.tsx.ejs +1 -1
  318. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/index.tsx.ejs +1 -1
  319. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/user-management/index.tsx.ejs +1 -1
  320. package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +4 -1
  321. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +1 -1
  322. package/dist/generators/react/templates/src/main/webapp/app/shared/error/error-boundary-routes.spec.tsx.ejs +1 -1
  323. package/dist/generators/react/templates/src/main/webapp/app/shared/error/error-boundary-routes.tsx.ejs +2 -1
  324. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/header/header.spec.tsx.ejs +7 -1
  325. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +1 -1
  326. package/dist/generators/react/templates/tsconfig.test.json.ejs +0 -5
  327. package/dist/generators/react/templates/webpack/webpack.dev.js.ejs +1 -1
  328. package/dist/generators/server/generator.d.ts +2 -34
  329. package/dist/generators/server/generator.js +4 -182
  330. package/dist/generators/server/resources/Dockerfile +13 -16
  331. package/dist/generators/server/resources/gradle/libs.versions.toml +8 -8
  332. package/dist/generators/server/resources/pom.xml +9 -9
  333. package/dist/generators/server/support/config.d.ts +2 -4
  334. package/dist/generators/server/support/config.js +0 -6
  335. package/dist/generators/server/support/prepare-entity.d.ts +2 -1
  336. package/dist/generators/server/support/prepare-entity.js +3 -2
  337. package/dist/generators/server/support/prepare-field.d.ts +2 -1
  338. package/dist/generators/server/support/prepare-field.js +2 -0
  339. package/dist/generators/server/support/prepare-relationship.d.ts +2 -1
  340. package/dist/generators/server/support/templates/field-values.d.ts +2 -1
  341. package/dist/generators/server/support/templates/field-values.js +4 -3
  342. package/dist/generators/server/support/update-languages.d.ts +9 -2
  343. package/dist/generators/server/types.d.ts +10 -0
  344. package/dist/generators/spring-boot/command.d.ts +8 -1
  345. package/dist/generators/spring-boot/command.js +13 -6
  346. package/dist/generators/spring-boot/generator.d.ts +3 -12
  347. package/dist/generators/spring-boot/generator.js +22 -28
  348. package/dist/generators/spring-boot/prompts.d.ts +2 -6
  349. package/dist/generators/spring-boot/prompts.js +25 -42
  350. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +191 -252
  351. package/dist/generators/spring-boot/templates/README.md.jhi.spring-boot.ejs +1 -1
  352. package/dist/generators/spring-boot/templates/build.gradle.ejs +6 -1
  353. package/dist/generators/spring-boot/templates/gradle/profile_dev.gradle.ejs +7 -48
  354. package/dist/generators/spring-boot/templates/gradle/profile_prod.gradle.ejs +1 -1
  355. package/dist/generators/spring-boot/templates/package.json.ejs +1 -4
  356. package/dist/generators/spring-boot/templates/pom.xml.ejs +6 -2
  357. package/dist/generators/spring-boot/templates/settings.gradle.ejs +1 -1
  358. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/repository/UserRepository.java.ejs +7 -7
  359. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/UserService.java.ejs +10 -4
  360. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/PublicUserResource.java.ejs +2 -0
  361. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/UserResource.java.ejs +1 -1
  362. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +14 -40
  363. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +3 -24
  364. package/dist/generators/spring-boot/templates/src/main/java/_package_/service/MailService.java.ejs +8 -8
  365. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/LogoutResource_imperative.java.ejs +4 -4
  366. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/LogoutResource_reactive.java.ejs +4 -3
  367. package/dist/generators/spring-boot/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
  368. package/dist/generators/spring-boot/templates/src/main/resources/config/application-tls.yml.ejs +9 -1
  369. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +6 -6
  370. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/criteria/_entityClass_CriteriaTest.java.ejs +5 -4
  371. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/dto/_dtoClass_Test.java.ejs +2 -2
  372. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +19 -21
  373. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +40 -21
  374. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +3 -3
  375. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/JwtAuthenticationTestUtils.java.ejs +1 -0
  376. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/oauth2/CustomClaimConverterIT.java.ejs +2 -2
  377. package/dist/generators/spring-boot/templates/src/test/java/_package_/service/MailServiceIT.java.ejs +2 -2
  378. package/dist/generators/spring-boot/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +2 -2
  379. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +19 -19
  380. package/dist/generators/spring-cache/generator.d.ts +1 -0
  381. package/dist/generators/spring-cache/generator.js +6 -4
  382. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  383. package/dist/generators/spring-cloud/generators/gateway/generator.d.ts +1 -0
  384. package/dist/generators/spring-cloud-stream/generator.d.ts +1 -0
  385. package/dist/generators/spring-cloud-stream/generators/kafka/generator.d.ts +1 -0
  386. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaProducer.java.ejs +1 -1
  387. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/config/KafkaTestContainer.java.ejs +2 -1
  388. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/config/KafkaTestContainersSpringContextCustomizerFactory.java.ejs +1 -2
  389. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/web/rest/KafkaResourceIT_imperative.java.ejs +1 -1
  390. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +1 -1
  391. package/dist/generators/spring-cloud-stream/generators/pulsar/generator.d.ts +1 -0
  392. package/dist/generators/spring-data-cassandra/generator.d.ts +1 -0
  393. package/dist/generators/spring-data-cassandra/generator.js +1 -1
  394. package/dist/generators/spring-data-couchbase/generator.d.ts +1 -0
  395. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository.java.ejs +1 -1
  396. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +0 -21
  397. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/repository/JHipsterCouchbaseRepository.java.ejs +1 -1
  398. package/dist/generators/spring-data-elasticsearch/generator.d.ts +1 -0
  399. package/dist/generators/spring-data-mongodb/generator.d.ts +1 -0
  400. package/dist/generators/spring-data-neo4j/generator.d.ts +1 -0
  401. package/dist/generators/spring-data-relational/generator.d.ts +2 -1
  402. package/dist/generators/spring-data-relational/generator.js +6 -4
  403. package/dist/generators/spring-data-relational/support/database-data.js +0 -3
  404. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/EntityManager_reactive.java.ejs +1 -2
  405. package/dist/generators/spring-websocket/generator.d.ts +1 -0
  406. package/dist/generators/upgrade/generator.d.ts +1 -0
  407. package/dist/generators/vue/files-vue.js +0 -9
  408. package/dist/generators/vue/generator.d.ts +4 -4
  409. package/dist/generators/vue/generator.js +47 -25
  410. package/dist/generators/vue/resources/package.json +29 -30
  411. package/dist/generators/vue/support/translate-vue.d.ts +4 -4
  412. package/dist/generators/vue/support/translate-vue.js +1 -1
  413. package/dist/generators/vue/support/update-languages.d.ts +1 -1
  414. package/dist/generators/vue/templates/package.json.ejs +0 -2
  415. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-edit.component.spec.ts.ejs +1 -1
  416. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-view.component.spec.ts.ejs +1 -1
  417. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.component.spec.ts.ejs +1 -1
  418. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +7 -0
  419. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +3 -6
  420. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.component.spec.ts.ejs +1 -1
  421. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.component.spec.ts.ejs +1 -1
  422. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.component.spec.ts.ejs +1 -1
  423. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.spec.ts.ejs +3 -3
  424. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.ts.ejs +2 -2
  425. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +15 -0
  426. package/dist/generators/vue/templates/src/main/webapp/app/router/index.ts.ejs +2 -6
  427. package/dist/generators/vue/templates/vite.config.mts.ejs +1 -1
  428. package/dist/generators/vue/templates/vitest.config.mts.ejs +0 -7
  429. package/dist/generators/vue/templates/webpack/webpack.dev.js.ejs +1 -1
  430. package/dist/generators/workspaces/generator.d.ts +1 -0
  431. package/dist/lib/command/converter.d.ts +2 -2
  432. package/dist/lib/command/load.js +8 -25
  433. package/dist/lib/command/types.d.ts +9 -7
  434. package/dist/lib/internal/config-def.js +2 -8
  435. package/dist/lib/jdl/core/linters/rules.d.ts +1 -3
  436. package/dist/lib/jdl/core/models/jdl-application.d.ts +1 -1
  437. package/dist/lib/jhipster/default-application-options.d.ts +7 -4
  438. package/dist/lib/jhipster/default-application-options.js +14 -5
  439. package/dist/lib/testing/github-group.d.ts +1 -1
  440. package/dist/lib/testing/github-group.js +5 -3
  441. package/dist/lib/testing/github-matrix.js +2 -2
  442. package/dist/lib/testing/github.d.ts +5 -1
  443. package/dist/lib/testing/github.js +18 -5
  444. package/dist/lib/testing/helpers.d.ts +14 -1
  445. package/dist/lib/testing/helpers.js +34 -2
  446. package/dist/lib/testing/sample-config.js +2 -2
  447. package/dist/lib/testing/support/entity-samples.d.ts +29 -29
  448. package/dist/lib/testing/support/entity-samples.js +2 -2
  449. package/dist/lib/types/application/application.d.ts +4 -2
  450. package/dist/lib/types/application/entity.d.ts +47 -9
  451. package/dist/lib/types/application/field.d.ts +11 -2
  452. package/dist/lib/types/application/property.d.ts +10 -0
  453. package/dist/lib/types/application/relationship.d.ts +5 -1
  454. package/dist/lib/types/application/tasks.d.ts +14 -4
  455. package/dist/lib/types/base/entity.d.ts +11 -1
  456. package/dist/lib/types/base/field.d.ts +6 -2
  457. package/dist/lib/types/base/property.d.ts +6 -0
  458. package/dist/lib/types/base/relationship.d.ts +3 -1
  459. package/dist/lib/types/base/translation.d.ts +1 -0
  460. package/dist/lib/utils/derived-property.d.ts +6 -0
  461. package/dist/lib/utils/derived-property.js +27 -0
  462. package/dist/lib/utils/object.d.ts +4 -4
  463. package/dist/lib/utils/yo-rc.d.ts +22 -13
  464. package/package.json +37 -37
  465. package/dist/generators/angular/types-export.d.ts +0 -1
  466. package/dist/generators/app/types-export.d.ts +0 -1
  467. package/dist/generators/base/types-export.d.ts +0 -4
  468. package/dist/generators/base-application/types-export.d.ts +0 -6
  469. package/dist/generators/base-core/types-export.d.ts +0 -1
  470. package/dist/generators/base-entity-changes/types-export.d.ts +0 -1
  471. package/dist/generators/bootstrap/types-export.d.ts +0 -1
  472. package/dist/generators/bootstrap-application/types-export.d.ts +0 -1
  473. package/dist/generators/bootstrap-application-base/types-export.d.ts +0 -1
  474. package/dist/generators/bootstrap-application-client/types-export.d.ts +0 -1
  475. package/dist/generators/bootstrap-application-server/types-export.d.ts +0 -1
  476. package/dist/generators/ci-cd/types-export.d.ts +0 -1
  477. package/dist/generators/client/types-export.d.ts +0 -1
  478. package/dist/generators/common/types-export.d.ts +0 -1
  479. package/dist/generators/cucumber/types-export.d.ts +0 -1
  480. package/dist/generators/cypress/types-export.d.ts +0 -1
  481. package/dist/generators/docker/types-export.d.ts +0 -1
  482. package/dist/generators/docker-compose/types-export.d.ts +0 -1
  483. package/dist/generators/entities/types-export.d.ts +0 -1
  484. package/dist/generators/entity/types-export.d.ts +0 -1
  485. package/dist/generators/export-jdl/types-export.d.ts +0 -1
  486. package/dist/generators/feign-client/types-export.d.ts +0 -1
  487. package/dist/generators/gatling/types-export.d.ts +0 -1
  488. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/build-matrix.mjs.ejs +0 -22
  489. package/dist/generators/generate-blueprint/types-export.d.ts +0 -1
  490. package/dist/generators/git/types-export.d.ts +0 -1
  491. package/dist/generators/gradle/types-export.d.ts +0 -1
  492. package/dist/generators/heroku/types-export.d.ts +0 -1
  493. package/dist/generators/info/types-export.d.ts +0 -1
  494. package/dist/generators/init/types-export.d.ts +0 -1
  495. package/dist/generators/java/types-export.d.ts +0 -1
  496. package/dist/generators/jdl/types-export.d.ts +0 -1
  497. package/dist/generators/kubernetes/types-export.d.ts +0 -1
  498. package/dist/generators/kubernetes-helm/types-export.d.ts +0 -1
  499. package/dist/generators/kubernetes-knative/types-export.d.ts +0 -1
  500. package/dist/generators/languages/types-export.d.ts +0 -1
  501. package/dist/generators/liquibase/types-export.d.ts +0 -1
  502. package/dist/generators/maven/types-export.d.ts +0 -1
  503. package/dist/generators/project-name/types-export.d.ts +0 -1
  504. package/dist/generators/react/templates/src/main/webapp/microfrontends/entities-menu.tsx.ejs +0 -3
  505. package/dist/generators/react/templates/src/main/webapp/microfrontends/entities-routes.tsx.ejs +0 -3
  506. package/dist/generators/react/types-export.d.ts +0 -1
  507. package/dist/generators/server/types-export.d.ts +0 -1
  508. package/dist/generators/spring-boot/types-export.d.ts +0 -1
  509. package/dist/generators/spring-cache/types-export.d.ts +0 -1
  510. package/dist/generators/spring-cloud-stream/types-export.d.ts +0 -1
  511. package/dist/generators/spring-data-cassandra/types-export.d.ts +0 -1
  512. package/dist/generators/spring-data-couchbase/types-export.d.ts +0 -1
  513. package/dist/generators/spring-data-elasticsearch/types-export.d.ts +0 -1
  514. package/dist/generators/spring-data-mongodb/types-export.d.ts +0 -1
  515. package/dist/generators/spring-data-neo4j/types-export.d.ts +0 -1
  516. package/dist/generators/spring-data-relational/types-export.d.ts +0 -1
  517. package/dist/generators/spring-websocket/types-export.d.ts +0 -1
  518. package/dist/generators/upgrade/types-export.d.ts +0 -1
  519. package/dist/generators/vue/templates/src/main/webapp/microfrontends/entities-menu-test.vue.ejs +0 -7
  520. package/dist/generators/vue/templates/src/main/webapp/microfrontends/entities-menu.component-test.ts.ejs +0 -6
  521. package/dist/generators/vue/templates/src/main/webapp/microfrontends/entities-router-test.ts.ejs +0 -1
  522. package/dist/generators/vue/types-export.d.ts +0 -1
  523. package/dist/generators/workspaces/types-export.d.ts +0 -1
@@ -92,12 +92,7 @@ export interface GarbageCollector {
92
92
  classesUnloaded: number;
93
93
  }
94
94
 
95
- export type Services = Record<
96
- string,
97
- {
98
- [key in HttpMethod]?: MaxMeanCount;
99
- }
100
- >;
95
+ export type Services = Record<string, Record<HttpMethod, MaxMeanCount>>;
101
96
 
102
97
  export enum HttpMethod {
103
98
  Post = 'POST',
@@ -24,7 +24,6 @@ import { TrackerActivity } from 'app/core/tracker/tracker-activity.model';
24
24
  import SharedModule from 'app/shared/shared.module';
25
25
 
26
26
  @Component({
27
- standalone: true,
28
27
  selector: '<%= jhiPrefixDashed %>-tracker',
29
28
  imports: [SharedModule],
30
29
  templateUrl: './tracker.component.html',
@@ -25,7 +25,6 @@ import { User } from '../user-management.model';
25
25
  import { UserManagementService } from '../service/user-management.service';
26
26
 
27
27
  @Component({
28
- standalone: true,
29
28
  selector: '<%= jhiPrefixDashed %>-user-mgmt-delete-dialog',
30
29
  templateUrl: './user-management-delete-dialog.component.html',
31
30
  imports: [SharedModule, FormsModule],
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%_
20
- const tsKeyId = this.generateTestEntityId(user.primaryKey.type);
20
+ const tsKeyId = user.primaryKey.tsSampleValues[0];
21
21
  _%>
22
22
  import { TestBed } from '@angular/core/testing';
23
23
  import { provideRouter, withComponentInputBinding } from '@angular/router';
@@ -23,7 +23,6 @@ import SharedModule from 'app/shared/shared.module';
23
23
  import { User } from '../user-management.model';
24
24
 
25
25
  @Component({
26
- standalone: true,
27
26
  selector: '<%= jhiPrefixDashed %>-user-mgmt-detail',
28
27
  templateUrl: './user-management-detail.component.html',
29
28
  imports: [RouterModule, SharedModule],
@@ -39,7 +39,7 @@
39
39
  <div class="table-responsive">
40
40
  <table class="table table-striped" aria-describedby="user-management-page-heading">
41
41
  <thead>
42
- <tr<% if (!databaseTypeCassandra) { %> <%= jhiPrefix %>Sort [sortState]="sortState" (sortChange)="transition($event)"<% } %>>
42
+ <tr<% if (!databaseTypeCassandra) { %> <%= jhiPrefix %>Sort [(sortState)]="sortState" (sortChange)="transition($event)"<% } %>>
43
43
  <th scope="col"<% if (!databaseTypeCassandra) { %> <%= jhiPrefix %>SortBy="id"<% } %>>
44
44
  <span>__jhiTranslateTag__('global.field.id')</span><% if (databaseType !== 'cassandra') { %> <fa-icon icon="sort"></fa-icon><% } %>
45
45
  </th>
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%_
20
- const tsKeyId = this.generateTestEntityId(user.primaryKey.type);
20
+ const tsKeyId = user.primaryKey.tsSampleValues[0];
21
21
  _%>
22
22
  jest.mock('app/core/auth/account.service');
23
23
 
@@ -38,13 +38,11 @@ import { User } from '../user-management.model';
38
38
  import UserManagementDeleteDialogComponent from '../delete/user-management-delete-dialog.component';
39
39
 
40
40
  @Component({
41
- standalone: true,
42
41
  selector: '<%= jhiPrefixDashed %>-user-mgmt',
43
42
  templateUrl: './user-management.component.html',
44
43
  imports: [
45
44
  RouterModule,
46
45
  SharedModule,
47
- UserManagementDeleteDialogComponent,
48
46
  <%_ if (!databaseTypeCassandra) { _%>
49
47
  SortDirective,
50
48
  SortByDirective,
@@ -83,7 +81,7 @@ export default class UserManagementComponent implements OnInit {
83
81
  this.userService.update({ ...user, activated: isActivated }).subscribe(() => this.loadAll());
84
82
  }
85
83
 
86
- trackIdentity(item: User): <%= this.getTypescriptKeyType(user.primaryKey.type) %> {
84
+ trackIdentity(item: User): <%= user.primaryKey.tsType %> {
87
85
  return item.id!;
88
86
  }
89
87
 
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%_
20
- const tsKeyId = this.generateTestEntityId(user.primaryKey.type);
20
+ const tsKeyId = user.primaryKey.tsSampleValues[0];
21
21
  _%>
22
22
  import { TestBed } from '@angular/core/testing';
23
23
  import { provideHttpClient, HttpErrorResponse } from '@angular/common/http';
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%_
20
- const tsKeyId = this.generateTestEntityId(user.primaryKey.type);
20
+ const tsKeyId = user.primaryKey.tsSampleValues[0];
21
21
  _%>
22
22
  import { ComponentFixture, TestBed, waitForAsync, inject, fakeAsync, tick } from '@angular/core/testing';
23
23
  import { provideHttpClient } from '@angular/common/http';
@@ -37,7 +37,6 @@ const newUser: IUser = {
37
37
  } as IUser;
38
38
 
39
39
  @Component({
40
- standalone: true,
41
40
  selector: '<%= jhiPrefixDashed %>-user-mgmt-update',
42
41
  templateUrl: './user-management-update.component.html',
43
42
  imports: [SharedModule, FormsModule, ReactiveFormsModule],
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%_
20
- const idType = this.getTypescriptKeyType(user.primaryKey.type);
20
+ const idType = user.primaryKey.tsType;
21
21
  _%>
22
22
  export interface IUser {
23
23
  id: <%= idType %> | null;
@@ -37,7 +37,6 @@ import { TrackerService } from './core/tracker/tracker.service';
37
37
  <%_ } _%>
38
38
 
39
39
  @Component({
40
- standalone: true,
41
40
  selector: '<%= jhiPrefixDashed %>-app',
42
41
  template: '<<%= jhiPrefixDashed %>-main></<%= jhiPrefixDashed %>-main>',
43
42
  imports: [
@@ -24,11 +24,11 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'
24
24
 
25
25
  import { NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap';
26
26
 
27
- import { DEBUG_INFO_ENABLED } from 'app/app.constants';
28
27
  import './config/dayjs';
29
28
  <%_ if (enableTranslation) { _%>
30
29
  import { TranslationModule } from 'app/shared/language/translation.module';
31
30
  <%_ } _%>
31
+ import { environment } from 'environments/environment';
32
32
  import { httpInterceptorProviders } from './core/interceptor';
33
33
  import FindLanguageFromKeyPipe from 'app/shared/language/find-language-from-key.pipe';
34
34
  import routes from './app.routes';
@@ -51,7 +51,7 @@ const routerFeatures: RouterFeatures[] = [
51
51
  }
52
52
  }),
53
53
  ];
54
- if (DEBUG_INFO_ENABLED) {
54
+ if (environment.DEBUG_INFO_ENABLED) {
55
55
  routerFeatures.push(withDebugTracing());
56
56
  }
57
57
 
@@ -16,9 +16,14 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- import { HttpClient } from '@angular/common/http';
20
19
  import { MissingTranslationHandler, MissingTranslationHandlerParams, TranslateLoader } from '@ngx-translate/core';
20
+ <%_ if (clientBundlerExperimentalEsbuild) { _%>
21
+ import { loadLocale } from 'i18n';
22
+ import { Observable, from } from 'rxjs';
23
+ <%_ } else { _%>
24
+ import { HttpClient } from '@angular/common/http';
21
25
  import { TranslateHttpLoader } from '@ngx-translate/http-loader';
26
+ <%_ } _%>
22
27
 
23
28
  export const translationNotFoundMessage = 'translation-not-found';
24
29
 
@@ -29,9 +34,19 @@ export class MissingTranslationHandlerImpl implements MissingTranslationHandler
29
34
  }
30
35
  }
31
36
 
37
+ <%_ if (clientBundlerExperimentalEsbuild) { _%>
38
+ export function translatePartialLoader(): TranslateLoader {
39
+ return {
40
+ getTranslation(lang: string): Observable<any> {
41
+ return from(loadLocale(lang as any));
42
+ },
43
+ };
44
+ }
45
+ <%_ } else { _%>
32
46
  export function translatePartialLoader(http: HttpClient): TranslateLoader {
33
47
  return new TranslateHttpLoader(http, 'i18n/', `.json?_=${I18N_HASH}`);
34
48
  }
49
+ <%_ } _%>
35
50
 
36
51
  export function missingTranslationHandler(): MissingTranslationHandler {
37
52
  return new MissingTranslationHandlerImpl();
@@ -23,7 +23,7 @@ import { provideHttpClientTesting, HttpTestingController } from '@angular/common
23
23
  import { provideHttpClient } from '@angular/common/http';
24
24
  import { TestBed } from '@angular/core/testing';
25
25
  <%_ if (enableTranslation) { _%>
26
- import { TranslateModule, TranslateService } from '@ngx-translate/core';
26
+ import { InterpolatableTranslationObject, TranslateModule, TranslateService } from '@ngx-translate/core';
27
27
  import { of } from 'rxjs';
28
28
  <%_ } _%>
29
29
 
@@ -88,7 +88,7 @@ describe('Account Service', () => {
88
88
  <%_ if (enableTranslation) { _%>
89
89
 
90
90
  mockTranslateService = TestBed.inject(TranslateService);
91
- jest.spyOn(mockTranslateService, 'use').mockImplementation(() => of(''));
91
+ jest.spyOn(mockTranslateService, 'use').mockImplementation(() => of({} as InterpolatableTranslationObject));
92
92
  <%_ } _%>
93
93
  });
94
94
 
@@ -81,7 +81,7 @@ export class AccountService {
81
81
 
82
82
  // After retrieve the account info, the language will be changed to
83
83
  // the user's preferred language configured in the account setting
84
- // unless user have choosed other language in the current session
84
+ // unless user have chosen other language in the current session
85
85
  if (!this.stateStorageService.getLocale()) {
86
86
  this.translateService.use(account.langKey);
87
87
  }
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%
20
- const enumImports = this.generateEntityClientEnumImports(fields);
20
+ const enumImports = generateEntityClientEnumImports(fields);
21
21
  %>
22
22
  <%_ if (anyFieldIsDateDerived) { _%>
23
23
  import dayjs from 'dayjs/esm';
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%_
20
- const enumImports = this.generateEntityClientEnumImports(fields);
20
+ const enumImports = generateEntityClientEnumImports(fields);
21
21
  _%>
22
22
  <%_ if (anyFieldIsDateDerived) { _%>
23
23
  import dayjs from 'dayjs/esm';
@@ -29,14 +29,14 @@ import { <%- importedType %> } from '<%- importedPath %>';
29
29
 
30
30
  import { I<%= entityAngularName %><% if (!readOnly && primaryKey) { %>, New<%= entityAngularName %><% } %> } from './<%= entityFileName %>.model';
31
31
 
32
- export const sampleWithRequiredData: I<%= entityAngularName %> = <%- this.generateTypescriptTestEntity(fields.filter(field => field.id || field.fieldValidationRequired).map(field => field.reference)) %>;
32
+ export const sampleWithRequiredData: I<%= entityAngularName %> = <%- tsSampleWithRequiredData %>;
33
33
 
34
- export const sampleWithPartialData: I<%= entityAngularName %> = <%- this.generateTypescriptTestEntity(fields.filter(field => field.id || field.fieldValidationRequired || (!field.transient && faker.datatype.boolean())).map(field => field.reference)) %>;
34
+ export const sampleWithPartialData: I<%= entityAngularName %> = <%- tsSampleWithPartialData %>;
35
35
 
36
- export const sampleWithFullData: I<%= entityAngularName %> = <%- this.generateTypescriptTestEntity(fields.filter(field => !field.transient).map(field => field.reference)) %>;
36
+ export const sampleWithFullData: I<%= entityAngularName %> = <%- tsSampleWithFullData %>;
37
37
  <%_ if (!readOnly && primaryKey) { _%>
38
38
 
39
- export const sampleWithNewData: New<%= entityAngularName %> = <%- this.generateTypescriptTestEntity(fields.filter(field => !field.id && field.fieldValidationRequired).map(field => field.reference), { [primaryKey.name]: null }) %>;
39
+ export const sampleWithNewData: New<%= entityAngularName %> = <%- tsSampleWithNewData %>;
40
40
 
41
41
  Object.freeze(sampleWithNewData);
42
42
  <%_ } _%>
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%_
20
- const tsKeyId = this.generateTestEntityId(primaryKey.type);
20
+ const tsKeyId = primaryKey.tsSampleValues[0];
21
21
  _%>
22
22
  jest.mock('@ng-bootstrap/ng-bootstrap');
23
23
 
@@ -26,7 +26,6 @@ import { <%= entityAngularName %>Service } from '../service/<%= entityFileName %
26
26
  import { ITEM_DELETED_EVENT } from 'app/config/navigation.constants';
27
27
 
28
28
  @Component({
29
- standalone: true,
30
29
  templateUrl: './<%= entityFileName %>-delete-dialog.component.html',
31
30
  imports: [SharedModule, FormsModule],
32
31
  })
@@ -41,17 +41,17 @@ _%>
41
41
  <%_ } else if (field.fieldTypeBinary && field.blobContentTypeImage) { _%>
42
42
  @if (<%= entityInstance %>Ref.<%= fieldName %>) {
43
43
  <div>
44
- <a (click)="openFile(<%= entityInstance %>Ref.<%= fieldName %> ?? '', <%= entityInstance %>Ref.<%= fieldName %>ContentType)">
44
+ <a (click)="openFile(<%= entityInstance %>Ref.<%= fieldName %><% if (!field.fieldValidationRequired) { %> ?? ''<% } %>, <%= entityInstance %>Ref.<%= fieldName %>ContentType)">
45
45
  <img [src]="'data:' + <%= entityInstance %>Ref.<%= fieldName %>ContentType + ';base64,' + <%= entityInstance %>Ref.<%= fieldName %>" style="max-width: 100%;" alt="<%= entityInstance %>"/>
46
46
  </a>
47
- {{ <%= entityInstance %>Ref.<%= fieldName %>ContentType }}, {{ byteSize(<%= entityInstance %>Ref.<%= fieldName %> ?? '') }}
47
+ {{ <%= entityInstance %>Ref.<%= fieldName %>ContentType }}, {{ byteSize(<%= entityInstance %>Ref.<%= fieldName %><% if (!field.fieldValidationRequired) { %> ?? ''<% } %>) }}
48
48
  </div>
49
49
  }
50
50
  <%_ } else if (field.fieldTypeBinary && field.blobContentTypeAny) { _%>
51
51
  @if (<%= entityInstance %>Ref.<%= fieldName %>) {
52
52
  <div>
53
- <a (click)="openFile(<%= entityInstance %>Ref.<%= fieldName %> ?? '', <%= entityInstance %>Ref.<%= fieldName %>ContentType)">__jhiTranslateTag__('entity.action.open')</a>
54
- {{ <%= entityInstance %>Ref.<%= fieldName %>ContentType }}, {{ byteSize(<%= entityInstance %>Ref.<%= fieldName %> ?? '') }}
53
+ <a (click)="openFile(<%= entityInstance %>Ref.<%= fieldName %><% if (!field.fieldValidationRequired) { %> ?? ''<% } %>, <%= entityInstance %>Ref.<%= fieldName %>ContentType)">__jhiTranslateTag__('entity.action.open')</a>
54
+ {{ <%= entityInstance %>Ref.<%= fieldName %>ContentType }}, {{ byteSize(<%= entityInstance %>Ref.<%= fieldName %><% if (!field.fieldValidationRequired) { %> ?? ''<% } %>) }}
55
55
  </div>
56
56
  }
57
57
  <%_ } else if (field.fieldTypeDuration) { _%>
@@ -17,8 +17,8 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%_
20
- const tsKeyId = this.generateTestEntityId(primaryKey.type);
21
- const testEntity = this.generateTestEntityPrimaryKey(primaryKey, 0);
20
+ const tsKeyId = primaryKey.tsSampleValues[0];
21
+ const testEntity = tsPrimaryKeySamples[0];
22
22
  _%>
23
23
  import { ComponentFixture, TestBed } from '@angular/core/testing';
24
24
  import { provideRouter, withComponentInputBinding } from '@angular/router';
@@ -27,10 +27,21 @@ import { DataUtils } from 'app/core/util/data-util.service';
27
27
  <%_ } _%>
28
28
 
29
29
  @Component({
30
- standalone: true,
31
30
  selector: '<%= jhiPrefixDashed %>-<%= entityFileName %>-detail',
32
31
  templateUrl: './<%= entityFileName %>-detail.component.html',
33
- imports: [SharedModule, RouterModule, DurationPipe, FormatMediumDatetimePipe, FormatMediumDatePipe],
32
+ imports: [
33
+ SharedModule,
34
+ RouterModule,
35
+ <%_ if (anyFieldIsDuration) { _%>
36
+ DurationPipe,
37
+ <%_ } _%>
38
+ <%_ if (anyFieldIsTimeDerived) { _%>
39
+ FormatMediumDatetimePipe,
40
+ <%_ } _%>
41
+ <%_ if (anyFieldIsLocalDate) { _%>
42
+ FormatMediumDatePipe,
43
+ <%_ } _%>
44
+ ],
34
45
  })
35
46
  export class <%= entityAngularName %>DetailComponent {
36
47
  <%= entityInstance %> = input<I<%= entityAngularName %> | null>(null);
@@ -64,17 +64,15 @@
64
64
  <<%= jhiPrefixDashed %>-filter [filters]="filters"></<%= jhiPrefixDashed %>-filter>
65
65
  <%_ } _%>
66
66
 
67
- @if (<%= entityInstancePlural %>?.length === 0) {
67
+ @if (<%= entityInstancePlural %>().length === 0) {
68
68
  <div class="alert alert-warning" id="no-result">
69
69
  <span>__jhiTranslateTag__('<%- i18nKeyPrefix %>.home.notFound')</span>
70
70
  </div>
71
- }
72
-
73
- @if (<%= entityInstancePlural %> && <%= entityInstancePlural %>.length > 0) {
71
+ } @else {
74
72
  <div class="table-responsive table-entities" id="entities">
75
73
  <table class="table table-striped" aria-describedby="page-heading">
76
74
  <thead>
77
- <tr <%= jhiPrefix %>Sort [sortState]="sortState" (sortChange)="navigateToWithComponentValues($event)">
75
+ <tr <%= jhiPrefix %>Sort [(sortState)]="sortState" (sortChange)="navigateToWithComponentValues($event)">
78
76
  <%_ for (const field of fields.filter(field => !field.hidden)) { _%>
79
77
  <th scope="col" <%= jhiPrefix %>SortBy="<%= field.fieldName %>">
80
78
  <div class="d-flex">
@@ -103,7 +101,7 @@
103
101
  </tr>
104
102
  </thead>
105
103
  <tbody<% if (paginationInfiniteScroll) { %> infinite-scroll (scrolled)="loadNextPage()" [infiniteScrollDisabled]="!hasMorePage()" [infiniteScrollDistance]="0"<% } %>>
106
- @for (<%= entityInstance %> of <%= entityInstancePlural %>; track track<%= primaryKey.nameCapitalized %>(<%= entityInstance %>)) {
104
+ @for (<%= entityInstance %> of <%= entityInstancePlural %>(); track track<%= primaryKey.nameCapitalized %>(<%= entityInstance %>)) {
107
105
  <tr data-cy="entityTable">
108
106
  <%_
109
107
  const routerLink = ` [routerLink]="['/${ entityPage }', ${entityInstance}.${primaryKey.name}, 'view']"`;
@@ -220,7 +218,7 @@ _%>
220
218
  </div>
221
219
  }
222
220
  <%_ if (paginationPagination) { _%>
223
- @if (<%= entityInstancePlural %> && <%= entityInstancePlural %>.length > 0) {
221
+ @if (<%= entityInstancePlural %>().length > 0) {
224
222
  <div>
225
223
  <div class="d-flex justify-content-center">
226
224
  <<%= jhiPrefixDashed %>-item-count [params]="{ page: page, totalItems: totalItems, itemsPerPage: itemsPerPage }"></<%= jhiPrefixDashed %>-item-count>
@@ -17,10 +17,9 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%_
20
- const entityArrayOptionalChainSymbol = '?.';
21
20
  const order = 'desc';
22
- const testEntityPrimaryKey = this.generateTestEntityPrimaryKey(primaryKey, 0);
23
- const testEntityPrimaryKey2 = this.generateTestEntityPrimaryKey(primaryKey, 1);
21
+ const testEntityPrimaryKey = tsPrimaryKeySamples[0];
22
+ const testEntityPrimaryKey2 = tsPrimaryKeySamples[1];
24
23
  _%>
25
24
 
26
25
  import {
@@ -131,12 +130,12 @@ describe('<%= entityAngularName %> Management Component', () => {
131
130
 
132
131
  // THEN
133
132
  expect(service.query).toHaveBeenCalled();
134
- expect(comp.<%= entityInstancePlural %><%= entityArrayOptionalChainSymbol %>[0]).toEqual(expect.objectContaining(<%- testEntityPrimaryKey %>));
133
+ expect(comp.<%= entityInstancePlural %>()[0]).toEqual(expect.objectContaining(<%- testEntityPrimaryKey %>));
135
134
  });
136
135
 
137
136
  describe('track<%= primaryKey.nameCapitalized %>', () => {
138
137
  it('Should forward to <%= entityInstance %>Service', () => {
139
- const entity = <%- this.generateTestEntityPrimaryKey(primaryKey, 0) %>;
138
+ const entity = <%- tsPrimaryKeySamples[0] %>;
140
139
  jest.spyOn(service, 'get<%= entityAngularName %>Identifier');
141
140
  const <%= primaryKey.name %> = comp.track<%= primaryKey.nameCapitalized %>(entity);
142
141
  expect(service.get<%= entityAngularName %>Identifier).toHaveBeenCalledWith(entity);
@@ -29,7 +29,7 @@
29
29
 
30
30
  const componentName = entityAngularName + 'Component';
31
31
  _%>
32
- import { Component, computed, NgZone, inject, OnInit, signal, WritableSignal } from '@angular/core';
32
+ import { Component, computed, effect, NgZone, inject, OnInit, signal, WritableSignal } from '@angular/core';
33
33
  <%_ if (!paginationNo) { _%>
34
34
  import { HttpHeaders } from '@angular/common/http';
35
35
  <%_ } _%>
@@ -85,7 +85,6 @@ import { InfiniteScrollDirective } from 'ngx-infinite-scroll';
85
85
  <%_ } _%>
86
86
 
87
87
  @Component({
88
- standalone: true,
89
88
  selector: '<%= jhiPrefixDashed %>-<%= entityFileName %>',
90
89
  templateUrl: './<%= entityFileName %>.component.html',
91
90
  imports: [
@@ -96,9 +95,15 @@ import { InfiniteScrollDirective } from 'ngx-infinite-scroll';
96
95
  SharedModule,
97
96
  SortDirective,
98
97
  SortByDirective,
98
+ <%_ if (anyFieldIsDuration) { _%>
99
99
  DurationPipe,
100
+ <%_ } _%>
101
+ <%_ if (anyFieldIsTimeDerived) { _%>
100
102
  FormatMediumDatetimePipe,
103
+ <%_ } _%>
104
+ <%_ if (anyFieldIsLocalDate) { _%>
101
105
  FormatMediumDatePipe,
106
+ <%_ } _%>
102
107
  <%_ if (jpaMetamodelFiltering && paginationPagination) { _%>
103
108
  FilterComponent,
104
109
  <%_ } _%>
@@ -117,7 +122,7 @@ export class <%= componentName %> implements OnInit {
117
122
 
118
123
  <%_ } _%>
119
124
  subscription: Subscription | null = null;
120
- <%= entityInstancePlural %>?: I<%= entityAngularName %>[];
125
+ <%= entityInstancePlural %> = signal<I<%= entityAngularName %>[]>([]);
121
126
  isLoading = false;
122
127
 
123
128
  sortState = sortStateSignal({});
@@ -129,7 +134,9 @@ export class <%= componentName %> implements OnInit {
129
134
  <%_ } _%>
130
135
 
131
136
  <%_ if (paginationPagination) { _%>
132
- <%- include('pagination-template'); -%>
137
+ itemsPerPage = ITEMS_PER_PAGE;
138
+ totalItems = 0;
139
+ page = 1;
133
140
  <%_ } else if (paginationInfiniteScroll) { _%>
134
141
  itemsPerPage = ITEMS_PER_PAGE;
135
142
  links: WritableSignal<Record<string, undefined | Record<string, string | undefined>>> = signal({});
@@ -166,8 +173,10 @@ export class <%= componentName %> implements OnInit {
166
173
  tap(() => this.load()),
167
174
  <%_ } else { _%>
168
175
  tap(() => {
169
- if (!this.<%= entityInstancePlural %> || this.<%= entityInstancePlural %>.length === 0) {
176
+ if (this.<%= entityInstancePlural %>().length === 0) {
170
177
  this.load();
178
+ } else {
179
+ this.<%= entityInstancePlural %>.set(this.refineData(this.<%= entityInstancePlural %>()));
171
180
  }
172
181
  }),
173
182
  <%_ } _%>
@@ -180,7 +189,7 @@ export class <%= componentName %> implements OnInit {
180
189
 
181
190
  <%_ if (paginationInfiniteScroll) { _%>
182
191
  reset(): void {
183
- this.<%= entityInstancePlural %> = [];
192
+ this.<%= entityInstancePlural %>.set([]);
184
193
  }
185
194
 
186
195
  loadNextPage(): void {
@@ -190,24 +199,25 @@ export class <%= componentName %> implements OnInit {
190
199
  <%_ } _%>
191
200
  <%_ if (searchEngineAny) { _%>
192
201
  search(query: string): void {
202
+ <%_ if (paginationPagination) { _%>
203
+ this.page = 1;
204
+ <%_ } _%>
205
+ this.currentSearch = query;
193
206
  <%_ if (notSortableFieldsAfterSearch) { _%>
194
207
  const { predicate } = this.sortState();
195
208
  if (query && predicate && <%= componentName %>.NOT_SORTABLE_FIELDS_AFTER_SEARCH.includes(predicate)) {
196
- this.loadDefaultSortState();
209
+ this.navigateToWithComponentValues(this.getDefaultSortState());
210
+ return;
197
211
  }
198
212
  <%_ } _%>
199
- <%_ if (paginationPagination) { _%>
200
- this.page = 1;
201
- <%_ } _%>
202
- this.currentSearch = query;
203
213
  this.navigateToWithComponentValues(this.sortState());
204
214
  }
205
215
 
206
- loadDefaultSortState(): void {
216
+ getDefaultSortState(): SortState {
207
217
  <%_ if (notSortableFieldsAfterSearchFieldNames.includes(primaryKey.name)) { _%>
208
- this.sortState.set({});
218
+ return {};
209
219
  <%_ } else { _%>
210
- this.sortState.set(this.sortService.parseSortParam(this.activatedRoute.snapshot.data[DEFAULT_SORT_DATA]));
220
+ return this.sortService.parseSortParam(this.activatedRoute.snapshot.data[DEFAULT_SORT_DATA]);
211
221
  <%_ } _%>
212
222
  }
213
223
  <%_ } _%>
@@ -281,9 +291,9 @@ export class <%= componentName %> implements OnInit {
281
291
  <%_ } _%>
282
292
  const dataFromBody = this.fillComponentAttributesFromResponseBody(response.body);
283
293
  <%_ if (paginationNo) { _%>
284
- this.<%= entityInstancePlural %> = this.refineData(dataFromBody);
294
+ this.<%= entityInstancePlural %>.set(this.refineData(dataFromBody));
285
295
  <%_ } else { _%>
286
- this.<%= entityInstancePlural %> = dataFromBody;
296
+ this.<%= entityInstancePlural %>.set(dataFromBody);
287
297
  <%_ } _%>
288
298
  }
289
299
 
@@ -298,7 +308,7 @@ export class <%= componentName %> implements OnInit {
298
308
  <%_ if (paginationInfiniteScroll) { _%>
299
309
  // If there is previous link, data is a infinite scroll pagination content.
300
310
  if (this.links().prev) {
301
- const <%= entityInstancePlural %>New = this.<%= entityInstancePlural %> ?? [];
311
+ const <%= entityInstancePlural %>New = this.<%= entityInstancePlural %>();
302
312
  if (data) {
303
313
  for (const d of data) {
304
314
  <%_ if (primaryKey) { _%>
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%_
20
- const tsKeyId = this.generateTestEntityId(primaryKey.type);
20
+ const tsKeyId = primaryKey.tsSampleValues[0];
21
21
  _%>
22
22
  import { TestBed } from '@angular/core/testing';
23
23
  import { provideHttpClient, HttpResponse } from '@angular/common/http';
@@ -17,8 +17,8 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%_
20
- const tsKeyId = this.generateTestEntityId(primaryKey.type);
21
- const enumImports = this.generateEntityClientEnumImports(fields);
20
+ const tsKeyId = primaryKey.tsSampleValues[0];
21
+ const enumImports = generateEntityClientEnumImports(fields);
22
22
  _%>
23
23
  import { TestBed } from '@angular/core/testing';
24
24
  import { provideHttpClientTesting, HttpTestingController } from '@angular/common/http/testing';
@@ -219,7 +219,7 @@ describe('<%= entityAngularName %> Service', () => {
219
219
  });
220
220
 
221
221
  it('Should return false if one entity is null', () => {
222
- const entity1 = <%- this.generateTestEntityPrimaryKey(primaryKey, 0) %>;
222
+ const entity1 = <%- tsPrimaryKeySamples[0] %>;
223
223
  const entity2 = null;
224
224
 
225
225
  const compareResult1 = service.compare<%= entityAngularName %>(entity1, entity2);
@@ -230,8 +230,8 @@ describe('<%= entityAngularName %> Service', () => {
230
230
  });
231
231
 
232
232
  it('Should return false if primaryKey differs', () => {
233
- const entity1 = <%- this.generateTestEntityPrimaryKey(primaryKey, 0) %>;
234
- const entity2 = <%- this.generateTestEntityPrimaryKey(primaryKey, 1) %>;
233
+ const entity1 = <%- tsPrimaryKeySamples[0] %>;
234
+ const entity2 = <%- tsPrimaryKeySamples[1] %>;
235
235
 
236
236
  const compareResult1 = service.compare<%= entityAngularName %>(entity1, entity2);
237
237
  const compareResult2 = service.compare<%= entityAngularName %>(entity2, entity1);
@@ -241,8 +241,8 @@ describe('<%= entityAngularName %> Service', () => {
241
241
  });
242
242
 
243
243
  it('Should return false if primaryKey matches', () => {
244
- const entity1 = <%- this.generateTestEntityPrimaryKey(primaryKey, 0) %>;
245
- const entity2 = <%- this.generateTestEntityPrimaryKey(primaryKey, 0) %>;
244
+ const entity1 = <%- tsPrimaryKeySamples[0] %>;
245
+ const entity2 = <%- tsPrimaryKeySamples[0] %>;
246
246
 
247
247
  const compareResult1 = service.compare<%= entityAngularName %>(entity1, entity2);
248
248
  const compareResult2 = service.compare<%= entityAngularName %>(entity2, entity1);
@@ -175,7 +175,7 @@ _%>
175
175
  <option [ngValue]="null" selected></option>
176
176
  }
177
177
  <%_ } else { _%>
178
- @if (editForm.get([<%- this.buildAngularFormPath(relationship.reference) %>])!.value == null) {
178
+ @if (editForm.get(['<%- relationship.propertyName %>'])!.value == null) {
179
179
  <option [ngValue]="null" selected></option>
180
180
  }
181
181
  <%_ } _%>
@@ -196,10 +196,10 @@ _%>
196
196
  </div>
197
197
  <%_ } _%>
198
198
  <%_ if (relationship.relationshipValidate && relationship.persistableRelationship) { _%>
199
- @if (editForm.get([<%- this.buildAngularFormPath(relationship.reference) %>])!.invalid && (editForm.get([<%- this.buildAngularFormPath(relationship.reference) %>])!.dirty || editForm.get([<%- this.buildAngularFormPath(relationship.reference) %>])!.touched)) {
199
+ @if (editForm.get(['<%- relationship.propertyName %>'])!.invalid && (editForm.get(['<%- relationship.propertyName %>'])!.dirty || editForm.get(['<%- relationship.propertyName %>'])!.touched)) {
200
200
  <div>
201
201
  <%_ if (relationshipRequired) { _%>
202
- @if (editForm.get([<%- this.buildAngularFormPath(relationship.reference) %>])?.errors?.required) {
202
+ @if (editForm.get(['<%- relationship.propertyName %>'])?.errors?.required) {
203
203
  <small class="form-text text-danger">__jhiTranslateTag__('entity.validation.required')</small>
204
204
  }
205
205
  <%_ } _%>