generator-jhipster 8.9.0 → 8.11.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 (312) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/cli.mjs +0 -13
  3. package/dist/cli/download.mjs +2 -3
  4. package/dist/cli/environment-builder.mjs +5 -3
  5. package/dist/generators/angular/generator.d.ts +10 -1
  6. package/dist/generators/angular/resources/package.json +27 -27
  7. package/dist/generators/angular/templates/README.md.jhi.client.angular.ejs +1 -1
  8. package/dist/generators/angular/templates/eslint.config.js.jhi.angular.ejs +4 -6
  9. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +1 -1
  10. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +3 -3
  11. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.spec.ts.ejs +1 -1
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +6 -4
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +1 -1
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +1 -1
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +1 -1
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +1 -1
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +1 -1
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +1 -1
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +1 -1
  20. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +1 -1
  21. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +1 -1
  22. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +1 -1
  23. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +8 -13
  24. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +1 -1
  25. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +1 -1
  26. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +1 -1
  27. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +3 -3
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +2 -2
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +1 -1
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +3 -3
  31. package/dist/generators/angular/templates/src/main/webapp/app/app-page-title-strategy.ts.ejs +1 -3
  32. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +1 -1
  33. package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +1 -1
  34. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.ts.ejs +1 -2
  35. package/dist/generators/angular/templates/src/main/webapp/app/core/util/data-util.service.spec.ts.ejs +0 -1
  36. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +1 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +2 -2
  38. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +2 -2
  39. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +4 -5
  40. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +4 -4
  41. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +2 -2
  42. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +4 -4
  43. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +2 -2
  44. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +7 -7
  45. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +4 -4
  46. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.html.ejs +4 -4
  47. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +3 -3
  48. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +1 -1
  49. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +8 -6
  50. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +3 -3
  51. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +8 -8
  52. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +2 -2
  53. package/dist/generators/angular/templates/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
  54. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.service.ts.ejs +3 -3
  55. package/dist/generators/app/generator.d.ts +4 -1
  56. package/dist/generators/base/api.d.ts +3 -1
  57. package/dist/generators/base/shared-data.js +1 -0
  58. package/dist/generators/base/support/contents.d.ts +10 -1
  59. package/dist/generators/base/support/contents.js +9 -0
  60. package/dist/generators/base/support/index.d.ts +1 -0
  61. package/dist/generators/base/support/index.js +1 -0
  62. package/dist/generators/base/support/needles.d.ts +14 -5
  63. package/dist/generators/base/support/needles.js +21 -17
  64. package/dist/generators/base/support/os.d.ts +1 -0
  65. package/dist/generators/base/support/os.js +20 -0
  66. package/dist/generators/base/support/write-files.d.ts +18 -0
  67. package/dist/generators/base/support/write-files.js +0 -26
  68. package/dist/generators/base-application/support/prepare-entity.js +14 -26
  69. package/dist/generators/base-application/support/update-application-entities-transform.js +3 -2
  70. package/dist/generators/base-application/types.d.ts +5 -0
  71. package/dist/generators/base-core/generator.js +7 -4
  72. package/dist/generators/bootstrap/generator.d.ts +6 -1
  73. package/dist/generators/bootstrap/generator.js +31 -2
  74. package/dist/generators/bootstrap/support/auto-crlf-transform.js +2 -2
  75. package/dist/generators/bootstrap/support/eslint-worker.js +5 -2
  76. package/dist/generators/bootstrap-application/generator.d.ts +4 -1
  77. package/dist/generators/bootstrap-application-base/generator.d.ts +12 -2
  78. package/dist/generators/bootstrap-application-base/generator.js +4 -3
  79. package/dist/generators/bootstrap-application-client/generator.d.ts +3 -1
  80. package/dist/generators/bootstrap-application-server/generator.d.ts +8 -1
  81. package/dist/generators/bootstrap-workspaces/generator.d.ts +9 -1
  82. package/dist/generators/ci-cd/generator.d.ts +6 -1
  83. package/dist/generators/client/generator.d.ts +13 -1
  84. package/dist/generators/client/generators/common/generator.d.ts +1 -1
  85. package/dist/generators/client/resources/package.json +5 -5
  86. package/dist/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs +8 -6
  87. package/dist/generators/common/generator.d.ts +8 -1
  88. package/dist/generators/common/resources/package.json +2 -2
  89. package/dist/generators/cucumber/generator.d.ts +2 -1
  90. package/dist/generators/cypress/generator.d.ts +7 -1
  91. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/logout.cy.ts.ejs +11 -3
  92. package/dist/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +4 -4
  93. package/dist/generators/docker/generator.d.ts +4 -1
  94. package/dist/generators/docker-compose/generator.d.ts +23 -1
  95. package/dist/generators/entities/generator.d.ts +4 -1
  96. package/dist/generators/entity/generator.d.ts +5 -1
  97. package/dist/generators/export-jdl/generator.d.ts +3 -1
  98. package/dist/generators/feign-client/generator.d.ts +2 -1
  99. package/dist/generators/feign-client/templates/src/test/java/_package_/client/AuthorizationHeaderUtilTest.java.ejs +1 -1
  100. package/dist/generators/gatling/generator.d.ts +3 -1
  101. package/dist/generators/generate-blueprint/constants.d.ts +1 -1
  102. package/dist/generators/generate-blueprint/constants.js +1 -1
  103. package/dist/generators/generate-blueprint/files.js +2 -2
  104. package/dist/generators/generate-blueprint/generator.d.ts +10 -1
  105. package/dist/generators/generate-blueprint/generator.js +16 -16
  106. package/dist/generators/generate-blueprint/resources/package.json +3 -3
  107. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +1 -1
  108. package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +1 -0
  109. package/dist/generators/generator-constants.d.ts +1 -1
  110. package/dist/generators/generator-constants.js +2 -2
  111. package/dist/generators/git/generator.d.ts +5 -1
  112. package/dist/generators/gradle/generator.d.ts +5 -1
  113. package/dist/generators/gradle/generators/code-quality/generator.d.ts +2 -1
  114. package/dist/generators/gradle/generators/jib/generator.d.ts +2 -1
  115. package/dist/generators/gradle/generators/node-gradle/generator.d.ts +2 -1
  116. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  117. package/dist/generators/heroku/generator.d.ts +6 -1
  118. package/dist/generators/info/generator.d.ts +1 -1
  119. package/dist/generators/init/generator.d.ts +2 -1
  120. package/dist/generators/init/resources/.node-version +1 -1
  121. package/dist/generators/java/generators/bootstrap/generator.d.ts +8 -2
  122. package/dist/generators/java/generators/bootstrap/generator.js +17 -3
  123. package/dist/generators/java/generators/build-tool/generator.d.ts +2 -1
  124. package/dist/generators/java/generators/code-quality/generator.d.ts +2 -1
  125. package/dist/generators/java/generators/domain/generator.d.ts +6 -1
  126. package/dist/generators/java/generators/graalvm/generator.d.ts +6 -1
  127. package/dist/generators/java/generators/graalvm/internal/constants.d.ts +1 -1
  128. package/dist/generators/java/generators/graalvm/internal/constants.js +2 -2
  129. package/dist/generators/java/generators/graalvm/resources/gradle/libs.versions.toml +1 -1
  130. package/dist/generators/java/generators/jib/generator.d.ts +2 -1
  131. package/dist/generators/java/generators/node/generator.d.ts +4 -1
  132. package/dist/generators/java/generators/node/generator.js +2 -1
  133. package/dist/generators/java/generators/openapi-generator/generator.d.ts +2 -1
  134. package/dist/generators/java/generators/server/generator.d.ts +1 -1
  135. package/dist/generators/java/support/index.d.ts +2 -0
  136. package/dist/generators/java/support/index.js +2 -0
  137. package/dist/generators/java/support/java-enum.d.ts +8 -0
  138. package/dist/generators/java/support/java-enum.js +20 -0
  139. package/dist/generators/java/support/java-file-edit.d.ts +18 -0
  140. package/dist/generators/java/support/java-file-edit.js +94 -0
  141. package/dist/generators/java/types.d.ts +37 -1
  142. package/dist/generators/javascript/generators/bootstrap/generator.d.ts +4 -1
  143. package/dist/generators/javascript/generators/eslint/generator.d.ts +4 -1
  144. package/dist/generators/javascript/generators/eslint/templates/eslint.config.js.jhi.ejs +8 -0
  145. package/dist/generators/javascript/generators/husky/generator.d.ts +3 -1
  146. package/dist/generators/javascript/generators/prettier/generator.d.ts +4 -1
  147. package/dist/generators/javascript/resources/package.json +3 -3
  148. package/dist/generators/jdl/generator.d.ts +3 -1
  149. package/dist/generators/kubernetes/generator.d.ts +25 -19
  150. package/dist/generators/kubernetes-helm/generator.d.ts +18 -12
  151. package/dist/generators/kubernetes-knative/generator.d.ts +14 -8
  152. package/dist/generators/languages/generator.d.ts +9 -1
  153. package/dist/generators/languages/support/languages.js +1 -0
  154. package/dist/generators/languages/templates/entity/i18n/entity_he.json.ejs +78 -0
  155. package/dist/generators/languages/templates/src/main/resources/i18n/messages_he.properties.ejs +41 -0
  156. package/dist/generators/languages/templates/src/main/webapp/i18n/he/activate.json.ejs +27 -0
  157. package/dist/generators/languages/templates/src/main/webapp/i18n/he/configuration.json +11 -0
  158. package/dist/generators/languages/templates/src/main/webapp/i18n/he/error.json +15 -0
  159. package/dist/generators/languages/templates/src/main/webapp/i18n/he/gateway.json +16 -0
  160. package/dist/generators/languages/templates/src/main/webapp/i18n/he/global.json.ejs +172 -0
  161. package/dist/generators/languages/templates/src/main/webapp/i18n/he/health.json.ejs +75 -0
  162. package/dist/generators/languages/templates/src/main/webapp/i18n/he/home.json.ejs +20 -0
  163. package/dist/generators/languages/templates/src/main/webapp/i18n/he/login.json +20 -0
  164. package/dist/generators/languages/templates/src/main/webapp/i18n/he/logs.json +12 -0
  165. package/dist/generators/languages/templates/src/main/webapp/i18n/he/metrics.json +103 -0
  166. package/dist/generators/languages/templates/src/main/webapp/i18n/he/password.json +13 -0
  167. package/dist/generators/languages/templates/src/main/webapp/i18n/he/register.json +25 -0
  168. package/dist/generators/languages/templates/src/main/webapp/i18n/he/reset.json.ejs +45 -0
  169. package/dist/generators/languages/templates/src/main/webapp/i18n/he/sessions.json +16 -0
  170. package/dist/generators/languages/templates/src/main/webapp/i18n/he/settings.json +33 -0
  171. package/dist/generators/languages/templates/src/main/webapp/i18n/he/tracker.json +13 -0
  172. package/dist/generators/languages/templates/src/main/webapp/i18n/he/user-management.json +32 -0
  173. package/dist/generators/languages/templates/src/test/resources/i18n/messages_he.properties.ejs +4 -0
  174. package/dist/generators/liquibase/generator.d.ts +9 -1
  175. package/dist/generators/liquibase/generator.js +3 -19
  176. package/dist/generators/maven/generator.d.ts +6 -1
  177. package/dist/generators/maven/generators/code-quality/generator.d.ts +1 -1
  178. package/dist/generators/maven/generators/frontend-plugin/generator.d.ts +1 -1
  179. package/dist/generators/maven/generators/jib/generator.d.ts +1 -1
  180. package/dist/generators/project-name/generator.d.ts +3 -1
  181. package/dist/generators/react/generator.d.ts +15 -1
  182. package/dist/generators/react/resources/package.json +34 -34
  183. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-delete-dialog.tsx.ejs +2 -1
  184. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +4 -4
  185. package/dist/generators/react/templates/src/main/webapp/app/entities/menu.tsx.ejs +2 -2
  186. package/dist/generators/react/templates/src/main/webapp/app/entities/routes.tsx.ejs +1 -1
  187. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/administration.reducer.spec.ts.ejs +0 -6
  188. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/application-profile.spec.ts.ejs +0 -6
  189. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +0 -47
  190. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +1 -1
  191. package/dist/generators/react/templates/src/main/webapp/app/shared/util/entity-utils.ts.ejs +1 -1
  192. package/dist/generators/server/generator.d.ts +7 -1
  193. package/dist/generators/server/resources/Dockerfile +17 -17
  194. package/dist/generators/server/resources/gradle/libs.versions.toml +15 -15
  195. package/dist/generators/server/resources/pom.xml +16 -16
  196. package/dist/generators/server/types.d.ts +22 -0
  197. package/dist/generators/spring-boot/generator.d.ts +14 -2
  198. package/dist/generators/spring-boot/generator.js +35 -4
  199. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +158 -148
  200. package/dist/generators/spring-boot/templates/src/main/java/_package_/Application.java.ejs +11 -0
  201. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +12 -23
  202. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +0 -1
  203. package/dist/generators/spring-boot/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +61 -5
  204. package/dist/generators/spring-boot/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +29 -1
  205. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +7 -6
  206. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +8 -6
  207. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +8 -6
  208. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +17 -11
  209. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/errors/ExceptionTranslator.java.ejs +8 -3
  210. package/dist/generators/spring-boot/templates/src/main/resources/config/application.yml.ejs +3 -0
  211. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +3 -3
  212. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +4 -4
  213. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +4 -4
  214. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +3 -3
  215. package/dist/generators/spring-boot/templates/src/test/java/_package_/config/JHipsterBlockHoundIntegration.java.ejs +0 -2
  216. package/dist/generators/spring-boot/templates/src/test/java/_package_/config/WebConfigurerTest.java.ejs +1 -1
  217. package/dist/generators/spring-boot/templates/src/test/java/_package_/management/SecurityMetersServiceTests.java.ejs +1 -1
  218. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +2 -2
  219. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_imperative.java.ejs +35 -11
  220. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_reactive.java.ejs +35 -6
  221. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/JwtAuthenticationTestUtils.java.ejs +3 -2
  222. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TestAuthenticationResource.java.ejs +5 -5
  223. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TokenAuthenticationIT.java.ejs +2 -2
  224. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.java.ejs +1 -4
  225. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/oauth2/CustomClaimConverterIT.java.ejs +1 -1
  226. package/dist/generators/spring-boot/templates/src/test/java/_package_/service/MailServiceIT.java.ejs +1 -1
  227. package/dist/generators/spring-boot/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +1 -1
  228. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_imperative.java.ejs +1 -1
  229. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_reactive.java.ejs +1 -2
  230. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +9 -15
  231. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +8 -17
  232. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT_skipUserManagement.java.ejs +6 -15
  233. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/LogoutResourceIT.java.ejs +1 -1
  234. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +1 -1
  235. package/dist/generators/spring-cache/cleanup.d.ts +2 -20
  236. package/dist/generators/spring-cache/cleanup.js +24 -2
  237. package/dist/generators/spring-cache/files.js +0 -6
  238. package/dist/generators/spring-cache/generator.d.ts +5 -1
  239. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  240. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +0 -14
  241. package/dist/generators/spring-cloud/generators/gateway/generator.d.ts +5 -1
  242. package/dist/generators/spring-cloud-stream/generator.d.ts +2 -1
  243. package/dist/generators/spring-cloud-stream/generators/kafka/generator.d.ts +2 -1
  244. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +1 -1
  245. package/dist/generators/spring-cloud-stream/generators/pulsar/generator.d.ts +2 -1
  246. package/dist/generators/spring-data-cassandra/generator.d.ts +4 -1
  247. package/dist/generators/spring-data-couchbase/generator.d.ts +9 -1
  248. package/dist/generators/spring-data-elasticsearch/generator.d.ts +10 -1
  249. package/dist/generators/spring-data-mongodb/generator.d.ts +9 -1
  250. package/dist/generators/spring-data-neo4j/generator.d.ts +11 -1
  251. package/dist/generators/spring-data-relational/generator.d.ts +11 -1
  252. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/timezone/HibernateTimeZoneIT.java.ejs +2 -2
  253. package/dist/generators/spring-websocket/generator.d.ts +2 -1
  254. package/dist/generators/upgrade/generator.d.ts +3 -1
  255. package/dist/generators/vue/cleanup.js +7 -1
  256. package/dist/generators/vue/files-vue.js +3 -8
  257. package/dist/generators/vue/generator.d.ts +9 -1
  258. package/dist/generators/vue/resources/package.json +31 -31
  259. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +9 -9
  260. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +21 -7
  261. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +23 -9
  262. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.service.ts.ejs +1 -1
  263. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.vue.ejs +1 -1
  264. package/dist/generators/vue/templates/src/main/webapp/app/account/change-password/change-password.vue.ejs +1 -1
  265. package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.component.spec.ts.ejs +22 -10
  266. package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +24 -5
  267. package/dist/generators/vue/templates/src/main/webapp/app/account/login-modal.ts.ejs +38 -0
  268. package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.spec.ts.ejs +0 -4
  269. package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.ts.ejs +3 -25
  270. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.spec.ts.ejs +24 -8
  271. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.ts.ejs +23 -9
  272. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.service.ts.ejs +1 -1
  273. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.vue.ejs +1 -1
  274. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.spec.ts.ejs +20 -4
  275. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.ts.ejs +23 -13
  276. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.vue.ejs +1 -1
  277. package/dist/generators/vue/templates/src/main/webapp/app/account/settings/settings.vue.ejs +1 -1
  278. package/dist/generators/vue/templates/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +2 -2
  279. package/dist/generators/vue/templates/src/main/webapp/app/admin/gateway/gateway.service.ts.ejs +1 -1
  280. package/dist/generators/vue/templates/src/main/webapp/app/admin/health/health.service.ts.ejs +10 -10
  281. package/dist/generators/vue/templates/src/main/webapp/app/admin/logs/logs.service.ts.ejs +2 -2
  282. package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics-modal.vue.ejs +2 -2
  283. package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +2 -2
  284. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +5 -5
  285. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.service.ts.ejs +6 -6
  286. package/dist/generators/vue/templates/src/main/webapp/app/app.component.ts.ejs +29 -7
  287. package/dist/generators/vue/templates/src/main/webapp/app/app.vue.ejs +19 -1
  288. package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.spec.ts.ejs +66 -51
  289. package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.ts.ejs +30 -8
  290. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.spec.ts.ejs +41 -11
  291. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.ts.ejs +10 -11
  292. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.vue.ejs +2 -2
  293. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +43 -16
  294. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +14 -9
  295. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +1 -1
  296. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.ts.ejs +7 -7
  297. package/dist/generators/vue/templates/src/main/webapp/app/entities/user/user.service.ts.ejs +1 -1
  298. package/dist/generators/vue/templates/src/main/webapp/app/locale/translation.service.ts.ejs +5 -5
  299. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +18 -14
  300. package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.ts.ejs +4 -4
  301. package/dist/generators/workspaces/generator.d.ts +7 -1
  302. package/dist/generators/workspaces/support/applications-lookup.js +2 -2
  303. package/dist/lib/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +1 -1
  304. package/dist/lib/jdl/core/built-in-options/binary-options.d.ts +12 -1
  305. package/dist/lib/testing/apply-patch-to-template.d.ts +13 -0
  306. package/dist/lib/testing/apply-patch-to-template.js +90 -0
  307. package/dist/lib/testing/github.js +6 -3
  308. package/dist/lib/testing/helpers.d.ts +1 -0
  309. package/dist/lib/testing/helpers.js +15 -0
  310. package/dist/lib/utils/yo-rc.d.ts +3 -219
  311. package/package.json +36 -37
  312. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheFactoryConfiguration.java.ejs +0 -49
package/README.md CHANGED
@@ -20,7 +20,7 @@ The following Java and Node combinations are tested and verified by GitHub Actio
20
20
 
21
21
  | Java | Node | Status |
22
22
  | -------- | -------- | ------ |
23
- | 17/21/23 | 18/20/22 | ✅ |
23
+ | 17/21/24 | 18/20/22 | ✅ |
24
24
 
25
25
  ## Sponsors
26
26
 
package/dist/cli/cli.mjs CHANGED
@@ -16,28 +16,15 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import { dirname, join, relative } from 'path';
20
- import { fileURLToPath } from 'url';
21
- import { existsSync } from 'fs';
22
19
  import semver from 'semver';
23
- import chalk from 'chalk';
24
20
  import { packageJson } from '../lib/index.js';
25
21
  import { runJHipster } from './program.mjs';
26
22
  import { done, logger } from './utils.mjs';
27
- const __filename = fileURLToPath(import.meta.url);
28
- const __dirname = dirname(__filename);
29
23
  const currentNodeVersion = process.versions.node;
30
24
  const minimumNodeVersion = packageJson.engines.node;
31
25
  if (!process.argv.includes('--skip-checks') && !semver.satisfies(currentNodeVersion, minimumNodeVersion)) {
32
26
  logger.fatal(`You are running Node version ${currentNodeVersion}.\nJHipster requires Node version ${minimumNodeVersion}.\nPlease update your version of Node.`);
33
27
  }
34
- const appFolderOrWorkspaceRoot = existsSync('../node_modules') ? join(process.cwd(), '..') : process.cwd();
35
- // If this file is not inside app npm repository and the executable exists inside the repository show warning.
36
- if (relative(appFolderOrWorkspaceRoot, __dirname).startsWith('..') &&
37
- existsSync(join(appFolderOrWorkspaceRoot, 'node_modules/.bin/jhipster'))) {
38
- logger.warn(`Since JHipster v8, the jhipster command will not use the locally installed generator-jhipster.
39
- If you want to execute the locally installed generator-jhipster, run: ${chalk.yellow('npx jhipster')}`);
40
- }
41
28
  export default runJHipster().catch(done);
42
29
  process.on('unhandledRejection', up => {
43
30
  logger.error('Unhandled promise rejection at:');
@@ -19,17 +19,16 @@
19
19
  import { writeFile } from 'fs/promises';
20
20
  import path from 'path';
21
21
  import { inspect } from 'util';
22
- import axios from 'axios';
23
22
  import { packageJson } from '../lib/index.js';
24
23
  import { logger } from './utils.mjs';
25
24
  const downloadFile = async (url, filename) => {
26
25
  logger.verboseInfo(`Downloading file: ${url}`);
27
- const response = await axios.get(url);
26
+ const response = await fetch(url, { method: 'GET' });
28
27
  if (response.status !== 200) {
29
28
  throw new Error(`Error downloading ${url}: ${response.status} - ${response.statusText}`);
30
29
  }
31
30
  logger.debug(`Creating file: ${path.join(filename)}`);
32
- await writeFile(filename, response.data, 'utf8');
31
+ await writeFile(filename, await response.body, 'utf8');
33
32
  return filename;
34
33
  };
35
34
  export const downloadJdlFile = async (jdlFile, { skipSampleRepository } = {}) => {
@@ -99,7 +99,9 @@ export default class EnvironmentBuilder {
99
99
  this.env = env;
100
100
  }
101
101
  async prepare({ blueprints, lookups, devBlueprintPath = jhipsterDevBlueprintPath } = {}) {
102
- this.devBlueprintPath = existsSync(devBlueprintPath) ? devBlueprintPath : undefined;
102
+ const devBlueprintEnabled = existsSync(devBlueprintPath);
103
+ this.env.sharedOptions.devBlueprintEnabled = devBlueprintEnabled;
104
+ this.devBlueprintPath = devBlueprintEnabled ? devBlueprintPath : undefined;
103
105
  this.localBlueprintPath = path.join(process.cwd(), '.blueprint');
104
106
  this.localBlueprintExists = this.localBlueprintPath !== this.devBlueprintPath && existsSync(this.localBlueprintPath);
105
107
  await this._lookupJHipster();
@@ -163,8 +165,8 @@ export default class EnvironmentBuilder {
163
165
  // Register jhipster generators.
164
166
  const generators = await this.env.lookup({
165
167
  packagePaths: [this.localBlueprintPath],
166
- lookups: ['.'],
167
- customizeNamespace: ns => ns?.replace('.blueprint', '@jhipster/jhipster-local'),
168
+ lookups: ['.', './*/generators'],
169
+ customizeNamespace: ns => ns?.replaceAll(':generators:', ':').replace('.blueprint', '@jhipster/jhipster-local'),
168
170
  });
169
171
  if (generators.length > 0) {
170
172
  this.env.sharedOptions.composeWithLocalBlueprint = true;
@@ -2,7 +2,16 @@ import BaseApplicationGenerator from '../base-application/index.js';
2
2
  import type { TaskTypes as DefaultTaskTypes } from '../../lib/types/application/tasks.js';
3
3
  import type { AngularApplication, AngularEntity } from './types.js';
4
4
  export default class AngularGenerator extends BaseApplicationGenerator<DefaultTaskTypes<AngularEntity, AngularApplication>> {
5
- [x: string]: any;
5
+ [BaseApplicationGenerator.LOADING]: any;
6
+ [BaseApplicationGenerator.PREPARING]: any;
7
+ [BaseApplicationGenerator.PREPARING_EACH_ENTITY]: any;
8
+ [BaseApplicationGenerator.PREPARING_EACH_ENTITY_FIELD]: any;
9
+ [BaseApplicationGenerator.DEFAULT]: any;
10
+ [BaseApplicationGenerator.WRITING]: any;
11
+ [BaseApplicationGenerator.WRITING_ENTITIES]: import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").TaskParamWithEntities<AngularEntity, AngularApplication>, "cleanupEntitiesFiles" | "writeEntitiesFiles">;
12
+ [BaseApplicationGenerator.POST_WRITING]: any;
13
+ [BaseApplicationGenerator.POST_WRITING_ENTITIES]: import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PostWritingEntitiesTaskParam<AngularEntity, AngularApplication>, "postWriteEntitiesFiles">;
14
+ [BaseApplicationGenerator.END]: any;
6
15
  beforeQueue(): Promise<void>;
7
16
  get loading(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").TaskParamWithApplicationDefaults<AngularEntity, AngularApplication>, "loadPackageJson" | "applicationDefauts">;
8
17
  get preparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingTaskParam<AngularEntity, AngularApplication>, "javaNodeBuildPaths" | "applicationDefauts" | "addNeedles">;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "@angular/common": "19.1.5",
3
+ "@angular/common": "19.2.9",
4
4
  "@fortawesome/angular-fontawesome": "1.0.0",
5
5
  "@fortawesome/fontawesome-svg-core": "6.7.2",
6
6
  "@fortawesome/free-solid-svg-icons": "6.7.2",
@@ -8,51 +8,51 @@
8
8
  "@ngx-translate/core": "16.0.4",
9
9
  "@ngx-translate/http-loader": "16.0.1",
10
10
  "@popperjs/core": "2.11.8",
11
- "@stomp/rx-stomp": "2.0.0",
12
- "bootstrap": "5.3.3",
13
- "bootswatch": "5.3.3",
14
- "ngx-cookie-service": "19.1.0",
11
+ "@stomp/rx-stomp": "2.0.1",
12
+ "bootstrap": "5.3.6",
13
+ "bootswatch": "5.3.5",
14
+ "ngx-cookie-service": "19.1.2",
15
15
  "ngx-infinite-scroll": "19.0.0",
16
- "rxjs": "7.8.1",
16
+ "rxjs": "7.8.2",
17
17
  "sockjs-client": "1.6.1",
18
18
  "tslib": "2.8.1",
19
19
  "zone.js": "0.15.0"
20
20
  },
21
21
  "devDependencies": {
22
- "@angular-architects/module-federation": "19.0.1",
23
- "@angular-architects/module-federation-runtime": "19.0.1",
24
- "@angular-builders/custom-esbuild": "19.0.0",
25
- "@angular-builders/custom-webpack": "19.0.0",
26
- "@angular-builders/jest": "19.0.0",
27
- "@angular/cli": "19.1.6",
28
- "@eslint/js": "9.20.0",
22
+ "@angular-architects/module-federation": "19.0.3",
23
+ "@angular-architects/module-federation-runtime": "19.0.3",
24
+ "@angular-builders/custom-esbuild": "19.1.0",
25
+ "@angular-builders/custom-webpack": "19.0.1",
26
+ "@angular-builders/jest": "19.0.1",
27
+ "@angular/cli": "19.2.10",
28
+ "@eslint/js": "9.26.0",
29
29
  "@types/jest": "29.5.14",
30
30
  "@types/node": "20.11.25",
31
31
  "@types/sockjs-client": "1.5.4",
32
- "angular-eslint": "19.0.2",
33
- "browser-sync": "3.0.3",
32
+ "angular-eslint": "19.3.0",
33
+ "browser-sync": "3.0.4",
34
34
  "browser-sync-webpack-plugin": "2.3.0",
35
35
  "buffer": "6.0.3",
36
- "copy-webpack-plugin": "12.0.2",
36
+ "copy-webpack-plugin": "13.0.0",
37
37
  "deepmerge": "4.3.1",
38
- "eslint": "9.20.0",
39
- "eslint-config-prettier": "10.0.1",
40
- "eslint-plugin-prettier": "5.2.3",
38
+ "eslint": "9.26.0",
39
+ "eslint-config-prettier": "10.1.2",
40
+ "eslint-plugin-prettier": "5.4.0",
41
41
  "folder-hash": "4.1.1",
42
- "globals": "15.14.0",
43
- "globby": "14.0.2",
42
+ "globals": "16.0.0",
43
+ "globby": "14.1.0",
44
44
  "jest": "29.7.0",
45
45
  "jest-date-mock": "1.0.10",
46
46
  "jest-junit": "16.0.0",
47
- "jest-preset-angular": "14.5.1",
47
+ "jest-preset-angular": "14.5.5",
48
48
  "jest-sonar": "0.2.16",
49
49
  "merge-jsons-webpack-plugin": "2.0.1",
50
- "postcss-rtlcss": "5.6.0",
50
+ "postcss-rtlcss": "5.7.0",
51
51
  "rimraf": "5.0.8",
52
- "ts-jest": "29.2.5",
53
- "typescript": "5.7.3",
54
- "typescript-eslint": "8.23.0",
55
- "webpack": "5.97.1",
52
+ "ts-jest": "29.3.2",
53
+ "typescript": "5.8.3",
54
+ "typescript-eslint": "8.32.0",
55
+ "webpack": "5.99.7",
56
56
  "webpack-bundle-analyzer": "4.10.2",
57
57
  "webpack-merge": "6.0.1",
58
58
  "webpack-notifier": "1.15.0"
@@ -44,5 +44,5 @@ update <%= clientSrcDir %>app/app.config.ts
44
44
 
45
45
  <&_ } -&>
46
46
  <&_ if (fragment.referenceSection) { _&>
47
- [Angular CLI]: https://cli.angular.io/
47
+ [Angular CLI]: https://angular.dev/tools/cli
48
48
  <&_ } -&>
@@ -126,11 +126,9 @@ import angular from 'angular-eslint';
126
126
  {
127
127
  files: ['**/*.html'],
128
128
  extends: [...angular.configs.templateRecommended, ...angular.configs.templateAccessibility],
129
- rules: {},
130
- },
131
- {
132
- // Html templates require some work
133
- ignores: ['**/*.html'],
134
- extends: [prettier],
129
+ rules: {
130
+ '@angular-eslint/template/click-events-have-key-events': 'off',
131
+ '@angular-eslint/template/interactive-supports-focus': 'off',
132
+ },
135
133
  },
136
134
  <&_ } -&>
@@ -75,7 +75,7 @@ describe('ActivateComponent', () => {
75
75
  it('should set set error to true upon activation failure', inject(
76
76
  [ActivateService],
77
77
  fakeAsync((service: ActivateService) => {
78
- jest.spyOn(service, 'get').mockReturnValue(throwError(() => {}));
78
+ jest.spyOn(service, 'get').mockReturnValue(throwError(Error));
79
79
 
80
80
  comp.ngOnInit();
81
81
  tick();
@@ -18,9 +18,9 @@
18
18
  -%>
19
19
  <div>
20
20
  <div class="d-flex justify-content-center">
21
- @if (account$ | async; as account) {
21
+ @if (account) {
22
22
  <div class="col-md-8">
23
- <h2>__jhiTranslateTag__('password.title', { "username": "account.login" })</h2>
23
+ <h2>__jhiTranslateTag__('password.title', { "username": "account()?.login" })</h2>
24
24
 
25
25
  @if (success()) {
26
26
  <div class="alert alert-success">__jhiTranslateTag__('password.messages.success')</div>
@@ -93,7 +93,7 @@
93
93
  </div>
94
94
  }
95
95
 
96
- <<%= jhiPrefixDashed %>-password-strength-bar [passwordToCheck]="newPasswordRef.value"></<%= jhiPrefixDashed %>-password-strength-bar>
96
+ <<%= jhiPrefixDashed %>-password-strength-bar [passwordToCheck]="newPasswordRef.value" />
97
97
  </div>
98
98
 
99
99
  <div class="mb-3">
@@ -103,7 +103,7 @@ describe('PasswordComponent', () => {
103
103
 
104
104
  it('should notify of error if change password fails', () => {
105
105
  // GIVEN
106
- jest.spyOn(service, 'save').mockReturnValue(throwError(() => {}));
106
+ jest.spyOn(service, 'save').mockReturnValue(throwError(Error));
107
107
  comp.passwordForm.patchValue({
108
108
  newPassword: 'myPassword',
109
109
  confirmPassword: 'myPassword',
@@ -16,9 +16,9 @@
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, signal } from '@angular/core';
19
+ import { Component, Injector, OnInit, Signal, inject, signal } from '@angular/core';
20
20
  import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
21
- import { Observable } from 'rxjs';
21
+ import { toSignal } from '@angular/core/rxjs-interop';
22
22
 
23
23
  import SharedModule from 'app/shared/shared.module';
24
24
  import { AccountService } from 'app/core/auth/account.service';
@@ -35,7 +35,7 @@ export default class PasswordComponent implements OnInit {
35
35
  doNotMatch = signal(false);
36
36
  error = signal(false);
37
37
  success = signal(false);
38
- account$?: Observable<Account | null>;
38
+ account?: Signal<Account | undefined | null>;
39
39
  passwordForm = new FormGroup({
40
40
  currentPassword: new FormControl('', { nonNullable: true, validators: Validators.required }),
41
41
  newPassword: new FormControl('', {
@@ -50,9 +50,11 @@ export default class PasswordComponent implements OnInit {
50
50
 
51
51
  private readonly passwordService = inject(PasswordService);
52
52
  private readonly accountService = inject(AccountService);
53
+ private readonly injector = inject(Injector);
53
54
 
54
55
  ngOnInit(): void {
55
- this.account$ = this.accountService.identity();
56
+ const account$ = this.accountService.identity();
57
+ this.account = toSignal(account$, { injector: this.injector });
56
58
  }
57
59
 
58
60
  changePassword(): void {
@@ -84,7 +84,7 @@
84
84
  </div>
85
85
  }
86
86
 
87
- <<%= jhiPrefixDashed %>-password-strength-bar [passwordToCheck]="newPasswordRef.value"></<%= jhiPrefixDashed %>-password-strength-bar>
87
+ <<%= jhiPrefixDashed %>-password-strength-bar [passwordToCheck]="newPasswordRef.value" />
88
88
  </div>
89
89
 
90
90
  <div class="mb-3">
@@ -99,7 +99,7 @@ describe('PasswordResetFinishComponent', () => {
99
99
  it('should notify of generic error', inject(
100
100
  [PasswordResetFinishService],
101
101
  fakeAsync((service: PasswordResetFinishService) => {
102
- jest.spyOn(service, 'save').mockReturnValue(throwError(() => {}));
102
+ jest.spyOn(service, 'save').mockReturnValue(throwError(Error));
103
103
  comp.passwordForm.patchValue({
104
104
  newPassword: 'password',
105
105
  confirmPassword: 'password',
@@ -21,7 +21,7 @@
21
21
  <div class="col-md-8">
22
22
  <h1>__jhiTranslateTag__('reset.request.title')</h1>
23
23
 
24
- <<%= jhiPrefixDashed %>-alert-error></<%= jhiPrefixDashed %>-alert-error>
24
+ <<%= jhiPrefixDashed %>-alert-error />
25
25
 
26
26
  @if (!success()) {
27
27
  <div class="alert alert-warning">
@@ -156,7 +156,7 @@
156
156
  </div>
157
157
  }
158
158
 
159
- <<%= jhiPrefixDashed %>-password-strength-bar [passwordToCheck]="passwordRef.value"></<%= jhiPrefixDashed %>-password-strength-bar>
159
+ <<%= jhiPrefixDashed %>-password-strength-bar [passwordToCheck]="passwordRef.value" />
160
160
  </div>
161
161
 
162
162
  <div class="mb-3">
@@ -92,7 +92,7 @@ describe('SessionsComponent', () => {
92
92
  fakeAsync((mockAccountService: AccountService, service: SessionsService) => {
93
93
  mockAccountService.identity = jest.fn(() => of(account));
94
94
  jest.spyOn(service, 'findAll').mockReturnValue(of(sessions));
95
- jest.spyOn(service, 'delete').mockReturnValue(throwError(() => {}));
95
+ jest.spyOn(service, 'delete').mockReturnValue(throwError(Error));
96
96
 
97
97
  comp.ngOnInit();
98
98
  comp.invalidate('xyz');
@@ -27,7 +27,7 @@
27
27
  <div class="alert alert-success">__jhiTranslateTag__('settings.messages.success')</div>
28
28
  }
29
29
 
30
- <<%= jhiPrefixDashed %>-alert-error></<%= jhiPrefixDashed %>-alert-error>
30
+ <<%= jhiPrefixDashed %>-alert-error />
31
31
 
32
32
  @if (settingsForm.value.login) {
33
33
  <form name="form" (ngSubmit)="save()" [formGroup]="settingsForm" novalidate>
@@ -107,7 +107,7 @@ describe('SettingsComponent', () => {
107
107
 
108
108
  it('should notify of error upon failed save', () => {
109
109
  // GIVEN
110
- mockAccountService.save = jest.fn(() => throwError(() => {}));
110
+ mockAccountService.save = jest.fn(() => throwError(Error));
111
111
 
112
112
  // WHEN
113
113
  comp.ngOnInit();
@@ -45,7 +45,7 @@ describe('ConfigurationComponent', () => {
45
45
  });
46
46
 
47
47
  describe('OnInit', () => {
48
- it('Should call load all on init', () => {
48
+ it('should call load all on init', () => {
49
49
  // GIVEN
50
50
  const beans: Bean[] = [
51
51
  {
@@ -34,7 +34,7 @@ export default class HealthModalComponent {
34
34
 
35
35
  readableValue(value: any): string {
36
36
  if (this.health?.key === 'diskSpace') {
37
- // Should display storage space in a human readable unit
37
+ // should display storage space in a human readable unit
38
38
  const val = value / 1073741824;
39
39
  if (val > 1) {
40
40
  return `${val.toFixed(2)} GB`;
@@ -57,7 +57,7 @@ describe('LogsComponent', () => {
57
57
  expect(comp.sortState().order).toBe('asc');
58
58
  });
59
59
 
60
- it('Should call load all on init', () => {
60
+ it('should call load all on init', () => {
61
61
  // GIVEN
62
62
  const log = new Log('main', 'WARN');
63
63
  jest.spyOn(service, 'findAll').mockReturnValue(
@@ -30,19 +30,18 @@
30
30
  @let metricsRef = metrics();
31
31
  @if (metricsRef && !updatingMetrics()) {
32
32
  <div class="row">
33
- <<%= jhiPrefixDashed %>-jvm-memory class="col-md-4" [updating]="updatingMetrics()" [jvmMemoryMetrics]="metricsRef.jvm"></<%= jhiPrefixDashed %>-jvm-memory>
33
+ <<%= jhiPrefixDashed %>-jvm-memory class="col-md-4" [updating]="updatingMetrics()" [jvmMemoryMetrics]="metricsRef.jvm" />
34
34
 
35
- <<%= jhiPrefixDashed %>-jvm-threads class="col-md-4" [threads]="threads()"></<%= jhiPrefixDashed %>-jvm-threads>
35
+ <<%= jhiPrefixDashed %>-jvm-threads class="col-md-4" [threads]="threads()" />
36
36
 
37
- <<%= jhiPrefixDashed %>-metrics-system class="col-md-4" [updating]="updatingMetrics()" [systemMetrics]="metricsRef.processMetrics"></<%= jhiPrefixDashed %>-metrics-system>
37
+ <<%= jhiPrefixDashed %>-metrics-system class="col-md-4" [updating]="updatingMetrics()" [systemMetrics]="metricsRef.processMetrics" />
38
38
  </div>
39
39
  }
40
40
 
41
41
  @if (metricsRef?.garbageCollector; as metricsRefGarbageCollector) {
42
42
  <<%= jhiPrefixDashed %>-metrics-garbagecollector
43
43
  [updating]="updatingMetrics()"
44
- [garbageCollectorMetrics]="metricsRefGarbageCollector"
45
- ></<%= jhiPrefixDashed %>-metrics-garbagecollector>
44
+ [garbageCollectorMetrics]="metricsRefGarbageCollector" />
46
45
  }
47
46
 
48
47
  @if (updatingMetrics()) {
@@ -52,28 +51,24 @@
52
51
  @if (metricsRef?.['http.server.requests']; as metricsRefHttpServerRequests) {
53
52
  <<%= jhiPrefixDashed %>-metrics-request
54
53
  [updating]="updatingMetrics()"
55
- [requestMetrics]="metricsRefHttpServerRequests"
56
- ></<%= jhiPrefixDashed %>-metrics-request>
54
+ [requestMetrics]="metricsRefHttpServerRequests" />
57
55
  }
58
56
 
59
57
  @if (metricsRef?.services; as metricsRefServices) {
60
58
  <<%= jhiPrefixDashed %>-metrics-endpoints-requests
61
59
  [updating]="updatingMetrics()"
62
- [endpointsRequestsMetrics]="metricsRefServices"
63
- ></<%= jhiPrefixDashed %>-metrics-endpoints-requests>
60
+ [endpointsRequestsMetrics]="metricsRefServices" />
64
61
  }
65
62
 
66
63
  @if (metricsRef?.cache; as metricsRefCache) {
67
64
  <<%= jhiPrefixDashed %>-metrics-cache
68
65
  [updating]="updatingMetrics()"
69
- [cacheMetrics]="metricsRefCache"
70
- ></<%= jhiPrefixDashed %>-metrics-cache>
66
+ [cacheMetrics]="metricsRefCache" />
71
67
  }
72
68
 
73
69
  @if (metricsRef && metricsKeyExistsAndObjectNotEmpty('databases')) {
74
70
  <<%= jhiPrefixDashed %>-metrics-datasource
75
71
  [updating]="updatingMetrics()"
76
- [datasourceMetrics]="metricsRef.databases"
77
- ></<%= jhiPrefixDashed %>-metrics-datasource>
72
+ [datasourceMetrics]="metricsRef.databases" />
78
73
  }
79
74
  </div>
@@ -23,7 +23,7 @@
23
23
  </div>
24
24
 
25
25
  <div class="modal-body">
26
- <<%= jhiPrefixDashed %>-alert-error></<%= jhiPrefixDashed %>-alert-error>
26
+ <<%= jhiPrefixDashed %>-alert-error />
27
27
 
28
28
  <p>__jhiTranslateTag__('userManagement.delete.question', { "login": "user.login" })</p>
29
29
  </div>
@@ -50,7 +50,7 @@ describe('User Management Delete Component', () => {
50
50
  });
51
51
 
52
52
  describe('confirmDelete', () => {
53
- it('Should call delete service on confirmDelete', inject(
53
+ it('should call delete service on confirmDelete', inject(
54
54
  [],
55
55
  fakeAsync(() => {
56
56
  // GIVEN
@@ -63,7 +63,7 @@ describe('User Management Detail Component', () => {
63
63
  });
64
64
 
65
65
  describe('Construct', () => {
66
- it('Should call load all on construct', async () => {
66
+ it('should call load all on construct', async () => {
67
67
  // WHEN
68
68
  const harness = await RouterTestingHarness.create();
69
69
  const instance = await harness.navigateByUrl('/', UserManagementDetailComponent);
@@ -31,9 +31,9 @@
31
31
  </div>
32
32
  </h2>
33
33
 
34
- <<%= jhiPrefixDashed %>-alert-error></<%= jhiPrefixDashed %>-alert-error>
34
+ <<%= jhiPrefixDashed %>-alert-error />
35
35
 
36
- <<%= jhiPrefixDashed %>-alert></<%= jhiPrefixDashed %>-alert>
36
+ <<%= jhiPrefixDashed %>-alert />
37
37
 
38
38
  @if (users()) {
39
39
  <div class="table-responsive">
@@ -137,7 +137,7 @@
137
137
 
138
138
  <div>
139
139
  <div class="d-flex justify-content-center">
140
- <<%= jhiPrefixDashed %>-item-count [params]="{ page: page, totalItems: totalItems(), itemsPerPage: itemsPerPage }"></<%= jhiPrefixDashed %>-item-count>
140
+ <<%= jhiPrefixDashed %>-item-count [params]="{ page, totalItems: totalItems(), itemsPerPage }" />
141
141
  </div>
142
142
 
143
143
  <div class="d-flex justify-content-center">
@@ -66,7 +66,7 @@ describe('User Management Component', () => {
66
66
  });
67
67
 
68
68
  describe('OnInit', () => {
69
- it('Should call load all on init', inject(
69
+ it('should call load all on init', inject(
70
70
  [],
71
71
  fakeAsync(() => {
72
72
  // GIVEN
@@ -92,7 +92,7 @@ describe('User Management Component', () => {
92
92
  });
93
93
 
94
94
  describe('setActive', () => {
95
- it('Should update user and call load all', inject(
95
+ it('should update user and call load all', inject(
96
96
  [],
97
97
  fakeAsync(() => {
98
98
  // GIVEN
@@ -21,7 +21,7 @@
21
21
  <form name="editForm" novalidate (ngSubmit)="save()" [formGroup]="editForm">
22
22
  <h2 id="myUserLabel">__jhiTranslateTag__('userManagement.home.createOrEditLabel')</h2>
23
23
 
24
- <<%= jhiPrefixDashed %>-alert-error></<%= jhiPrefixDashed %>-alert-error>
24
+ <<%= jhiPrefixDashed %>-alert-error />
25
25
 
26
26
  <div class="mb-3" [hidden]="!editForm.value.id">
27
27
  <label class="form-label" for="field_id">__jhiTranslateTag__('global.field.id')</label>
@@ -61,7 +61,7 @@ describe('User Management Update Component', () => {
61
61
  });
62
62
 
63
63
  describe('OnInit', () => {
64
- it('Should load authorities and language on init', inject(
64
+ it('should load authorities and language on init', inject(
65
65
  [],
66
66
  fakeAsync(() => {
67
67
  // GIVEN
@@ -78,7 +78,7 @@ describe('User Management Update Component', () => {
78
78
  });
79
79
 
80
80
  describe('save', () => {
81
- it('Should call update service on save for existing user', inject(
81
+ it('should call update service on save for existing user', inject(
82
82
  [],
83
83
  fakeAsync(() => {
84
84
  // GIVEN
@@ -95,7 +95,7 @@ describe('User Management Update Component', () => {
95
95
  }),
96
96
  ));
97
97
 
98
- it('Should call create service on save for new user', inject(
98
+ it('should call create service on save for new user', inject(
99
99
  [],
100
100
  fakeAsync(() => {
101
101
  // GIVEN
@@ -30,9 +30,7 @@ export class AppPageTitleStrategy extends TitleStrategy {
30
30
 
31
31
  override updateTitle(routerState: RouterStateSnapshot): void {
32
32
  let pageTitle = this.buildTitle(routerState);
33
- if (!pageTitle) {
34
- pageTitle = '<% if (enableTranslation) { %>global.title<% } else { %><%= humanizedBaseName %><% } %>';
35
- }
33
+ pageTitle ??= '<% if (enableTranslation) { %>global.title<% } else { %><%= humanizedBaseName %><% } %>';
36
34
  <%_ if (enableTranslation) { _%>
37
35
  this.translateService.get(pageTitle).subscribe(title => {
38
36
  document.title = title;
@@ -38,7 +38,7 @@ import { TrackerService } from './core/tracker/tracker.service';
38
38
 
39
39
  @Component({
40
40
  selector: '<%= jhiPrefixDashed %>-app',
41
- template: '<<%= jhiPrefixDashed %>-main></<%= jhiPrefixDashed %>-main>',
41
+ template: '<<%= jhiPrefixDashed %>-main />',
42
42
  imports: [
43
43
  MainComponent,
44
44
  // jhipster-needle-angular-add-module JHipster will add new module here
@@ -85,7 +85,7 @@ export class TrackerService {
85
85
  return this.rxStomp;
86
86
  }
87
87
 
88
- public subscribe(observer: Partial<Observer<TrackerActivity>>): Subscription {
88
+ subscribe(observer: Partial<Observer<TrackerActivity>>): Subscription {
89
89
  return (
90
90
  this.stomp
91
91
  .watch(DESTINATION_TRACKER)
@@ -84,9 +84,8 @@ export class AlertService {
84
84
  // if translation key exists
85
85
  if (translatedMessage !== `${translationNotFoundMessage}[${alert.translationKey}]`) {
86
86
  alert.message = translatedMessage;
87
- } else if (!alert.message) {
88
- alert.message = alert.translationKey;
89
87
  }
88
+ alert.message ??= alert.translationKey;
90
89
  }
91
90
  <%_ } _%>
92
91
 
@@ -39,7 +39,6 @@ describe('Data Utils Service Test', () => {
39
39
  describe('openFile', () => {
40
40
  it('should open the file in the new window', () => {
41
41
  const newWindow = { ...window };
42
- newWindow.document.write = jest.fn();
43
42
  window.open = jest.fn(() => newWindow);
44
43
  window.URL.createObjectURL = jest.fn();
45
44
  // 'JHipster' in base64 is 'SkhpcHN0ZXI='
@@ -23,7 +23,7 @@
23
23
  </div>
24
24
 
25
25
  <div class="modal-body">
26
- <<%= jhiPrefixDashed %>-alert-error></<%= jhiPrefixDashed %>-alert-error>
26
+ <<%= jhiPrefixDashed %>-alert-error />
27
27
  <p id="<%= jhiPrefixDashed %>-delete-<%= entityInstance %>-heading">__jhiTranslateTag__('<%- i18nKeyPrefix %>.delete.question', { "id": "<%- entityInstance%>.<%- primaryKey.name%>" })</p>
28
28
  </div>
29
29