generator-jhipster 8.4.0 → 8.6.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/README.md +3 -4
  2. package/dist/cli/commands.mjs +2 -0
  3. package/dist/cli/environment-builder.mjs +5 -0
  4. package/dist/cli/program.mjs +10 -4
  5. package/dist/generators/angular/entity-files-angular.js +6 -7
  6. package/dist/generators/angular/resources/package.json +20 -20
  7. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +4 -3
  8. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.service.spec.ts.ejs +3 -2
  9. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.spec.ts.ejs +4 -5
  10. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.service.spec.ts.ejs +3 -2
  11. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +6 -5
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +3 -6
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +3 -2
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +5 -5
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +3 -6
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +3 -2
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.spec.ts.ejs +2 -3
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +3 -6
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.service.spec.ts.ejs +3 -2
  20. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +3 -3
  21. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +3 -4
  22. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +3 -3
  23. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.spec.ts.ejs +3 -2
  24. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +4 -4
  25. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +3 -2
  26. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +3 -3
  27. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +4 -3
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.service.spec.ts.ejs +3 -2
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.ts.ejs +1 -1
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +11 -11
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.spec.ts.ejs +3 -3
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +3 -2
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.service.spec.ts.ejs +3 -2
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +0 -2
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +3 -3
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +1 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +3 -4
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +3 -3
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +3 -2
  40. package/dist/generators/angular/templates/src/main/webapp/app/app-page-title-strategy.ts.ejs +1 -1
  41. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +0 -1
  42. package/dist/generators/angular/templates/src/main/webapp/app/app.config.ts.ejs +2 -2
  43. package/dist/generators/angular/templates/src/main/webapp/app/config/uib-pagination.config.ts.ejs +1 -1
  44. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +7 -5
  45. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-jwt.service.spec.ts.ejs +3 -2
  46. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/user-route-access.service.ts.ejs +1 -1
  47. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/auth-expired.interceptor.ts.ejs +3 -3
  48. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/auth.interceptor.ts.ejs +2 -2
  49. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/error-handler.interceptor.ts.ejs +1 -1
  50. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.spec.ts.ejs +6 -6
  51. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +0 -3
  52. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +3 -4
  53. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +2 -2
  54. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +1 -1
  55. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +2 -3
  56. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +2 -2
  57. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +4 -5
  58. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +5 -3
  59. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +5 -6
  60. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +11 -17
  61. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.ts.ejs +2 -2
  62. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +6 -6
  63. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +3 -3
  64. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +3 -2
  65. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +2 -2
  66. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -4
  67. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +2 -2
  68. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +11 -9
  69. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +3 -8
  70. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +6 -2
  71. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/find-language-from-key.pipe.ts.ejs +1 -1
  72. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translation.module.ts.ejs +2 -2
  73. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.spec.ts.ejs +10 -10
  74. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +6 -7
  75. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.directive.spec.ts.ejs +4 -4
  76. package/dist/generators/angular/templates/src/main/webapp/content/scss/global.scss.ejs +2 -0
  77. package/dist/generators/app/generator.js +4 -13
  78. package/dist/generators/base/command.js +1 -0
  79. package/dist/generators/base/generator.js +22 -28
  80. package/dist/generators/base/internal/command.js +13 -0
  81. package/dist/generators/base/internal/index.js +1 -0
  82. package/dist/generators/base/priorities.js +12 -1
  83. package/dist/generators/base/shared-data.js +74 -2
  84. package/dist/generators/base/support/config.js +1 -1
  85. package/dist/generators/base/support/jhipster7-context.js +155 -52
  86. package/dist/generators/base-application/generator.js +15 -3
  87. package/dist/generators/base-application/priorities.js +1 -0
  88. package/dist/generators/base-application/support/prepare-entity.js +7 -8
  89. package/dist/generators/base-application/support/prepare-relationship.js +3 -2
  90. package/dist/generators/base-core/generator.js +132 -63
  91. package/dist/generators/bootstrap/generator.js +1 -1
  92. package/dist/generators/bootstrap/support/eslint-worker.js +14 -12
  93. package/dist/generators/bootstrap/support/multi-step-transform/template-file.js +6 -1
  94. package/dist/generators/bootstrap-application/generator.js +1 -1
  95. package/dist/generators/bootstrap-application-base/generator.js +7 -3
  96. package/dist/generators/bootstrap-application-client/generator.js +5 -1
  97. package/dist/generators/bootstrap-application-server/generator.js +1 -0
  98. package/dist/generators/ci-cd/generator.js +1 -1
  99. package/dist/generators/ci-cd/templates/docker-registry.yml.ejs +0 -1
  100. package/dist/generators/ci-cd/templates/jenkins/jenkins.yml.ejs +0 -1
  101. package/dist/generators/client/command.js +2 -2
  102. package/dist/generators/client/generator.js +2 -3
  103. package/dist/generators/client/generators/common/command.js +5 -0
  104. package/dist/generators/client/generators/common/generator.js +79 -0
  105. package/dist/generators/client/generators/common/index.js +20 -0
  106. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/headers.ts.ejs +57 -0
  107. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/problem-details.ts.ejs +51 -0
  108. package/dist/generators/client/resources/package.json +6 -6
  109. package/dist/generators/client/support/filter-entities.js +1 -1
  110. package/dist/generators/client/templates/.eslintignore.ejs +9 -5
  111. package/dist/generators/client/templates/README.md.jhi.client.ejs +29 -20
  112. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
  113. package/dist/generators/common/generator.js +5 -0
  114. package/dist/generators/common/resources/package.json +2 -2
  115. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +4 -4
  116. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/password-page.cy.ts.ejs +2 -2
  117. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/register-page.cy.ts.ejs +1 -1
  118. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/reset-password-page.cy.ts.ejs +1 -1
  119. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +10 -10
  120. package/dist/generators/docker/templates/docker/keycloak.yml.ejs +2 -1
  121. package/dist/generators/docker/templates/docker/mariadb.yml.ejs +1 -1
  122. package/dist/generators/docker/templates/docker/mysql.yml.ejs +1 -2
  123. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +14 -3
  124. package/dist/generators/docker/templates/docker/realm-config/keycloak-health-check.sh +2 -2
  125. package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +1 -0
  126. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +14 -3
  127. package/dist/generators/docker-compose/templates/realm-config/keycloak-health-check.sh +2 -2
  128. package/dist/generators/entity/generator.js +2 -10
  129. package/dist/generators/entity/prompts.js +6 -11
  130. package/dist/generators/feign-client/templates/src/main/java/_package_/client/AuthorizationHeaderUtil.java.ejs +1 -1
  131. package/dist/generators/gatling/README.md +15 -0
  132. package/dist/generators/gatling/generator.js +0 -1
  133. package/dist/generators/gatling/templates/src/test/java/gatling/simulations/_entityClass_GatlingTest.java.ejs +2 -10
  134. package/dist/generators/generate-blueprint/command.js +16 -0
  135. package/dist/generators/generate-blueprint/files.js +11 -1
  136. package/dist/generators/generate-blueprint/generator.js +34 -17
  137. package/dist/generators/generate-blueprint/resources/package.json +3 -1
  138. package/dist/generators/generate-blueprint/templates/.blueprint/cli/commands.mjs.ejs +6 -0
  139. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +20 -0
  140. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +9 -13
  141. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/build-matrix.mjs.ejs +22 -0
  142. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +20 -0
  143. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/index.mjs.ejs +1 -0
  144. package/dist/generators/generate-blueprint/templates/.github/workflows/build-cache.yml.ejs +39 -0
  145. package/dist/generators/generate-blueprint/templates/.github/workflows/samples.yml.ejs +105 -0
  146. package/dist/generators/generate-blueprint/templates/.prettierignore.jhi.blueprint.ejs +1 -1
  147. package/dist/generators/generate-blueprint/templates/README.md.ejs +16 -8
  148. package/dist/generators/generate-blueprint/templates/eslint.config.js.ejs +33 -0
  149. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -0
  150. package/dist/generators/generator-constants.js +2 -2
  151. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  152. package/dist/generators/heroku/generator.js +1 -1
  153. package/dist/generators/info/generator.js +1 -3
  154. package/dist/generators/info/support/extract-info.js +60 -0
  155. package/dist/generators/info/support/index.js +1 -0
  156. package/dist/generators/init/generator.js +2 -2
  157. package/dist/generators/init/resources/.node-version +1 -1
  158. package/dist/generators/init/resources/package.json +2 -2
  159. package/dist/generators/java/generators/bootstrap/generator.js +9 -2
  160. package/dist/generators/java/generators/build-tool/command.js +6 -3
  161. package/dist/generators/java/generators/domain/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +1 -5
  162. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +3 -3
  163. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +3 -3
  164. package/dist/generators/java/generators/node/templates/npmw +1 -5
  165. package/dist/generators/java/support/add-java-annotation.js +28 -7
  166. package/dist/generators/java/support/generated-annotation-transform.js +1 -1
  167. package/dist/generators/java/support/index.js +1 -1
  168. package/dist/generators/jdl/generator.js +7 -7
  169. package/dist/generators/kubernetes/files.js +1 -1
  170. package/dist/generators/kubernetes/templates/db/mysql.yml.ejs +1 -1
  171. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +14 -3
  172. package/dist/generators/languages/generator.js +5 -2
  173. package/dist/generators/liquibase/templates/src/main/java/_package_/config/LiquibaseConfiguration.java.ejs +1 -1
  174. package/dist/generators/maven/command.js +15 -0
  175. package/dist/generators/maven/generator.js +6 -1
  176. package/dist/generators/maven/index.js +1 -0
  177. package/dist/generators/maven/internal/xml-store.js +7 -6
  178. package/dist/generators/maven/support/pom-store.js +24 -9
  179. package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +2 -2
  180. package/dist/generators/maven/templates/mvnw +185 -243
  181. package/dist/generators/maven/templates/mvnw.cmd +121 -180
  182. package/dist/generators/react/entity-files-react.js +7 -7
  183. package/dist/generators/react/generator.js +10 -0
  184. package/dist/generators/react/resources/package.json +28 -28
  185. package/dist/generators/react/templates/src/main/webapp/app/app.tsx.ejs +9 -0
  186. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +1 -1
  187. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.ts.ejs +1 -1
  188. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.spec.ts.ejs +1 -1
  189. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.ts.ejs +80 -87
  190. package/dist/generators/react/templates/src/main/webapp/app/config/store.ts.ejs +1 -1
  191. package/dist/generators/react/templates/src/main/webapp/app/config/translation.ts.ejs +4 -0
  192. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +3 -3
  193. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +12 -7
  194. package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +15 -1
  195. package/dist/generators/react/templates/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +4 -0
  196. package/dist/generators/react/templates/src/main/webapp/app/modules/login/logout.tsx.ejs +5 -3
  197. package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +1 -1
  198. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +1 -1
  199. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.tsx.ejs +1 -1
  200. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/header/header.tsx.ejs +0 -9
  201. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +1 -3
  202. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +29 -6
  203. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +2 -3
  204. package/dist/generators/react/templates/src/main/webapp/app/shared/util/url-utils.ts.ejs +1 -1
  205. package/dist/generators/server/command.js +0 -11
  206. package/dist/generators/server/generator.js +16 -75
  207. package/dist/generators/server/jdl/application-definition.js +3 -1
  208. package/dist/generators/server/resources/Dockerfile +13 -13
  209. package/dist/generators/server/resources/gradle/libs.versions.toml +9 -7
  210. package/dist/generators/server/resources/pom.xml +16 -16
  211. package/dist/generators/server/support/config.js +4 -8
  212. package/dist/generators/server/support/prepare-entity.js +5 -6
  213. package/dist/generators/server/support/relationship.js +5 -2
  214. package/dist/generators/server/templates/build.gradle.ejs +5 -3
  215. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +2 -1
  216. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +2 -1
  217. package/dist/generators/server/templates/gradle.properties.ejs +1 -1
  218. package/dist/generators/server/templates/pom.xml.ejs +7 -31
  219. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +1 -1
  220. package/dist/generators/server/templates/src/main/java/_package_/config/AsyncConfiguration.java.ejs +1 -1
  221. package/dist/generators/server/templates/src/main/java/_package_/config/Constants.java.ejs +0 -2
  222. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +1 -18
  223. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +1 -15
  224. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +1 -21
  225. package/dist/generators/server/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +1 -1
  226. package/dist/generators/server/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +1 -1
  227. package/dist/generators/server/templates/src/main/java/_package_/security/PersistentTokenRememberMeServices.java.ejs +1 -1
  228. package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +65 -5
  229. package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/AudienceValidator.java.ejs +1 -1
  230. package/dist/generators/server/templates/src/main/java/_package_/service/MailService.java.ejs +1 -1
  231. package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +34 -0
  232. package/dist/generators/server/templates/src/main/java/_package_/service/mapper/UserMapper.java.ejs +8 -4
  233. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +1 -1
  234. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +1 -1
  235. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +44 -10
  236. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +1 -1
  237. package/dist/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
  238. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +60 -22
  239. package/dist/generators/server/templates/src/main/resources/config/bootstrap.yml.ejs +1 -1
  240. package/dist/generators/server/templates/src/main/resources/swagger/api.yml.ejs +1 -1
  241. package/dist/generators/server/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +31 -13
  242. package/dist/generators/server/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +84 -17
  243. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +62 -6
  244. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +22 -0
  245. package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +20 -10
  246. package/dist/generators/spring-boot/command.js +117 -6
  247. package/dist/generators/spring-boot/files.js +0 -5
  248. package/dist/generators/spring-boot/generator.js +44 -9
  249. package/dist/generators/spring-boot/prompts.js +6 -70
  250. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +374 -582
  251. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/UserService.java.ejs +1 -1
  252. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +1 -1
  253. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.java.ejs +1 -1
  254. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/PublicUserResource.java.ejs +1 -1
  255. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/UserResource.java.ejs +1 -1
  256. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/_entityClass_Resource.java.ejs +1 -1
  257. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +47 -11
  258. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +60 -24
  259. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +195 -318
  260. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +58 -51
  261. package/dist/generators/spring-cache/internal/dependencies.js +2 -2
  262. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  263. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +3 -3
  264. package/dist/generators/spring-cloud/generators/gateway/command.js +10 -1
  265. package/dist/generators/spring-cloud/generators/gateway/generator.js +13 -0
  266. package/dist/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.js +6 -0
  267. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaConsumer_imperative.java.ejs +1 -1
  268. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaConsumer_reactive.java.ejs +1 -1
  269. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/web/rest/KafkaResource_imperative.java.ejs +1 -1
  270. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/web/rest/KafkaResource_reactive.java.ejs +1 -1
  271. package/dist/generators/spring-data-cassandra/generator.js +2 -2
  272. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +1 -1
  273. package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/config/DatabaseConfiguration.java_neo4j.ejs +18 -2
  274. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +1 -1
  275. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +3 -1
  276. package/dist/generators/vue/entity-files-vue.js +7 -7
  277. package/dist/generators/vue/resources/package.json +21 -21
  278. package/dist/generators/vue/templates/.eslintrc.cjs.ejs +7 -0
  279. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.spec.ts.ejs +1 -1
  280. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +1 -1
  281. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +1 -1
  282. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +1 -1
  283. package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.spec.ts.ejs +8 -8
  284. package/dist/generators/vue/templates/src/main/webapp/app/shared/data/data-utils.service.spec.ts.ejs +1 -1
  285. package/dist/generators/vue/templates/tsconfig.app.json.ejs +1 -1
  286. package/dist/generators/vue/templates/vite.config.mts.ejs +5 -4
  287. package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -1
  288. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +4 -4
  289. package/dist/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.js +9 -9
  290. package/dist/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.js +2 -2
  291. package/dist/jdl/converters/json-to-jdl-application-converter.js +1 -1
  292. package/dist/jdl/converters/json-to-jdl-converter.js +6 -5
  293. package/dist/jdl/converters/json-to-jdl-entity-converter.js +14 -14
  294. package/dist/jdl/converters/json-to-jdl-option-converter.js +1 -2
  295. package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -1
  296. package/dist/jdl/converters/parsed-jdl-to-jdl-object/option-converter.js +2 -2
  297. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +7 -6
  298. package/dist/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.js +1 -1
  299. package/dist/jdl/exporters/applications/jhipster-application-formatter.js +16 -23
  300. package/dist/jdl/exporters/config.js +1 -0
  301. package/dist/jdl/exporters/jhipster-deployment-exporter.js +5 -5
  302. package/dist/jdl/exporters/jhipster-entity-exporter.js +1 -1
  303. package/dist/jdl/jdl-importer.js +22 -20
  304. package/dist/jdl/jhipster/binary-options.js +12 -8
  305. package/dist/jdl/jhipster/json-entity.js +1 -1
  306. package/dist/jdl/models/abstract-jdl-option.js +2 -2
  307. package/dist/jdl/models/jdl-application-configuration-factory.js +2 -0
  308. package/dist/jdl/models/jdl-binary-option.js +2 -2
  309. package/dist/jdl/models/jdl-deployment.js +11 -0
  310. package/dist/jdl/models/jdl-entity.js +1 -1
  311. package/dist/jdl/models/jdl-enum.js +1 -1
  312. package/dist/jdl/models/jdl-enums.js +0 -18
  313. package/dist/jdl/models/jdl-field.js +2 -2
  314. package/dist/jdl/models/jdl-object-wrapper.js +1 -0
  315. package/dist/jdl/models/jdl-object.js +23 -45
  316. package/dist/jdl/models/jdl-options.js +0 -18
  317. package/dist/jdl/models/jdl-relationships.js +8 -16
  318. package/dist/jdl/models/jdl-unary-option.js +1 -1
  319. package/dist/jdl/models/list-jdl-application-configuration-option.js +5 -2
  320. package/dist/jdl/parsing/jdl-ast-builder-visitor.js +12 -0
  321. package/dist/jdl/parsing/jdl-parser.js +14 -0
  322. package/dist/jdl/parsing/lexer/lexer.js +17 -11
  323. package/dist/jdl/parsing/validator.js +16 -2
  324. package/dist/jdl/readers/json-reader.js +1 -1
  325. package/dist/jdl/utils/array-utils.js +6 -0
  326. package/dist/jdl/utils/set-utils.js +3 -2
  327. package/dist/jdl/validators/jdl-without-application-validator.js +2 -2
  328. package/dist/lib/eslint/base.js +25 -0
  329. package/dist/lib/eslint/recommended.js +22 -0
  330. package/dist/testing/github.js +32 -0
  331. package/dist/testing/helpers.js +13 -0
  332. package/dist/testing/index.js +2 -0
  333. package/dist/testing/sample-config.js +31 -0
  334. package/dist/types/cli/commands.d.mts +2 -0
  335. package/dist/types/cli/environment-builder.d.mts +1 -0
  336. package/dist/types/generators/base/api.d.ts +19 -8
  337. package/dist/types/generators/base/generator.d.ts +10 -4
  338. package/dist/types/generators/base/internal/command.d.ts +2 -0
  339. package/dist/types/generators/base/internal/index.d.ts +1 -0
  340. package/dist/types/generators/base/priorities.d.ts +4 -0
  341. package/dist/types/generators/base/shared-data.d.ts +11 -2
  342. package/dist/types/generators/base/types.d.ts +12 -0
  343. package/dist/types/generators/base-application/priorities.d.ts +2 -0
  344. package/dist/types/generators/base-application/support/entity.d.ts +2 -2
  345. package/dist/types/generators/base-application/support/prepare-entity.d.ts +3 -3
  346. package/dist/types/generators/base-application/support/relationship.d.ts +5 -5
  347. package/dist/types/generators/base-application/types.d.ts +11 -0
  348. package/dist/types/generators/base-core/generator.d.ts +18 -2
  349. package/dist/types/generators/generator-constants.d.ts +1 -1
  350. package/dist/types/generators/info/support/extract-info.d.ts +14 -0
  351. package/dist/types/generators/info/support/index.d.ts +1 -0
  352. package/dist/types/generators/java/support/add-java-annotation.d.ts +10 -20
  353. package/dist/types/generators/java/support/doc.d.ts +1 -1
  354. package/dist/types/generators/java/support/index.d.ts +1 -1
  355. package/dist/types/generators/java/types.d.ts +12 -0
  356. package/dist/types/generators/maven/internal/xml-store.d.ts +3 -2
  357. package/dist/types/generators/maven/support/pom-store.d.ts +5 -2
  358. package/dist/types/generators/maven/types.d.ts +1 -0
  359. package/dist/types/generators/server/support/relationship.d.ts +2 -2
  360. package/dist/types/generators/server/types.d.ts +7 -1
  361. package/dist/types/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.d.ts +2 -0
  362. package/dist/types/generators/spring-cloud/generators/gateway/types.d.ts +4 -0
  363. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +2 -2
  364. package/dist/types/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.d.ts +2 -1
  365. package/dist/types/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.d.ts +3 -1
  366. package/dist/types/jdl/converters/json-to-jdl-application-converter.d.ts +9 -2
  367. package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +3 -3
  368. package/dist/types/jdl/converters/json-to-jdl-entity-converter.d.ts +2 -4
  369. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/application-converter.d.ts +3 -1
  370. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/deployment-converter.d.ts +2 -1
  371. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.d.ts +3 -1
  372. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.d.ts +2 -1
  373. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/field-converter.d.ts +2 -1
  374. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +3 -3
  375. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.d.ts +2 -1
  376. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.d.ts +2 -1
  377. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/types.d.ts +110 -0
  378. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.d.ts +2 -1
  379. package/dist/types/jdl/converters/types.d.ts +102 -14
  380. package/dist/types/jdl/exporters/applications/jhipster-application-formatter.d.ts +4 -4
  381. package/dist/types/jdl/exporters/config.d.ts +2 -1
  382. package/dist/types/jdl/exporters/export-utils.d.ts +2 -1
  383. package/dist/types/jdl/exporters/jdl-exporter.d.ts +2 -1
  384. package/dist/types/jdl/exporters/jhipster-deployment-exporter.d.ts +3 -1
  385. package/dist/types/jdl/exporters/jhipster-entity-exporter.d.ts +3 -1
  386. package/dist/types/jdl/exporters/types.d.ts +61 -0
  387. package/dist/types/jdl/jhipster/binary-options.d.ts +8 -26
  388. package/dist/types/jdl/jhipster/field-types.d.ts +2 -2
  389. package/dist/types/jdl/jhipster/json-entity.d.ts +2 -2
  390. package/dist/types/jdl/models/abstract-jdl-option.d.ts +14 -9
  391. package/dist/types/jdl/models/boolean-jdl-application-configuration-option.d.ts +1 -1
  392. package/dist/types/jdl/models/integer-jdl-application-configuration-option.d.ts +1 -1
  393. package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +1 -1
  394. package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +4 -4
  395. package/dist/types/jdl/models/jdl-application-configuration.d.ts +4 -4
  396. package/dist/types/jdl/models/jdl-application-definition.d.ts +4 -4
  397. package/dist/types/jdl/models/jdl-application-entities.d.ts +4 -4
  398. package/dist/types/jdl/models/jdl-application.d.ts +16 -13
  399. package/dist/types/jdl/models/jdl-binary-option.d.ts +5 -3
  400. package/dist/types/jdl/models/jdl-deployment.d.ts +13 -1
  401. package/dist/types/jdl/models/jdl-entity.d.ts +5 -5
  402. package/dist/types/jdl/models/jdl-enum-value.d.ts +4 -4
  403. package/dist/types/jdl/models/jdl-enum.d.ts +9 -5
  404. package/dist/types/jdl/models/jdl-enums.d.ts +6 -5
  405. package/dist/types/jdl/models/jdl-field.d.ts +10 -8
  406. package/dist/types/jdl/models/jdl-object-wrapper.d.ts +25 -0
  407. package/dist/types/jdl/models/jdl-object.d.ts +23 -19
  408. package/dist/types/jdl/models/jdl-options.d.ts +7 -24
  409. package/dist/types/jdl/models/jdl-relationship.d.ts +16 -10
  410. package/dist/types/jdl/models/jdl-relationships.d.ts +5 -5
  411. package/dist/types/jdl/models/jdl-validation.d.ts +3 -3
  412. package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +4 -3
  413. package/dist/types/jdl/models/string-jdl-application-configuration-option.d.ts +2 -2
  414. package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +1 -0
  415. package/dist/types/jdl/parsing/jdl-parser.d.ts +1 -0
  416. package/dist/types/jdl/parsing/jdl-parsing-types.d.ts +23 -0
  417. package/dist/types/jdl/parsing/lexer/lexer.d.ts +6 -2
  418. package/dist/types/jdl/parsing/validator.d.ts +1 -1
  419. package/dist/types/jdl/utils/array-utils.d.ts +1 -0
  420. package/dist/types/jdl/utils/set-utils.d.ts +1 -19
  421. package/dist/types/jdl/validators/deployment-validator.d.ts +2 -1
  422. package/dist/types/lib/eslint/base.d.ts +20 -0
  423. package/dist/types/lib/eslint/recommended.d.ts +20 -0
  424. package/dist/types/testing/github.d.ts +11 -0
  425. package/dist/types/testing/helpers.d.ts +21 -3
  426. package/dist/types/testing/index.d.ts +2 -0
  427. package/dist/types/testing/sample-config.d.ts +4 -0
  428. package/package.json +35 -30
  429. package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +0 -35
  430. /package/dist/jdl/converters/{types.js → parsed-jdl-to-jdl-object/types.js} +0 -0
package/README.md CHANGED
@@ -18,10 +18,9 @@ We are honored by any contributions you may have small or large. Please refer to
18
18
 
19
19
  The following Java and Node combinations are tested and verified by GitHub Actions:
20
20
 
21
- | Java | Node | Status |
22
- | ---- | ---- | ------ |
23
- | 21 | 20 | ✅ |
24
- | 17 | 18 | ✅ |
21
+ | Java | Node | Status |
22
+ | -------- | ----- | ------ |
23
+ | 17/21/22 | 18/20 | ✅ |
25
24
 
26
25
  ## Sponsors
27
26
 
@@ -25,6 +25,7 @@ If you are interested in maintaining this sub-generator fill a feature request o
25
25
  const defaultCommands = {
26
26
  add: {
27
27
  desc: 'Add a feature to current project',
28
+ removed: removedV8,
28
29
  },
29
30
  app: {
30
31
  desc: '[Default] Create a new JHipster application based on the selected options',
@@ -134,6 +135,7 @@ const defaultCommands = {
134
135
  },
135
136
  page: {
136
137
  desc: 'Create a new page. (Supports vue clients)',
138
+ removed: removedV8,
137
139
  },
138
140
  'project-name': {
139
141
  desc: 'Configure project name (alpha)',
@@ -86,6 +86,11 @@ export default class EnvironmentBuilder {
86
86
  static async createDefaultBuilder(...args) {
87
87
  return EnvironmentBuilder.create(...args).prepare();
88
88
  }
89
+ static async run(args, generatorOptions = {}, envOptions = {}) {
90
+ const envBuilder = await EnvironmentBuilder.createDefaultBuilder(envOptions);
91
+ const env = envBuilder.getEnvironment();
92
+ await env.run(args, generatorOptions);
93
+ }
89
94
  /**
90
95
  * Class to manipulate yeoman environment for jhipster needs.
91
96
  * - Registers jhipster generators.
@@ -32,6 +32,7 @@ import { packageJson } from '../lib/index.js';
32
32
  import { packageNameToNamespace } from '../generators/base/support/index.js';
33
33
  import command from '../generators/base/command.js';
34
34
  import { GENERATOR_APP, GENERATOR_BOOTSTRAP, GENERATOR_JDL } from '../generators/generator-list.js';
35
+ import { extractArgumentsFromConfigs } from '../generators/base/internal/command.js';
35
36
  const __filename = fileURLToPath(import.meta.url);
36
37
  const __dirname = dirname(__filename);
37
38
  const { version: JHIPSTER_VERSION } = packageJson;
@@ -85,8 +86,13 @@ const buildAllDependencies = async (generatorNames, { env, blueprintNamespaces }
85
86
  const addCommandGeneratorOptions = async (command, generatorMeta, { root, blueprintOptionDescription, info } = {}) => {
86
87
  const generatorModule = await generatorMeta.importModule();
87
88
  if (generatorModule.command) {
88
- command.addJHipsterOptions(generatorModule.command.options, blueprintOptionDescription);
89
- command.addJHipsterConfigs(generatorModule.command.configs, blueprintOptionDescription);
89
+ const { options, configs } = generatorModule.command;
90
+ if (options) {
91
+ command.addJHipsterOptions(options, blueprintOptionDescription);
92
+ }
93
+ if (configs) {
94
+ command.addJHipsterConfigs(configs, blueprintOptionDescription);
95
+ }
90
96
  }
91
97
  try {
92
98
  if (root || !generatorModule.command || generatorModule.command.loadGeneratorOptions) {
@@ -105,7 +111,7 @@ const addCommandGeneratorOptions = async (command, generatorMeta, { root, bluepr
105
111
  const addCommandRootGeneratorOptions = async (command, generatorMeta, { usage = true } = {}) => {
106
112
  const generatorModule = await generatorMeta.importModule();
107
113
  if (generatorModule.command) {
108
- command.addJHipsterArguments(generatorModule.command.arguments);
114
+ command.addJHipsterArguments(generatorModule.command.arguments ?? extractArgumentsFromConfigs(generatorModule.command.configs));
109
115
  }
110
116
  else {
111
117
  const generator = await generatorMeta.instantiateHelp();
@@ -158,7 +164,7 @@ export const buildCommands = async ({ program, commands = {}, envBuilder, env, l
158
164
  Object.entries(commands).forEach(([cmdName, opts]) => {
159
165
  const { desc, blueprint, argument, options: commandOptions, alias, help: commandHelp, cliOnly, removed, useOptions = {} } = opts;
160
166
  program
161
- .command(cmdName, '', { isDefault: cmdName === defaultCommand })
167
+ .command(cmdName, '', { isDefault: cmdName === defaultCommand, hidden: Boolean(removed) })
162
168
  .description(desc + (blueprint ? chalk.yellow(` (blueprint: ${blueprint})`) : ''))
163
169
  .addCommandArguments(argument)
164
170
  .addCommandOptions(commandOptions)
@@ -1,6 +1,5 @@
1
1
  import { clientApplicationTemplatesBlock } from '../client/support/files.js';
2
2
  import { asWritingEntitiesTask } from '../base-application/support/task-type-inference.js';
3
- import { filterEntitiesAndPropertiesForClient, filterEntitiesForClient } from '../client/support/index.js';
4
3
  const entityModelFiles = clientApplicationTemplatesBlock({
5
4
  templates: ['entities/_entityFolder_/_entityFile_.model.ts', 'entities/_entityFolder_/_entityFile_.test-samples.ts'],
6
5
  });
@@ -69,8 +68,8 @@ export const userManagementFiles = {
69
68
  }),
70
69
  ],
71
70
  };
72
- export const writeEntitiesFiles = asWritingEntitiesTask(async function ({ application, entities }) {
73
- for (const entity of filterEntitiesAndPropertiesForClient(entities)) {
71
+ export const writeEntitiesFiles = asWritingEntitiesTask(async function ({ control, application, entities }) {
72
+ for (const entity of (control.filterEntitiesAndPropertiesForClient ?? (entities => entities))(entities)) {
74
73
  if (entity.builtInUser) {
75
74
  await this.writeFiles({
76
75
  sections: builtInFiles,
@@ -103,12 +102,12 @@ export const writeEntitiesFiles = asWritingEntitiesTask(async function ({ applic
103
102
  }
104
103
  });
105
104
  export async function postWriteEntitiesFiles(taskParam) {
106
- const { source, application } = taskParam;
107
- const entities = filterEntitiesForClient(taskParam.entities).filter(entity => !entity.builtInUser && !entity.embedded && !entity.entityClientModelOnly);
105
+ const { control, source, application } = taskParam;
106
+ const entities = (control.filterEntitiesForClient ?? (entities => entities))(taskParam.entities).filter(entity => !entity.builtInUser && !entity.embedded && !entity.entityClientModelOnly);
108
107
  source.addEntitiesToClient({ application, entities });
109
108
  }
110
- export function cleanupEntitiesFiles({ application, entities }) {
111
- for (const entity of filterEntitiesForClient(entities).filter(entity => !entity.builtIn)) {
109
+ export function cleanupEntitiesFiles({ control, application, entities }) {
110
+ for (const entity of (control.filterEntitiesForClient ?? (entities => entities))(entities).filter(entity => !entity.builtIn)) {
112
111
  const { entityFolderName, entityFileName, name: entityName } = entity;
113
112
  if (this.isJhipsterVersionLessThan('5.0.0')) {
114
113
  this.removeFile(`${application.clientSrcDir}app/entities/${entityName}/${entityName}.model.ts`);
@@ -1,53 +1,53 @@
1
1
  {
2
2
  "dependencies": {
3
- "@angular/common": "17.3.6",
4
- "@fortawesome/angular-fontawesome": "0.14.1",
3
+ "@angular/common": "18.0.4",
4
+ "@fortawesome/angular-fontawesome": "0.15.0",
5
5
  "@fortawesome/fontawesome-svg-core": "6.5.2",
6
6
  "@fortawesome/free-solid-svg-icons": "6.5.2",
7
- "@ng-bootstrap/ng-bootstrap": "16.0.0",
7
+ "@ng-bootstrap/ng-bootstrap": "17.0.0",
8
8
  "@ngx-translate/core": "15.0.0",
9
9
  "@ngx-translate/http-loader": "8.0.0",
10
10
  "@popperjs/core": "2.11.8",
11
11
  "@stomp/rx-stomp": "2.0.0",
12
12
  "bootstrap": "5.3.3",
13
13
  "bootswatch": "5.3.3",
14
- "ngx-cookie-service": "17.1.0",
15
- "ngx-infinite-scroll": "17.0.0",
14
+ "ngx-cookie-service": "18.0.0",
15
+ "ngx-infinite-scroll": "18.0.0",
16
16
  "rxjs": "7.8.1",
17
17
  "sockjs-client": "1.6.1",
18
- "tslib": "2.6.2",
19
- "zone.js": "0.14.4"
18
+ "tslib": "2.6.3",
19
+ "zone.js": "0.14.7"
20
20
  },
21
21
  "devDependencies": {
22
- "@angular-architects/module-federation": "17.0.8",
23
- "@angular-architects/module-federation-runtime": "17.0.8",
24
- "@angular-builders/custom-webpack": "17.0.2",
25
- "@angular-builders/jest": "17.0.3",
26
- "@angular-eslint/eslint-plugin": "17.3.0",
27
- "@angular/cli": "17.3.6",
22
+ "@angular-architects/module-federation": "18.0.4",
23
+ "@angular-architects/module-federation-runtime": "18.0.4",
24
+ "@angular-builders/custom-webpack": "18.0.0",
25
+ "@angular-builders/jest": "18.0.0",
26
+ "@angular-eslint/eslint-plugin": "18.0.1",
27
+ "@angular/cli": "18.0.5",
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.7.1",
31
+ "@typescript-eslint/eslint-plugin": "7.13.1",
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
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.1",
44
44
  "jest-sonar": "0.2.16",
45
45
  "merge-jsons-webpack-plugin": "2.0.1",
46
- "postcss-rtlcss": "5.1.2",
47
- "rimraf": "5.0.5",
48
- "ts-jest": "29.1.2",
46
+ "postcss-rtlcss": "5.3.0",
47
+ "rimraf": "5.0.7",
48
+ "ts-jest": "29.1.5",
49
49
  "typescript": "5.4.5",
50
- "webpack": "5.91.0",
50
+ "webpack": "5.92.1",
51
51
  "webpack-bundle-analyzer": "4.10.2",
52
52
  "webpack-merge": "5.10.0",
53
53
  "webpack-notifier": "1.15.0"
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  import { TestBed, waitForAsync, tick, fakeAsync, inject } from '@angular/core/testing';
20
- import { HttpClientTestingModule } from '@angular/common/http/testing';
20
+ import { provideHttpClient } from '@angular/common/http';
21
21
  import { ActivatedRoute } from '@angular/router';
22
22
  import { of, throwError } from 'rxjs';
23
23
 
@@ -30,8 +30,9 @@ describe('ActivateComponent', () => {
30
30
  beforeEach(
31
31
  waitForAsync(() => {
32
32
  TestBed.configureTestingModule({
33
- imports: [HttpClientTestingModule, ActivateComponent],
33
+ imports: [ActivateComponent],
34
34
  providers: [
35
+ provideHttpClient(),
35
36
  {
36
37
  provide: ActivatedRoute,
37
38
  useValue: { queryParams: of({ key: 'ABC123' }) },
@@ -76,7 +77,7 @@ describe('ActivateComponent', () => {
76
77
  it('should set set error to true upon activation failure', inject(
77
78
  [ActivateService],
78
79
  fakeAsync((service: ActivateService) => {
79
- jest.spyOn(service, 'get').mockReturnValue(throwError('ERROR'));
80
+ jest.spyOn(service, 'get').mockReturnValue(throwError(() => {}));
80
81
 
81
82
  comp.ngOnInit();
82
83
  tick();
@@ -17,7 +17,8 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  import { TestBed } from '@angular/core/testing';
20
- import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
20
+ import { provideHttpClientTesting, HttpTestingController } from '@angular/common/http/testing';
21
+ import { provideHttpClient } from '@angular/common/http';
21
22
 
22
23
  import { ActivateService } from './activate.service';
23
24
  import { ApplicationConfigService } from 'app/core/config/application-config.service';
@@ -29,7 +30,7 @@ describe('ActivateService Service', () => {
29
30
 
30
31
  beforeEach(() => {
31
32
  TestBed.configureTestingModule({
32
- imports: [HttpClientTestingModule],
33
+ providers: [provideHttpClient(), provideHttpClientTesting()],
33
34
  });
34
35
 
35
36
  service = TestBed.inject(ActivateService);
@@ -19,8 +19,7 @@
19
19
  jest.mock('app/core/auth/account.service');
20
20
 
21
21
  import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
22
- import { HttpResponse } from '@angular/common/http';
23
- import { HttpClientTestingModule } from '@angular/common/http/testing';
22
+ import { HttpResponse, provideHttpClient } from '@angular/common/http';
24
23
  import { FormBuilder } from '@angular/forms';
25
24
  import { of, throwError } from 'rxjs';
26
25
 
@@ -37,8 +36,8 @@ describe('PasswordComponent', () => {
37
36
  beforeEach(
38
37
  waitForAsync(() => {
39
38
  TestBed.configureTestingModule({
40
- imports: [HttpClientTestingModule, PasswordComponent],
41
- providers: [FormBuilder, AccountService],
39
+ imports: [PasswordComponent],
40
+ providers: [FormBuilder, AccountService, provideHttpClient()],
42
41
  })
43
42
  .overrideTemplate(PasswordComponent, '')
44
43
  .compileComponents();
@@ -106,7 +105,7 @@ describe('PasswordComponent', () => {
106
105
 
107
106
  it('should notify of error if change password fails', () => {
108
107
  // GIVEN
109
- jest.spyOn(service, 'save').mockReturnValue(throwError('ERROR'));
108
+ jest.spyOn(service, 'save').mockReturnValue(throwError(() => {}));
110
109
  comp.passwordForm.patchValue({
111
110
  newPassword: 'myPassword',
112
111
  confirmPassword: 'myPassword',
@@ -1,5 +1,6 @@
1
1
  import { TestBed } from '@angular/core/testing';
2
- import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
2
+ import { provideHttpClientTesting, HttpTestingController } from '@angular/common/http/testing';
3
+ import { provideHttpClient } from '@angular/common/http';
3
4
 
4
5
  import { PasswordService } from './password.service';
5
6
  import { ApplicationConfigService } from 'app/core/config/application-config.service';
@@ -11,7 +12,7 @@ describe('Password Service', () => {
11
12
 
12
13
  beforeEach(() => {
13
14
  TestBed.configureTestingModule({
14
- imports: [HttpClientTestingModule],
15
+ providers: [provideHttpClient(), provideHttpClientTesting()],
15
16
  });
16
17
 
17
18
  service = TestBed.inject(PasswordService);
@@ -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 { ElementRef } from '@angular/core';
19
+ import { ElementRef, signal } from '@angular/core';
20
20
  import { ComponentFixture, TestBed, inject, tick, fakeAsync } from '@angular/core/testing';
21
- import { HttpClientTestingModule } from '@angular/common/http/testing';
21
+ import { provideHttpClient } from '@angular/common/http';
22
22
  import { FormBuilder } from '@angular/forms';
23
23
  import { ActivatedRoute } from '@angular/router';
24
24
  import { of, throwError } from 'rxjs';
@@ -32,8 +32,9 @@ describe('PasswordResetFinishComponent', () => {
32
32
 
33
33
  beforeEach(() => {
34
34
  fixture = TestBed.configureTestingModule({
35
- imports: [HttpClientTestingModule, PasswordResetFinishComponent],
35
+ imports: [PasswordResetFinishComponent],
36
36
  providers: [
37
+ provideHttpClient(),
37
38
  FormBuilder,
38
39
  {
39
40
  provide: ActivatedRoute,
@@ -60,7 +61,7 @@ describe('PasswordResetFinishComponent', () => {
60
61
  const node = {
61
62
  focus: jest.fn(),
62
63
  };
63
- comp.newPassword = new ElementRef(node);
64
+ comp.newPassword = signal<ElementRef>(new ElementRef(node));
64
65
 
65
66
  comp.ngAfterViewInit();
66
67
 
@@ -98,7 +99,7 @@ describe('PasswordResetFinishComponent', () => {
98
99
  it('should notify of generic error', inject(
99
100
  [PasswordResetFinishService],
100
101
  fakeAsync((service: PasswordResetFinishService) => {
101
- jest.spyOn(service, 'save').mockReturnValue(throwError('ERROR'));
102
+ jest.spyOn(service, 'save').mockReturnValue(throwError(() => {}));
102
103
  comp.passwordForm.patchValue({
103
104
  newPassword: 'password',
104
105
  confirmPassword: 'password',
@@ -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 {
@@ -17,7 +17,8 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  import { TestBed } from '@angular/core/testing';
20
- import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
20
+ import { provideHttpClientTesting, HttpTestingController } from '@angular/common/http/testing';
21
+ import { provideHttpClient } from '@angular/common/http';
21
22
 
22
23
  import { PasswordResetFinishService } from './password-reset-finish.service';
23
24
  import { ApplicationConfigService } from 'app/core/config/application-config.service';
@@ -29,7 +30,7 @@ describe('PasswordResetFinish Service', () => {
29
30
 
30
31
  beforeEach(() => {
31
32
  TestBed.configureTestingModule({
32
- imports: [HttpClientTestingModule],
33
+ providers: [provideHttpClient(), provideHttpClientTesting()],
33
34
  });
34
35
 
35
36
  service = TestBed.inject(PasswordResetFinishService);
@@ -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 { ElementRef } from '@angular/core';
19
+ import { ElementRef, signal } from '@angular/core';
20
20
  import { ComponentFixture, TestBed, inject } from '@angular/core/testing';
21
- import { HttpClientTestingModule } from '@angular/common/http/testing';
21
+ import { provideHttpClient } from '@angular/common/http';
22
22
  import { FormBuilder } from '@angular/forms';
23
23
  import { of, throwError } from 'rxjs';
24
24
 
@@ -31,8 +31,8 @@ describe('PasswordResetInitComponent', () => {
31
31
 
32
32
  beforeEach(() => {
33
33
  fixture = TestBed.configureTestingModule({
34
- imports: [HttpClientTestingModule, PasswordResetInitComponent],
35
- providers: [FormBuilder],
34
+ imports: [PasswordResetInitComponent],
35
+ providers: [provideHttpClient(), FormBuilder],
36
36
  })
37
37
  .overrideTemplate(PasswordResetInitComponent, '')
38
38
  .createComponent(PasswordResetInitComponent);
@@ -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 {
@@ -17,7 +17,8 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  import { TestBed } from '@angular/core/testing';
20
- import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
20
+ import { provideHttpClientTesting, HttpTestingController } from '@angular/common/http/testing';
21
+ import { provideHttpClient } from '@angular/common/http';
21
22
 
22
23
  import { PasswordResetInitService } from './password-reset-init.service';
23
24
  import { ApplicationConfigService } from 'app/core/config/application-config.service';
@@ -29,7 +30,7 @@ describe('PasswordResetInit Service', () => {
29
30
 
30
31
  beforeEach(() => {
31
32
  TestBed.configureTestingModule({
32
- imports: [HttpClientTestingModule],
33
+ providers: [provideHttpClient(), provideHttpClientTesting()],
33
34
  });
34
35
 
35
36
  service = TestBed.inject(PasswordResetInitService);
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  import { ComponentFixture, TestBed, waitForAsync, inject, tick, fakeAsync } from '@angular/core/testing';
20
- import { HttpClientTestingModule } from '@angular/common/http/testing';
20
+ import { provideHttpClient } from '@angular/common/http';
21
21
  import { FormBuilder } from '@angular/forms';
22
22
  import { of, throwError } from 'rxjs';
23
23
  <%_ if (enableTranslation) { _%>
@@ -40,10 +40,9 @@ describe('RegisterComponent', () => {
40
40
  <%_ if (enableTranslation) { _%>
41
41
  TranslateModule.forRoot(),
42
42
  <%_ } _%>
43
- HttpClientTestingModule,
44
43
  RegisterComponent,
45
44
  ],
46
- providers: [FormBuilder],
45
+ providers: [provideHttpClient(), FormBuilder],
47
46
  })
48
47
  .overrideTemplate(RegisterComponent, '')
49
48
  .compileComponents();
@@ -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 {
@@ -17,7 +17,8 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  import { TestBed } from '@angular/core/testing';
20
- import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
20
+ import { provideHttpClientTesting, HttpTestingController } from '@angular/common/http/testing';
21
+ import { provideHttpClient } from '@angular/common/http';
21
22
 
22
23
  import { RegisterService } from './register.service';
23
24
  import { ApplicationConfigService } from 'app/core/config/application-config.service';
@@ -30,7 +31,7 @@ describe('RegisterService Service', () => {
30
31
 
31
32
  beforeEach(() => {
32
33
  TestBed.configureTestingModule({
33
- imports: [HttpClientTestingModule],
34
+ providers: [provideHttpClient(), provideHttpClientTesting()],
34
35
  });
35
36
 
36
37
  service = TestBed.inject(RegisterService);
@@ -19,7 +19,7 @@
19
19
  jest.mock('app/core/auth/account.service');
20
20
 
21
21
  import { ComponentFixture, TestBed, inject, tick, fakeAsync } from '@angular/core/testing';
22
- import { HttpClientTestingModule } from '@angular/common/http/testing';
22
+ import { provideHttpClient } from '@angular/common/http';
23
23
  import { of, throwError } from 'rxjs';
24
24
 
25
25
  import { AccountService } from 'app/core/auth/account.service';
@@ -46,8 +46,8 @@ describe('SessionsComponent', () => {
46
46
 
47
47
  beforeEach(() => {
48
48
  fixture = TestBed.configureTestingModule({
49
- imports: [HttpClientTestingModule, SessionsComponent],
50
- providers: [AccountService],
49
+ imports: [SessionsComponent],
50
+ providers: [provideHttpClient(), AccountService],
51
51
  })
52
52
  .overrideTemplate(SessionsComponent, '')
53
53
  .createComponent(SessionsComponent);
@@ -19,7 +19,7 @@
19
19
  jest.mock('app/core/auth/account.service');
20
20
 
21
21
  import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
22
- import { HttpClientTestingModule } from '@angular/common/http/testing';
22
+ import { provideHttpClient } from '@angular/common/http';
23
23
  import { FormBuilder } from '@angular/forms';
24
24
  import { throwError, of } from 'rxjs';
25
25
  <%_ if (enableTranslation) { _%>
@@ -53,10 +53,9 @@ describe('SettingsComponent', () => {
53
53
  <%_ if (enableTranslation) { _%>
54
54
  TranslateModule.forRoot(),
55
55
  <%_ } _%>
56
- HttpClientTestingModule,
57
56
  SettingsComponent,
58
57
  ],
59
- providers: [FormBuilder, AccountService],
58
+ providers: [provideHttpClient(), FormBuilder, AccountService],
60
59
  })
61
60
  .overrideTemplate(SettingsComponent, '')
62
61
  .compileComponents();
@@ -108,7 +107,7 @@ describe('SettingsComponent', () => {
108
107
 
109
108
  it('should notify of error upon failed save', () => {
110
109
  // GIVEN
111
- mockAccountService.save = jest.fn(() => throwError('ERROR'));
110
+ mockAccountService.save = jest.fn(() => throwError(() => {}));
112
111
 
113
112
  // WHEN
114
113
  comp.ngOnInit();
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
20
- import { HttpClientTestingModule } from '@angular/common/http/testing';
20
+ import { provideHttpClient } from '@angular/common/http';
21
21
  import { of } from 'rxjs';
22
22
 
23
23
  import ConfigurationComponent from './configuration.component';
@@ -32,8 +32,8 @@ describe('ConfigurationComponent', () => {
32
32
  beforeEach(
33
33
  waitForAsync(() => {
34
34
  TestBed.configureTestingModule({
35
- imports: [HttpClientTestingModule, ConfigurationComponent],
36
- providers: [ConfigurationService],
35
+ imports: [ConfigurationComponent],
36
+ providers: [provideHttpClient(), ConfigurationService],
37
37
  })
38
38
  .overrideTemplate(ConfigurationComponent, '')
39
39
  .compileComponents();
@@ -17,7 +17,8 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  import { TestBed } from '@angular/core/testing';
20
- import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
20
+ import { provideHttpClientTesting, HttpTestingController } from '@angular/common/http/testing';
21
+ import { provideHttpClient } from '@angular/common/http';
21
22
 
22
23
  import { ConfigurationService } from './configuration.service';
23
24
  import { Bean, ConfigProps, Env, PropertySource } from './configuration.model';
@@ -29,7 +30,7 @@ describe('Logs Service', () => {
29
30
 
30
31
  beforeEach(() => {
31
32
  TestBed.configureTestingModule({
32
- imports: [HttpClientTestingModule],
33
+ providers: [provideHttpClient(), provideHttpClientTesting()],
33
34
  });
34
35
 
35
36
  expectedResult = null;