generator-jhipster 8.0.0-rc.1 → 8.1.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 (369) hide show
  1. package/README.md +71 -58
  2. package/dist/cli/environment-builder.mjs +14 -7
  3. package/dist/cli/jhipster-command.mjs +7 -3
  4. package/dist/cli/program.mjs +2 -2
  5. package/dist/generators/angular/cleanup.mjs +7 -0
  6. package/dist/generators/angular/files-angular.mjs +3 -4
  7. package/dist/generators/angular/generator.mjs +10 -22
  8. package/dist/generators/angular/needle-api/needle-client-angular.mjs +2 -8
  9. package/dist/generators/angular/resources/package.json +25 -24
  10. package/dist/generators/angular/support/translate-angular.mjs +2 -2
  11. package/dist/generators/angular/templates/README.md.jhi.client.angular.ejs +1 -1
  12. package/dist/generators/angular/templates/angular.json.ejs +3 -7
  13. package/dist/generators/angular/templates/package.json.ejs +4 -8
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.html.ejs +6 -4
  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 +39 -33
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +44 -36
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +24 -23
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +74 -62
  20. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs +12 -4
  21. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +54 -48
  22. package/dist/generators/angular/templates/src/main/webapp/app/admin/admin.routes.ts.ejs +74 -0
  23. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +15 -5
  24. package/dist/generators/angular/templates/src/main/webapp/app/admin/docs/docs.component.ts.ejs +1 -1
  25. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +20 -7
  26. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.html.ejs +10 -7
  27. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +9 -3
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +12 -4
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +13 -7
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +6 -2
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +3 -1
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +13 -9
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +13 -5
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +21 -7
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +6 -2
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +3 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +16 -7
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +3 -1
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +3 -1
  40. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +11 -4
  41. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +20 -11
  42. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +48 -34
  43. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +73 -0
  44. package/dist/generators/angular/templates/src/main/webapp/app/app.config.ts.ejs +67 -0
  45. package/dist/generators/angular/templates/src/main/webapp/app/app.routes.ts.ejs +85 -0
  46. package/dist/generators/angular/templates/src/main/webapp/app/core/microfrontend/index.ts.ejs +5 -4
  47. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.spec.ts.ejs +1 -1
  48. package/dist/generators/angular/templates/src/main/webapp/app/core/util/data-util.service.ts.ejs +2 -2
  49. package/dist/generators/angular/templates/src/main/webapp/app/core/util/event-manager.service.spec.ts.ejs +12 -12
  50. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.model.ts.ejs +4 -4
  51. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +3 -1
  52. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +26 -14
  53. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +44 -35
  54. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +1 -1
  55. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.ts.ejs +1 -1
  56. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.spec.ts.ejs +2 -2
  57. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.ts.ejs +5 -12
  58. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +55 -21
  59. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +2 -2
  60. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +10 -10
  61. package/dist/generators/angular/templates/src/main/webapp/app/entities/entity.routes.ts.ejs +25 -0
  62. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +21 -17
  63. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.ts.ejs +1 -1
  64. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.html.ejs +3 -3
  65. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +5 -2
  66. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +5 -1
  67. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +97 -78
  68. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs +1 -1
  69. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +1 -1
  70. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.scss.ejs +1 -1
  71. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +6 -4
  72. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.html.ejs +3 -3
  73. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.html.ejs +6 -2
  74. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.html.ejs +6 -2
  75. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +11 -7
  76. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +1 -1
  77. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.spec.ts.ejs +3 -3
  78. package/dist/generators/angular/templates/src/main/webapp/bootstrap.ts.ejs +5 -5
  79. package/dist/generators/angular/templates/src/main/webapp/content/scss/global.scss.ejs +1 -1
  80. package/dist/generators/angular/templates/webpack/webpack.microfrontend.js.ejs +48 -126
  81. package/dist/generators/app/README.md +108 -0
  82. package/dist/generators/app/USAGE +3 -0
  83. package/dist/generators/app/command.mjs +3 -3
  84. package/dist/generators/app/generator.mjs +11 -0
  85. package/dist/generators/app/support/config.mjs +3 -3
  86. package/dist/generators/base/command.mjs +0 -11
  87. package/dist/generators/base/generator.mjs +0 -3
  88. package/dist/generators/base/support/config.mjs +6 -6
  89. package/dist/generators/base/support/jhipster7-context.mjs +3 -3
  90. package/dist/generators/base-application/generator.mjs +7 -8
  91. package/dist/generators/base-application/support/entities.mjs +2 -2
  92. package/dist/generators/base-application/support/enum.mjs +1 -1
  93. package/dist/generators/base-application/support/index.mjs +1 -0
  94. package/dist/generators/base-application/support/prepare-entity.mjs +14 -11
  95. package/dist/generators/base-application/support/prepare-field.mjs +11 -7
  96. package/dist/generators/base-application/support/prepare-relationship.mjs +16 -14
  97. package/dist/generators/base-application/support/update-application-entities-transform.mjs +52 -0
  98. package/dist/generators/base-core/generator.mjs +17 -4
  99. package/dist/generators/base-entity-changes/generator.mjs +1 -1
  100. package/dist/generators/base-workspaces/internal/docker-prompts.mjs +13 -12
  101. package/dist/generators/bootstrap/command.mjs +6 -0
  102. package/dist/generators/bootstrap/generator.mjs +84 -45
  103. package/dist/generators/bootstrap/support/auto-crlf-transform.mjs +34 -21
  104. package/dist/generators/bootstrap/support/eslint-transform.mjs +2 -5
  105. package/dist/generators/bootstrap/support/java-unused-imports-transform.mjs +2 -2
  106. package/dist/generators/bootstrap/support/multi-step-transform/index.mjs +17 -28
  107. package/dist/generators/bootstrap/support/multi-step-transform/template-file-fs.mjs +12 -6
  108. package/dist/generators/bootstrap/support/multi-step-transform/template-file.mjs +1 -0
  109. package/dist/generators/bootstrap/support/prettier-support.mjs +2 -2
  110. package/dist/generators/bootstrap-application/generator.mjs +10 -21
  111. package/dist/generators/bootstrap-application-base/command.mjs +30 -0
  112. package/dist/generators/bootstrap-application-base/generator.mjs +36 -11
  113. package/dist/generators/bootstrap-application-base/index.mjs +1 -0
  114. package/dist/generators/bootstrap-application-base/support/export-jdl-transform.mjs +61 -0
  115. package/dist/generators/bootstrap-application-base/support/import-jdl-transform.mjs +64 -0
  116. package/dist/generators/bootstrap-application-base/support/index.mjs +2 -0
  117. package/dist/generators/bootstrap-application-server/generator.mjs +2 -2
  118. package/dist/generators/client/command.mjs +2 -0
  119. package/dist/generators/client/resources/package.json +4 -4
  120. package/dist/generators/client/support/entity-definition.mjs +3 -3
  121. package/dist/generators/client/templates/README.md.jhi.client.ejs +2 -2
  122. package/dist/generators/client/templates/src/main/webapp/content/css/loading.css.ejs +1 -1
  123. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +2 -2
  124. package/dist/generators/client/templates/webpack/webpack.microfrontend.js.jhi.ejs +14 -1
  125. package/dist/generators/common/command.mjs +2 -0
  126. package/dist/generators/common/files.mjs +1 -1
  127. package/dist/generators/common/generator.mjs +29 -7
  128. package/dist/generators/common/resources/package.json +4 -4
  129. package/dist/generators/common/templates/.lintstagedrc.cjs.ejs +21 -0
  130. package/dist/generators/common/templates/.prettierrc.ejs +1 -1
  131. package/dist/generators/common/templates/README.md.jhi.ejs +2 -0
  132. package/dist/generators/common/templates/sonar-project.properties.ejs +1 -1
  133. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/settings-page.cy.ts.ejs +3 -0
  134. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +0 -1
  135. package/dist/generators/docker/generator.mjs +1 -1
  136. package/dist/generators/docker/templates/docker/cassandra.yml.ejs +2 -2
  137. package/dist/generators/docker/templates/docker/keycloak.yml.ejs +1 -1
  138. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +4 -1
  139. package/dist/generators/docker-compose/generator.mjs +4 -11
  140. package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +1 -1
  141. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +4 -1
  142. package/dist/generators/entity/prompts.mjs +123 -306
  143. package/dist/generators/export-jdl/generator.mjs +1 -1
  144. package/dist/generators/feign-client/cleanup.mjs +12 -0
  145. package/dist/generators/feign-client/files.mjs +35 -0
  146. package/dist/generators/feign-client/generator.mjs +65 -0
  147. package/dist/generators/feign-client/index.mjs +19 -0
  148. package/dist/generators/feign-client/templates/src/main/java/_package_/client/AuthorizationHeaderUtil.java.ejs +174 -0
  149. package/dist/generators/feign-client/templates/src/main/java/_package_/client/AuthorizedFeignClient.java.ejs +72 -0
  150. package/dist/generators/feign-client/templates/src/main/java/_package_/client/OAuth2InterceptedFeignConfiguration.java.ejs +35 -0
  151. package/dist/generators/feign-client/templates/src/main/java/_package_/client/OAuthIdpTokenResponseDTO.java.ejs +161 -0
  152. package/dist/generators/feign-client/templates/src/main/java/_package_/client/TokenRelayRequestInterceptor.java.ejs +42 -0
  153. package/dist/generators/feign-client/templates/src/main/java/_package_/client/UserFeignClientInterceptor_jwt.java.ejs +36 -0
  154. package/dist/generators/feign-client/templates/src/main/java/_package_/config/FeignConfiguration.java.ejs +45 -0
  155. package/dist/generators/feign-client/templates/src/test/java/_package_/client/AuthorizationHeaderUtilTest.java.ejs +263 -0
  156. package/dist/generators/generate-blueprint/command.mjs +1 -1
  157. package/dist/generators/generate-blueprint/resources/package.json +1 -1
  158. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -1
  159. package/dist/generators/generator-constants.mjs +11 -7
  160. package/dist/generators/generator-list.mjs +1 -0
  161. package/dist/generators/git/generator.mjs +3 -5
  162. package/dist/generators/gradle/constants.mjs +1 -1
  163. package/dist/generators/heroku/generator.mjs +318 -595
  164. package/dist/generators/heroku/templates/Procfile.ejs +1 -1
  165. package/dist/generators/heroku/templates/application-heroku.yml.ejs +0 -12
  166. package/dist/generators/info/generator.mjs +6 -4
  167. package/dist/generators/init/generator.mjs +2 -2
  168. package/dist/generators/java/command.mjs +6 -0
  169. package/dist/generators/java/entity-files.mjs +5 -1
  170. package/dist/generators/java/generator.mjs +15 -15
  171. package/dist/generators/java/support/package-info-transform.mjs +20 -6
  172. package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +24 -28
  173. package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jackson_identity_info.ejs +30 -0
  174. package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/enumeration/_enumName_.java.ejs +3 -3
  175. package/dist/generators/java/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +86 -8
  176. package/dist/generators/java/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_TestSamples.java.ejs +85 -0
  177. package/dist/generators/jdl/generator.mjs +32 -28
  178. package/dist/generators/kubernetes/templates/ingress.yml.ejs +0 -1
  179. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +4 -1
  180. package/dist/generators/kubernetes/templates/keycloak/keycloak.yml.ejs +1 -1
  181. package/dist/generators/languages/command.mjs +5 -0
  182. package/dist/generators/languages/generator.mjs +44 -28
  183. package/dist/generators/languages/prompts.mjs +3 -1
  184. package/dist/generators/languages/support/translate.mjs +1 -1
  185. package/dist/generators/languages/templates/entity/i18n/entity_pt-br.json.ejs +1 -1
  186. package/dist/generators/languages/translation-data.mjs +8 -13
  187. package/dist/generators/liquibase/README.md +19 -0
  188. package/dist/generators/liquibase/generator.mjs +7 -3
  189. package/dist/generators/project-name/generator.mjs +14 -19
  190. package/dist/generators/project-name/support/name-resolver.mjs +35 -6
  191. package/dist/generators/react/generator.mjs +18 -10
  192. package/dist/generators/react/resources/package.json +30 -29
  193. package/dist/generators/react/templates/package.json.ejs +4 -5
  194. package/dist/generators/react/templates/src/main/webapp/app/config/icon-loader.ts.ejs +35 -33
  195. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.spec.ts.ejs +4 -4
  196. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-detail.tsx.ejs +1 -2
  197. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +19 -15
  198. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +1 -1
  199. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.tsx.ejs +3 -8
  200. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityModel_.model.ts.ejs +1 -1
  201. package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +1 -1
  202. package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +9 -2
  203. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/header/header-components.tsx.ejs +1 -1
  204. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/header/header.scss.ejs +6 -5
  205. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/entities.tsx.ejs +10 -1
  206. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +1 -1
  207. package/dist/generators/react/templates/src/main/webapp/app/shared/util/date-utils.ts.ejs +1 -1
  208. package/dist/generators/react/templates/tsconfig.test.json.ejs +1 -1
  209. package/dist/generators/react/templates/webpack/webpack.microfrontend.js.jhi.react.ejs +13 -58
  210. package/dist/generators/server/cleanup.mjs +5 -0
  211. package/dist/generators/server/command.mjs +13 -2
  212. package/dist/generators/server/entity-files.mjs +3 -3
  213. package/dist/generators/server/files.mjs +2 -38
  214. package/dist/generators/server/generator.mjs +48 -23
  215. package/dist/generators/server/jdl/application-definition.mjs +5 -2
  216. package/dist/generators/server/options/feign-client.mjs +24 -0
  217. package/dist/generators/server/options/index.mjs +1 -0
  218. package/dist/generators/server/resources/Dockerfile +19 -19
  219. package/dist/generators/server/resources/gradle/libs.versions.toml +4 -4
  220. package/dist/generators/server/resources/pom.xml +18 -18
  221. package/dist/generators/server/support/config.mjs +5 -4
  222. package/dist/generators/server/support/prepare-entity.mjs +9 -6
  223. package/dist/generators/server/support/prepare-field.mjs +20 -0
  224. package/dist/generators/server/support/relationship.mjs +2 -1
  225. package/dist/generators/server/support/templates/field-values.mjs +5 -2
  226. package/dist/generators/server/templates/README.md.jhi.spring-boot.ejs +0 -1
  227. package/dist/generators/server/templates/build.gradle.ejs +1 -2
  228. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +3 -21
  229. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +5 -15
  230. package/dist/generators/server/templates/package.json.ejs +0 -5
  231. package/dist/generators/server/templates/pom.xml.ejs +2 -12
  232. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_all_template.ejs +8 -8
  233. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/search_template.ejs +4 -4
  234. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository.java.ejs +1 -1
  235. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +2 -2
  236. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/mapper/_entityClass_Mapper.java.ejs +2 -2
  237. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/web/rest/_entityClass_Resource.java.ejs +14 -14
  238. package/dist/generators/server/templates/src/main/java/_package_/config/JacksonConfiguration.java.ejs +2 -1
  239. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +21 -3
  240. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +6 -1
  241. package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/CustomClaimConverter.java.ejs +1 -5
  242. package/dist/generators/server/templates/src/main/java/_package_/service/MailService.java.ejs +48 -6
  243. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +1 -1
  244. package/dist/generators/server/templates/src/main/java/_package_/web/rest/LogoutResource_imperative.java.ejs +4 -13
  245. package/dist/generators/server/templates/src/main/java/_package_/web/rest/LogoutResource_reactive.java.ejs +5 -11
  246. package/dist/generators/server/templates/src/main/java/_package_/web/rest/PublicUserResource.java.ejs +6 -7
  247. package/dist/generators/server/templates/src/main/java/_package_/web/rest/UserResource.java.ejs +6 -8
  248. package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/ExceptionTranslator.java.ejs +4 -7
  249. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +8 -7
  250. package/dist/generators/server/templates/src/test/java/_package_/TechnicalStructureTest.java.ejs +1 -1
  251. package/dist/generators/server/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +11 -11
  252. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +4 -4
  253. package/dist/generators/server/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorTestController.java.ejs +2 -2
  254. package/dist/generators/spring-cache/internal/dependencies.mjs +1 -1
  255. package/dist/generators/spring-cache/templates/gradle/cache.gradle.ejs +1 -1
  256. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheFactoryConfiguration.java.ejs +1 -1
  257. package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/web/rest/KafkaResource_imperative.java.ejs +1 -1
  258. package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/web/rest/KafkaResource_reactive.java.ejs +1 -1
  259. package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +3 -0
  260. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.elastic_search.ejs +1 -1
  261. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/_entityPackage_/repository/search/_entityClass_SearchRepository.java.ejs +1 -3
  262. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/repository/search/UserSearchRepository.java.ejs +4 -4
  263. package/dist/generators/spring-data-neo4j/generator.mjs +43 -1
  264. package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_neo4j.ejs +3 -37
  265. package/dist/generators/spring-data-relational/README.md +7 -0
  266. package/dist/generators/spring-data-relational/generator.mjs +2 -1
  267. package/dist/generators/spring-data-relational/internal/dependencies.mjs +29 -8
  268. package/dist/generators/spring-data-relational/support/database-data.mjs +4 -0
  269. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/EntityManager_reactive.java.ejs +49 -8
  270. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +1 -1
  271. package/dist/generators/upgrade/generator.mjs +3 -3
  272. package/dist/generators/vue/generator.mjs +25 -16
  273. package/dist/generators/vue/resources/package.json +29 -28
  274. package/dist/generators/vue/templates/package.json.ejs +4 -5
  275. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +10 -3
  276. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +3 -4
  277. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +1 -2
  278. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.component.spec.ts.ejs +1 -1
  279. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.component.ts.ejs +3 -3
  280. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +2 -15
  281. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.ts.ejs +1 -1
  282. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +14 -7
  283. package/dist/generators/vue/templates/src/main/webapp/app/router/index.ts.ejs +8 -1
  284. package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +19 -34
  285. package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -0
  286. package/dist/jdl/converters/jdl-to-json/jdl-to-json-option-converter.js +2 -2
  287. package/dist/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +1 -1
  288. package/dist/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.js +1 -1
  289. package/dist/jdl/converters/json-to-jdl-converter.js +1 -1
  290. package/dist/jdl/converters/json-to-jdl-entity-converter.js +1 -0
  291. package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -17
  292. package/dist/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.js +5 -0
  293. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +0 -27
  294. package/dist/jdl/exporters/applications/jhipster-application-formatter.js +17 -1
  295. package/dist/jdl/exporters/config.js +11 -0
  296. package/dist/jdl/exporters/export-utils.js +2 -13
  297. package/dist/jdl/exporters/jhipster-entity-exporter.js +3 -2
  298. package/dist/jdl/index.js +1 -0
  299. package/dist/jdl/jdl-importer.js +6 -2
  300. package/dist/jdl/jhipster/default-application-options.js +1 -1
  301. package/dist/jdl/jhipster/field-types.js +1 -1
  302. package/dist/jdl/jhipster/json-entity.js +6 -0
  303. package/dist/jdl/models/jdl-application-configuration-factory.js +34 -2
  304. package/dist/jdl/models/jdl-application-configuration.js +6 -3
  305. package/dist/jdl/models/jdl-application-factory.js +2 -2
  306. package/dist/jdl/models/jdl-application.js +12 -3
  307. package/dist/jdl/models/jdl-entity.js +16 -1
  308. package/dist/jdl/models/jdl-field.js +13 -0
  309. package/dist/jdl/models/jdl-object.js +3 -3
  310. package/dist/jdl/models/jdl-relationship.js +23 -5
  311. package/dist/jdl/parsing/jdl-ast-builder-visitor.js +63 -7
  312. package/dist/jdl/parsing/jdl-parser.js +52 -6
  313. package/dist/jdl/parsing/lexer/application-tokens.js +2 -2
  314. package/dist/jdl/validators/entity-validator.js +4 -2
  315. package/dist/jdl/validators/enum-validator.js +4 -2
  316. package/dist/jdl/validators/jdl-with-application-validator.js +18 -8
  317. package/dist/jdl/validators/jdl-without-application-validator.js +30 -29
  318. package/dist/jdl/validators/validator.js +1 -1
  319. package/dist/testing/helpers.mjs +10 -3
  320. package/dist/types/cli/environment-builder.d.mts +2 -0
  321. package/dist/types/generators/angular/needle-api/needle-client-angular.d.mts +0 -1
  322. package/dist/types/generators/base/api.d.mts +12 -0
  323. package/dist/types/generators/base/support/config.d.mts +3 -3
  324. package/dist/types/generators/base/support/needles.d.mts +1 -1
  325. package/dist/types/generators/base-application/generator.d.mts +2 -2
  326. package/dist/types/generators/base-application/support/index.d.mts +1 -0
  327. package/dist/types/generators/base-application/support/prepare-entity.d.mts +6 -1
  328. package/dist/types/generators/base-application/support/update-application-entities-transform.d.mts +4 -0
  329. package/dist/types/generators/base-application/types/relationship.d.mts +4 -0
  330. package/dist/types/generators/base-core/generator.d.mts +7 -1
  331. package/dist/types/generators/bootstrap/support/auto-crlf-transform.d.mts +3 -2
  332. package/dist/types/generators/bootstrap/support/multi-step-transform/index.d.mts +3 -20
  333. package/dist/types/generators/bootstrap/support/multi-step-transform/template-file-fs.d.mts +15 -9
  334. package/dist/types/generators/bootstrap/support/multi-step-transform/template-file.d.mts +1 -0
  335. package/dist/types/generators/bootstrap-application-base/support/export-jdl-transform.d.mts +8 -0
  336. package/dist/types/generators/bootstrap-application-base/support/import-jdl-transform.d.mts +6 -0
  337. package/dist/types/generators/bootstrap-application-base/support/index.d.mts +2 -0
  338. package/dist/types/generators/client/support/entity-definition.d.mts +2 -2
  339. package/dist/types/generators/feign-client/types-export.d.ts +1 -0
  340. package/dist/types/generators/generator-constants.d.mts +52 -48
  341. package/dist/types/generators/generator-list.d.mts +1 -0
  342. package/dist/types/generators/java/support/package-info-transform.d.mts +1 -4
  343. package/dist/types/generators/project-name/support/name-resolver.d.mts +9 -1
  344. package/dist/types/generators/server/options/feign-client.d.mts +21 -0
  345. package/dist/types/generators/server/options/index.d.mts +1 -0
  346. package/dist/types/generators/server/support/templates/field-values.d.mts +1 -1
  347. package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +1 -0
  348. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +1 -1
  349. package/dist/types/jdl/exporters/config.d.ts +1 -0
  350. package/dist/types/jdl/index.d.ts +1 -0
  351. package/dist/types/jdl/jdl-importer.d.ts +1 -0
  352. package/dist/types/jdl/jhipster/json-entity.d.ts +2 -0
  353. package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +1 -0
  354. package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +2 -2
  355. package/dist/types/jdl/models/jdl-application-configuration.d.ts +8 -6
  356. package/dist/types/jdl/models/jdl-application-factory.d.ts +1 -1
  357. package/dist/types/jdl/models/jdl-application.d.ts +8 -4
  358. package/dist/types/jdl/models/jdl-entity.d.ts +1 -0
  359. package/dist/types/jdl/models/jdl-object.d.ts +1 -1
  360. package/dist/types/jdl/models/jdl-relationship.d.ts +0 -18
  361. package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +1 -1
  362. package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +10 -0
  363. package/dist/types/jdl/parsing/jdl-parser.d.ts +3 -0
  364. package/dist/types/jdl/parsing/lexer/application-tokens.d.ts +1 -0
  365. package/dist/types/jdl/types/types.d.mts +2 -2
  366. package/dist/types/jdl/validators/entity-validator.d.ts +2 -2
  367. package/dist/types/jdl/validators/enum-validator.d.ts +2 -2
  368. package/dist/types/jdl/validators/validator.d.ts +4 -1
  369. package/package.json +41 -41
@@ -17,11 +17,17 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <div>
20
- <h2 id="session-page-heading" <%= jhiPrefix %>Translate="sessions.title" [translateValues]="{ username: account.login }" *ngIf="account">__jhiTransformTranslate__('sessions.title', { "username": "{{ account.login }}" })</h2>
20
+ @if (account) {
21
+ <h2 id="session-page-heading" <%= jhiPrefix %>Translate="sessions.title" [translateValues]="{ username: account.login }">__jhiTransformTranslate__('sessions.title', { "username": "{{ account.login }}" })</h2>
22
+ }
21
23
 
22
- <div class="alert alert-success" *ngIf="success" <%= jhiPrefix %>Translate="sessions.messages.success">__jhiTransformTranslate__('sessions.messages.success')</div>
24
+ @if (success) {
25
+ <div class="alert alert-success" <%= jhiPrefix %>Translate="sessions.messages.success">__jhiTransformTranslate__('sessions.messages.success')</div>
26
+ }
23
27
 
24
- <div class="alert alert-danger" *ngIf="error" <%= jhiPrefix %>Translate="sessions.messages.error">__jhiTransformTranslate__('sessions.messages.error')</div>
28
+ @if (error) {
29
+ <div class="alert alert-danger" <%= jhiPrefix %>Translate="sessions.messages.error">__jhiTransformTranslate__('sessions.messages.error')</div>
30
+ }
25
31
 
26
32
  <div class="table-responsive">
27
33
  <table class="table table-striped" aria-describedby="session-page-heading">
@@ -34,7 +40,8 @@
34
40
  </tr>
35
41
  </thead>
36
42
  <tbody>
37
- <tr *ngFor="let session of sessions">
43
+ @for (session of sessions; track $index) {
44
+ <tr>
38
45
  <td>{{ session.ipAddress }}</td>
39
46
  <td>{{ session.userAgent }}</td>
40
47
  <td>{{ session.tokenDate | date:'longDate' }}</td>
@@ -47,6 +54,7 @@
47
54
  >__jhiTransformTranslate__('sessions.table.button')</button>
48
55
  </td>
49
56
  </tr>
57
+ }
50
58
  </tbody>
51
59
  </table>
52
60
  </div>
@@ -19,13 +19,18 @@
19
19
  <div>
20
20
  <div class="d-flex justify-content-center">
21
21
  <div class="col-md-8">
22
- <h2 <%= jhiPrefix %>Translate="settings.title" [translateValues]="{ username: settingsForm.value.login }" *ngIf="settingsForm.value.login">__jhiTransformTranslate__('settings.title', { "username": "{{ settingsForm.value.login }}" })</h2>
22
+ @if (settingsForm.value.login) {
23
+ <h2 <%= jhiPrefix %>Translate="settings.title" [translateValues]="{ username: settingsForm.value.login }">__jhiTransformTranslate__('settings.title', { "username": "{{ settingsForm.value.login }}" })</h2>
24
+ }
23
25
 
24
- <div class="alert alert-success" *ngIf="success" <%= jhiPrefix %>Translate="settings.messages.success">__jhiTransformTranslate__('settings.messages.success')</div>
26
+ @if (success) {
27
+ <div class="alert alert-success" <%= jhiPrefix %>Translate="settings.messages.success">__jhiTransformTranslate__('settings.messages.success')</div>
28
+ }
25
29
 
26
30
  <<%= jhiPrefixDashed %>-alert-error></<%= jhiPrefixDashed %>-alert-error>
27
31
 
28
- <form name="form" role="form" (ngSubmit)="save()" [formGroup]="settingsForm" *ngIf="settingsForm.value.login" novalidate>
32
+ @if (settingsForm.value.login) {
33
+ <form name="form" role="form" (ngSubmit)="save()" [formGroup]="settingsForm" novalidate>
29
34
  <div class="mb-3">
30
35
  <label class="form-label" for="firstName" <%= jhiPrefix %>Translate="settings.form.firstname">__jhiTransformTranslate__('settings.form.firstname')</label>
31
36
  <input
@@ -38,30 +43,27 @@
38
43
  data-cy="firstname"
39
44
  />
40
45
 
41
- <div
42
- *ngIf="
43
- settingsForm.get('firstName')!.invalid &&
44
- (settingsForm.get('firstName')!.dirty || settingsForm.get('firstName')!.touched)
45
- "
46
- >
47
- <small
48
- class="form-text text-danger"
49
- *ngIf="settingsForm.get('firstName')?.errors?.required"
46
+ @if (settingsForm.get('firstName')!.invalid && (settingsForm.get('firstName')!.dirty || settingsForm.get('firstName')!.touched)) {
47
+ <div>
48
+ @if (settingsForm.get('firstName')?.errors?.required) {
49
+ <small class="form-text text-danger"
50
50
  <%= jhiPrefix %>Translate="settings.messages.validate.firstname.required"
51
51
  >__jhiTransformTranslate__('settings.messages.validate.firstname.required')</small>
52
+ }
52
53
 
53
- <small
54
- class="form-text text-danger"
55
- *ngIf="settingsForm.get('firstName')?.errors?.minlength"
54
+ @if (settingsForm.get('firstName')?.errors?.minlength) {
55
+ <small class="form-text text-danger"
56
56
  <%= jhiPrefix %>Translate="settings.messages.validate.firstname.minlength"
57
57
  >__jhiTransformTranslate__('settings.messages.validate.firstname.minlength')</small>
58
+ }
58
59
 
59
- <small
60
- class="form-text text-danger"
61
- *ngIf="settingsForm.get('firstName')?.errors?.maxlength"
60
+ @if (settingsForm.get('firstName')?.errors?.maxlength) {
61
+ <small class="form-text text-danger"
62
62
  <%= jhiPrefix %>Translate="settings.messages.validate.firstname.maxlength"
63
63
  >__jhiTransformTranslate__('settings.messages.validate.firstname.maxlength')</small>
64
+ }
64
65
  </div>
66
+ }
65
67
  </div>
66
68
 
67
69
  <div class="mb-3">
@@ -76,30 +78,27 @@
76
78
  data-cy="lastname"
77
79
  />
78
80
 
79
- <div
80
- *ngIf="
81
- settingsForm.get('lastName')!.invalid &&
82
- (settingsForm.get('lastName')!.dirty || settingsForm.get('lastName')!.touched)
83
- "
84
- >
85
- <small
86
- class="form-text text-danger"
87
- *ngIf="settingsForm.get('lastName')?.errors?.required"
81
+ @if (settingsForm.get('lastName')!.invalid && (settingsForm.get('lastName')!.dirty || settingsForm.get('lastName')!.touched)) {
82
+ <div>
83
+ @if (settingsForm.get('lastName')?.errors?.required) {
84
+ <small class="form-text text-danger"
88
85
  <%= jhiPrefix %>Translate="settings.messages.validate.lastname.required"
89
86
  >__jhiTransformTranslate__('settings.messages.validate.lastname.required')</small>
87
+ }
90
88
 
91
- <small
92
- class="form-text text-danger"
93
- *ngIf="settingsForm.get('lastName')?.errors?.minlength"
89
+ @if (settingsForm.get('lastName')?.errors?.minlength) {
90
+ <small class="form-text text-danger"
94
91
  <%= jhiPrefix %>Translate="settings.messages.validate.lastname.minlength"
95
92
  >__jhiTransformTranslate__('settings.messages.validate.lastname.minlength')</small>
93
+ }
96
94
 
97
- <small
98
- class="form-text text-danger"
99
- *ngIf="settingsForm.get('lastName')?.errors?.maxlength"
95
+ @if (settingsForm.get('lastName')?.errors?.maxlength) {
96
+ <small class="form-text text-danger"
100
97
  <%= jhiPrefix %>Translate="settings.messages.validate.lastname.maxlength"
101
98
  >__jhiTransformTranslate__('settings.messages.validate.lastname.maxlength')</small>
99
+ }
102
100
  </div>
101
+ }
103
102
  </div>
104
103
 
105
104
  <div class="mb-3">
@@ -114,40 +113,46 @@
114
113
  data-cy="email"
115
114
  />
116
115
 
117
- <div *ngIf="settingsForm.get('email')!.invalid && (settingsForm.get('email')!.dirty || settingsForm.get('email')!.touched)">
118
- <small
119
- class="form-text text-danger"
120
- *ngIf="settingsForm.get('email')?.errors?.required"
116
+ @if (settingsForm.get('email')!.invalid && (settingsForm.get('email')!.dirty || settingsForm.get('email')!.touched)) {
117
+ <div>
118
+ @if (settingsForm.get('email')?.errors?.required) {
119
+ <small class="form-text text-danger"
121
120
  <%= jhiPrefix %>Translate="global.messages.validate.email.required"
122
121
  >__jhiTransformTranslate__('global.messages.validate.email.required')</small>
122
+ }
123
123
 
124
- <small
125
- class="form-text text-danger"
126
- *ngIf="settingsForm.get('email')?.errors?.email"
124
+ @if (settingsForm.get('email')?.errors?.email) {
125
+ <small class="form-text text-danger"
127
126
  <%= jhiPrefix %>Translate="global.messages.validate.email.invalid"
128
127
  >__jhiTransformTranslate__('global.messages.validate.email.invalid')</small>
128
+ }
129
129
 
130
- <small
131
- class="form-text text-danger"
132
- *ngIf="settingsForm.get('email')?.errors?.minlength"
130
+ @if (settingsForm.get('email')?.errors?.minlength) {
131
+ <small class="form-text text-danger"
133
132
  <%= jhiPrefix %>Translate="global.messages.validate.email.minlength"
134
133
  >__jhiTransformTranslate__('global.messages.validate.email.minlength')</small>
134
+ }
135
135
 
136
- <small
137
- class="form-text text-danger"
138
- *ngIf="settingsForm.get('email')?.errors?.maxlength"
136
+ @if (settingsForm.get('email')?.errors?.maxlength) {
137
+ <small class="form-text text-danger"
139
138
  <%= jhiPrefix %>Translate="global.messages.validate.email.maxlength"
140
139
  >__jhiTransformTranslate__('global.messages.validate.email.maxlength')</small>
140
+ }
141
141
  </div>
142
+ }
142
143
  </div>
143
144
  <%_ if (enableTranslation) { _%>
144
145
 
145
- <div class="mb-3" *ngIf="languages && languages.length > 0">
146
+ @if (languages && languages.length > 0) {
147
+ <div class="mb-3">
146
148
  <label for="langKey" <%= jhiPrefix %>Translate="settings.form.language">__jhiTransformTranslate__('settings.form.language')</label>
147
149
  <select class="form-control" id="langKey" name="langKey" formControlName="langKey" data-cy="langKey">
148
- <option *ngFor="let language of languages" [value]="language">{{ language | findLanguageFromKey }}</option>
150
+ @for (language of languages; track $index) {
151
+ <option [value]="language">{{ language | findLanguageFromKey }}</option>
152
+ }
149
153
  </select>
150
154
  </div>
155
+ }
151
156
  <%_ } _%>
152
157
 
153
158
  <button
@@ -158,6 +163,7 @@
158
163
  data-cy="submit"
159
164
  >__jhiTransformTranslate__('settings.form.button')</button>
160
165
  </form>
166
+ }
161
167
  </div>
162
168
  </div>
163
169
  </div>
@@ -0,0 +1,74 @@
1
+ <%#
2
+ Copyright 2013-2023 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
19
+ import { Routes } from '@angular/router';
20
+ /* jhipster-needle-add-admin-module-import - JHipster will add admin modules imports here */
21
+
22
+ const routes: Routes = [
23
+ <%_ if (generateUserManagement) { _%>
24
+ {
25
+ path: 'user-management',
26
+ loadChildren: () => import('./user-management/user-management.route'),
27
+ title: 'userManagement.home.title',
28
+ },
29
+ <%_ } _%>
30
+ {
31
+ path: 'docs',
32
+ loadComponent: () => import('./docs/docs.component'),
33
+ title: 'global.menu.admin.apidocs',
34
+ },
35
+ <%_ if (withAdminUi) { _%>
36
+ {
37
+ path: 'configuration',
38
+ loadComponent: () => import('./configuration/configuration.component'),
39
+ title: 'configuration.title',
40
+ },
41
+ {
42
+ path: 'health',
43
+ loadComponent: () => import('./health/health.component'),
44
+ title: 'health.title',
45
+ },
46
+ {
47
+ path: 'logs',
48
+ loadComponent: () => import('./logs/logs.component'),
49
+ title: 'logs.title',
50
+ },
51
+ {
52
+ path: 'metrics',
53
+ loadComponent: () => import('./metrics/metrics.component'),
54
+ title: 'metrics.title',
55
+ },
56
+ <%_ } _%>
57
+ <%_ if (applicationTypeGateway && serviceDiscoveryAny) { _%>
58
+ {
59
+ path: 'gateway',
60
+ loadComponent: () => import('./gateway/gateway.component'),
61
+ title: 'gateway.title',
62
+ },
63
+ <%_ } _%>
64
+ <%_ if (communicationSpringWebsocket) { _%>
65
+ {
66
+ path: 'tracker',
67
+ loadComponent: () => import('./tracker/tracker.component'),
68
+ title: 'tracker.title',
69
+ },
70
+ <%_ } _%>
71
+ /* jhipster-needle-add-admin-route - JHipster will add admin routes here */
72
+ ];
73
+
74
+ export default routes;
@@ -16,7 +16,8 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- <div *ngIf="allBeans">
19
+ @if (allBeans) {
20
+ <div>
20
21
  <h2 id="configuration-page-heading" <%= jhiPrefix %>Translate="configuration.title" data-cy="configurationPageHeading">__jhiTransformTranslate__('configuration.title')</h2>
21
22
 
22
23
  <span <%= jhiPrefix %>Translate="configuration.filter">__jhiTransformTranslate__('configuration.filter')</span>
@@ -34,23 +35,28 @@
34
35
  </tr>
35
36
  </thead>
36
37
  <tbody>
37
- <tr *ngFor="let bean of beans">
38
+ @for (bean of beans; track $index) {
39
+ <tr>
38
40
  <td>
39
41
  <span>{{ bean.prefix }}</span>
40
42
  </td>
41
43
  <td>
42
- <div class="row" *ngFor="let property of bean.properties | keyvalue">
44
+ @for (property of bean.properties | keyvalue; track property.key) {
45
+ <div class="row">
43
46
  <div class="col-md-4">{{ property.key }}</div>
44
47
  <div class="col-md-8">
45
48
  <span class="float-end bg-secondary break">{{ property.value | json }}</span>
46
49
  </div>
47
50
  </div>
51
+ }
48
52
  </td>
49
53
  </tr>
54
+ }
50
55
  </tbody>
51
56
  </table>
52
57
 
53
- <div *ngFor="let propertySource of propertySources; let i = index">
58
+ @for (propertySource of propertySources; track i; let i = $index) {
59
+ <div>
54
60
  <h4 [id]="'property-source-' + i">
55
61
  <span>{{ propertySource.name }}</span>
56
62
  </h4>
@@ -63,13 +69,17 @@
63
69
  </tr>
64
70
  </thead>
65
71
  <tbody>
66
- <tr *ngFor="let property of propertySource.properties | keyvalue">
72
+ @for (property of propertySource.properties | keyvalue; track property.key) {
73
+ <tr>
67
74
  <td class="break">{{ property.key }}</td>
68
75
  <td class="break">
69
76
  <span class="float-end bg-secondary break">{{ property.value.value }}</span>
70
77
  </td>
71
78
  </tr>
79
+ }
72
80
  </tbody>
73
81
  </table>
74
82
  </div>
83
+ }
75
84
  </div>
85
+ }
@@ -22,6 +22,6 @@ import { Component } from '@angular/core';
22
22
  standalone: true,
23
23
  selector: '<%= jhiPrefixDashed %>-docs',
24
24
  templateUrl: './docs.component.html',
25
- styleUrls: ['./docs.component.scss'],
25
+ styleUrl: './docs.component.scss',
26
26
  })
27
27
  export default class DocsComponent {}
@@ -37,33 +37,46 @@
37
37
  </tr>
38
38
  </thead>
39
39
  <tbody>
40
- <tr *ngFor="let route of gatewayRoutes">
40
+ @for (route of gatewayRoutes; track route.path) {
41
+ <tr>
41
42
  <td>{{ route.path }}</td>
42
43
  <td>{{ route.serviceId }}</td>
43
44
  <td>
44
- <div *ngIf="route.serviceInstances.length === 0" class="label label-danger" <%= jhiPrefix %>Translate="gateway.routes.error">__jhiTransformTranslate__('gateway.routes.error')</div>
45
+ @if (route.serviceInstances.length === 0) {
46
+ <div class="label label-danger" <%= jhiPrefix %>Translate="gateway.routes.error">__jhiTransformTranslate__('gateway.routes.error')</div>
47
+ }
45
48
 
46
49
  <div class="table-responsive">
47
- <table class="table table-striped" *ngIf="route">
48
- <tr *ngFor="let instance of route.serviceInstances">
50
+ @if (route) {
51
+ <table class="table table-striped">
52
+ @for (instance of route.serviceInstances; track instance.uri) {
53
+ <tr>
49
54
  <td><a href="{{ instance.uri }}" target="_blank">{{ instance.uri }}</a></td>
50
55
  <td>
51
- <div *ngIf="instance.instanceInfo" class="badge bg-{{ instance.instanceInfo.status === 'UP' ? 'success' : 'danger' }}">{{ instance.instanceInfo.status }}</div>
52
- <div *ngIf="!instance.instanceInfo" class="badge bg-warning">?</div>
56
+ @if (instance.instanceInfo) {
57
+ <div class="badge bg-{{ instance.instanceInfo.status === 'UP' ? 'success' : 'danger' }}">{{ instance.instanceInfo.status }}</div>
58
+ } @else {
59
+ <div class="badge bg-warning">?</div>
60
+ }
53
61
  </td>
54
62
  <td>
55
- <span *ngFor="let entry of (instance.metadata | keyvalue )">
63
+ @for (entry of (instance.metadata | keyvalue ); track entry.key) {
64
+ <span>
56
65
  <span class="badge bg-default fw-normal">
57
66
  <span class="badge rounded-pill bg-info fw-normal">{{ entry.key }}</span>
58
67
  <span class="text-secondary">{{ entry.value }}</span>
59
68
  </span>
60
69
  </span>
70
+ }
61
71
  </td>
62
72
  </tr>
73
+ }
63
74
  </table>
75
+ }
64
76
  </div>
65
77
  </td>
66
78
  </tr>
79
+ }
67
80
  </tbody>
68
81
  </table>
69
82
  </div>
@@ -34,8 +34,10 @@
34
34
  <th scope="col" class="text-center" <%= jhiPrefix %>Translate="health.details.details">__jhiTransformTranslate__('health.details.details')</th>
35
35
  </tr>
36
36
  </thead>
37
- <tbody *ngIf="health">
38
- <tr *ngFor="let componentHealth of health.components | keyvalue">
37
+ @if (health) {
38
+ <tbody>
39
+ @for (componentHealth of health.components | keyvalue; track componentHealth.key) {
40
+ <tr>
39
41
  <td>
40
42
  <%_ if (enableTranslation) { _%>
41
43
  {{ 'health.indicator.' + componentHealth.key | translate }}
@@ -53,16 +55,17 @@
53
55
  </span>
54
56
  </td>
55
57
  <td class="text-center">
56
- <a
57
- class="hand"
58
- (click)="showHealth({ key: componentHealth.key, value: componentHealth.value! })"
59
- *ngIf="componentHealth.value!.details"
60
- >
58
+ @if (componentHealth.value!.details) {
59
+ <a class="hand"
60
+ (click)="showHealth({ key: componentHealth.key, value: componentHealth.value! })">
61
61
  <fa-icon icon="eye"></fa-icon>
62
62
  </a>
63
+ }
63
64
  </td>
64
65
  </tr>
66
+ }
65
67
  </tbody>
68
+ }
66
69
  </table>
67
70
  </div>
68
71
  </div>
@@ -17,13 +17,15 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <div class="modal-header">
20
- <h4 class="modal-title" id="showHealthLabel" *ngIf="health">
20
+ @if (health) {
21
+ <h4 class="modal-title" id="showHealthLabel">
21
22
  <%_ if (enableTranslation) { _%>
22
23
  {{ 'health.indicator.' + health.key | translate }}
23
24
  <%_ } else { _%>
24
25
  <span class="text-capitalize">{{ health.key }}</span>
25
26
  <%_ } _%>
26
27
  </h4>
28
+ }
27
29
 
28
30
  <button aria-label="Close" data-dismiss="modal" class="btn-close" type="button" (click)="dismiss()">
29
31
  <span aria-hidden="true">&times;</span>
@@ -31,7 +33,8 @@
31
33
  </div>
32
34
 
33
35
  <div class="modal-body pad">
34
- <div *ngIf="health">
36
+ @if (health) {
37
+ <div>
35
38
  <h5 <%= jhiPrefix %>Translate="health.details.properties">__jhiTransformTranslate__('health.details.properties')</h5>
36
39
 
37
40
  <div class="table-responsive">
@@ -43,14 +46,17 @@
43
46
  </tr>
44
47
  </thead>
45
48
  <tbody>
46
- <tr *ngFor="let healthDetail of health.value.details! | keyvalue">
49
+ @for (healthDetail of health.value.details! | keyvalue; track healthDetail.key) {
50
+ <tr>
47
51
  <td class="text-start">{{ healthDetail.key }}</td>
48
52
  <td class="text-start">{{ readableValue(healthDetail.value) }}</td>
49
53
  </tr>
54
+ }
50
55
  </tbody>
51
56
  </table>
52
57
  </div>
53
58
  </div>
59
+ }
54
60
  </div>
55
61
 
56
62
  <div class="modal-footer">
@@ -16,23 +16,28 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- <div class="table-responsive" *ngIf="loggers">
19
+ @if (loggers) {
20
+ <div class="table-responsive">
20
21
  <h2 id="logs-page-heading" <%= jhiPrefix %>Translate="logs.title" data-cy="logsPageHeading">__jhiTransformTranslate__('logs.title')</h2>
21
22
 
22
23
  <%_ if (applicationTypeGateway && serviceDiscoveryAny) { _%>
23
24
  <div class="float-end">
24
25
  <select class="form-select" id="routesSelect" (change)="changeService($event)">
25
26
  <option [ngValue]="null"></option>
26
- <option *ngFor="let service of services" [value]="service">
27
+ @for (service of services; track $index) {
28
+ <option [value]="service">
27
29
  {{ service }}
28
30
  </option>
31
+ }
29
32
  </select>
30
33
  </div>
31
34
  <%_ } _%>
32
35
 
33
- <div class="float-end me-3" *ngIf="isLoading">
36
+ @if (isLoading) {
37
+ <div class="float-end me-3">
34
38
  <div class="spinner-border"></div>
35
39
  </div>
40
+ }
36
41
 
37
42
  <p <%= jhiPrefix %>Translate="logs.nbloggers" [translateValues]="{ total: loggers.length }">__jhiTransformTranslate__('logs.nbloggers', { "total": "{{ loggers.length }}" })</p>
38
43
 
@@ -48,7 +53,8 @@
48
53
  </thead>
49
54
 
50
55
  <tbody>
51
- <tr *ngFor="let logger of filteredAndOrderedLoggers">
56
+ @for (logger of filteredAndOrderedLoggers; track $index) {
57
+ <tr>
52
58
  <td>
53
59
  <small>{{ logger.name | slice: 0:140 }}</small>
54
60
  </td>
@@ -102,6 +108,8 @@
102
108
  </button>
103
109
  </td>
104
110
  </tr>
111
+ }
105
112
  </tbody>
106
113
  </table>
107
114
  </div>
115
+ }
@@ -18,19 +18,22 @@
18
18
  -%>
19
19
  <h4 <%= jhiPrefix %>Translate="metrics.jvm.memory.title">__jhiTransformTranslate__('metrics.jvm.memory.title')</h4>
20
20
 
21
- <div *ngIf="!updating && jvmMemoryMetrics">
22
- <div *ngFor="let entry of jvmMemoryMetrics | keyvalue">
23
- <span *ngIf="entry.value.max !== -1; else other">
21
+ @if (!updating && jvmMemoryMetrics) {
22
+ <div>
23
+ @for (entry of jvmMemoryMetrics | keyvalue; track $index) {
24
+ <div>
25
+ @if (entry.value.max !== -1) {
26
+ <span>
24
27
  <span>{{ entry.key }}</span>
25
28
  ({{ entry.value.used / 1048576 | number: '1.0-0' }}M / {{ entry.value.max / 1048576 | number: '1.0-0' }}M)
26
29
  </span>
27
30
 
28
31
  <div>Committed : {{ entry.value.committed / 1048576 | number: '1.0-0' }}M</div>
29
-
30
- <ng-template #other><span><span>{{ entry.key }}</span> {{ entry.value.used / 1048576 | number: '1.0-0' }}M</span></ng-template>
31
-
32
+ } @else {
33
+ <span><span>{{ entry.key }}</span> {{ entry.value.used / 1048576 | number: '1.0-0' }}M</span>
34
+ }
35
+ @if (entry.value.max !== -1) {
32
36
  <ngb-progressbar
33
- *ngIf="entry.value.max !== -1"
34
37
  type="success"
35
38
  [value]="(100 * entry.value.used) / entry.value.max"
36
39
  [striped]="true"
@@ -38,5 +41,8 @@
38
41
  >
39
42
  <span>{{ (entry.value.used * 100) / entry.value.max | number: '1.0-0' }}%</span>
40
43
  </ngb-progressbar>
44
+ }
41
45
  </div>
46
+ }
42
47
  </div>
48
+ }
@@ -18,7 +18,8 @@
18
18
  -%>
19
19
  <h3 id="cacheMetrics" <%= jhiPrefix %>Translate="metrics.cache.title">__jhiTransformTranslate__('metrics.cache.title')</h3>
20
20
 
21
- <div class="table-responsive" *ngIf="!updating && cacheMetrics">
21
+ @if (!updating && cacheMetrics) {
22
+ <div class="table-responsive">
22
23
  <table class="table table-striped" aria-describedby="cacheMetrics">
23
24
  <thead>
24
25
  <tr>
@@ -34,7 +35,8 @@
34
35
  </tr>
35
36
  </thead>
36
37
  <tbody>
37
- <tr *ngFor="let entry of cacheMetrics | keyvalue">
38
+ @for (entry of cacheMetrics | keyvalue; track entry.key) {
39
+ <tr>
38
40
  <td>{{ entry.key }}</td>
39
41
  <td class="text-end">{{ entry.value['cache.gets.hit'] }}</td>
40
42
  <td class="text-end">{{ entry.value['cache.gets.miss'] }}</td>
@@ -55,6 +57,8 @@
55
57
  }}
56
58
  </td>
57
59
  </tr>
60
+ }
58
61
  </tbody>
59
62
  </table>
60
63
  </div>
64
+ }
@@ -18,7 +18,8 @@
18
18
  -%>
19
19
  <h3 id="datasourceMetrics" <%= jhiPrefix %>Translate="metrics.datasource.title">__jhiTransformTranslate__('metrics.datasource.title')</h3>
20
20
 
21
- <div class="table-responsive" *ngIf="!updating && datasourceMetrics">
21
+ @if (!updating && datasourceMetrics) {
22
+ <div class="table-responsive">
22
23
  <table class="table table-striped" aria-describedby="datasourceMetrics">
23
24
  <thead>
24
25
  <tr>
@@ -73,3 +74,4 @@
73
74
  </tbody>
74
75
  </table>
75
76
  </div>
77
+ }