generator-jhipster 8.3.0 → 8.5.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 (430) hide show
  1. package/dist/generators/angular/generator.js +34 -0
  2. package/dist/generators/angular/resources/package.json +13 -13
  3. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +1 -1
  4. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +1 -1
  5. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +2 -2
  6. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +3 -6
  7. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +1 -1
  8. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +2 -2
  9. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +3 -6
  10. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +1 -1
  11. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +3 -6
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +1 -1
  13. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +11 -11
  14. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +0 -2
  15. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +1 -1
  16. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/user-route-access.service.ts.ejs +1 -1
  17. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +0 -3
  18. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +2 -2
  19. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +2 -2
  20. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.ts.ejs +10 -6
  21. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +1 -1
  22. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +3 -3
  23. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +11 -17
  24. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +6 -6
  25. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +3 -3
  26. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.html.ejs +1 -1
  27. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +2 -2
  28. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -4
  29. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +2 -2
  30. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +10 -8
  31. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +3 -8
  32. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +6 -2
  33. package/dist/generators/angular/templates/webpack/webpack.custom.js.ejs +1 -1
  34. package/dist/generators/app/generator.js +6 -33
  35. package/dist/generators/app/support/config.js +1 -3
  36. package/dist/generators/base/generator.js +15 -16
  37. package/dist/generators/base/priorities.js +12 -1
  38. package/dist/generators/base-application/generator.js +14 -2
  39. package/dist/generators/base-application/priorities.js +1 -0
  40. package/dist/generators/base-application/support/prepare-entity.js +7 -8
  41. package/dist/generators/base-application/support/prepare-field.js +1 -1
  42. package/dist/generators/base-application/support/prepare-relationship.js +3 -2
  43. package/dist/generators/base-core/generator.js +45 -11
  44. package/dist/generators/base-entity-changes/generator.js +24 -0
  45. package/dist/generators/bootstrap-application-base/generator.js +46 -1
  46. package/dist/generators/bootstrap-application-server/generator.js +5 -7
  47. package/dist/generators/ci-cd/generator.js +0 -5
  48. package/dist/generators/client/command.js +2 -2
  49. package/dist/generators/client/generator.js +0 -22
  50. package/dist/generators/client/generators/common/command.js +5 -0
  51. package/dist/generators/client/generators/common/generator.js +79 -0
  52. package/dist/generators/{app/prompts.js → client/generators/common/index.js} +2 -15
  53. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/headers.ts.ejs +57 -0
  54. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/problem-details.ts.ejs +51 -0
  55. package/dist/generators/client/resources/package.json +6 -6
  56. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
  57. package/dist/generators/common/command.js +13 -0
  58. package/dist/generators/common/generator.js +17 -3
  59. package/dist/generators/common/resources/package.json +2 -2
  60. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +4 -4
  61. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/password-page.cy.ts.ejs +2 -2
  62. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/register-page.cy.ts.ejs +1 -1
  63. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/reset-password-page.cy.ts.ejs +1 -1
  64. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +10 -10
  65. package/dist/generators/docker/templates/docker/mysql.yml.ejs +1 -1
  66. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +14 -3
  67. package/dist/generators/docker-compose/generator.js +1 -5
  68. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +14 -3
  69. package/dist/generators/entity/generator.js +2 -10
  70. package/dist/generators/entity/prompts.js +6 -11
  71. package/dist/generators/export-jdl/generator.js +0 -5
  72. package/dist/generators/gatling/README.md +15 -0
  73. package/dist/generators/gatling/templates/buildSrc/src/main/groovy/jhipster.gatling-conventions.gradle.ejs +1 -1
  74. package/dist/generators/gatling/templates/src/test/java/gatling/simulations/_entityClass_GatlingTest.java.ejs +2 -10
  75. package/dist/generators/generate-blueprint/command.js +16 -0
  76. package/dist/generators/generate-blueprint/files.js +8 -0
  77. package/dist/generators/generate-blueprint/generator.js +17 -10
  78. package/dist/generators/generate-blueprint/resources/package.json +1 -1
  79. package/dist/generators/generate-blueprint/templates/.blueprint/cli/commands.mjs.ejs +6 -0
  80. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +20 -0
  81. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +9 -13
  82. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/build-matrix.mjs.ejs +22 -0
  83. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +24 -0
  84. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/index.mjs.ejs +1 -0
  85. package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +2 -2
  86. package/dist/generators/generate-blueprint/templates/README.md.ejs +16 -8
  87. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -0
  88. package/dist/generators/generator-constants.js +1 -1
  89. package/dist/generators/heroku/generator.js +0 -5
  90. package/dist/generators/info/generator.js +1 -3
  91. package/dist/generators/init/generator.js +2 -2
  92. package/dist/generators/init/resources/.node-version +1 -1
  93. package/dist/generators/java/generators/build-tool/command.js +4 -1
  94. package/dist/generators/java/generators/domain/generator.js +16 -0
  95. package/dist/generators/java/generators/domain/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +1 -5
  96. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +3 -3
  97. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +3 -3
  98. package/dist/generators/java/support/add-java-annotation.js +28 -7
  99. package/dist/generators/java/support/generated-annotation-transform.js +1 -1
  100. package/dist/generators/java/support/index.js +1 -1
  101. package/dist/generators/jdl/generator.js +1 -5
  102. package/dist/generators/kubernetes/files.js +1 -1
  103. package/dist/generators/kubernetes/generator.js +0 -5
  104. package/dist/generators/kubernetes/templates/db/mysql.yml.ejs +0 -1
  105. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +14 -3
  106. package/dist/generators/kubernetes-helm/generator.js +0 -5
  107. package/dist/generators/kubernetes-knative/generator.js +0 -5
  108. package/dist/generators/languages/files.js +2 -2
  109. package/dist/generators/languages/generator.js +4 -8
  110. package/dist/generators/languages/templates/src/main/webapp/i18n/al/home.json.ejs +19 -0
  111. package/dist/generators/languages/templates/src/main/webapp/i18n/ar-ly/home.json.ejs +19 -0
  112. package/dist/generators/languages/templates/src/main/webapp/i18n/az-Latn-az/home.json.ejs +19 -0
  113. package/dist/generators/languages/templates/src/main/webapp/i18n/bg/home.json.ejs +19 -0
  114. package/dist/generators/languages/templates/src/main/webapp/i18n/bn/home.json.ejs +19 -0
  115. package/dist/generators/languages/templates/src/main/webapp/i18n/by/home.json.ejs +19 -0
  116. package/dist/generators/languages/templates/src/main/webapp/i18n/ca/home.json.ejs +19 -0
  117. package/dist/generators/languages/templates/src/main/webapp/i18n/cs/home.json.ejs +19 -0
  118. package/dist/generators/languages/templates/src/main/webapp/i18n/da/home.json.ejs +19 -0
  119. package/dist/generators/languages/templates/src/main/webapp/i18n/de/global.json.ejs +2 -2
  120. package/dist/generators/languages/templates/src/main/webapp/i18n/de/home.json.ejs +19 -0
  121. package/dist/generators/languages/templates/src/main/webapp/i18n/el/home.json.ejs +19 -0
  122. package/dist/generators/languages/templates/src/main/webapp/i18n/en/home.json.ejs +19 -0
  123. package/dist/generators/languages/templates/src/main/webapp/i18n/es/home.json.ejs +19 -0
  124. package/dist/generators/languages/templates/src/main/webapp/i18n/et/home.json.ejs +19 -0
  125. package/dist/generators/languages/templates/src/main/webapp/i18n/fa/home.json.ejs +19 -0
  126. package/dist/generators/languages/templates/src/main/webapp/i18n/fi/home.json.ejs +19 -0
  127. package/dist/generators/languages/templates/src/main/webapp/i18n/fr/home.json.ejs +19 -0
  128. package/dist/generators/languages/templates/src/main/webapp/i18n/gl/home.json.ejs +19 -0
  129. package/dist/generators/languages/templates/src/main/webapp/i18n/hi/home.json.ejs +19 -0
  130. package/dist/generators/languages/templates/src/main/webapp/i18n/hr/home.json.ejs +19 -0
  131. package/dist/generators/languages/templates/src/main/webapp/i18n/hu/home.json.ejs +19 -0
  132. package/dist/generators/languages/templates/src/main/webapp/i18n/hy/home.json.ejs +19 -0
  133. package/dist/generators/languages/templates/src/main/webapp/i18n/id/home.json.ejs +19 -0
  134. package/dist/generators/languages/templates/src/main/webapp/i18n/it/home.json.ejs +19 -0
  135. package/dist/generators/languages/templates/src/main/webapp/i18n/ja/home.json.ejs +19 -0
  136. package/dist/generators/languages/templates/src/main/webapp/i18n/ko/home.json.ejs +19 -0
  137. package/dist/generators/languages/templates/src/main/webapp/i18n/kr-Latn-kr/home.json.ejs +19 -0
  138. package/dist/generators/languages/templates/src/main/webapp/i18n/mr/home.json.ejs +19 -0
  139. package/dist/generators/languages/templates/src/main/webapp/i18n/my/home.json.ejs +19 -0
  140. package/dist/generators/languages/templates/src/main/webapp/i18n/nl/home.json.ejs +19 -0
  141. package/dist/generators/languages/templates/src/main/webapp/i18n/pa/{home.json → home.json.ejs} +2 -2
  142. package/dist/generators/languages/templates/src/main/webapp/i18n/pl/home.json.ejs +19 -0
  143. package/dist/generators/languages/templates/src/main/webapp/i18n/pt-br/home.json.ejs +19 -0
  144. package/dist/generators/languages/templates/src/main/webapp/i18n/pt-pt/home.json.ejs +19 -0
  145. package/dist/generators/languages/templates/src/main/webapp/i18n/ro/home.json.ejs +19 -0
  146. package/dist/generators/languages/templates/src/main/webapp/i18n/ru/home.json.ejs +19 -0
  147. package/dist/generators/languages/templates/src/main/webapp/i18n/si/{home.json → home.json.ejs} +6 -6
  148. package/dist/generators/languages/templates/src/main/webapp/i18n/sk/home.json.ejs +19 -0
  149. package/dist/generators/languages/templates/src/main/webapp/i18n/sr/home.json.ejs +19 -0
  150. package/dist/generators/languages/templates/src/main/webapp/i18n/sv/home.json.ejs +19 -0
  151. package/dist/generators/languages/templates/src/main/webapp/i18n/ta/home.json.ejs +19 -0
  152. package/dist/generators/languages/templates/src/main/webapp/i18n/te/{home.json → home.json.ejs} +1 -1
  153. package/dist/generators/languages/templates/src/main/webapp/i18n/th/home.json.ejs +19 -0
  154. package/dist/generators/languages/templates/src/main/webapp/i18n/tr/home.json.ejs +19 -0
  155. package/dist/generators/languages/templates/src/main/webapp/i18n/ua/home.json.ejs +19 -0
  156. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/home.json.ejs +19 -0
  157. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/home.json.ejs +19 -0
  158. package/dist/generators/languages/templates/src/main/webapp/i18n/vi/home.json.ejs +19 -0
  159. package/dist/generators/languages/templates/src/main/webapp/i18n/zh-cn/home.json.ejs +19 -0
  160. package/dist/generators/languages/templates/src/main/webapp/i18n/zh-tw/home.json.ejs +19 -0
  161. package/dist/generators/liquibase/generator.js +59 -12
  162. package/dist/generators/liquibase/support/prepare-field.js +16 -1
  163. package/dist/generators/liquibase/support/relationship.js +1 -0
  164. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +1 -1
  165. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +3 -3
  166. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +26 -1
  167. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +3 -3
  168. package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +2 -2
  169. package/dist/generators/maven/templates/mvnw +185 -243
  170. package/dist/generators/maven/templates/mvnw.cmd +121 -180
  171. package/dist/generators/react/generator.js +10 -0
  172. package/dist/generators/react/resources/package.json +30 -30
  173. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +1 -1
  174. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.ts.ejs +1 -1
  175. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.spec.ts.ejs +1 -1
  176. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.ts.ejs +80 -87
  177. package/dist/generators/react/templates/src/main/webapp/app/config/store.ts.ejs +1 -1
  178. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +3 -3
  179. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +12 -7
  180. package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +7 -7
  181. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +2 -3
  182. package/dist/generators/react/templates/webpack/webpack.microfrontend.js.jhi.react.ejs +0 -8
  183. package/dist/generators/server/command.js +0 -11
  184. package/dist/generators/server/generator.js +19 -115
  185. package/dist/generators/server/jdl/application-definition.js +3 -1
  186. package/dist/generators/server/resources/Dockerfile +15 -15
  187. package/dist/generators/server/resources/gradle/libs.versions.toml +12 -10
  188. package/dist/generators/server/resources/pom.xml +10 -10
  189. package/dist/generators/server/support/config.js +4 -8
  190. package/dist/generators/server/support/prepare-entity.js +5 -6
  191. package/dist/generators/server/support/prepare-field.js +7 -2
  192. package/dist/generators/server/support/prepare-relationship.js +7 -2
  193. package/dist/generators/server/support/relationship.js +5 -2
  194. package/dist/generators/server/templates/build.gradle.ejs +5 -3
  195. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +3 -2
  196. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +3 -2
  197. package/dist/generators/server/templates/gradle.properties.ejs +1 -1
  198. package/dist/generators/server/templates/pom.xml.ejs +7 -9
  199. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +1 -1
  200. package/dist/generators/server/templates/src/main/java/_package_/config/Constants.java.ejs +0 -2
  201. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +57 -24
  202. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +1 -15
  203. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +0 -20
  204. package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +65 -5
  205. package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +23 -0
  206. package/dist/generators/server/templates/src/main/java/_package_/service/mapper/UserMapper.java.ejs +8 -4
  207. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +43 -9
  208. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +60 -22
  209. package/dist/generators/server/templates/src/main/resources/config/bootstrap.yml.ejs +1 -1
  210. package/dist/generators/server/templates/src/main/resources/static/index_microservices.html.ejs +8 -8
  211. package/dist/generators/server/templates/src/main/resources/swagger/api.yml.ejs +1 -1
  212. package/dist/generators/server/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +31 -13
  213. package/dist/generators/server/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +84 -17
  214. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +62 -6
  215. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +22 -0
  216. package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +20 -10
  217. package/dist/generators/spring-boot/cleanup.js +3 -0
  218. package/dist/generators/spring-boot/command.js +127 -7
  219. package/dist/generators/spring-boot/files.js +0 -10
  220. package/dist/generators/spring-boot/generator.js +54 -4
  221. package/dist/generators/{server → spring-boot}/prompts.js +8 -72
  222. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +380 -588
  223. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +47 -11
  224. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +60 -24
  225. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +195 -318
  226. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +58 -51
  227. package/dist/generators/spring-cache/internal/dependencies.js +2 -2
  228. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +2 -2
  229. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +4 -0
  230. package/dist/generators/spring-cloud/generators/gateway/command.js +5 -1
  231. package/dist/generators/spring-cloud/generators/gateway/generator.js +13 -0
  232. package/dist/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.js +6 -0
  233. package/dist/generators/spring-data-cassandra/generator.js +2 -2
  234. package/dist/generators/spring-data-relational/support/h2-reserved-keywords.js +22 -0
  235. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +3 -1
  236. package/dist/generators/upgrade/generator.js +0 -4
  237. package/dist/generators/vue/resources/package.json +22 -22
  238. package/dist/generators/vue/templates/src/main/webapp/app/account/change-password/change-password.vue.ejs +1 -1
  239. package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.vue.ejs +1 -1
  240. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.vue.ejs +1 -1
  241. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.vue.ejs +1 -1
  242. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/init/reset-password-init.vue.ejs +1 -1
  243. package/dist/generators/vue/templates/src/main/webapp/app/account/settings/settings.vue.ejs +1 -1
  244. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.spec.ts.ejs +1 -1
  245. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-edit.vue.ejs +1 -1
  246. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.vue.ejs +7 -7
  247. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +1 -1
  248. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +2 -2
  249. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +1 -1
  250. package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.spec.ts.ejs +8 -8
  251. package/dist/generators/vue/templates/src/main/webapp/app/shared/data/data-utils.service.spec.ts.ejs +1 -1
  252. package/dist/generators/vue/templates/tsconfig.app.json.ejs +1 -1
  253. package/dist/generators/vue/templates/vite.config.mts.ejs +5 -4
  254. package/dist/generators/vue/templates/vitest.config.mts.ejs +1 -1
  255. package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +0 -9
  256. package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -1
  257. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +4 -4
  258. package/dist/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.js +9 -9
  259. package/dist/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.js +2 -2
  260. package/dist/jdl/converters/json-to-jdl-application-converter.js +1 -1
  261. package/dist/jdl/converters/json-to-jdl-converter.js +6 -5
  262. package/dist/jdl/converters/json-to-jdl-entity-converter.js +14 -14
  263. package/dist/jdl/converters/json-to-jdl-option-converter.js +1 -2
  264. package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -1
  265. package/dist/jdl/converters/parsed-jdl-to-jdl-object/option-converter.js +2 -2
  266. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +7 -6
  267. package/dist/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.js +1 -1
  268. package/dist/jdl/exporters/applications/jhipster-application-formatter.js +16 -23
  269. package/dist/jdl/exporters/config.js +1 -0
  270. package/dist/jdl/exporters/jhipster-deployment-exporter.js +5 -5
  271. package/dist/jdl/exporters/jhipster-entity-exporter.js +1 -1
  272. package/dist/jdl/jdl-importer.js +22 -20
  273. package/dist/jdl/jhipster/binary-options.js +12 -8
  274. package/dist/jdl/jhipster/json-entity.js +1 -1
  275. package/dist/jdl/models/abstract-jdl-option.js +2 -2
  276. package/dist/jdl/models/jdl-application-configuration-factory.js +2 -0
  277. package/dist/jdl/models/jdl-binary-option.js +2 -2
  278. package/dist/jdl/models/jdl-deployment.js +11 -0
  279. package/dist/jdl/models/jdl-entity.js +1 -1
  280. package/dist/jdl/models/jdl-enum.js +1 -1
  281. package/dist/jdl/models/jdl-enums.js +0 -18
  282. package/dist/jdl/models/jdl-field.js +2 -2
  283. package/dist/jdl/models/jdl-object-wrapper.js +1 -0
  284. package/dist/jdl/models/jdl-object.js +23 -45
  285. package/dist/jdl/models/jdl-options.js +0 -18
  286. package/dist/jdl/models/jdl-relationships.js +8 -16
  287. package/dist/jdl/models/jdl-unary-option.js +1 -1
  288. package/dist/jdl/models/list-jdl-application-configuration-option.js +5 -2
  289. package/dist/jdl/parsing/jdl-ast-builder-visitor.js +12 -0
  290. package/dist/jdl/parsing/jdl-parser.js +14 -0
  291. package/dist/jdl/parsing/lexer/lexer.js +17 -11
  292. package/dist/jdl/parsing/validator.js +16 -2
  293. package/dist/jdl/readers/json-reader.js +1 -1
  294. package/dist/jdl/utils/array-utils.js +6 -0
  295. package/dist/jdl/utils/set-utils.js +3 -2
  296. package/dist/jdl/validators/jdl-without-application-validator.js +2 -2
  297. package/dist/testing/helpers.js +4 -0
  298. package/dist/types/generators/base/api.d.ts +6 -2
  299. package/dist/types/generators/base/generator.d.ts +10 -4
  300. package/dist/types/generators/base/priorities.d.ts +4 -0
  301. package/dist/types/generators/base/shared-data.d.ts +1 -1
  302. package/dist/types/generators/base-application/priorities.d.ts +2 -0
  303. package/dist/types/generators/base-application/support/entity.d.ts +2 -2
  304. package/dist/types/generators/base-application/support/prepare-entity.d.ts +3 -3
  305. package/dist/types/generators/base-application/support/relationship.d.ts +5 -5
  306. package/dist/types/generators/base-application/types.d.ts +15 -0
  307. package/dist/types/generators/base-core/generator.d.ts +16 -1
  308. package/dist/types/generators/base-entity-changes/types.d.ts +2 -0
  309. package/dist/types/generators/generator-constants.d.ts +1 -1
  310. package/dist/types/generators/java/support/add-java-annotation.d.ts +10 -20
  311. package/dist/types/generators/java/support/doc.d.ts +1 -1
  312. package/dist/types/generators/java/support/index.d.ts +1 -1
  313. package/dist/types/generators/server/support/relationship.d.ts +2 -2
  314. package/dist/types/generators/server/types.d.ts +5 -0
  315. package/dist/types/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.d.ts +2 -0
  316. package/dist/types/generators/spring-cloud/generators/gateway/types.d.ts +4 -0
  317. package/dist/types/generators/spring-data-relational/support/h2-reserved-keywords.d.ts +20 -0
  318. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +2 -2
  319. package/dist/types/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.d.ts +2 -1
  320. package/dist/types/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.d.ts +3 -1
  321. package/dist/types/jdl/converters/json-to-jdl-application-converter.d.ts +9 -2
  322. package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +3 -3
  323. package/dist/types/jdl/converters/json-to-jdl-entity-converter.d.ts +2 -4
  324. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/application-converter.d.ts +3 -1
  325. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/deployment-converter.d.ts +2 -1
  326. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.d.ts +3 -1
  327. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.d.ts +2 -1
  328. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/field-converter.d.ts +2 -1
  329. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +3 -3
  330. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.d.ts +2 -1
  331. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.d.ts +2 -1
  332. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/types.d.ts +110 -0
  333. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.d.ts +2 -1
  334. package/dist/types/jdl/converters/types.d.ts +102 -14
  335. package/dist/types/jdl/exporters/applications/jhipster-application-formatter.d.ts +4 -4
  336. package/dist/types/jdl/exporters/config.d.ts +2 -1
  337. package/dist/types/jdl/exporters/export-utils.d.ts +2 -1
  338. package/dist/types/jdl/exporters/jdl-exporter.d.ts +2 -1
  339. package/dist/types/jdl/exporters/jhipster-deployment-exporter.d.ts +3 -1
  340. package/dist/types/jdl/exporters/jhipster-entity-exporter.d.ts +3 -1
  341. package/dist/types/jdl/exporters/types.d.ts +61 -0
  342. package/dist/types/jdl/jhipster/binary-options.d.ts +8 -26
  343. package/dist/types/jdl/jhipster/field-types.d.ts +2 -2
  344. package/dist/types/jdl/jhipster/json-entity.d.ts +2 -2
  345. package/dist/types/jdl/models/abstract-jdl-option.d.ts +14 -9
  346. package/dist/types/jdl/models/boolean-jdl-application-configuration-option.d.ts +1 -1
  347. package/dist/types/jdl/models/integer-jdl-application-configuration-option.d.ts +1 -1
  348. package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +1 -1
  349. package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +4 -4
  350. package/dist/types/jdl/models/jdl-application-configuration.d.ts +4 -4
  351. package/dist/types/jdl/models/jdl-application-definition.d.ts +4 -4
  352. package/dist/types/jdl/models/jdl-application-entities.d.ts +4 -4
  353. package/dist/types/jdl/models/jdl-application.d.ts +16 -13
  354. package/dist/types/jdl/models/jdl-binary-option.d.ts +5 -3
  355. package/dist/types/jdl/models/jdl-deployment.d.ts +13 -1
  356. package/dist/types/jdl/models/jdl-entity.d.ts +5 -5
  357. package/dist/types/jdl/models/jdl-enum-value.d.ts +4 -4
  358. package/dist/types/jdl/models/jdl-enum.d.ts +9 -5
  359. package/dist/types/jdl/models/jdl-enums.d.ts +6 -5
  360. package/dist/types/jdl/models/jdl-field.d.ts +10 -8
  361. package/dist/types/jdl/models/jdl-object-wrapper.d.ts +25 -0
  362. package/dist/types/jdl/models/jdl-object.d.ts +23 -19
  363. package/dist/types/jdl/models/jdl-options.d.ts +7 -24
  364. package/dist/types/jdl/models/jdl-relationship.d.ts +16 -10
  365. package/dist/types/jdl/models/jdl-relationships.d.ts +5 -5
  366. package/dist/types/jdl/models/jdl-validation.d.ts +3 -3
  367. package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +4 -3
  368. package/dist/types/jdl/models/string-jdl-application-configuration-option.d.ts +2 -2
  369. package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +1 -0
  370. package/dist/types/jdl/parsing/jdl-parser.d.ts +1 -0
  371. package/dist/types/jdl/parsing/jdl-parsing-types.d.ts +23 -0
  372. package/dist/types/jdl/parsing/lexer/lexer.d.ts +6 -2
  373. package/dist/types/jdl/parsing/validator.d.ts +1 -1
  374. package/dist/types/jdl/utils/array-utils.d.ts +1 -0
  375. package/dist/types/jdl/utils/set-utils.d.ts +1 -19
  376. package/dist/types/jdl/validators/deployment-validator.d.ts +2 -1
  377. package/dist/types/testing/helpers.d.ts +13 -3
  378. package/package.json +30 -30
  379. package/dist/generators/languages/templates/src/main/webapp/i18n/al/home.json +0 -19
  380. package/dist/generators/languages/templates/src/main/webapp/i18n/ar-ly/home.json +0 -19
  381. package/dist/generators/languages/templates/src/main/webapp/i18n/az-Latn-az/home.json +0 -19
  382. package/dist/generators/languages/templates/src/main/webapp/i18n/bg/home.json +0 -19
  383. package/dist/generators/languages/templates/src/main/webapp/i18n/bn/home.json +0 -19
  384. package/dist/generators/languages/templates/src/main/webapp/i18n/by/home.json +0 -19
  385. package/dist/generators/languages/templates/src/main/webapp/i18n/ca/home.json +0 -19
  386. package/dist/generators/languages/templates/src/main/webapp/i18n/cs/home.json +0 -19
  387. package/dist/generators/languages/templates/src/main/webapp/i18n/da/home.json +0 -19
  388. package/dist/generators/languages/templates/src/main/webapp/i18n/de/home.json +0 -19
  389. package/dist/generators/languages/templates/src/main/webapp/i18n/el/home.json +0 -19
  390. package/dist/generators/languages/templates/src/main/webapp/i18n/en/home.json +0 -19
  391. package/dist/generators/languages/templates/src/main/webapp/i18n/es/home.json +0 -19
  392. package/dist/generators/languages/templates/src/main/webapp/i18n/et/home.json +0 -19
  393. package/dist/generators/languages/templates/src/main/webapp/i18n/fa/home.json +0 -19
  394. package/dist/generators/languages/templates/src/main/webapp/i18n/fi/home.json +0 -19
  395. package/dist/generators/languages/templates/src/main/webapp/i18n/fr/home.json +0 -19
  396. package/dist/generators/languages/templates/src/main/webapp/i18n/gl/home.json +0 -19
  397. package/dist/generators/languages/templates/src/main/webapp/i18n/hi/home.json +0 -19
  398. package/dist/generators/languages/templates/src/main/webapp/i18n/hr/home.json +0 -19
  399. package/dist/generators/languages/templates/src/main/webapp/i18n/hu/home.json +0 -19
  400. package/dist/generators/languages/templates/src/main/webapp/i18n/hy/home.json +0 -19
  401. package/dist/generators/languages/templates/src/main/webapp/i18n/id/home.json +0 -19
  402. package/dist/generators/languages/templates/src/main/webapp/i18n/it/home.json +0 -19
  403. package/dist/generators/languages/templates/src/main/webapp/i18n/ja/home.json +0 -19
  404. package/dist/generators/languages/templates/src/main/webapp/i18n/ko/home.json +0 -19
  405. package/dist/generators/languages/templates/src/main/webapp/i18n/kr-Latn-kr/home.json +0 -19
  406. package/dist/generators/languages/templates/src/main/webapp/i18n/mr/home.json +0 -19
  407. package/dist/generators/languages/templates/src/main/webapp/i18n/my/home.json +0 -19
  408. package/dist/generators/languages/templates/src/main/webapp/i18n/nl/home.json +0 -19
  409. package/dist/generators/languages/templates/src/main/webapp/i18n/pl/home.json +0 -19
  410. package/dist/generators/languages/templates/src/main/webapp/i18n/pt-br/home.json +0 -19
  411. package/dist/generators/languages/templates/src/main/webapp/i18n/pt-pt/home.json +0 -19
  412. package/dist/generators/languages/templates/src/main/webapp/i18n/ro/home.json +0 -19
  413. package/dist/generators/languages/templates/src/main/webapp/i18n/ru/home.json +0 -19
  414. package/dist/generators/languages/templates/src/main/webapp/i18n/sk/home.json +0 -19
  415. package/dist/generators/languages/templates/src/main/webapp/i18n/sr/home.json +0 -19
  416. package/dist/generators/languages/templates/src/main/webapp/i18n/sv/home.json +0 -19
  417. package/dist/generators/languages/templates/src/main/webapp/i18n/ta/home.json +0 -19
  418. package/dist/generators/languages/templates/src/main/webapp/i18n/th/home.json +0 -19
  419. package/dist/generators/languages/templates/src/main/webapp/i18n/tr/home.json +0 -19
  420. package/dist/generators/languages/templates/src/main/webapp/i18n/ua/home.json +0 -19
  421. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/global.json +0 -148
  422. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/home.json +0 -19
  423. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/home.json +0 -19
  424. package/dist/generators/languages/templates/src/main/webapp/i18n/vi/home.json +0 -19
  425. package/dist/generators/languages/templates/src/main/webapp/i18n/zh-cn/home.json +0 -19
  426. package/dist/generators/languages/templates/src/main/webapp/i18n/zh-tw/home.json +0 -19
  427. package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_imperative.java.ejs +0 -43
  428. package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_reactive.java.ejs +0 -184
  429. package/dist/generators/statistics.js +0 -223
  430. /package/dist/jdl/converters/{types.js → parsed-jdl-to-jdl-object/types.js} +0 -0
@@ -113,6 +113,40 @@ export default class AngularGenerator extends BaseApplicationGenerator {
113
113
  get [BaseApplicationGenerator.PREPARING_EACH_ENTITY]() {
114
114
  return this.delegateTasksToBlueprint(() => this.preparingEachEntity);
115
115
  }
116
+ get preparingEachEntityField() {
117
+ return this.asPreparingEachEntityFieldTaskGroup({
118
+ prepareField({ field }) {
119
+ mutateData(field, {
120
+ fieldTsDefaultValue: ({ fieldTsDefaultValue, defaultValue, fieldTypeCharSequence, fieldTypeTimed }) => {
121
+ let returnValue;
122
+ if (fieldTsDefaultValue !== undefined || defaultValue !== undefined) {
123
+ let fieldDefaultValue;
124
+ if (fieldTsDefaultValue !== undefined) {
125
+ fieldDefaultValue = fieldTsDefaultValue;
126
+ }
127
+ else {
128
+ fieldDefaultValue = defaultValue;
129
+ }
130
+ fieldDefaultValue = String(fieldDefaultValue).replace(/'/g, "\\'");
131
+ if (fieldTypeCharSequence) {
132
+ returnValue = `'${fieldDefaultValue}'`;
133
+ }
134
+ else if (fieldTypeTimed) {
135
+ returnValue = `dayjs('${fieldDefaultValue}')`;
136
+ }
137
+ else {
138
+ returnValue = fieldDefaultValue;
139
+ }
140
+ }
141
+ return returnValue;
142
+ },
143
+ });
144
+ },
145
+ });
146
+ }
147
+ get [BaseApplicationGenerator.PREPARING_EACH_ENTITY_FIELD]() {
148
+ return this.delegateTasksToBlueprint(() => this.preparingEachEntityField);
149
+ }
116
150
  get default() {
117
151
  return this.asDefaultTaskGroup({
118
152
  loadEntities() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "@angular/common": "17.3.3",
3
+ "@angular/common": "17.3.9",
4
4
  "@fortawesome/angular-fontawesome": "0.14.1",
5
5
  "@fortawesome/fontawesome-svg-core": "6.5.2",
6
6
  "@fortawesome/free-solid-svg-icons": "6.5.2",
@@ -16,39 +16,39 @@
16
16
  "rxjs": "7.8.1",
17
17
  "sockjs-client": "1.6.1",
18
18
  "tslib": "2.6.2",
19
- "zone.js": "0.14.4"
19
+ "zone.js": "0.14.6"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@angular-architects/module-federation": "17.0.8",
23
23
  "@angular-architects/module-federation-runtime": "17.0.8",
24
24
  "@angular-builders/custom-webpack": "17.0.2",
25
25
  "@angular-builders/jest": "17.0.3",
26
- "@angular-eslint/eslint-plugin": "17.3.0",
27
- "@angular/cli": "17.3.3",
26
+ "@angular-eslint/eslint-plugin": "17.5.2",
27
+ "@angular/cli": "17.3.7",
28
28
  "@types/jest": "29.5.12",
29
29
  "@types/node": "20.11.25",
30
30
  "@types/sockjs-client": "1.5.4",
31
- "@typescript-eslint/eslint-plugin": "7.6.0",
31
+ "@typescript-eslint/eslint-plugin": "7.11.0",
32
32
  "browser-sync": "3.0.2",
33
33
  "browser-sync-webpack-plugin": "2.3.0",
34
34
  "buffer": "6.0.3",
35
35
  "copy-webpack-plugin": "12.0.2",
36
36
  "eslint": "8.57.0",
37
37
  "eslint-config-prettier": "9.1.0",
38
- "eslint-webpack-plugin": "4.1.0",
38
+ "eslint-webpack-plugin": "4.2.0",
39
39
  "folder-hash": "4.0.4",
40
40
  "jest": "29.7.0",
41
- "jest-date-mock": "1.0.9",
41
+ "jest-date-mock": "1.0.10",
42
42
  "jest-junit": "16.0.0",
43
- "jest-preset-angular": "14.0.3",
43
+ "jest-preset-angular": "14.1.0",
44
44
  "jest-sonar": "0.2.16",
45
45
  "merge-jsons-webpack-plugin": "2.0.1",
46
- "postcss-rtlcss": "5.1.0",
47
- "rimraf": "5.0.5",
48
- "ts-jest": "29.1.2",
49
- "typescript": "5.4.4",
46
+ "postcss-rtlcss": "5.3.0",
47
+ "rimraf": "5.0.7",
48
+ "ts-jest": "29.1.4",
49
+ "typescript": "5.4.5",
50
50
  "webpack": "5.91.0",
51
- "webpack-bundle-analyzer": "4.10.1",
51
+ "webpack-bundle-analyzer": "4.10.2",
52
52
  "webpack-merge": "5.10.0",
53
53
  "webpack-notifier": "1.15.0"
54
54
  }
@@ -32,7 +32,7 @@
32
32
  <div class="alert alert-danger">__jhiTranslateTag__('global.messages.error.dontmatch')</div>
33
33
  }
34
34
 
35
- <form name="form" role="form" (ngSubmit)="changePassword()" [formGroup]="passwordForm">
35
+ <form name="form" (ngSubmit)="changePassword()" [formGroup]="passwordForm">
36
36
  <div class="mb-3">
37
37
  <label class="form-label" for="currentPassword">__jhiTranslateTag__('global.form.currentpassword.label')</label>
38
38
  <input
@@ -50,7 +50,7 @@
50
50
 
51
51
  @if (key() && !success()) {
52
52
  <div>
53
- <form name="form" role="form" (ngSubmit)="finishReset()" [formGroup]="passwordForm">
53
+ <form name="form" (ngSubmit)="finishReset()" [formGroup]="passwordForm">
54
54
  <div class="mb-3">
55
55
  <label class="form-label" for="newPassword">__jhiTranslateTag__('global.form.newpassword.label')</label>
56
56
  <input
@@ -16,7 +16,7 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- import { ElementRef } from '@angular/core';
19
+ import { ElementRef, signal } from '@angular/core';
20
20
  import { ComponentFixture, TestBed, inject, tick, fakeAsync } from '@angular/core/testing';
21
21
  import { HttpClientTestingModule } from '@angular/common/http/testing';
22
22
  import { FormBuilder } from '@angular/forms';
@@ -60,7 +60,7 @@ describe('PasswordResetFinishComponent', () => {
60
60
  const node = {
61
61
  focus: jest.fn(),
62
62
  };
63
- comp.newPassword = new ElementRef(node);
63
+ comp.newPassword = signal<ElementRef>(new ElementRef(node));
64
64
 
65
65
  comp.ngAfterViewInit();
66
66
 
@@ -16,7 +16,7 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- import { Component, inject, OnInit, AfterViewInit, ElementRef, ViewChild, signal } from '@angular/core';
19
+ import { Component, inject, OnInit, AfterViewInit, ElementRef, signal, viewChild } from '@angular/core';
20
20
  import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
21
21
  import { ActivatedRoute, RouterModule } from '@angular/router';
22
22
  import PasswordStrengthBarComponent from 'app/account/password/password-strength-bar/password-strength-bar.component';
@@ -31,8 +31,7 @@ import { PasswordResetFinishService } from './password-reset-finish.service';
31
31
  templateUrl: './password-reset-finish.component.html',
32
32
  })
33
33
  export default class PasswordResetFinishComponent implements OnInit, AfterViewInit {
34
- @ViewChild('newPassword', { static: false })
35
- newPassword?: ElementRef;
34
+ newPassword = viewChild.required<ElementRef>('newPassword');
36
35
 
37
36
  initialized = signal(false);
38
37
  doNotMatch = signal(false);
@@ -64,9 +63,7 @@ export default class PasswordResetFinishComponent implements OnInit, AfterViewIn
64
63
  }
65
64
 
66
65
  ngAfterViewInit(): void {
67
- if (this.newPassword) {
68
- this.newPassword.nativeElement.focus();
69
- }
66
+ this.newPassword().nativeElement.focus();
70
67
  }
71
68
 
72
69
  finishReset(): void {
@@ -27,7 +27,7 @@
27
27
  <div class="alert alert-warning">
28
28
  <span>__jhiTranslateTag__('reset.request.messages.info')</span>
29
29
  </div>
30
- <form name="form" role="form" (ngSubmit)="requestReset()" [formGroup]="resetRequestForm">
30
+ <form name="form" (ngSubmit)="requestReset()" [formGroup]="resetRequestForm">
31
31
  <div class="mb-3">
32
32
  <label class="form-label" for="email">__jhiTranslateTag__('global.form.email.label')</label>
33
33
  <input
@@ -16,7 +16,7 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- import { ElementRef } from '@angular/core';
19
+ import { ElementRef, signal } from '@angular/core';
20
20
  import { ComponentFixture, TestBed, inject } from '@angular/core/testing';
21
21
  import { HttpClientTestingModule } from '@angular/common/http/testing';
22
22
  import { FormBuilder } from '@angular/forms';
@@ -43,7 +43,7 @@ describe('PasswordResetInitComponent', () => {
43
43
  const node = {
44
44
  focus: jest.fn(),
45
45
  };
46
- comp.email = new ElementRef(node);
46
+ comp.email = signal<ElementRef>(new ElementRef(node));
47
47
 
48
48
  comp.ngAfterViewInit();
49
49
 
@@ -16,7 +16,7 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- import { Component, AfterViewInit, ElementRef, inject, ViewChild, signal } from '@angular/core';
19
+ import { Component, AfterViewInit, ElementRef, inject, signal, viewChild } from '@angular/core';
20
20
  import { FormBuilder, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
21
21
  import SharedModule from 'app/shared/shared.module';
22
22
 
@@ -29,8 +29,7 @@ import { PasswordResetInitService } from './password-reset-init.service';
29
29
  templateUrl: './password-reset-init.component.html',
30
30
  })
31
31
  export default class PasswordResetInitComponent implements AfterViewInit {
32
- @ViewChild('email', { static: false })
33
- email?: ElementRef;
32
+ email = viewChild.required<ElementRef>('email');
34
33
 
35
34
  success = signal(false);
36
35
  resetRequestForm;
@@ -45,9 +44,7 @@ export default class PasswordResetInitComponent implements AfterViewInit {
45
44
  }
46
45
 
47
46
  ngAfterViewInit(): void {
48
- if (this.email) {
49
- this.email.nativeElement.focus();
50
- }
47
+ this.email().nativeElement.focus();
51
48
  }
52
49
 
53
50
  requestReset(): void {
@@ -46,7 +46,7 @@
46
46
  <div class="d-flex justify-content-center">
47
47
  <div class="col-md-8">
48
48
  @if (!success()) {
49
- <form name="form" role="form" (ngSubmit)="register()" [formGroup]="registerForm">
49
+ <form name="form" (ngSubmit)="register()" [formGroup]="registerForm">
50
50
  <div class="mb-3">
51
51
  <label class="form-label" for="login">__jhiTranslateTag__('global.form.username.label')</label>
52
52
  <input
@@ -16,7 +16,7 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- import { Component, AfterViewInit, ElementRef, inject, ViewChild, signal } from '@angular/core';
19
+ import { Component, AfterViewInit, ElementRef, inject, signal, viewChild } from '@angular/core';
20
20
  import { HttpErrorResponse } from '@angular/common/http';
21
21
  import { RouterModule } from '@angular/router';
22
22
  import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
@@ -36,8 +36,7 @@ import PasswordStrengthBarComponent from '../password/password-strength-bar/pass
36
36
  templateUrl: './register.component.html',
37
37
  })
38
38
  export default class RegisterComponent implements AfterViewInit {
39
- @ViewChild('login', { static: false })
40
- login?: ElementRef;
39
+ login = viewChild.required<ElementRef>('login');
41
40
 
42
41
  doNotMatch = signal(false);
43
42
  error = signal(false);
@@ -73,9 +72,7 @@ export default class RegisterComponent implements AfterViewInit {
73
72
  private registerService = inject(RegisterService);
74
73
 
75
74
  ngAfterViewInit(): void {
76
- if (this.login) {
77
- this.login.nativeElement.focus();
78
- }
75
+ this.login().nativeElement.focus();
79
76
  }
80
77
 
81
78
  register(): void {
@@ -30,7 +30,7 @@
30
30
  <<%= jhiPrefixDashed %>-alert-error></<%= jhiPrefixDashed %>-alert-error>
31
31
 
32
32
  @if (settingsForm.value.login) {
33
- <form name="form" role="form" (ngSubmit)="save()" [formGroup]="settingsForm" novalidate>
33
+ <form name="form" (ngSubmit)="save()" [formGroup]="settingsForm" novalidate>
34
34
  <div class="mb-3">
35
35
  <label class="form-label" for="firstName">__jhiTranslateTag__('settings.form.firstname')</label>
36
36
  <input
@@ -19,45 +19,45 @@
19
19
  <div class="modal-header">
20
20
  <h4 class="modal-title">__jhiTranslateTag__('metrics.jvm.threads.dump.title')</h4>
21
21
 
22
- <button type="button" class="btn-close" (click)="dismiss()">&times;</button>
22
+ <button type="button" class="btn-close" (click)="dismiss()">&nbsp;</button>
23
23
  </div>
24
24
 
25
25
  <div class="modal-body">
26
26
  <div class="mb-3">
27
- <span class="badge bg-primary hand" (click)="threadStateFilter = undefined">
27
+ <button class="badge bg-primary hand" (click)="threadStateFilter = undefined" (keydown.enter)="threadStateFilter = undefined">
28
28
  @if (threadStateFilter === undefined) {
29
29
  <fa-icon icon="check"></fa-icon>
30
30
  }
31
31
  All&nbsp;<span class="badge rounded-pill bg-default">{{ threadDumpAll }}</span>
32
- </span>
32
+ </button>
33
33
 
34
- <span class="badge bg-success hand" (click)="threadStateFilter = ThreadState.Runnable">
34
+ <button class="badge bg-success hand" (click)="threadStateFilter = ThreadState.Runnable" (keydown.enter)="threadStateFilter = ThreadState.Runnable">
35
35
  @if (threadStateFilter === ThreadState.Runnable) {
36
36
  <fa-icon icon="check"></fa-icon>
37
37
  }
38
38
  Runnable&nbsp;<span class="badge rounded-pill bg-default">{{ threadDumpRunnable }}</span>
39
- </span>
39
+ </button>
40
40
 
41
- <span class="badge bg-info hand" (click)="threadStateFilter = ThreadState.Waiting">
41
+ <button class="badge bg-info hand" (click)="threadStateFilter = ThreadState.Waiting" (keydown.enter)="threadStateFilter = ThreadState.Waiting">
42
42
  @if (threadStateFilter === ThreadState.Waiting) {
43
43
  <fa-icon icon="check"></fa-icon>
44
44
  }
45
45
  Waiting&nbsp;<span class="badge rounded-pill bg-default">{{ threadDumpWaiting }}</span>
46
- </span>
46
+ </button>
47
47
 
48
- <span class="badge bg-warning hand" (click)="threadStateFilter = ThreadState.TimedWaiting">
48
+ <button class="badge bg-warning hand" (click)="threadStateFilter = ThreadState.TimedWaiting" (keydown.enter)="threadStateFilter = ThreadState.TimedWaiting">
49
49
  @if (threadStateFilter === ThreadState.TimedWaiting) {
50
50
  <fa-icon icon="check"></fa-icon>
51
51
  }
52
52
  Timed Waiting&nbsp;<span class="badge rounded-pill bg-default">{{ threadDumpTimedWaiting }}</span>
53
- </span>
53
+ </button>
54
54
 
55
- <span class="badge bg-danger hand" (click)="threadStateFilter = ThreadState.Blocked">
55
+ <button class="badge bg-danger hand" (click)="threadStateFilter = ThreadState.Blocked" (keydown.enter)="threadStateFilter = ThreadState.Blocked">
56
56
  @if (threadStateFilter === ThreadState.Blocked) {
57
57
  <fa-icon icon="check"></fa-icon>
58
58
  }
59
59
  Blocked&nbsp;<span class="badge rounded-pill bg-default">{{ threadDumpBlocked }}</span>
60
- </span>
60
+ </button>
61
61
  </div>
62
62
 
63
63
  @for (thread of getThreads(); track $index) {
@@ -20,8 +20,6 @@
20
20
  <form name="deleteForm" (ngSubmit)="confirmDelete(user.login!)">
21
21
  <div class="modal-header">
22
22
  <h4 class="modal-title">__jhiTranslateTag__('entity.delete.title')</h4>
23
-
24
- <span class="btn btn-close" data-dismiss="modal" aria-hidden="true" (click)="cancel()"></span>
25
23
  </div>
26
24
 
27
25
  <div class="modal-body">
@@ -18,7 +18,7 @@
18
18
  -%>
19
19
  <div class="d-flex justify-content-center">
20
20
  <div class="col-8">
21
- <form name="editForm" role="form" novalidate (ngSubmit)="save()" [formGroup]="editForm">
21
+ <form name="editForm" novalidate (ngSubmit)="save()" [formGroup]="editForm">
22
22
  <h2 id="myUserLabel">__jhiTranslateTag__('userManagement.home.createOrEditLabel')</h2>
23
23
 
24
24
  <<%= jhiPrefixDashed %>-alert-error></<%= jhiPrefixDashed %>-alert-error>
@@ -43,7 +43,7 @@ export const UserRouteAccessService: CanActivateFn = (next: ActivatedRouteSnapsh
43
43
  }
44
44
 
45
45
  if (isDevMode()) {
46
- console.error('User has not any of required authorities: ', authorities);
46
+ console.error('User does not have any of the required authorities:', authorities);
47
47
  }
48
48
  router.navigate(['accessdenied']);
49
49
  return false;
@@ -20,9 +20,6 @@
20
20
  <form name="deleteForm" (ngSubmit)="confirmDelete(<%= entityInstance %>.<%= primaryKey.name %>!)">
21
21
  <div class="modal-header">
22
22
  <h4 class="modal-title" data-cy="<%= entityInstance %>DeleteDialogHeading">__jhiTranslateTag__('entity.delete.title')</h4>
23
-
24
- <span class="btn btn-close" data-dismiss="modal" aria-hidden="true"
25
- (click)="cancel()"></span>
26
23
  </div>
27
24
 
28
25
  <div class="modal-body">
@@ -96,7 +96,7 @@ describe('<%= entityAngularName %> Management Detail Component', () => {
96
96
  comp.byteSize(fakeBase64);
97
97
 
98
98
  // THEN
99
- expect(dataUtils.byteSize).toBeCalledWith(fakeBase64);
99
+ expect(dataUtils.byteSize).toHaveBeenCalledWith(fakeBase64);
100
100
  });
101
101
  });
102
102
 
@@ -116,7 +116,7 @@ describe('<%= entityAngularName %> Management Detail Component', () => {
116
116
  comp.openFile(fakeBase64, fakeContentType);
117
117
 
118
118
  // THEN
119
- expect(dataUtils.openFile).toBeCalledWith(fakeBase64, fakeContentType);
119
+ expect(dataUtils.openFile).toHaveBeenCalledWith(fakeBase64, fakeContentType);
120
120
  });
121
121
  });
122
122
  <%_ } _%>
@@ -73,7 +73,7 @@ describe('<%= entityAngularName %> routing resolve service', () => {
73
73
  });
74
74
 
75
75
  // THEN
76
- expect(service.find).toBeCalledWith(<%- tsKeyId %>);
76
+ expect(service.find).toHaveBeenCalledWith(<%- tsKeyId %>);
77
77
  expect(result<%= entityAngularName %>).toEqual({ <%= primaryKey.name %>: <%- tsKeyId %> });
78
78
  });
79
79
 
@@ -111,7 +111,7 @@ describe('<%= entityAngularName %> routing resolve service', () => {
111
111
  });
112
112
 
113
113
  // THEN
114
- expect(service.find).toBeCalledWith(<%- tsKeyId %>);
114
+ expect(service.find).toHaveBeenCalledWith(<%- tsKeyId %>);
115
115
  expect(result<%= entityAngularName %>).toEqual(undefined);
116
116
  expect(mockRouter.navigate).toHaveBeenCalledWith(['404']);
117
117
  });
@@ -200,12 +200,16 @@ _%>
200
200
  <%_ for (field of fields) {
201
201
  const { fieldName, fieldTypeBoolean, fieldTypeTimed, fieldTypeLocalDate } = field;
202
202
  _%>
203
- <%_ if (field.id) { _%>
204
- <%= fieldName %>: null,
205
- <%_ } else if (fieldTypeBoolean) { _%>
206
- <%= fieldName %>: false,
207
- <%_ } else if (fieldTypeTimed) { _%>
208
- <%= fieldName %>: currentTime,
203
+ <%_ if (field.fieldTsDefaultValue) { _%>
204
+ <%= fieldName %>: <%- field.fieldTsDefaultValue %>,
205
+ <%_ } else { _%>
206
+ <%_ if (field.id) { _%>
207
+ <%= fieldName %>: null,
208
+ <%_ } else if (fieldTypeBoolean) { _%>
209
+ <%= fieldName %>: false,
210
+ <%_ } else if (fieldTypeTimed) { _%>
211
+ <%= fieldName %>: currentTime,
212
+ <%_ } _%>
209
213
  <%_ } _%>
210
214
  <%_ } _%>
211
215
  <%_ for (const relationship of relationships.filter(({ persistableRelationship }) => persistableRelationship)) {
@@ -18,7 +18,7 @@
18
18
  -%>
19
19
  <div class="d-flex justify-content-center">
20
20
  <div class="col-8">
21
- <form name="editForm" role="form" novalidate (ngSubmit)="save()" [formGroup]="editForm">
21
+ <form name="editForm" novalidate (ngSubmit)="save()" [formGroup]="editForm">
22
22
  <h2 id="<%= jhiPrefixDashed %>-<%= entityFileName %>-heading" data-cy="<%= entityClass %>CreateUpdateHeading">__jhiTranslateTag__('<%- i18nKeyPrefix %>.home.createOrEditLabel')</h2>
23
23
 
24
24
  <div>
@@ -19,8 +19,8 @@
19
19
  <%_
20
20
  const tsKeyId = this.generateTestEntityId(primaryKey.type);
21
21
  const allRelationshipsByEntityNeedingOptions = Object
22
- .values(differentRelationships)
23
- .map(relationships => relationships.filter(rel => rel.persistableRelationship))
22
+ .values(relationshipsByOtherEntity)
23
+ .map(relationships => relationships.filter(rel => rel.persistableRelationship && !rel.otherEntity.embedded))
24
24
  .filter(relationships => relationships.length > 0);
25
25
  const testEntityPrimaryKey0 = this.generateTestEntityPrimaryKey(primaryKey, 0);
26
26
  const testEntityPrimaryKey1 = this.generateTestEntityPrimaryKey(primaryKey, 1);
@@ -245,7 +245,7 @@ describe('<%= entityAngularName %> Management Update Component', () => {
245
245
  <%_ } _%>
246
246
  });
247
247
 
248
- <%_ const trackedRelationships = Object.values(differentRelationships).filter(arr => arr.some(rel => rel.persistableRelationship && rel.otherEntity.primaryKey));
248
+ <%_ const trackedRelationships = Object.values(relationshipsByOtherEntity).filter(arr => arr.some(rel => rel.persistableRelationship && !rel.otherEntity.embedded));
249
249
  if (trackedRelationships.length > 0) {
250
250
  _%>
251
251
 
@@ -18,8 +18,8 @@
18
18
  -%>
19
19
  <%_
20
20
  const allRelationshipsByEntityNeedingOptions = Object
21
- .values(differentRelationships)
22
- .map(relationships => relationships.filter(rel => rel.persistableRelationship))
21
+ .values(relationshipsByOtherEntity)
22
+ .map(relationships => relationships.filter(rel => rel.persistableRelationship && !rel.otherEntity.embedded))
23
23
  .filter(relationships => relationships.length > 0);
24
24
  _%>
25
25
  import { Component, inject, OnInit<% if (anyFieldHasImageContentType) { %>, ElementRef<% } %> } from '@angular/core';
@@ -39,10 +39,8 @@ import { AlertError } from 'app/shared/alert/alert-error.model';
39
39
  import { EventManager, EventWithContent } from 'app/core/util/event-manager.service';
40
40
  import { DataUtils, FileLoadError } from 'app/core/util/data-util.service';
41
41
  <%_ } _%>
42
- <%_
43
- Object.keys(differentRelationships).forEach(key => {
44
- if (differentRelationships[key].some(rel => rel.persistableRelationship)) {
45
- const uniqueRel = differentRelationships[key][0];
42
+ <%_ for (const relationshipsByEntityNeedingOptions of allRelationshipsByEntityNeedingOptions) {
43
+ const uniqueRel = relationshipsByEntityNeedingOptions[0];
46
44
  if (uniqueRel.otherEntityAngularName !== entityAngularName) {
47
45
  _%>
48
46
  import { I<%= uniqueRel.otherEntityAngularName %> } from 'app/entities/<%= uniqueRel.otherEntityPath %>/<%= uniqueRel.otherEntityFileName %>.model';
@@ -50,7 +48,6 @@ import { <%= uniqueRel.otherEntityAngularName %>Service } from 'app/entities/<%=
50
48
  <%_
51
49
  }
52
50
  }
53
- });
54
51
  _%>
55
52
  <%_ const enumImports = this.generateEntityClientEnumImports(fields); _%>
56
53
  <%_ enumImports.forEach( (importedPath, importedType) => { _%>
@@ -70,7 +67,7 @@ export class <%= entityAngularName %>UpdateComponent implements OnInit {
70
67
  <%- this._.lowerFirst(importedType) %>Values = Object.keys(<%- importedType %>);
71
68
  <%_ }); _%>
72
69
 
73
- <%_ for (const relationshipsByEntityNeedingOptions of Object.values(differentRelationships).map(relationships => relationships.filter(rel => rel.persistableRelationship)).filter(relationships => relationships.length > 0)) { _%>
70
+ <%_ for (const relationshipsByEntityNeedingOptions of allRelationshipsByEntityNeedingOptions) { _%>
74
71
  <%_ const relationshipsWithCustomUniqueOptions = relationshipsByEntityNeedingOptions.filter(rel => rel.relationshipOneToOne && rel.otherRelationship); _%>
75
72
  <%_ if (relationshipsByEntityNeedingOptions.length > relationshipsWithCustomUniqueOptions.length) { _%>
76
73
  <%_ const otherEntity = relationshipsByEntityNeedingOptions[0].otherEntity _%>
@@ -87,17 +84,14 @@ export class <%= entityAngularName %>UpdateComponent implements OnInit {
87
84
  <%_ } _%>
88
85
  protected <%= entityInstance %>Service = inject(<%= entityAngularName %>Service);
89
86
  protected <%= entityInstance %>FormService = inject(<%= entityAngularName %>FormService);
90
- <%_
91
- Object.keys(differentRelationships).forEach(key => {
92
- if (differentRelationships[key].some(rel => rel.persistableRelationship)) {
93
- const uniqueRel = differentRelationships[key][0];
87
+ <%_ for (const relationshipsByEntityNeedingOptions of allRelationshipsByEntityNeedingOptions) {
88
+ const uniqueRel = relationshipsByEntityNeedingOptions[0];
94
89
  if (uniqueRel.otherEntityAngularName !== entityAngularName) {
95
90
  _%>
96
91
  protected <%= uniqueRel.otherEntity.entityInstance %>Service = inject(<%= uniqueRel.otherEntityAngularName %>Service);
97
92
  <%_
98
93
  }
99
94
  }
100
- });
101
95
  _%>
102
96
  <%_ if (anyFieldHasImageContentType) { _%>
103
97
  protected elementRef = inject(ElementRef);
@@ -107,8 +101,8 @@ _%>
107
101
  // eslint-disable-next-line @typescript-eslint/member-ordering
108
102
  editForm: <%= entityAngularName %>FormGroup = this.<%= entityInstance %>FormService.create<%= entityAngularName %>FormGroup();
109
103
 
110
- <%_ for (const relationshipsByEntity of Object.values(differentRelationships).filter(arr => arr.some(rel => rel.persistableRelationship && rel.otherEntity.primaryKey))) {
111
- const { otherEntity } = relationshipsByEntity[0];
104
+ <%_ for (const relationshipsByEntityNeedingOptions of allRelationshipsByEntityNeedingOptions) {
105
+ const { otherEntity } = relationshipsByEntityNeedingOptions[0];
112
106
  _%>
113
107
 
114
108
  compare<%= otherEntity.entityAngularName %> = (o1: I<%= otherEntity.entityAngularName %> | null, o2: I<%= otherEntity.entityAngularName %> | null): boolean =>
@@ -122,7 +116,7 @@ _%>
122
116
  this.updateForm(<%= entityInstance %>);
123
117
  }
124
118
 
125
- <%_ if (relationships.filter(rel => rel.persistableRelationship && !rel.otherEntityIsEmbedded).length > 0) { _%>
119
+ <%_ if (relationships.filter(rel => rel.persistableRelationship && !rel.otherEntity.embedded).length > 0) { _%>
126
120
  this.loadRelationshipsOptions();
127
121
  <%_ } _%>
128
122
  });
@@ -225,7 +219,7 @@ _%>
225
219
 
226
220
  <%_ if (relationships.filter(rel => rel.persistableRelationship && !rel.otherEntityIsEmbedded).length > 0) { _%>
227
221
  protected loadRelationshipsOptions(): void {
228
- <%_ for (const relationshipsByEntityNeedingOptions of Object.values(differentRelationships).map(relationships => relationships.filter(rel => rel.persistableRelationship)).filter(relationships => relationships.length > 0)) { _%>
222
+ <%_ for (const relationshipsByEntityNeedingOptions of allRelationshipsByEntityNeedingOptions) { _%>
229
223
  <%_ const relationshipsWithCustomUniqueOptions = relationshipsByEntityNeedingOptions.filter(rel => rel.relationshipOneToOne && rel.otherRelationship); %>
230
224
  <%_ const relationshipsWithCustomSharedOptions = relationshipsByEntityNeedingOptions.filter(rel => !relationshipsWithCustomUniqueOptions.includes(rel)); %>
231
225
  <%_ const { otherEntity } = relationshipsByEntityNeedingOptions[0] _%>
@@ -51,15 +51,15 @@
51
51
  <p>__jhiTranslateTag__('home.question')</p>
52
52
 
53
53
  <ul>
54
- <li><a href="https://www.jhipster.tech/" target="_blank" rel="noopener noreferrer">__jhiTranslateTag__('home.link.homepage')</a></li>
55
- <li><a href="https://stackoverflow.com/tags/jhipster/info" target="_blank" rel="noopener noreferrer">__jhiTranslateTag__('home.link.stackoverflow')</a></li>
56
- <li><a href="https://github.com/jhipster/generator-jhipster/issues?state=open" target="_blank" rel="noopener noreferrer">__jhiTranslateTag__('home.link.bugtracker')</a></li>
57
- <li><a href="https://gitter.im/jhipster/generator-jhipster" target="_blank" rel="noopener noreferrer">__jhiTranslateTag__('home.link.chat')</a></li>
58
- <li><a href="https://twitter.com/jhipster" target="_blank" rel="noopener noreferrer">__jhiTranslateTag__('home.link.follow')</a></li>
54
+ <li><a href="<%- hipsterDocumentationLink %>" target="_blank" rel="noopener noreferrer">__jhiTranslateTag__('home.link.homepage')</a></li>
55
+ <li><a href="<%- hipsterStackoverflowLink %>" target="_blank" rel="noopener noreferrer">__jhiTranslateTag__('home.link.stackoverflow')</a></li>
56
+ <li><a href="<%- hipsterBugTrackerLink %>" target="_blank" rel="noopener noreferrer">__jhiTranslateTag__('home.link.bugtracker')</a></li>
57
+ <li><a href="<%- hipsterChatLink %>" target="_blank" rel="noopener noreferrer">__jhiTranslateTag__('home.link.chat')</a></li>
58
+ <li><a href="<%- hipsterTwitterLink %>" target="_blank" rel="noopener noreferrer">__jhiTranslateTag__('home.link.follow')</a></li>
59
59
  </ul>
60
60
 
61
61
  <p>
62
- <span>__jhiTranslateTag__('home.like')</span> <a href="https://github.com/jhipster/generator-jhipster" target="_blank" rel="noopener noreferrer">__jhiTranslateTag__('home.github')</a>!
62
+ <span>__jhiTranslateTag__('home.like')</span> <a href="<%- hipsterProjectLink %>" target="_blank" rel="noopener noreferrer">__jhiTranslateTag__('home.github')</a>!
63
63
  </p>
64
64
  </div>
65
65
  </div>
@@ -16,7 +16,7 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- import { Directive, OnInit, ElementRef, Renderer2, inject, Input } from '@angular/core';
19
+ import { Directive, OnInit, ElementRef, Renderer2, inject, input } from '@angular/core';
20
20
  import { TranslateService, LangChangeEvent } from '@ngx-translate/core';
21
21
 
22
22
  @Directive({
@@ -24,7 +24,7 @@ import { TranslateService, LangChangeEvent } from '@ngx-translate/core';
24
24
  selector: '[<%= jhiPrefix %>ActiveMenu]',
25
25
  })
26
26
  export default class ActiveMenuDirective implements OnInit {
27
- @Input() <%= jhiPrefix %>ActiveMenu?: string;
27
+ <%= jhiPrefix %>ActiveMenu = input();
28
28
 
29
29
  private el = inject(ElementRef);
30
30
  private renderer = inject(Renderer2);
@@ -39,7 +39,7 @@ export default class ActiveMenuDirective implements OnInit {
39
39
  }
40
40
 
41
41
  updateActiveFlag(selectedLanguage: string): void {
42
- if (this.<%= jhiPrefix %>ActiveMenu === selectedLanguage) {
42
+ if (this.<%= jhiPrefix %>ActiveMenu() === selectedLanguage) {
43
43
  this.renderer.addClass(this.el.nativeElement, 'active');
44
44
  } else {
45
45
  this.renderer.removeClass(this.el.nativeElement, 'active');
@@ -25,7 +25,7 @@
25
25
  data-cy="loginError"
26
26
  >__jhiTranslateTag__('login.messages.error.authentication')</div>
27
27
  }
28
- <form class="form" role="form" (ngSubmit)="login()" [formGroup]="loginForm">
28
+ <form class="form" (ngSubmit)="login()" [formGroup]="loginForm">
29
29
  <div class="mb-3">
30
30
  <label class="username-label" for="username">__jhiTranslateTag__('global.form.username.label')</label>
31
31
  <input