generator-jhipster 7.7.0 → 7.9.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 (603) hide show
  1. package/README.md +2 -3
  2. package/cli/environment-builder.js +3 -1
  3. package/cli/import-jdl.js +61 -35
  4. package/cli/jdl.js +5 -4
  5. package/cli/jhipster-command.js +1 -1
  6. package/cli/jhipster.js +0 -0
  7. package/cli/program.js +5 -3
  8. package/generators/app/index.js +21 -0
  9. package/generators/app/prompts.js +60 -12
  10. package/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +3 -3
  11. package/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +3 -3
  12. package/generators/bootstrap/index.js +1 -0
  13. package/generators/bootstrap-application/generator.mjs +1 -0
  14. package/generators/ci-cd/index.js +1 -1
  15. package/generators/ci-cd/templates/.gitlab-ci.yml.ejs +2 -3
  16. package/generators/ci-cd/templates/github-actions.yml.ejs +4 -4
  17. package/generators/client/files-angular.js +72 -89
  18. package/generators/client/files-common.js +1 -2
  19. package/generators/client/files-react.js +83 -71
  20. package/generators/client/files-vue.js +8 -54
  21. package/generators/client/index.js +19 -12
  22. package/generators/client/needle-api/needle-client-angular.js +1 -4
  23. package/generators/client/needle-api/needle-client-react.js +11 -8
  24. package/generators/client/prompts.js +1 -0
  25. package/generators/client/templates/angular/.eslintrc.json.ejs +10 -1
  26. package/generators/client/templates/angular/angular.json.ejs +1 -10
  27. package/generators/client/templates/angular/jest.conf.js.ejs +4 -2
  28. package/generators/client/templates/angular/package.json +33 -34
  29. package/generators/client/templates/angular/package.json.ejs +24 -23
  30. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -4
  31. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
  32. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.html.ejs +15 -15
  33. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.ts.ejs +17 -11
  34. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +16 -16
  35. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +14 -9
  36. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +9 -9
  37. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.html.ejs +27 -27
  38. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.ts.ejs +28 -13
  39. package/generators/client/templates/angular/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -7
  40. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.html.ejs +19 -19
  41. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +1 -1
  42. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.ts.ejs +35 -37
  43. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +4 -4
  44. package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -7
  45. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.html.ejs +6 -6
  46. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.module.ts.ejs +0 -1
  47. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +3 -3
  48. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
  49. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +1 -1
  50. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
  51. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +10 -10
  52. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +10 -10
  53. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +9 -9
  54. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
  55. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +5 -5
  56. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
  57. package/generators/client/templates/angular/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +5 -5
  58. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -4
  59. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +14 -14
  60. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -16
  61. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +3 -2
  62. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +133 -138
  63. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +22 -24
  64. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +40 -49
  65. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.model.ts.ejs +2 -2
  66. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.module.ts.ejs +0 -1
  67. package/generators/client/templates/angular/src/main/webapp/app/config/navigation.constants.ts.ejs +23 -0
  68. package/generators/client/templates/angular/src/main/webapp/app/config/pagination.constants.ts.ejs +2 -3
  69. package/generators/client/templates/angular/src/main/webapp/app/core/request/request-util.ts.ejs +1 -1
  70. package/generators/client/templates/angular/src/main/webapp/app/core/util/data-util.service.ts.ejs +1 -1
  71. package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
  72. package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.model.ts.ejs +2 -2
  73. package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.service.ts.ejs +7 -3
  74. package/generators/client/templates/angular/src/main/webapp/app/home/home.component.html.ejs +14 -14
  75. package/generators/client/templates/angular/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
  76. package/generators/client/templates/angular/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
  77. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
  78. package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  79. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.html.ejs +9 -9
  80. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.ts.ejs +16 -27
  81. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.html.ejs +10 -0
  82. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.ts.ejs +23 -0
  83. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +40 -0
  84. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.ts.ejs +95 -0
  85. package/generators/client/templates/angular/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
  86. package/generators/client/templates/angular/src/main/webapp/app/shared/shared.module.ts.ejs +3 -0
  87. package/generators/client/templates/angular/src/main/webapp/app/shared/sort/sort.service.ts.ejs +31 -0
  88. package/generators/client/templates/angular/src/main/webapp/declarations.d.ts.ejs +3 -8
  89. package/generators/client/templates/angular/tsconfig.json.ejs +6 -0
  90. package/generators/client/templates/angular/tsconfig.spec.json.ejs +1 -1
  91. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +17 -2
  92. package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +1 -1
  93. package/generators/client/templates/common/package.json +8 -7
  94. package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +2 -0
  95. package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +2 -3
  96. package/generators/client/templates/react/.eslintrc.json.ejs +10 -1
  97. package/generators/client/templates/react/jest.conf.js.ejs +4 -2
  98. package/generators/client/templates/react/package.json +58 -59
  99. package/generators/client/templates/react/package.json.ejs +4 -3
  100. package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +1 -1
  101. package/generators/client/templates/react/src/main/webapp/app/app.tsx.ejs +3 -3
  102. package/generators/client/templates/react/src/main/webapp/app/config/store.ts.ejs +53 -6
  103. package/generators/client/templates/react/src/main/webapp/app/config/translation-middleware.ts.ejs +58 -0
  104. package/generators/client/templates/react/src/main/webapp/app/entities/menu.tsx.ejs +45 -0
  105. package/generators/client/templates/react/src/main/webapp/app/entities/reducers.ts.ejs +25 -0
  106. package/generators/client/templates/react/src/main/webapp/app/entities/routes.tsx.ejs +49 -0
  107. package/generators/client/templates/react/src/main/webapp/app/index.tsx.ejs +7 -7
  108. package/generators/client/templates/react/src/main/webapp/app/main.tsx.ejs +19 -0
  109. package/generators/client/templates/react/src/main/webapp/app/modules/account/activate/activate.tsx.ejs +8 -4
  110. package/generators/client/templates/react/src/main/webapp/app/modules/account/index.tsx.ejs +9 -6
  111. package/generators/client/templates/react/src/main/webapp/app/modules/account/password/password.tsx.ejs +1 -0
  112. package/generators/client/templates/react/src/main/webapp/app/modules/account/password-reset/finish/password-reset-finish.tsx.ejs +8 -5
  113. package/generators/client/templates/react/src/main/webapp/app/modules/administration/administration.reducer.ts.ejs +6 -7
  114. package/generators/client/templates/react/src/main/webapp/app/modules/administration/health/health-modal.tsx.ejs +3 -2
  115. package/generators/client/templates/react/src/main/webapp/app/modules/administration/health/health.tsx.ejs +4 -4
  116. package/generators/client/templates/react/src/main/webapp/app/modules/administration/index.tsx.ejs +14 -11
  117. package/generators/client/templates/react/src/main/webapp/app/modules/administration/logs/logs.tsx.ejs +1 -1
  118. package/generators/client/templates/react/src/main/webapp/app/modules/administration/metrics/metrics.tsx.ejs +8 -2
  119. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/index.tsx.ejs +13 -13
  120. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-delete-dialog.tsx.ejs +7 -4
  121. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-detail.tsx.ejs +5 -3
  122. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-update.tsx.ejs +10 -6
  123. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +20 -27
  124. package/generators/client/templates/react/src/main/webapp/app/modules/login/login-modal.tsx.ejs +5 -1
  125. package/generators/client/templates/react/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +6 -3
  126. package/generators/client/templates/react/src/main/webapp/app/modules/login/login.tsx.ejs +6 -5
  127. package/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs +70 -25
  128. package/generators/client/templates/react/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +30 -27
  129. package/generators/client/templates/react/src/main/webapp/app/shared/auth/private-route.tsx.ejs +35 -34
  130. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-routes.spec.tsx.ejs +55 -0
  131. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-routes.tsx.ejs +21 -0
  132. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary.spec.tsx.ejs +1 -1
  133. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary.tsx.ejs +1 -1
  134. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-loading.tsx.ejs +13 -0
  135. package/generators/client/templates/react/src/main/webapp/app/shared/error/page-not-found.tsx.ejs +9 -13
  136. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.spec.tsx.ejs +3 -5
  137. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +5 -8
  138. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/entities.tsx.ejs +35 -7
  139. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/menu-item.tsx.ejs +12 -11
  140. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/index.ts.ejs +9 -2
  141. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +9 -3
  142. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.ts.ejs +21 -5
  143. package/generators/client/templates/react/src/main/webapp/app/typings.d.ts.ejs +15 -0
  144. package/generators/client/templates/react/src/main/webapp/microfrontends/entities-menu.tsx.ejs +3 -0
  145. package/generators/client/templates/react/src/main/webapp/microfrontends/entities-routes.tsx.ejs +3 -0
  146. package/generators/client/templates/react/tsconfig.json.ejs +5 -7
  147. package/generators/client/templates/react/tsconfig.test.json.ejs +10 -1
  148. package/generators/client/templates/react/webpack/webpack.common.js.ejs +12 -15
  149. package/generators/client/templates/react/webpack/webpack.dev.js.ejs +7 -8
  150. package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +99 -0
  151. package/generators/client/templates/react/webpack/webpack.prod.js.ejs +31 -21
  152. package/generators/client/templates/vue/.eslintrc.js.ejs +10 -1
  153. package/generators/client/templates/vue/package.json +42 -42
  154. package/generators/client/templates/vue/package.json.ejs +4 -4
  155. package/generators/client/templates/vue/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +2 -2
  156. package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.vue.ejs +1 -1
  157. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +2 -2
  158. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +6 -3
  159. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +2 -2
  160. package/generators/client/templates/vue/src/main/webapp/app/shared/alert/alert.service.ts.ejs +1 -1
  161. package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +1 -1
  162. package/generators/client/templates/vue/src/main/webapp/app/shared/date/filters.ts.ejs +0 -6
  163. package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +7 -2
  164. package/generators/client/templates/vue/src/test/javascript/spec/app/account/register/register.component.spec.ts.ejs +1 -1
  165. package/generators/client/templates/vue/tsconfig.json.ejs +1 -4
  166. package/generators/client/templates/vue/tsconfig.spec.json.ejs +2 -2
  167. package/generators/client/templates/vue/webpack/webpack.common.js.ejs +6 -2
  168. package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +4 -0
  169. package/generators/client/templates/vue/webpack/webpack.prod.js.ejs +8 -1
  170. package/generators/client/transform-angular.cjs +117 -0
  171. package/generators/client/transform-react.cjs +126 -0
  172. package/generators/client/transform-vue.cjs +42 -0
  173. package/generators/common/files.js +2 -9
  174. package/generators/common/templates/.husky/pre-commit.ejs +0 -0
  175. package/generators/common/templates/README.md.jhi.ejs +21 -5
  176. package/generators/common/templates/package.json +3 -3
  177. package/generators/cypress/files.js +34 -22
  178. package/generators/cypress/index.js +42 -19
  179. package/generators/cypress/templates/cypress-audits.config.ts.ejs +28 -0
  180. package/generators/cypress/templates/cypress.config.ts.ejs +57 -0
  181. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/login-page.spec.ts.ejs → e2e/account/login-page.cy.ts.ejs} +0 -0
  182. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/password-page.spec.ts.ejs → e2e/account/password-page.cy.ts.ejs} +0 -0
  183. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/register-page.spec.ts.ejs → e2e/account/register-page.cy.ts.ejs} +0 -0
  184. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/reset-password-page.spec.ts.ejs → e2e/account/reset-password-page.cy.ts.ejs} +0 -0
  185. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/settings-page.spec.ts.ejs → e2e/account/settings-page.cy.ts.ejs} +0 -0
  186. package/generators/cypress/templates/src/test/javascript/cypress/{integration/administration/administration.spec.ts.ejs → e2e/administration/administration.cy.ts.ejs} +1 -1
  187. package/generators/cypress/templates/src/test/javascript/cypress/{integration → e2e}/lighthouse.audits.ts.ejs +0 -0
  188. package/generators/cypress/templates/src/test/javascript/cypress/plugins/global.d.ts.ejs +25 -0
  189. package/generators/cypress/templates/src/test/javascript/cypress/plugins/index.ts.ejs +13 -14
  190. package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +4 -4
  191. package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +1 -1
  192. package/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +8 -8
  193. package/generators/cypress/templates/src/test/javascript/cypress/tsconfig.json.ejs +8 -5
  194. package/generators/database-changelog-liquibase/files.js +1 -1
  195. package/generators/database-changelog-liquibase/index.js +3 -0
  196. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +1 -1
  197. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs +1 -1
  198. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +1 -1
  199. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +2 -2
  200. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_migrate.xml.ejs +1 -1
  201. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +2 -2
  202. package/generators/docker-base.js +6 -3
  203. package/generators/docker-compose/files.js +5 -2
  204. package/generators/docker-compose/index.js +18 -25
  205. package/generators/docker-compose/templates/README-DOCKER-COMPOSE.md.ejs +1 -1
  206. package/generators/docker-compose/templates/docker-compose.yml.ejs +10 -8
  207. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +62 -4
  208. package/generators/docker-prompts.js +1 -2
  209. package/generators/docker-utils.js +0 -1
  210. package/generators/entity/index.js +39 -34
  211. package/generators/entity/prompts.js +1 -52
  212. package/generators/entity-client/files-angular.cjs +169 -0
  213. package/generators/entity-client/files-cypress.cjs +52 -0
  214. package/generators/entity-client/files-react.cjs +113 -0
  215. package/generators/entity-client/files-vue.cjs +140 -0
  216. package/generators/entity-client/files.js +10 -381
  217. package/generators/entity-client/index.js +126 -17
  218. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.html.ejs +4 -5
  219. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.ts.ejs +2 -1
  220. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +12 -11
  221. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +0 -5
  222. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.model.ts.ejs +18 -25
  223. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.test-samples.ts.ejs +45 -0
  224. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +45 -37
  225. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +47 -28
  226. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +292 -94
  227. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/infinite-scroll-template.ejs +5 -106
  228. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/pagination-template.ejs +2 -82
  229. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +5 -5
  230. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.ts.ejs +5 -5
  231. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing.module.ts.ejs +2 -3
  232. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +89 -175
  233. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +69 -44
  234. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.spec.ts.ejs +111 -0
  235. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.ts.ejs +263 -0
  236. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +99 -120
  237. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +47 -71
  238. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +79 -195
  239. package/generators/entity-client/templates/{common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs → cypress/src/test/javascript/cypress/e2e/entity/entity.cy.ts.ejs} +27 -17
  240. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +12 -7
  241. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-detail.tsx.ejs +10 -7
  242. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +29 -23
  243. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs +2 -2
  244. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +32 -30
  245. package/generators/entity-client/templates/react/src/main/webapp/app/entities/index.tsx.ejs +13 -13
  246. package/generators/entity-client/templates/react/src/main/webapp/app/entities/react_validators.ejs +25 -32
  247. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +2 -2
  248. package/generators/entity-i18n/templates/i18n/entity_fr.json.ejs +1 -1
  249. package/generators/entity-server/cleanup.js +41 -0
  250. package/generators/entity-server/files.js +148 -63
  251. package/generators/entity-server/index.js +30 -25
  252. package/generators/entity-server/templates/couchbase/src/main/java/package/domain/Entity.java.jhi.spring_data_couchbase.ejs +1 -1
  253. package/generators/entity-server/templates/couchbase/src/main/java/package/repository/EntityRepository.java.ejs +31 -8
  254. package/generators/entity-server/templates/partials/save_template.ejs +1 -1
  255. package/generators/entity-server/templates/partials/update_template.ejs +77 -0
  256. package/generators/entity-server/templates/reactive/partials/save_template.ejs +1 -1
  257. package/generators/entity-server/templates/reactive/partials/update_template.ejs +41 -0
  258. package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +13 -7
  259. package/generators/entity-server/templates/src/main/java/package/common/get_template.ejs +1 -1
  260. package/generators/entity-server/templates/src/main/java/package/common/inject_template.ejs +13 -4
  261. package/generators/entity-server/templates/src/main/java/package/common/patch_template.ejs +2 -2
  262. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +2 -1
  263. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.elastic_search.ejs +17 -0
  264. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.javax_lifecycle_events.ejs +31 -0
  265. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_cassandra.ejs +3 -1
  266. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_persistable.ejs +54 -0
  267. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_reactive.ejs +1 -1
  268. package/generators/entity-server/templates/src/main/java/package/domain/EntityCallback.java.ejs +43 -0
  269. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +12 -7
  270. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +23 -27
  271. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationships.java.ejs +2 -2
  272. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationshipsImpl.java.ejs +17 -9
  273. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +18 -26
  274. package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +2 -2
  275. package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +2 -2
  276. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +50 -26
  277. package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +3 -3
  278. package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +10 -2
  279. package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +22 -6
  280. package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +61 -90
  281. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +8 -9
  282. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +165 -144
  283. package/generators/gae/index.js +1 -1
  284. package/generators/generate-blueprint/constants.mjs +22 -2
  285. package/generators/generate-blueprint/esm.mjs +0 -0
  286. package/generators/generate-blueprint/generator.mjs +25 -6
  287. package/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +5 -3
  288. package/generators/generate-blueprint/templates/cli/cli.mjs.ejs +0 -0
  289. package/generators/generate-blueprint/templates/cli/commands.cjs.ejs +2 -1
  290. package/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +6 -5
  291. package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +10 -1
  292. package/generators/generate-blueprint/templates/generators/generator/templates/template-file.ejs +0 -0
  293. package/generators/generator-base-blueprint.js +19 -20
  294. package/generators/generator-base-private.js +117 -65
  295. package/generators/generator-base.js +270 -91
  296. package/generators/generator-constants.js +119 -67
  297. package/generators/generator-defaults.js +1 -0
  298. package/generators/generator-transforms.js +0 -1
  299. package/generators/gradle/constants.cjs +1 -1
  300. package/generators/heroku/index.js +5 -4
  301. package/generators/heroku/templates/application-heroku.yml.ejs +1 -2
  302. package/generators/heroku/templates/heroku.gradle.ejs +28 -1
  303. package/generators/heroku/templates/pom-profile.xml.ejs +29 -0
  304. package/generators/init/templates/.husky/pre-commit +0 -0
  305. package/generators/java/index.cjs +2 -2
  306. package/generators/kubernetes/templates/db/couchbase.yml.ejs +1 -2
  307. package/generators/kubernetes/templates/db/mongodb.yml.ejs +1 -2
  308. package/generators/kubernetes/templates/ingress.yml.ejs +11 -4
  309. package/generators/kubernetes/templates/kubectl-apply.sh.ejs +0 -0
  310. package/generators/kubernetes/templates/monitoring/jhipster-grafana.yml.ejs +6 -2
  311. package/generators/kubernetes/templates/registry/consul.yml.ejs +1 -2
  312. package/generators/kubernetes/templates/registry/jhipster-registry.yml.ejs +1 -2
  313. package/generators/kubernetes-knative/templates/kubectl-apply.sh.ejs +0 -0
  314. package/generators/languages/templates/src/main/webapp/i18n/al/global.json.ejs +7 -1
  315. package/generators/languages/templates/src/main/webapp/i18n/ar-ly/global.json.ejs +7 -1
  316. package/generators/languages/templates/src/main/webapp/i18n/bg/global.json.ejs +7 -1
  317. package/generators/languages/templates/src/main/webapp/i18n/bn/global.json.ejs +7 -1
  318. package/generators/languages/templates/src/main/webapp/i18n/by/global.json.ejs +7 -1
  319. package/generators/languages/templates/src/main/webapp/i18n/ca/global.json.ejs +7 -1
  320. package/generators/languages/templates/src/main/webapp/i18n/cs/global.json.ejs +7 -1
  321. package/generators/languages/templates/src/main/webapp/i18n/da/global.json.ejs +7 -1
  322. package/generators/languages/templates/src/main/webapp/i18n/de/global.json.ejs +7 -1
  323. package/generators/languages/templates/src/main/webapp/i18n/el/global.json.ejs +7 -1
  324. package/generators/languages/templates/src/main/webapp/i18n/en/global.json.ejs +7 -1
  325. package/generators/languages/templates/src/main/webapp/i18n/en/health.json.ejs +3 -0
  326. package/generators/languages/templates/src/main/webapp/i18n/es/global.json.ejs +7 -1
  327. package/generators/languages/templates/src/main/webapp/i18n/et/global.json.ejs +7 -1
  328. package/generators/languages/templates/src/main/webapp/i18n/fa/global.json.ejs +7 -1
  329. package/generators/languages/templates/src/main/webapp/i18n/fi/global.json.ejs +7 -1
  330. package/generators/languages/templates/src/main/webapp/i18n/fr/global.json.ejs +7 -1
  331. package/generators/languages/templates/src/main/webapp/i18n/gl/global.json.ejs +7 -1
  332. package/generators/languages/templates/src/main/webapp/i18n/hi/global.json.ejs +7 -1
  333. package/generators/languages/templates/src/main/webapp/i18n/hr/global.json.ejs +7 -1
  334. package/generators/languages/templates/src/main/webapp/i18n/hu/global.json.ejs +7 -1
  335. package/generators/languages/templates/src/main/webapp/i18n/hy/global.json.ejs +7 -1
  336. package/generators/languages/templates/src/main/webapp/i18n/in/global.json.ejs +7 -1
  337. package/generators/languages/templates/src/main/webapp/i18n/it/global.json.ejs +7 -1
  338. package/generators/languages/templates/src/main/webapp/i18n/ja/global.json.ejs +7 -1
  339. package/generators/languages/templates/src/main/webapp/i18n/ko/global.json.ejs +7 -1
  340. package/generators/languages/templates/src/main/webapp/i18n/mr/global.json.ejs +7 -1
  341. package/generators/languages/templates/src/main/webapp/i18n/my/global.json.ejs +7 -1
  342. package/generators/languages/templates/src/main/webapp/i18n/nl/global.json.ejs +7 -1
  343. package/generators/languages/templates/src/main/webapp/i18n/pa/global.json.ejs +7 -1
  344. package/generators/languages/templates/src/main/webapp/i18n/pl/global.json.ejs +7 -1
  345. package/generators/languages/templates/src/main/webapp/i18n/pt-br/global.json.ejs +7 -1
  346. package/generators/languages/templates/src/main/webapp/i18n/pt-pt/global.json.ejs +7 -1
  347. package/generators/languages/templates/src/main/webapp/i18n/ro/global.json.ejs +7 -1
  348. package/generators/languages/templates/src/main/webapp/i18n/ru/global.json.ejs +7 -1
  349. package/generators/languages/templates/src/main/webapp/i18n/si/global.json.ejs +7 -1
  350. package/generators/languages/templates/src/main/webapp/i18n/sk/global.json.ejs +7 -1
  351. package/generators/languages/templates/src/main/webapp/i18n/sr/global.json.ejs +7 -1
  352. package/generators/languages/templates/src/main/webapp/i18n/sv/global.json.ejs +7 -1
  353. package/generators/languages/templates/src/main/webapp/i18n/ta/global.json.ejs +7 -1
  354. package/generators/languages/templates/src/main/webapp/i18n/te/global.json.ejs +7 -1
  355. package/generators/languages/templates/src/main/webapp/i18n/th/global.json.ejs +7 -1
  356. package/generators/languages/templates/src/main/webapp/i18n/tr/global.json.ejs +7 -1
  357. package/generators/languages/templates/src/main/webapp/i18n/ua/global.json.ejs +7 -1
  358. package/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/global.json +7 -1
  359. package/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/global.json.ejs +7 -1
  360. package/generators/languages/templates/src/main/webapp/i18n/vi/global.json.ejs +7 -1
  361. package/generators/languages/templates/src/main/webapp/i18n/zh-cn/global.json.ejs +7 -1
  362. package/generators/languages/templates/src/main/webapp/i18n/zh-tw/global.json.ejs +7 -1
  363. package/generators/languages/templates/src/test/resources/i18n/messages_al.properties.ejs +4 -1
  364. package/generators/languages/templates/src/test/resources/i18n/messages_ar_LY.properties.ejs +4 -1
  365. package/generators/languages/templates/src/test/resources/i18n/messages_bg.properties.ejs +1 -1
  366. package/generators/languages/templates/src/test/resources/i18n/messages_bn.properties.ejs +4 -1
  367. package/generators/languages/templates/src/test/resources/i18n/messages_by.properties.ejs +4 -1
  368. package/generators/languages/templates/src/test/resources/i18n/messages_ca.properties.ejs +4 -1
  369. package/generators/languages/templates/src/test/resources/i18n/messages_cs.properties.ejs +4 -1
  370. package/generators/languages/templates/src/test/resources/i18n/messages_da.properties.ejs +4 -1
  371. package/generators/languages/templates/src/test/resources/i18n/messages_de.properties.ejs +4 -1
  372. package/generators/languages/templates/src/test/resources/i18n/messages_el.properties.ejs +4 -1
  373. package/generators/languages/templates/src/test/resources/i18n/messages_es.properties.ejs +4 -1
  374. package/generators/languages/templates/src/test/resources/i18n/messages_et.properties.ejs +4 -1
  375. package/generators/languages/templates/src/test/resources/i18n/messages_fa.properties.ejs +4 -1
  376. package/generators/languages/templates/src/test/resources/i18n/messages_fi.properties.ejs +1 -1
  377. package/generators/languages/templates/src/test/resources/i18n/messages_gl.properties.ejs +4 -1
  378. package/generators/languages/templates/src/test/resources/i18n/messages_hi.properties.ejs +4 -1
  379. package/generators/languages/templates/src/test/resources/i18n/messages_hr.properties.ejs +1 -1
  380. package/generators/languages/templates/src/test/resources/i18n/messages_hu.properties.ejs +4 -1
  381. package/generators/languages/templates/src/test/resources/i18n/messages_hy.properties.ejs +4 -1
  382. package/generators/languages/templates/src/test/resources/i18n/messages_in.properties.ejs +4 -1
  383. package/generators/languages/templates/src/test/resources/i18n/messages_it.properties.ejs +4 -1
  384. package/generators/languages/templates/src/test/resources/i18n/messages_ja.properties.ejs +4 -1
  385. package/generators/languages/templates/src/test/resources/i18n/messages_ko.properties.ejs +4 -1
  386. package/generators/languages/templates/src/test/resources/i18n/messages_mr.properties.ejs +4 -1
  387. package/generators/languages/templates/src/test/resources/i18n/messages_my.properties.ejs +4 -1
  388. package/generators/languages/templates/src/test/resources/i18n/messages_nl.properties.ejs +4 -1
  389. package/generators/languages/templates/src/test/resources/i18n/messages_pa.properties.ejs +1 -1
  390. package/generators/languages/templates/src/test/resources/i18n/messages_pl.properties.ejs +4 -1
  391. package/generators/languages/templates/src/test/resources/i18n/messages_pt_BR.properties.ejs +1 -1
  392. package/generators/languages/templates/src/test/resources/i18n/messages_pt_PT.properties.ejs +4 -1
  393. package/generators/languages/templates/src/test/resources/i18n/messages_ro.properties.ejs +4 -1
  394. package/generators/languages/templates/src/test/resources/i18n/messages_ru.properties.ejs +4 -1
  395. package/generators/languages/templates/src/test/resources/i18n/messages_si.properties.ejs +4 -1
  396. package/generators/languages/templates/src/test/resources/i18n/messages_sk.properties.ejs +4 -1
  397. package/generators/languages/templates/src/test/resources/i18n/messages_sr.properties.ejs +4 -1
  398. package/generators/languages/templates/src/test/resources/i18n/messages_sv.properties.ejs +4 -1
  399. package/generators/languages/templates/src/test/resources/i18n/messages_ta.properties.ejs +4 -1
  400. package/generators/languages/templates/src/test/resources/i18n/messages_te.properties.ejs +4 -1
  401. package/generators/languages/templates/src/test/resources/i18n/messages_th.properties.ejs +4 -1
  402. package/generators/languages/templates/src/test/resources/i18n/messages_tr.properties.ejs +4 -1
  403. package/generators/languages/templates/src/test/resources/i18n/messages_ua.properties.ejs +4 -1
  404. package/generators/languages/templates/src/test/resources/i18n/messages_uz_Cyrl_UZ.properties.ejs +4 -1
  405. package/generators/languages/templates/src/test/resources/i18n/messages_uz_Latn_UZ.properties.ejs +4 -1
  406. package/generators/languages/templates/src/test/resources/i18n/messages_vi.properties.ejs +4 -1
  407. package/generators/languages/templates/src/test/resources/i18n/messages_zh_CN.properties.ejs +4 -1
  408. package/generators/languages/templates/src/test/resources/i18n/messages_zh_TW.properties.ejs +4 -1
  409. package/generators/maven/files.cjs +0 -1
  410. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  411. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +18 -2
  412. package/generators/maven/templates/mvnw +13 -7
  413. package/generators/maven/templates/mvnw.cmd +19 -13
  414. package/generators/maven/templates/pom.xml.jhi.ejs +2 -2
  415. package/generators/openapi-client/files.js +2 -8
  416. package/generators/openapi-client/index.js +2 -0
  417. package/generators/openshift/templates/registry/consul.yml.ejs +1 -2
  418. package/generators/openshift/templates/registry/jhipster-registry.yml.ejs +1 -2
  419. package/generators/project-name/index.cjs +8 -5
  420. package/generators/server/cleanup-angular.js +37 -0
  421. package/generators/server/cleanup-cache-provider.js +46 -0
  422. package/generators/server/cleanup-cassandra.js +49 -0
  423. package/generators/server/cleanup-cucumber.js +40 -0
  424. package/generators/server/cleanup-elasticsearch.js +48 -0
  425. package/generators/server/cleanup-gradle.js +40 -0
  426. package/generators/server/cleanup-kafka.js +41 -0
  427. package/generators/server/cleanup-maven.js +37 -0
  428. package/generators/server/cleanup-mongodb.js +40 -0
  429. package/generators/server/cleanup-oauth2.js +43 -0
  430. package/generators/server/cleanup-reactive.js +38 -0
  431. package/generators/server/cleanup-sql.js +48 -0
  432. package/generators/server/cleanup.js +89 -39
  433. package/generators/server/esm.mjs +1 -0
  434. package/generators/server/files-couchbase.js +11 -10
  435. package/generators/server/files-sql.js +197 -4
  436. package/generators/server/files.js +239 -248
  437. package/generators/server/index.js +38 -86
  438. package/generators/server/needle-api/needle-server-gradle.js +38 -0
  439. package/generators/server/needles.cjs +79 -0
  440. package/generators/server/templates/.mvn/jvm.config +1 -0
  441. package/generators/server/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  442. package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +18 -2
  443. package/generators/server/templates/.npmrc.ejs +1 -0
  444. package/generators/server/templates/build.gradle.ejs +126 -229
  445. package/generators/server/templates/couchbase/src/main/java/package/repository/JHipsterCouchbaseRepository.java.ejs +24 -1
  446. package/generators/server/templates/couchbase/src/test/java/package/config/CouchbaseTestContainer.java.ejs +67 -0
  447. package/generators/server/templates/couchbase/src/test/java/package/config/EmbeddedCouchbase.java.ejs +30 -0
  448. package/generators/server/templates/devcontainer/Dockerfile.ejs +25 -0
  449. package/generators/server/templates/devcontainer/devcontainer.json.ejs +64 -0
  450. package/generators/server/templates/gradle/docker.gradle.ejs +6 -0
  451. package/generators/server/templates/gradle/profile_dev.gradle.ejs +95 -3
  452. package/generators/server/templates/gradle/profile_prod.gradle.ejs +80 -4
  453. package/generators/server/templates/gradle/wrapper/gradle-wrapper.jar +0 -0
  454. package/generators/server/templates/gradle.properties.ejs +17 -13
  455. package/generators/server/templates/gradlew +0 -0
  456. package/generators/server/templates/mvnw +13 -7
  457. package/generators/server/templates/mvnw.cmd +19 -13
  458. package/generators/server/templates/npmw +0 -0
  459. package/generators/server/templates/pom.xml.ejs +287 -236
  460. package/generators/server/templates/settings.gradle.ejs +8 -5
  461. package/generators/server/templates/sql/common/src/main/docker/config/mariadb/my.cnf +49 -0
  462. package/generators/server/templates/sql/common/src/main/docker/config/mysql/my.cnf +82 -0
  463. package/generators/server/templates/{src → sql/common/src}/main/docker/mariadb.yml.ejs +2 -0
  464. package/generators/server/templates/{src → sql/common/src}/main/docker/mssql.yml.ejs +0 -0
  465. package/generators/server/templates/{src → sql/common/src}/main/docker/mysql.yml.ejs +2 -1
  466. package/generators/server/templates/{src → sql/common/src}/main/docker/postgresql.yml.ejs +0 -0
  467. package/generators/server/templates/{src → sql/common/src}/main/java/package/config/LiquibaseConfiguration.java.ejs +0 -0
  468. package/generators/server/templates/{src → sql/common/src}/main/resources/h2.server.properties.ejs +0 -0
  469. package/generators/server/templates/sql/common/src/test/java/package/config/EmbeddedSQL.java.ejs +30 -0
  470. package/generators/server/templates/sql/common/src/test/java/package/config/MariadbTestContainer.java.ejs +60 -0
  471. package/generators/server/templates/sql/common/src/test/java/package/config/MsSqlTestContainer.java.ejs +59 -0
  472. package/generators/server/templates/sql/common/src/test/java/package/config/MysqlTestContainer.java.ejs +69 -0
  473. package/generators/server/templates/sql/common/src/test/java/package/config/PostgreSqlTestContainer.java.ejs +59 -0
  474. package/generators/server/templates/sql/common/src/test/java/package/config/SqlTestContainer.java.ejs +28 -0
  475. package/generators/server/templates/{src → sql/common/src}/test/java/package/config/timezone/HibernateTimeZoneIT.java.ejs +0 -0
  476. package/generators/server/templates/{src → sql/common/src}/test/java/package/repository/timezone/DateTimeWrapper.java.ejs +0 -0
  477. package/generators/server/templates/{src → sql/common/src}/test/java/package/repository/timezone/DateTimeWrapperRepository.java.ejs +0 -0
  478. package/generators/server/templates/sql/common/src/test/resources/config/application-testdev.yml.ejs +93 -0
  479. package/generators/server/templates/{src/test/resources/config/application-testcontainers.yml.ejs → sql/common/src/test/resources/config/application-testprod.yml.ejs} +17 -33
  480. package/generators/server/templates/sql/common/src/test/resources/testcontainers/mariadb/my.cnf +49 -0
  481. package/generators/server/templates/sql/common/src/test/resources/testcontainers/mysql/my.cnf +83 -0
  482. package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/EntityManager.java.ejs +48 -38
  483. package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/rowmapper/ColumnConverter.java.ejs +0 -0
  484. package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/rowmapper/UserRowMapper.java.ejs +0 -0
  485. package/generators/server/templates/src/main/docker/app.yml.ejs +18 -20
  486. package/generators/server/templates/src/main/docker/cassandra-migration.yml.ejs +1 -0
  487. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +64 -7
  488. package/generators/server/templates/src/main/docker/jhipster-control-center.yml.ejs +1 -1
  489. package/generators/server/templates/src/main/docker/jhipster-registry.yml.ejs +1 -1
  490. package/generators/server/templates/src/main/docker/jib/entrypoint.sh.ejs +36 -1
  491. package/generators/server/templates/src/main/docker/keycloak.yml.ejs +8 -6
  492. package/generators/server/templates/src/main/java/package/config/ApplicationProperties.java.ejs +3 -0
  493. package/generators/server/templates/src/main/java/package/config/AsyncConfiguration.java.ejs +2 -0
  494. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +1 -1
  495. package/generators/{client/templates/react/src/main/webapp/app/entities/index.tsx.ejs → server/templates/src/main/java/package/config/KafkaSseConsumer.java.ejs} +8 -14
  496. package/generators/server/templates/src/main/java/package/config/KafkaSseProducer.java.ejs +30 -0
  497. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +21 -33
  498. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +108 -15
  499. package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +6 -0
  500. package/generators/server/templates/src/main/java/package/security/DomainUserDetailsService.java.ejs +6 -3
  501. package/generators/server/templates/src/main/java/package/security/jwt/JWTFilter.java.ejs +1 -1
  502. package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +1 -1
  503. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +10 -3
  504. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +12 -2
  505. package/generators/server/templates/src/main/java/package/web/rest/KafkaResource.java.ejs +60 -108
  506. package/generators/server/templates/src/main/java/package/web/rest/KafkaResource_reactive.java.ejs +74 -0
  507. package/generators/server/templates/src/main/java/package/web/rest/LogoutResource.java.ejs +1 -5
  508. package/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -5
  509. package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +3 -4
  510. package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +4 -3
  511. package/generators/server/templates/src/main/resources/config/application.yml.ejs +27 -23
  512. package/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs +1 -1
  513. package/generators/server/templates/src/main/resources/config/liquibase/master.xml.ejs +54 -24
  514. package/generators/server/templates/src/main/resources/swagger/api.yml.ejs +3 -3
  515. package/generators/server/templates/src/test/java/package/CassandraKeyspaceIT.java.ejs +3 -4
  516. package/generators/server/templates/src/test/java/package/IntegrationTest.java.ejs +40 -21
  517. package/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs +0 -3
  518. package/generators/server/templates/src/test/java/package/{repository/search/UserSearchRepositoryMockConfiguration.java.ejs → config/AsyncSyncConfiguration.java.ejs} +12 -10
  519. package/generators/server/templates/src/test/java/package/config/CassandraTestContainer.java.ejs +141 -0
  520. package/generators/{entity-server/templates/src/test/java/package/repository/search/EntitySearchRepositoryMockConfiguration.java.ejs → server/templates/src/test/java/package/config/ElasticsearchReactiveTestConfiguration.java.ejs} +14 -11
  521. package/generators/server/templates/src/test/java/package/config/ElasticsearchTestContainer.java.ejs +68 -0
  522. package/generators/server/templates/src/test/java/package/config/EmbeddedCassandra.java.ejs +30 -0
  523. package/generators/server/templates/src/test/java/package/config/EmbeddedElasticsearch.java.ejs +30 -0
  524. package/generators/server/templates/src/test/java/package/config/EmbeddedKafka.java.ejs +30 -0
  525. package/generators/server/templates/src/test/java/package/config/EmbeddedMongo.java.ejs +30 -0
  526. package/generators/server/templates/src/test/java/package/config/EmbeddedNeo4j.java.ejs +29 -0
  527. package/generators/server/templates/src/test/java/package/config/EmbeddedRedis.java.ejs +30 -0
  528. package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +11 -2
  529. package/generators/server/templates/src/test/java/package/config/KafkaTestContainer.java.ejs +56 -0
  530. package/generators/server/templates/src/test/java/package/config/MongoDbTestContainer.java.ejs +67 -0
  531. package/generators/server/templates/src/test/java/package/config/Neo4jTestContainer.java.ejs +66 -0
  532. package/generators/server/templates/src/test/java/package/config/RedisTestContainer.java.ejs +57 -0
  533. package/generators/server/templates/src/test/java/package/config/{NoOpMailConfiguration.java.ejs → SpringBootTestClassOrderer.java.ejs} +16 -16
  534. package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +250 -0
  535. package/generators/server/templates/src/test/java/package/config/WebConfigurerTest.java.ejs +0 -23
  536. package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +3 -10
  537. package/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +6 -7
  538. package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +5 -5
  539. package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +9 -19
  540. package/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +9 -15
  541. package/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
  542. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +20 -74
  543. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_oauth2.java.ejs +1 -4
  544. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +1 -12
  545. package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT.java.ejs +52 -123
  546. package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT_reactive.java.ejs +99 -0
  547. package/generators/server/templates/src/test/java/package/web/rest/PublicUserResourceIT.java.ejs +7 -10
  548. package/generators/server/templates/src/test/java/package/web/rest/TestUtil.java.ejs +13 -10
  549. package/generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIT.java.ejs +1 -4
  550. package/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +78 -56
  551. package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT.java.ejs +1 -4
  552. package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +1 -4
  553. package/generators/server/templates/src/test/resources/META-INF/spring.factories.ejs +1 -1
  554. package/generators/server/templates/src/test/resources/config/application.yml.ejs +33 -81
  555. package/generators/server/templates/src/test/resources/junit-platform.properties.ejs +1 -0
  556. package/generators/server/templates/src/test/resources/templates/mail/activationEmail.html.ejs +19 -0
  557. package/generators/server/templates/src/test/resources/templates/mail/creationEmail.html.ejs +19 -0
  558. package/generators/server/templates/src/test/resources/templates/mail/passwordResetEmail.html.ejs +21 -0
  559. package/generators/server/templates/src/test/resources/testcontainers.properties.ejs +1 -0
  560. package/generators/spring-controller/index.js +16 -1
  561. package/generators/sql-constants.js +85 -0
  562. package/generators/statistics.js +6 -5
  563. package/generators/upgrade/index.js +1 -1
  564. package/generators/utils.js +32 -30
  565. package/generators/workspaces/index.js +32 -28
  566. package/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +2 -3
  567. package/jdl/converters/json-to-jdl-converter.js +23 -6
  568. package/jdl/exporters/applications/jhipster-application-formatter.js +7 -0
  569. package/jdl/jhipster/application-options.js +8 -0
  570. package/jdl/jhipster/default-application-options.js +2 -2
  571. package/jdl/parsing/lexer/application-tokens.js +6 -0
  572. package/jdl/parsing/validator.js +7 -0
  573. package/jdl/validators/application-validator.js +3 -1
  574. package/jdl/validators/jdl-with-application-validator.js +1 -0
  575. package/jdl/validators/jdl-without-application-validator.js +3 -2
  576. package/lib/support/base.cjs +43 -0
  577. package/lib/support/needles.cjs +221 -0
  578. package/lib/support/shared-data.cjs +2 -2
  579. package/package.json +34 -32
  580. package/utils/blueprint.js +1 -1
  581. package/utils/entity.js +11 -1
  582. package/utils/field.js +26 -6
  583. package/utils/liquibase.js +5 -8
  584. package/utils/relationship.js +13 -3
  585. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-route.spec.tsx.ejs +0 -33
  586. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-route.tsx.ejs +0 -17
  587. package/generators/cypress/templates/cypress-audits.json.ejs +0 -32
  588. package/generators/cypress/templates/cypress.json.ejs +0 -46
  589. package/generators/docker-compose/templates/realm-config/jhipster-users-0.json.ejs +0 -61
  590. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/no-pagination-template.ejs +0 -81
  591. package/generators/entity-server/templates/src/main/java/package/repository/search/SortToSortBuilderListConverter.java.ejs +0 -25
  592. package/generators/maven/templates/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
  593. package/generators/server/templates/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
  594. package/generators/server/templates/couchbase/src/test/java/package/CouchbaseTestContainerExtension.java.ejs +0 -56
  595. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-users-0.json.ejs +0 -61
  596. package/generators/server/templates/src/main/java/package/config/KafkaProperties.java.ejs +0 -68
  597. package/generators/server/templates/src/test/java/package/AbstractCassandraTest.java.ejs +0 -125
  598. package/generators/server/templates/src/test/java/package/AbstractNeo4jIT.java.ejs +0 -44
  599. package/generators/server/templates/src/test/java/package/MongoDbTestContainerExtension.java.ejs +0 -37
  600. package/generators/server/templates/src/test/java/package/ReactiveSqlTestContainerExtension.java.ejs +0 -79
  601. package/generators/server/templates/src/test/java/package/RedisTestContainerExtension.java.ejs +0 -44
  602. package/generators/server/templates/src/test/java/package/TestContainersSpringContextCustomizerFactory.java.ejs +0 -24
  603. package/generators/server/templates/src/test/resources/testcontainers/mariadb/my.cnf +0 -2
@@ -17,16 +17,17 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  const constants = require('../generator-constants');
20
+ const { replaceAngularTranslations } = require('./transform-angular.cjs');
20
21
 
21
22
  const { CLIENT_MAIN_SRC_DIR, CLIENT_TEST_SRC_DIR, ANGULAR_DIR } = constants;
22
23
  const { OAUTH2, SESSION, JWT } = require('../../jdl/jhipster/authentication-types');
23
24
  const { GATEWAY } = require('../../jdl/jhipster/application-types');
24
25
  const { SPRING_WEBSOCKET } = require('../../jdl/jhipster/websocket-types');
25
- /**
26
- * The default is to use a file path string. It implies use of the template method.
27
- * For any other config an object { file:.., method:.., template:.. } can be used
28
- */
26
+
29
27
  const files = {
28
+ _: {
29
+ transform: [replaceAngularTranslations],
30
+ },
30
31
  common: [
31
32
  {
32
33
  templates: [
@@ -43,7 +44,7 @@ const files = {
43
44
  'webpack/proxy.conf.js',
44
45
  'webpack/webpack.custom.js',
45
46
  '.browserslistrc',
46
- { file: 'webpack/logo-jhipster.png', method: 'copy' },
47
+ 'webpack/logo-jhipster.png',
47
48
  ],
48
49
  },
49
50
  ],
@@ -78,9 +79,9 @@ const files = {
78
79
  'entities/entity-routing.module.ts',
79
80
  // home module
80
81
  'home/home.module.ts',
81
- { file: 'home/home.route.ts', method: 'processJs' },
82
+ 'home/home.route.ts',
82
83
  'home/home.component.ts',
83
- { file: 'home/home.component.html', method: 'processHtml' },
84
+ 'home/home.component.html',
84
85
  // layouts
85
86
  'layouts/profiles/page-ribbon.component.ts',
86
87
  'layouts/profiles/profile.service.ts',
@@ -88,13 +89,13 @@ const files = {
88
89
  'layouts/main/main.component.ts',
89
90
  'layouts/main/main.component.html',
90
91
  'layouts/navbar/navbar.component.ts',
91
- { file: 'layouts/navbar/navbar.component.html', method: 'processHtml' },
92
+ 'layouts/navbar/navbar.component.html',
92
93
  'layouts/navbar/navbar.route.ts',
93
94
  'layouts/footer/footer.component.ts',
94
- { file: 'layouts/footer/footer.component.html', method: 'processHtml' },
95
- { file: 'layouts/error/error.route.ts', method: 'processJs' },
95
+ 'layouts/footer/footer.component.html',
96
+ 'layouts/error/error.route.ts',
96
97
  'layouts/error/error.component.ts',
97
- { file: 'layouts/error/error.component.html', method: 'processHtml' },
98
+ 'layouts/error/error.component.html',
98
99
  // login
99
100
  'login/login.service.ts',
100
101
  ],
@@ -114,9 +115,9 @@ const files = {
114
115
  condition: generator => generator.authenticationType !== OAUTH2,
115
116
  templates: [
116
117
  'login/login.module.ts',
117
- { file: 'login/login.route.ts', method: 'processJs' },
118
+ 'login/login.route.ts',
118
119
  'login/login.component.ts',
119
- { file: 'login/login.component.html', method: 'processHtml' },
120
+ 'login/login.component.html',
120
121
  'login/login.model.ts',
121
122
  ],
122
123
  },
@@ -131,45 +132,45 @@ const files = {
131
132
  path: ANGULAR_DIR,
132
133
  condition: generator => !generator.skipUserManagement,
133
134
  templates: [
134
- { file: 'account/account.route.ts', method: 'processJs' },
135
+ 'account/account.route.ts',
135
136
  'account/account.module.ts',
136
- { file: 'account/activate/activate.route.ts', method: 'processJs' },
137
+ 'account/activate/activate.route.ts',
137
138
  'account/activate/activate.component.ts',
138
- { file: 'account/activate/activate.component.html', method: 'processHtml' },
139
+ 'account/activate/activate.component.html',
139
140
  'account/activate/activate.service.ts',
140
- { file: 'account/password/password.route.ts', method: 'processJs' },
141
+ 'account/password/password.route.ts',
141
142
  'account/password/password-strength-bar/password-strength-bar.component.ts',
142
- { file: 'account/password/password-strength-bar/password-strength-bar.component.html', method: 'processHtml' },
143
+ 'account/password/password-strength-bar/password-strength-bar.component.html',
143
144
  'account/password/password-strength-bar/password-strength-bar.component.scss',
144
145
  'account/password/password.component.ts',
145
- { file: 'account/password/password.component.html', method: 'processHtml' },
146
+ 'account/password/password.component.html',
146
147
  'account/password/password.service.ts',
147
- { file: 'account/register/register.route.ts', method: 'processJs' },
148
+ 'account/register/register.route.ts',
148
149
  'account/register/register.component.ts',
149
- { file: 'account/register/register.component.html', method: 'processHtml' },
150
+ 'account/register/register.component.html',
150
151
  'account/register/register.service.ts',
151
152
  'account/register/register.model.ts',
152
- { file: 'account/password-reset/init/password-reset-init.route.ts', method: 'processJs' },
153
+ 'account/password-reset/init/password-reset-init.route.ts',
153
154
  'account/password-reset/init/password-reset-init.component.ts',
154
- { file: 'account/password-reset/init/password-reset-init.component.html', method: 'processHtml' },
155
+ 'account/password-reset/init/password-reset-init.component.html',
155
156
  'account/password-reset/init/password-reset-init.service.ts',
156
- { file: 'account/password-reset/finish/password-reset-finish.route.ts', method: 'processJs' },
157
+ 'account/password-reset/finish/password-reset-finish.route.ts',
157
158
  'account/password-reset/finish/password-reset-finish.component.ts',
158
- { file: 'account/password-reset/finish/password-reset-finish.component.html', method: 'processHtml' },
159
+ 'account/password-reset/finish/password-reset-finish.component.html',
159
160
  'account/password-reset/finish/password-reset-finish.service.ts',
160
- { file: 'account/settings/settings.route.ts', method: 'processJs' },
161
+ 'account/settings/settings.route.ts',
161
162
  'account/settings/settings.component.ts',
162
- { file: 'account/settings/settings.component.html', method: 'processHtml' },
163
+ 'account/settings/settings.component.html',
163
164
  ],
164
165
  },
165
166
  {
166
167
  condition: generator => generator.authenticationType === SESSION && !generator.skipUserManagement,
167
168
  path: ANGULAR_DIR,
168
169
  templates: [
169
- { file: 'account/sessions/sessions.route.ts', method: 'processJs' },
170
+ 'account/sessions/sessions.route.ts',
170
171
  'account/sessions/session.model.ts',
171
172
  'account/sessions/sessions.component.ts',
172
- { file: 'account/sessions/sessions.component.html', method: 'processHtml' },
173
+ 'account/sessions/sessions.component.html',
173
174
  'account/sessions/sessions.service.ts',
174
175
  ],
175
176
  },
@@ -179,10 +180,10 @@ const files = {
179
180
  condition: generator => !generator.applicationTypeMicroservice,
180
181
  path: ANGULAR_DIR,
181
182
  templates: [
182
- { file: 'admin/admin-routing.module.ts', method: 'processJs' },
183
- { file: 'admin/docs/docs.route.ts', method: 'processJs' },
184
- { file: 'admin/docs/docs.module.ts', method: 'processJs' },
185
- { file: 'admin/docs/docs.component.ts', method: 'processJs' },
183
+ 'admin/admin-routing.module.ts',
184
+ 'admin/docs/docs.route.ts',
185
+ 'admin/docs/docs.module.ts',
186
+ 'admin/docs/docs.component.ts',
186
187
  'admin/docs/docs.component.html',
187
188
  'admin/docs/docs.component.scss',
188
189
  ],
@@ -192,88 +193,60 @@ const files = {
192
193
  path: ANGULAR_DIR,
193
194
  templates: [
194
195
  // admin modules
195
- { file: 'admin/configuration/configuration.route.ts', method: 'processJs' },
196
+ 'admin/configuration/configuration.route.ts',
196
197
  'admin/configuration/configuration.module.ts',
197
198
  'admin/configuration/configuration.component.ts',
198
- { file: 'admin/configuration/configuration.component.html', method: 'processHtml' },
199
+ 'admin/configuration/configuration.component.html',
199
200
  'admin/configuration/configuration.service.ts',
200
201
  'admin/configuration/configuration.model.ts',
201
- { file: 'admin/health/health.route.ts', method: 'processJs' },
202
+ 'admin/health/health.route.ts',
202
203
  'admin/health/health.module.ts',
203
204
  'admin/health/health.component.ts',
204
- { file: 'admin/health/health.component.html', method: 'processHtml' },
205
+ 'admin/health/health.component.html',
205
206
  'admin/health/modal/health-modal.component.ts',
206
- { file: 'admin/health/modal/health-modal.component.html', method: 'processHtml' },
207
+ 'admin/health/modal/health-modal.component.html',
207
208
  'admin/health/health.service.ts',
208
209
  'admin/health/health.model.ts',
209
- { file: 'admin/logs/logs.route.ts', method: 'processJs' },
210
+ 'admin/logs/logs.route.ts',
210
211
  'admin/logs/logs.module.ts',
211
212
  'admin/logs/log.model.ts',
212
213
  'admin/logs/logs.component.ts',
213
- { file: 'admin/logs/logs.component.html', method: 'processHtml' },
214
+ 'admin/logs/logs.component.html',
214
215
  'admin/logs/logs.service.ts',
215
- { file: 'admin/metrics/metrics.route.ts', method: 'processJs' },
216
+ 'admin/metrics/metrics.route.ts',
216
217
  'admin/metrics/metrics.module.ts',
217
218
  'admin/metrics/metrics.component.ts',
218
- { file: 'admin/metrics/metrics.component.html', method: 'processHtml', template: true },
219
+ 'admin/metrics/metrics.component.html',
219
220
  'admin/metrics/metrics.service.ts',
220
221
  'admin/metrics/metrics.model.ts',
221
222
  'admin/metrics/blocks/jvm-memory/jvm-memory.component.ts',
222
- { file: 'admin/metrics/blocks/jvm-memory/jvm-memory.component.html', method: 'processHtml', template: true },
223
+ 'admin/metrics/blocks/jvm-memory/jvm-memory.component.html',
223
224
  'admin/metrics/blocks/jvm-threads/jvm-threads.component.ts',
224
- { file: 'admin/metrics/blocks/jvm-threads/jvm-threads.component.html', method: 'processHtml', template: true },
225
+ 'admin/metrics/blocks/jvm-threads/jvm-threads.component.html',
225
226
  'admin/metrics/blocks/metrics-cache/metrics-cache.component.ts',
226
- {
227
- file: 'admin/metrics/blocks/metrics-cache/metrics-cache.component.html',
228
- method: 'processHtml',
229
- template: true,
230
- },
227
+ 'admin/metrics/blocks/metrics-cache/metrics-cache.component.html',
231
228
  'admin/metrics/blocks/metrics-datasource/metrics-datasource.component.ts',
232
- {
233
- file: 'admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html',
234
- method: 'processHtml',
235
- template: true,
236
- },
229
+ 'admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html',
237
230
  'admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.ts',
238
- {
239
- file: 'admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html',
240
- method: 'processHtml',
241
- template: true,
242
- },
231
+ 'admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html',
243
232
  'admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.ts',
244
- {
245
- file: 'admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html',
246
- method: 'processHtml',
247
- template: true,
248
- },
233
+ 'admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html',
249
234
  'admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts',
250
- {
251
- file: 'admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html',
252
- method: 'processHtml',
253
- template: true,
254
- },
235
+ 'admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html',
255
236
  'admin/metrics/blocks/metrics-request/metrics-request.component.ts',
256
- {
257
- file: 'admin/metrics/blocks/metrics-request/metrics-request.component.html',
258
- method: 'processHtml',
259
- template: true,
260
- },
237
+ 'admin/metrics/blocks/metrics-request/metrics-request.component.html',
261
238
  'admin/metrics/blocks/metrics-system/metrics-system.component.ts',
262
- {
263
- file: 'admin/metrics/blocks/metrics-system/metrics-system.component.html',
264
- method: 'processHtml',
265
- template: true,
266
- },
239
+ 'admin/metrics/blocks/metrics-system/metrics-system.component.html',
267
240
  ],
268
241
  },
269
242
  {
270
243
  condition: generator => generator.websocket === SPRING_WEBSOCKET,
271
244
  path: ANGULAR_DIR,
272
245
  templates: [
273
- { file: 'admin/tracker/tracker.route.ts', method: 'processJs' },
246
+ 'admin/tracker/tracker.route.ts',
274
247
  'admin/tracker/tracker.module.ts',
275
248
  'admin/tracker/tracker.component.ts',
276
- { file: 'admin/tracker/tracker.component.html', method: 'processHtml' },
249
+ 'admin/tracker/tracker.component.html',
277
250
  'core/tracker/tracker-activity.model.ts',
278
251
  'core/tracker/tracker.service.ts',
279
252
  ],
@@ -282,17 +255,17 @@ const files = {
282
255
  condition: generator => !generator.skipUserManagement,
283
256
  path: ANGULAR_DIR,
284
257
  templates: [
285
- { file: 'admin/user-management/user-management.route.ts', method: 'processJs' },
258
+ 'admin/user-management/user-management.route.ts',
286
259
  'admin/user-management/user-management.module.ts',
287
260
  'admin/user-management/user-management.model.ts',
288
261
  'admin/user-management/list/user-management.component.ts',
289
- { file: 'admin/user-management/list/user-management.component.html', method: 'processHtml' },
262
+ 'admin/user-management/list/user-management.component.html',
290
263
  'admin/user-management/detail/user-management-detail.component.ts',
291
- { file: 'admin/user-management/detail/user-management-detail.component.html', method: 'processHtml' },
264
+ 'admin/user-management/detail/user-management-detail.component.html',
292
265
  'admin/user-management/update/user-management-update.component.ts',
293
- { file: 'admin/user-management/update/user-management-update.component.html', method: 'processHtml' },
266
+ 'admin/user-management/update/user-management-update.component.html',
294
267
  'admin/user-management/delete/user-management-delete-dialog.component.ts',
295
- { file: 'admin/user-management/delete/user-management-delete-dialog.component.html', method: 'processHtml' },
268
+ 'admin/user-management/delete/user-management-delete-dialog.component.html',
296
269
  'admin/user-management/service/user-management.service.ts',
297
270
  ],
298
271
  },
@@ -300,11 +273,11 @@ const files = {
300
273
  condition: generator => generator.applicationType === GATEWAY && generator.serviceDiscoveryType,
301
274
  path: ANGULAR_DIR,
302
275
  templates: [
303
- { file: 'admin/gateway/gateway.route.ts', method: 'processJs' },
276
+ 'admin/gateway/gateway.route.ts',
304
277
  'admin/gateway/gateway.module.ts',
305
278
  'admin/gateway/gateway-route.model.ts',
306
279
  'admin/gateway/gateway.component.ts',
307
- { file: 'admin/gateway/gateway.component.html', method: 'processHtml' },
280
+ 'admin/gateway/gateway.component.html',
308
281
  'admin/gateway/gateway-routes.service.ts',
309
282
  ],
310
283
  },
@@ -330,6 +303,7 @@ const files = {
330
303
  'config/font-awesome-icons.ts',
331
304
  'config/error.constants.ts',
332
305
  'config/input.constants.ts',
306
+ 'config/navigation.constants.ts',
333
307
  'config/pagination.constants.ts',
334
308
  'config/authority.constants.ts',
335
309
 
@@ -370,6 +344,7 @@ const files = {
370
344
  'shared/date/format-medium-date.pipe.ts',
371
345
  'shared/date/format-medium-datetime.pipe.ts',
372
346
  'shared/sort/sort.directive.ts',
347
+ 'shared/sort/sort.service.ts',
373
348
  'shared/sort/sort-by.directive.ts',
374
349
  'shared/pagination/item-count.component.ts',
375
350
  // alert service code
@@ -378,6 +353,11 @@ const files = {
378
353
  'shared/alert/alert-error.component.ts',
379
354
  'shared/alert/alert-error.component.html',
380
355
  'shared/alert/alert-error.model.ts',
356
+ // filtering options
357
+ 'shared/filter/filter.component.html',
358
+ 'shared/filter/filter.component.ts',
359
+ 'shared/filter/filter.model.spec.ts',
360
+ 'shared/filter/filter.model.ts',
381
361
  ],
382
362
  },
383
363
  {
@@ -531,5 +511,8 @@ module.exports = {
531
511
  };
532
512
 
533
513
  function writeFiles() {
534
- return this.writeFilesToDisk(files, 'angular');
514
+ return this.writeFiles({
515
+ sections: files,
516
+ rootTemplatesPath: 'angular',
517
+ });
535
518
  }
@@ -63,13 +63,12 @@ const files = {
63
63
  templates: ['content/scss/rtl.scss'],
64
64
  },
65
65
  {
66
- condition: generator => generator.microfrontend && generator.clientFrameworkVue,
66
+ condition: generator => generator.microfrontend && (generator.clientFrameworkVue || generator.clientFrameworkReact),
67
67
  templates: ['webpack/webpack.microfrontend.js.jhi'],
68
68
  },
69
69
  ],
70
70
  swagger: [
71
71
  {
72
- condition: generator => !generator.applicationTypeMicroservice || generator.microfrontend,
73
72
  path: CLIENT_MAIN_SRC_DIR,
74
73
  templates: ['swagger-ui/index.html', { file: 'swagger-ui/dist/images/throbber.gif', method: 'copy' }],
75
74
  },
@@ -16,6 +16,7 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ const { replaceReactTranslations } = require('./transform-react.cjs');
19
20
  const { SPRING_WEBSOCKET } = require('../../jdl/jhipster/websocket-types');
20
21
  const { OAUTH2, SESSION } = require('../../jdl/jhipster/authentication-types');
21
22
  const { GATEWAY } = require('../../jdl/jhipster/application-types');
@@ -23,11 +24,10 @@ const constants = require('../generator-constants');
23
24
 
24
25
  const { CLIENT_MAIN_SRC_DIR, CLIENT_TEST_SRC_DIR, REACT_DIR } = constants;
25
26
 
26
- /**
27
- * The default is to use a file path string. It implies use of the template method.
28
- * For any other config an object { file:.., method:.., template:.. } can be used
29
- */
30
27
  const files = {
28
+ _: {
29
+ transform: [replaceReactTranslations],
30
+ },
31
31
  common: [
32
32
  {
33
33
  templates: [
@@ -41,7 +41,7 @@ const files = {
41
41
  'webpack/webpack.dev.js',
42
42
  'webpack/webpack.prod.js',
43
43
  'webpack/utils.js',
44
- { file: 'webpack/logo-jhipster.png', method: 'copy' },
44
+ 'webpack/logo-jhipster.png',
45
45
  ],
46
46
  },
47
47
  {
@@ -58,9 +58,9 @@ const files = {
58
58
  {
59
59
  path: REACT_DIR,
60
60
  templates: [
61
- { file: 'app.tsx', method: 'processJsx' },
62
- { file: 'index.tsx', method: 'processJsx' },
63
- { file: 'routes.tsx', method: 'processJsx' },
61
+ 'app.tsx',
62
+ 'index.tsx',
63
+ 'routes.tsx',
64
64
  'setup-tests.ts',
65
65
  'typings.d.ts',
66
66
  'config/constants.ts',
@@ -76,7 +76,7 @@ const files = {
76
76
  {
77
77
  condition: generator => generator.enableTranslation,
78
78
  path: REACT_DIR,
79
- templates: ['config/translation.ts'],
79
+ templates: ['config/translation.ts', 'config/translation-middleware.ts'],
80
80
  },
81
81
  {
82
82
  condition: generator => generator.websocket === SPRING_WEBSOCKET,
@@ -91,29 +91,23 @@ const files = {
91
91
  reactEntities: [
92
92
  {
93
93
  path: REACT_DIR,
94
- templates: [{ file: 'entities/index.tsx', method: 'processJsx' }],
94
+ templates: ['entities/reducers.ts', 'entities/menu.tsx', 'entities/routes.tsx'],
95
95
  },
96
96
  ],
97
97
  reactMain: [
98
98
  {
99
99
  path: REACT_DIR,
100
- templates: [
101
- { file: 'modules/home/home.tsx', method: 'processJsx' },
102
- { file: 'modules/login/logout.tsx', method: 'processJsx' },
103
- ],
100
+ templates: ['modules/home/home.tsx', 'modules/login/logout.tsx'],
104
101
  },
105
102
  {
106
103
  condition: generator => generator.authenticationType !== OAUTH2,
107
104
  path: REACT_DIR,
108
- templates: [
109
- { file: 'modules/login/login.tsx', method: 'processJsx' },
110
- { file: 'modules/login/login-modal.tsx', method: 'processJsx' },
111
- ],
105
+ templates: ['modules/login/login.tsx', 'modules/login/login-modal.tsx'],
112
106
  },
113
107
  {
114
108
  condition: generator => generator.authenticationType === OAUTH2,
115
109
  path: REACT_DIR,
116
- templates: [{ file: 'modules/login/login-redirect.tsx', method: 'processJsx' }],
110
+ templates: ['modules/login/login-redirect.tsx'],
117
111
  },
118
112
  {
119
113
  path: REACT_DIR,
@@ -146,33 +140,33 @@ const files = {
146
140
  condition: generator => !generator.skipUserManagement,
147
141
  path: REACT_DIR,
148
142
  templates: [
149
- { file: 'modules/account/index.tsx', method: 'processJsx' },
150
- { file: 'modules/account/activate/activate.tsx', method: 'processJsx' },
151
- { file: 'modules/account/password/password.tsx', method: 'processJsx' },
152
- { file: 'modules/account/register/register.tsx', method: 'processJsx' },
153
- { file: 'modules/account/password-reset/init/password-reset-init.tsx', method: 'processJsx' },
154
- { file: 'modules/account/password-reset/finish/password-reset-finish.tsx', method: 'processJsx' },
155
- { file: 'modules/account/settings/settings.tsx', method: 'processJsx' },
156
- { file: 'modules/account/register/register.reducer.ts', method: 'processJsx' },
157
- { file: 'modules/account/activate/activate.reducer.ts', method: 'processJsx' },
158
- { file: 'modules/account/password-reset/password-reset.reducer.ts', method: 'processJsx' },
159
- { file: 'modules/account/password/password.reducer.ts', method: 'processJsx' },
160
- { file: 'modules/account/settings/settings.reducer.ts', method: 'processJsx' },
143
+ 'modules/account/index.tsx',
144
+ 'modules/account/activate/activate.tsx',
145
+ 'modules/account/password/password.tsx',
146
+ 'modules/account/register/register.tsx',
147
+ 'modules/account/password-reset/init/password-reset-init.tsx',
148
+ 'modules/account/password-reset/finish/password-reset-finish.tsx',
149
+ 'modules/account/settings/settings.tsx',
150
+ 'modules/account/register/register.reducer.ts',
151
+ 'modules/account/activate/activate.reducer.ts',
152
+ 'modules/account/password-reset/password-reset.reducer.ts',
153
+ 'modules/account/password/password.reducer.ts',
154
+ 'modules/account/settings/settings.reducer.ts',
161
155
  ],
162
156
  },
163
157
  {
164
158
  condition: generator => generator.authenticationType === SESSION && !generator.skipUserManagement,
165
159
  path: REACT_DIR,
166
- templates: [{ file: 'modules/account/sessions/sessions.tsx', method: 'processJsx' }, 'modules/account/sessions/sessions.reducer.ts'],
160
+ templates: ['modules/account/sessions/sessions.tsx', 'modules/account/sessions/sessions.reducer.ts'],
167
161
  },
168
162
  ],
169
163
  adminModule: [
170
164
  {
171
165
  path: REACT_DIR,
172
166
  templates: [
173
- { file: 'modules/administration/index.tsx', method: 'processJsx' },
167
+ 'modules/administration/index.tsx',
174
168
  'modules/administration/administration.reducer.ts',
175
- { file: 'modules/administration/docs/docs.tsx', method: 'processJsx' },
169
+ 'modules/administration/docs/docs.tsx',
176
170
  'modules/administration/docs/docs.scss',
177
171
  ],
178
172
  },
@@ -180,34 +174,34 @@ const files = {
180
174
  condition: generator => generator.withAdminUi,
181
175
  path: REACT_DIR,
182
176
  templates: [
183
- { file: 'modules/administration/configuration/configuration.tsx', method: 'processJsx' },
184
- { file: 'modules/administration/health/health.tsx', method: 'processJsx' },
185
- { file: 'modules/administration/health/health-modal.tsx', method: 'processJsx' },
186
- { file: 'modules/administration/logs/logs.tsx', method: 'processJsx' },
187
- { file: 'modules/administration/metrics/metrics.tsx', method: 'processJsx' },
177
+ 'modules/administration/configuration/configuration.tsx',
178
+ 'modules/administration/health/health.tsx',
179
+ 'modules/administration/health/health-modal.tsx',
180
+ 'modules/administration/logs/logs.tsx',
181
+ 'modules/administration/metrics/metrics.tsx',
188
182
  ],
189
183
  },
190
184
  {
191
185
  condition: generator => generator.websocket === SPRING_WEBSOCKET,
192
186
  path: REACT_DIR,
193
- templates: [{ file: 'modules/administration/tracker/tracker.tsx', method: 'processJsx' }],
187
+ templates: ['modules/administration/tracker/tracker.tsx'],
194
188
  },
195
189
  {
196
190
  condition: generator => !generator.skipUserManagement,
197
191
  path: REACT_DIR,
198
192
  templates: [
199
- { file: 'modules/administration/user-management/index.tsx', method: 'processJsx' },
200
- { file: 'modules/administration/user-management/user-management.tsx', method: 'processJsx' },
201
- { file: 'modules/administration/user-management/user-management-update.tsx', method: 'processJsx' },
202
- { file: 'modules/administration/user-management/user-management-detail.tsx', method: 'processJsx' },
203
- { file: 'modules/administration/user-management/user-management-delete-dialog.tsx', method: 'processJsx' },
193
+ 'modules/administration/user-management/index.tsx',
194
+ 'modules/administration/user-management/user-management.tsx',
195
+ 'modules/administration/user-management/user-management-update.tsx',
196
+ 'modules/administration/user-management/user-management-detail.tsx',
197
+ 'modules/administration/user-management/user-management-delete-dialog.tsx',
204
198
  'modules/administration/user-management/user-management.reducer.ts',
205
199
  ],
206
200
  },
207
201
  {
208
202
  condition: generator => generator.applicationType === GATEWAY && generator.serviceDiscoveryType,
209
203
  path: REACT_DIR,
210
- templates: [{ file: 'modules/administration/gateway/gateway.tsx', method: 'processJsx' }],
204
+ templates: ['modules/administration/gateway/gateway.tsx'],
211
205
  },
212
206
  ],
213
207
  reactShared: [
@@ -215,26 +209,26 @@ const files = {
215
209
  path: REACT_DIR,
216
210
  templates: [
217
211
  // layouts
218
- { file: 'shared/layout/footer/footer.tsx', method: 'processJsx' },
219
- { file: 'shared/layout/header/header.tsx', method: 'processJsx' },
220
- { file: 'shared/layout/header/header-components.tsx', method: 'processJsx' },
212
+ 'shared/layout/footer/footer.tsx',
213
+ 'shared/layout/header/header.tsx',
214
+ 'shared/layout/header/header-components.tsx',
221
215
  'shared/layout/menus/index.ts',
222
- { file: 'shared/layout/menus/admin.tsx', method: 'processJsx' },
223
- { file: 'shared/layout/menus/account.tsx', method: 'processJsx' },
224
- { file: 'shared/layout/menus/entities.tsx', method: 'processJsx' },
225
- { file: 'shared/layout/menus/menu-components.tsx', method: 'processJsx' },
226
- { file: 'shared/layout/menus/menu-item.tsx', method: 'processJsx' },
227
- { file: 'shared/layout/password/password-strength-bar.tsx', method: 'processJsx' },
216
+ 'shared/layout/menus/admin.tsx',
217
+ 'shared/layout/menus/account.tsx',
218
+ 'shared/layout/menus/entities.tsx',
219
+ 'shared/layout/menus/menu-components.tsx',
220
+ 'shared/layout/menus/menu-item.tsx',
221
+ 'shared/layout/password/password-strength-bar.tsx',
228
222
  // util
229
223
  'shared/util/date-utils.ts',
230
224
  'shared/util/pagination.constants.ts',
231
225
  'shared/util/entity-utils.ts',
232
226
  // components
233
- { file: 'shared/auth/private-route.tsx', method: 'processJsx' },
234
- { file: 'shared/error/error-boundary.tsx', method: 'processJsx' },
235
- { file: 'shared/error/error-boundary-route.tsx', method: 'processJsx' },
236
- { file: 'shared/error/page-not-found.tsx', method: 'processJsx' },
237
- { file: 'shared/DurationFormat.tsx', method: 'processJsx' },
227
+ 'shared/auth/private-route.tsx',
228
+ 'shared/error/error-boundary.tsx',
229
+ 'shared/error/error-boundary-routes.tsx',
230
+ 'shared/error/page-not-found.tsx',
231
+ 'shared/DurationFormat.tsx',
238
232
  // model
239
233
  'shared/model/user.model.ts',
240
234
  ],
@@ -242,7 +236,7 @@ const files = {
242
236
  {
243
237
  condition: generator => generator.enableTranslation,
244
238
  path: REACT_DIR,
245
- templates: [{ file: 'shared/layout/menus/locale.tsx', method: 'processJsx' }],
239
+ templates: ['shared/layout/menus/locale.tsx'],
246
240
  },
247
241
  {
248
242
  condition: generator => generator.authenticationType === OAUTH2,
@@ -263,6 +257,22 @@ const files = {
263
257
  ],
264
258
  },
265
259
  ],
260
+ microfrontend: [
261
+ {
262
+ condition: generator => generator.microfrontend,
263
+ templates: ['webpack/webpack.microfrontend.js.jhi.react'],
264
+ },
265
+ {
266
+ condition: generator => generator.microfrontend,
267
+ path: REACT_DIR,
268
+ templates: ['main.tsx', 'shared/error/error-loading.tsx'],
269
+ },
270
+ {
271
+ condition: generator => generator.microfrontend && generator.applicationTypeGateway,
272
+ path: CLIENT_MAIN_SRC_DIR,
273
+ templates: ['microfrontends/entities-menu.tsx', 'microfrontends/entities-routes.tsx'],
274
+ },
275
+ ],
266
276
  clientTestFw: [
267
277
  {
268
278
  path: REACT_DIR,
@@ -274,7 +284,7 @@ const files = {
274
284
  'shared/util/entity-utils.spec.ts',
275
285
  'shared/auth/private-route.spec.tsx',
276
286
  'shared/error/error-boundary.spec.tsx',
277
- 'shared/error/error-boundary-route.spec.tsx',
287
+ 'shared/error/error-boundary-routes.spec.tsx',
278
288
  'shared/layout/header/header.spec.tsx',
279
289
  'shared/layout/menus/account.spec.tsx',
280
290
  'modules/administration/administration.reducer.spec.ts',
@@ -306,13 +316,6 @@ const files = {
306
316
  path: REACT_DIR,
307
317
  templates: ['shared/reducers/user-management.spec.ts'],
308
318
  },
309
- // {
310
- // condition: generator => generator.authenticationType === 'session',
311
- // path: REACT_DIR,
312
- // templates: [
313
- // 'modules/account/sessions/sessions.reducer.spec.ts',
314
- // ]
315
- // },
316
319
  {
317
320
  condition: generator => generator.protractorTests,
318
321
  path: CLIENT_TEST_SRC_DIR,
@@ -349,9 +352,18 @@ function cleanup() {
349
352
  if (this.isJhipsterVersionLessThan('7.4.1')) {
350
353
  this.removeFile('.npmrc');
351
354
  }
355
+ if (this.isJhipsterVersionLessThan('7.7.1')) {
356
+ this.removeFile(`${CLIENT_MAIN_SRC_DIR}app/entities/index.tsx`);
357
+ }
358
+ if (this.isJhipsterVersionLessThan('7.8.2')) {
359
+ this.removeFile(`${CLIENT_MAIN_SRC_DIR}app/shared/error/error-boundary-route.tsx`);
360
+ this.removeFile(`${CLIENT_MAIN_SRC_DIR}app/shared/error/error-boundary-route.spec.tsx`);
361
+ }
352
362
  }
353
363
 
354
364
  function writeFiles() {
355
- // write React files
356
- return this.writeFilesToDisk(files, 'react');
365
+ return this.writeFiles({
366
+ sections: files,
367
+ rootTemplatesPath: 'react',
368
+ });
357
369
  }