generator-jhipster 7.8.0 → 7.9.1

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 (519) hide show
  1. package/README.md +1 -1
  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/program.js +5 -3
  7. package/generators/app/index.js +11 -0
  8. package/generators/app/prompts.js +60 -12
  9. package/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +3 -3
  10. package/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +3 -3
  11. package/generators/bootstrap/index.js +1 -0
  12. package/generators/bootstrap-application/generator.mjs +1 -0
  13. package/generators/ci-cd/templates/.gitlab-ci.yml.ejs +2 -3
  14. package/generators/client/files-angular.js +72 -89
  15. package/generators/client/files-react.js +63 -74
  16. package/generators/client/files-vue.js +8 -54
  17. package/generators/client/index.js +18 -11
  18. package/generators/client/needle-api/needle-client-angular.js +1 -4
  19. package/generators/client/needle-api/needle-client-react.js +2 -2
  20. package/generators/client/prompts.js +1 -0
  21. package/generators/client/templates/angular/.eslintrc.json.ejs +10 -1
  22. package/generators/client/templates/angular/angular.json.ejs +0 -1
  23. package/generators/client/templates/angular/jest.conf.js.ejs +3 -1
  24. package/generators/client/templates/angular/package.json +32 -32
  25. package/generators/client/templates/angular/package.json.ejs +23 -22
  26. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -4
  27. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
  28. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.html.ejs +15 -15
  29. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.ts.ejs +17 -11
  30. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +16 -16
  31. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +14 -9
  32. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +9 -9
  33. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.html.ejs +27 -27
  34. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.ts.ejs +28 -13
  35. package/generators/client/templates/angular/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -7
  36. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.html.ejs +19 -19
  37. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +1 -1
  38. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.ts.ejs +35 -37
  39. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +4 -4
  40. package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -7
  41. package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +14 -0
  42. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.html.ejs +6 -6
  43. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.module.ts.ejs +0 -1
  44. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +3 -3
  45. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
  46. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +1 -1
  47. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
  48. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +10 -10
  49. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +10 -10
  50. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +9 -9
  51. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
  52. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +5 -5
  53. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
  54. package/generators/client/templates/angular/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +5 -5
  55. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -4
  56. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +14 -14
  57. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -16
  58. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +2 -1
  59. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +133 -138
  60. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +22 -24
  61. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +40 -49
  62. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.model.ts.ejs +2 -2
  63. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.module.ts.ejs +0 -1
  64. package/generators/client/templates/angular/src/main/webapp/app/config/navigation.constants.ts.ejs +23 -0
  65. package/generators/client/templates/angular/src/main/webapp/app/config/pagination.constants.ts.ejs +2 -3
  66. package/generators/client/templates/angular/src/main/webapp/app/core/request/request-util.ts.ejs +1 -1
  67. package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.model.ts.ejs +2 -2
  68. package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.service.ts.ejs +7 -3
  69. package/generators/client/templates/angular/src/main/webapp/app/home/home.component.html.ejs +14 -14
  70. package/generators/client/templates/angular/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
  71. package/generators/client/templates/angular/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
  72. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
  73. package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  74. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.html.ejs +9 -9
  75. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.ts.ejs +16 -27
  76. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.html.ejs +10 -0
  77. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.ts.ejs +23 -0
  78. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +40 -0
  79. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.ts.ejs +95 -0
  80. package/generators/client/templates/angular/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
  81. package/generators/client/templates/angular/src/main/webapp/app/shared/shared.module.ts.ejs +3 -0
  82. package/generators/client/templates/angular/src/main/webapp/app/shared/sort/sort.service.ts.ejs +31 -0
  83. package/generators/client/templates/angular/src/main/webapp/declarations.d.ts.ejs +3 -8
  84. package/generators/client/templates/angular/tsconfig.json.ejs +6 -0
  85. package/generators/client/templates/angular/tsconfig.spec.json.ejs +1 -1
  86. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +6 -2
  87. package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +1 -1
  88. package/generators/client/templates/common/package.json +6 -6
  89. package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +2 -0
  90. package/generators/client/templates/react/.eslintrc.json.ejs +10 -1
  91. package/generators/client/templates/react/jest.conf.js.ejs +3 -1
  92. package/generators/client/templates/react/package.json +57 -57
  93. package/generators/client/templates/react/package.json.ejs +3 -3
  94. package/generators/client/templates/react/src/main/webapp/app/app.tsx.ejs +3 -3
  95. package/generators/client/templates/react/src/main/webapp/app/entities/menu.tsx.ejs +1 -1
  96. package/generators/client/templates/react/src/main/webapp/app/entities/routes.tsx.ejs +7 -5
  97. package/generators/client/templates/react/src/main/webapp/app/index.tsx.ejs +4 -5
  98. package/generators/client/templates/react/src/main/webapp/app/modules/account/activate/activate.tsx.ejs +8 -4
  99. package/generators/client/templates/react/src/main/webapp/app/modules/account/index.tsx.ejs +9 -6
  100. package/generators/client/templates/react/src/main/webapp/app/modules/account/password/password.tsx.ejs +1 -0
  101. package/generators/client/templates/react/src/main/webapp/app/modules/account/password-reset/finish/password-reset-finish.tsx.ejs +8 -5
  102. package/generators/client/templates/react/src/main/webapp/app/modules/administration/administration.reducer.ts.ejs +6 -7
  103. package/generators/client/templates/react/src/main/webapp/app/modules/administration/gateway/gateway.tsx.ejs +9 -1
  104. package/generators/client/templates/react/src/main/webapp/app/modules/administration/health/health-modal.tsx.ejs +3 -2
  105. package/generators/client/templates/react/src/main/webapp/app/modules/administration/health/health.tsx.ejs +4 -4
  106. package/generators/client/templates/react/src/main/webapp/app/modules/administration/index.tsx.ejs +14 -11
  107. package/generators/client/templates/react/src/main/webapp/app/modules/administration/metrics/metrics.tsx.ejs +8 -2
  108. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/index.tsx.ejs +13 -13
  109. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-delete-dialog.tsx.ejs +7 -4
  110. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-detail.tsx.ejs +5 -3
  111. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-update.tsx.ejs +10 -6
  112. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +18 -26
  113. package/generators/client/templates/react/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +6 -3
  114. package/generators/client/templates/react/src/main/webapp/app/modules/login/login.tsx.ejs +6 -5
  115. package/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs +53 -25
  116. package/generators/client/templates/react/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +30 -27
  117. package/generators/client/templates/react/src/main/webapp/app/shared/auth/private-route.tsx.ejs +35 -34
  118. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-routes.spec.tsx.ejs +55 -0
  119. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-routes.tsx.ejs +21 -0
  120. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary.spec.tsx.ejs +1 -1
  121. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary.tsx.ejs +1 -1
  122. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-loading.tsx.ejs +8 -10
  123. package/generators/client/templates/react/src/main/webapp/app/shared/error/page-not-found.tsx.ejs +9 -13
  124. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.spec.tsx.ejs +3 -5
  125. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +5 -8
  126. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/entities.tsx.ejs +1 -1
  127. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/menu-item.tsx.ejs +12 -11
  128. package/generators/client/templates/react/src/main/webapp/app/typings.d.ts.ejs +2 -2
  129. package/generators/client/templates/react/tsconfig.json.ejs +2 -4
  130. package/generators/client/templates/react/tsconfig.test.json.ejs +1 -0
  131. package/generators/client/templates/react/webpack/webpack.common.js.ejs +7 -3
  132. package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +4 -4
  133. package/generators/client/templates/vue/.eslintrc.js.ejs +10 -1
  134. package/generators/client/templates/vue/package.json +40 -39
  135. package/generators/client/templates/vue/package.json.ejs +3 -3
  136. package/generators/client/templates/vue/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +2 -2
  137. package/generators/client/templates/vue/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +14 -0
  138. package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.vue.ejs +1 -1
  139. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +2 -2
  140. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +5 -3
  141. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +2 -2
  142. package/generators/client/templates/vue/src/main/webapp/app/shared/alert/alert.service.ts.ejs +1 -1
  143. package/generators/client/templates/vue/src/main/webapp/app/shared/date/filters.ts.ejs +0 -6
  144. package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +5 -0
  145. package/generators/client/templates/vue/src/test/javascript/spec/app/account/register/register.component.spec.ts.ejs +1 -1
  146. package/generators/client/templates/vue/tsconfig.json.ejs +1 -1
  147. package/generators/client/templates/vue/tsconfig.spec.json.ejs +2 -2
  148. package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +4 -0
  149. package/generators/client/templates/vue/webpack/webpack.prod.js.ejs +8 -1
  150. package/generators/client/transform-angular.cjs +117 -0
  151. package/generators/client/transform-react.cjs +126 -0
  152. package/generators/client/transform-vue.cjs +42 -0
  153. package/generators/common/files.js +2 -9
  154. package/generators/common/templates/README.md.jhi.ejs +21 -5
  155. package/generators/common/templates/package.json +3 -3
  156. package/generators/cypress/files.js +34 -22
  157. package/generators/cypress/index.js +42 -19
  158. package/generators/cypress/templates/cypress-audits.config.ts.ejs +28 -0
  159. package/generators/cypress/templates/cypress.config.ts.ejs +57 -0
  160. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/login-page.spec.ts.ejs → e2e/account/login-page.cy.ts.ejs} +0 -0
  161. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/password-page.spec.ts.ejs → e2e/account/password-page.cy.ts.ejs} +0 -0
  162. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/register-page.spec.ts.ejs → e2e/account/register-page.cy.ts.ejs} +0 -0
  163. 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
  164. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/settings-page.spec.ts.ejs → e2e/account/settings-page.cy.ts.ejs} +0 -0
  165. package/generators/cypress/templates/src/test/javascript/cypress/{integration/administration/administration.spec.ts.ejs → e2e/administration/administration.cy.ts.ejs} +1 -1
  166. package/generators/cypress/templates/src/test/javascript/cypress/{integration → e2e}/lighthouse.audits.ts.ejs +0 -0
  167. package/generators/cypress/templates/src/test/javascript/cypress/plugins/global.d.ts.ejs +25 -0
  168. package/generators/cypress/templates/src/test/javascript/cypress/plugins/index.ts.ejs +13 -14
  169. package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +4 -4
  170. package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +1 -1
  171. package/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +8 -8
  172. package/generators/cypress/templates/src/test/javascript/cypress/tsconfig.json.ejs +8 -5
  173. package/generators/database-changelog-liquibase/files.js +1 -1
  174. package/generators/database-changelog-liquibase/index.js +3 -0
  175. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +1 -1
  176. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs +1 -1
  177. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +1 -1
  178. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +2 -2
  179. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_migrate.xml.ejs +1 -1
  180. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +2 -2
  181. package/generators/docker-base.js +6 -3
  182. package/generators/docker-compose/files.js +5 -2
  183. package/generators/docker-compose/index.js +13 -24
  184. package/generators/docker-compose/templates/README-DOCKER-COMPOSE.md.ejs +1 -1
  185. package/generators/docker-compose/templates/docker-compose.yml.ejs +10 -8
  186. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +62 -4
  187. package/generators/docker-prompts.js +1 -2
  188. package/generators/docker-utils.js +0 -1
  189. package/generators/entity/index.js +5 -15
  190. package/generators/entity/prompts.js +1 -52
  191. package/generators/entity-client/files-angular.cjs +169 -0
  192. package/generators/entity-client/files-cypress.cjs +52 -0
  193. package/generators/entity-client/files-react.cjs +113 -0
  194. package/generators/entity-client/files-vue.cjs +140 -0
  195. package/generators/entity-client/files.js +10 -381
  196. package/generators/entity-client/index.js +120 -19
  197. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.html.ejs +4 -5
  198. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.ts.ejs +2 -1
  199. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +12 -11
  200. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +0 -5
  201. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.model.ts.ejs +18 -25
  202. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.test-samples.ts.ejs +45 -0
  203. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +45 -37
  204. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +47 -28
  205. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +292 -94
  206. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/infinite-scroll-template.ejs +5 -106
  207. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/pagination-template.ejs +2 -82
  208. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +5 -5
  209. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.ts.ejs +5 -5
  210. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing.module.ts.ejs +2 -3
  211. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +89 -175
  212. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +69 -44
  213. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.spec.ts.ejs +111 -0
  214. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.ts.ejs +263 -0
  215. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +99 -120
  216. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +47 -71
  217. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +79 -195
  218. 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} +26 -17
  219. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +10 -5
  220. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-detail.tsx.ejs +5 -3
  221. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +11 -6
  222. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +11 -10
  223. package/generators/entity-client/templates/react/src/main/webapp/app/entities/index.tsx.ejs +13 -13
  224. package/generators/entity-client/templates/react/src/main/webapp/app/entities/react_validators.ejs +25 -32
  225. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +2 -2
  226. package/generators/entity-server/cleanup.js +41 -0
  227. package/generators/entity-server/files.js +118 -53
  228. package/generators/entity-server/index.js +14 -27
  229. package/generators/entity-server/templates/partials/save_template.ejs +1 -1
  230. package/generators/entity-server/templates/partials/update_template.ejs +1 -1
  231. package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +11 -5
  232. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.elastic_search.ejs +17 -0
  233. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_cassandra.ejs +3 -1
  234. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +6 -1
  235. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +11 -12
  236. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationships.java.ejs +2 -2
  237. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationshipsImpl.java.ejs +13 -6
  238. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +3 -3
  239. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +46 -9
  240. package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +3 -3
  241. package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +2 -2
  242. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +2 -5
  243. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +140 -132
  244. package/generators/gae/index.js +1 -1
  245. package/generators/generate-blueprint/constants.mjs +22 -2
  246. package/generators/generate-blueprint/generator.mjs +25 -6
  247. package/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +5 -3
  248. package/generators/generate-blueprint/templates/cli/commands.cjs.ejs +2 -1
  249. package/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +6 -5
  250. package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +10 -1
  251. package/generators/generator-base-blueprint.js +19 -20
  252. package/generators/generator-base-private.js +116 -64
  253. package/generators/generator-base.js +241 -91
  254. package/generators/generator-constants.js +118 -66
  255. package/generators/generator-defaults.js +1 -0
  256. package/generators/heroku/index.js +5 -4
  257. package/generators/heroku/templates/application-heroku.yml.ejs +1 -2
  258. package/generators/heroku/templates/heroku.gradle.ejs +28 -1
  259. package/generators/heroku/templates/pom-profile.xml.ejs +29 -0
  260. package/generators/java/index.cjs +2 -2
  261. package/generators/kubernetes/templates/db/couchbase.yml.ejs +1 -2
  262. package/generators/kubernetes/templates/db/mongodb.yml.ejs +1 -2
  263. package/generators/kubernetes/templates/ingress.yml.ejs +11 -4
  264. package/generators/kubernetes/templates/monitoring/jhipster-grafana.yml.ejs +6 -2
  265. package/generators/kubernetes/templates/registry/consul.yml.ejs +1 -2
  266. package/generators/kubernetes/templates/registry/jhipster-registry.yml.ejs +1 -2
  267. package/generators/languages/templates/src/main/webapp/i18n/al/global.json.ejs +7 -1
  268. package/generators/languages/templates/src/main/webapp/i18n/ar-ly/global.json.ejs +7 -1
  269. package/generators/languages/templates/src/main/webapp/i18n/bg/global.json.ejs +7 -1
  270. package/generators/languages/templates/src/main/webapp/i18n/bn/global.json.ejs +7 -1
  271. package/generators/languages/templates/src/main/webapp/i18n/by/global.json.ejs +7 -1
  272. package/generators/languages/templates/src/main/webapp/i18n/ca/global.json.ejs +7 -1
  273. package/generators/languages/templates/src/main/webapp/i18n/cs/global.json.ejs +7 -1
  274. package/generators/languages/templates/src/main/webapp/i18n/da/global.json.ejs +7 -1
  275. package/generators/languages/templates/src/main/webapp/i18n/de/global.json.ejs +7 -1
  276. package/generators/languages/templates/src/main/webapp/i18n/el/global.json.ejs +7 -1
  277. package/generators/languages/templates/src/main/webapp/i18n/en/global.json.ejs +7 -1
  278. package/generators/languages/templates/src/main/webapp/i18n/en/health.json.ejs +3 -0
  279. package/generators/languages/templates/src/main/webapp/i18n/es/global.json.ejs +7 -1
  280. package/generators/languages/templates/src/main/webapp/i18n/et/global.json.ejs +7 -1
  281. package/generators/languages/templates/src/main/webapp/i18n/fa/global.json.ejs +7 -1
  282. package/generators/languages/templates/src/main/webapp/i18n/fi/global.json.ejs +7 -1
  283. package/generators/languages/templates/src/main/webapp/i18n/fr/global.json.ejs +7 -1
  284. package/generators/languages/templates/src/main/webapp/i18n/gl/global.json.ejs +7 -1
  285. package/generators/languages/templates/src/main/webapp/i18n/hi/global.json.ejs +7 -1
  286. package/generators/languages/templates/src/main/webapp/i18n/hr/global.json.ejs +7 -1
  287. package/generators/languages/templates/src/main/webapp/i18n/hu/global.json.ejs +7 -1
  288. package/generators/languages/templates/src/main/webapp/i18n/hy/global.json.ejs +7 -1
  289. package/generators/languages/templates/src/main/webapp/i18n/in/global.json.ejs +7 -1
  290. package/generators/languages/templates/src/main/webapp/i18n/it/global.json.ejs +7 -1
  291. package/generators/languages/templates/src/main/webapp/i18n/ja/global.json.ejs +7 -1
  292. package/generators/languages/templates/src/main/webapp/i18n/ko/global.json.ejs +7 -1
  293. package/generators/languages/templates/src/main/webapp/i18n/mr/global.json.ejs +7 -1
  294. package/generators/languages/templates/src/main/webapp/i18n/my/global.json.ejs +7 -1
  295. package/generators/languages/templates/src/main/webapp/i18n/nl/global.json.ejs +7 -1
  296. package/generators/languages/templates/src/main/webapp/i18n/pa/global.json.ejs +7 -1
  297. package/generators/languages/templates/src/main/webapp/i18n/pl/global.json.ejs +7 -1
  298. package/generators/languages/templates/src/main/webapp/i18n/pt-br/global.json.ejs +7 -1
  299. package/generators/languages/templates/src/main/webapp/i18n/pt-pt/global.json.ejs +7 -1
  300. package/generators/languages/templates/src/main/webapp/i18n/ro/global.json.ejs +7 -1
  301. package/generators/languages/templates/src/main/webapp/i18n/ru/global.json.ejs +7 -1
  302. package/generators/languages/templates/src/main/webapp/i18n/si/global.json.ejs +7 -1
  303. package/generators/languages/templates/src/main/webapp/i18n/sk/global.json.ejs +7 -1
  304. package/generators/languages/templates/src/main/webapp/i18n/sr/global.json.ejs +7 -1
  305. package/generators/languages/templates/src/main/webapp/i18n/sv/global.json.ejs +7 -1
  306. package/generators/languages/templates/src/main/webapp/i18n/ta/global.json.ejs +7 -1
  307. package/generators/languages/templates/src/main/webapp/i18n/te/global.json.ejs +7 -1
  308. package/generators/languages/templates/src/main/webapp/i18n/th/global.json.ejs +7 -1
  309. package/generators/languages/templates/src/main/webapp/i18n/tr/global.json.ejs +7 -1
  310. package/generators/languages/templates/src/main/webapp/i18n/ua/global.json.ejs +7 -1
  311. package/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/global.json +7 -1
  312. package/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/global.json.ejs +7 -1
  313. package/generators/languages/templates/src/main/webapp/i18n/vi/global.json.ejs +7 -1
  314. package/generators/languages/templates/src/main/webapp/i18n/zh-cn/global.json.ejs +7 -1
  315. package/generators/languages/templates/src/main/webapp/i18n/zh-tw/global.json.ejs +7 -1
  316. package/generators/languages/templates/src/test/resources/i18n/messages_al.properties.ejs +4 -1
  317. package/generators/languages/templates/src/test/resources/i18n/messages_ar_LY.properties.ejs +4 -1
  318. package/generators/languages/templates/src/test/resources/i18n/messages_bg.properties.ejs +1 -1
  319. package/generators/languages/templates/src/test/resources/i18n/messages_bn.properties.ejs +4 -1
  320. package/generators/languages/templates/src/test/resources/i18n/messages_by.properties.ejs +4 -1
  321. package/generators/languages/templates/src/test/resources/i18n/messages_ca.properties.ejs +4 -1
  322. package/generators/languages/templates/src/test/resources/i18n/messages_cs.properties.ejs +4 -1
  323. package/generators/languages/templates/src/test/resources/i18n/messages_da.properties.ejs +4 -1
  324. package/generators/languages/templates/src/test/resources/i18n/messages_de.properties.ejs +4 -1
  325. package/generators/languages/templates/src/test/resources/i18n/messages_el.properties.ejs +4 -1
  326. package/generators/languages/templates/src/test/resources/i18n/messages_es.properties.ejs +4 -1
  327. package/generators/languages/templates/src/test/resources/i18n/messages_et.properties.ejs +4 -1
  328. package/generators/languages/templates/src/test/resources/i18n/messages_fa.properties.ejs +4 -1
  329. package/generators/languages/templates/src/test/resources/i18n/messages_fi.properties.ejs +1 -1
  330. package/generators/languages/templates/src/test/resources/i18n/messages_gl.properties.ejs +4 -1
  331. package/generators/languages/templates/src/test/resources/i18n/messages_hi.properties.ejs +4 -1
  332. package/generators/languages/templates/src/test/resources/i18n/messages_hr.properties.ejs +1 -1
  333. package/generators/languages/templates/src/test/resources/i18n/messages_hu.properties.ejs +4 -1
  334. package/generators/languages/templates/src/test/resources/i18n/messages_hy.properties.ejs +4 -1
  335. package/generators/languages/templates/src/test/resources/i18n/messages_in.properties.ejs +4 -1
  336. package/generators/languages/templates/src/test/resources/i18n/messages_it.properties.ejs +4 -1
  337. package/generators/languages/templates/src/test/resources/i18n/messages_ja.properties.ejs +4 -1
  338. package/generators/languages/templates/src/test/resources/i18n/messages_ko.properties.ejs +4 -1
  339. package/generators/languages/templates/src/test/resources/i18n/messages_mr.properties.ejs +4 -1
  340. package/generators/languages/templates/src/test/resources/i18n/messages_my.properties.ejs +4 -1
  341. package/generators/languages/templates/src/test/resources/i18n/messages_nl.properties.ejs +4 -1
  342. package/generators/languages/templates/src/test/resources/i18n/messages_pa.properties.ejs +1 -1
  343. package/generators/languages/templates/src/test/resources/i18n/messages_pl.properties.ejs +4 -1
  344. package/generators/languages/templates/src/test/resources/i18n/messages_pt_BR.properties.ejs +1 -1
  345. package/generators/languages/templates/src/test/resources/i18n/messages_pt_PT.properties.ejs +4 -1
  346. package/generators/languages/templates/src/test/resources/i18n/messages_ro.properties.ejs +4 -1
  347. package/generators/languages/templates/src/test/resources/i18n/messages_ru.properties.ejs +4 -1
  348. package/generators/languages/templates/src/test/resources/i18n/messages_si.properties.ejs +4 -1
  349. package/generators/languages/templates/src/test/resources/i18n/messages_sk.properties.ejs +4 -1
  350. package/generators/languages/templates/src/test/resources/i18n/messages_sr.properties.ejs +4 -1
  351. package/generators/languages/templates/src/test/resources/i18n/messages_sv.properties.ejs +4 -1
  352. package/generators/languages/templates/src/test/resources/i18n/messages_ta.properties.ejs +4 -1
  353. package/generators/languages/templates/src/test/resources/i18n/messages_te.properties.ejs +4 -1
  354. package/generators/languages/templates/src/test/resources/i18n/messages_th.properties.ejs +4 -1
  355. package/generators/languages/templates/src/test/resources/i18n/messages_tr.properties.ejs +4 -1
  356. package/generators/languages/templates/src/test/resources/i18n/messages_ua.properties.ejs +4 -1
  357. package/generators/languages/templates/src/test/resources/i18n/messages_uz_Cyrl_UZ.properties.ejs +4 -1
  358. package/generators/languages/templates/src/test/resources/i18n/messages_uz_Latn_UZ.properties.ejs +4 -1
  359. package/generators/languages/templates/src/test/resources/i18n/messages_vi.properties.ejs +4 -1
  360. package/generators/languages/templates/src/test/resources/i18n/messages_zh_CN.properties.ejs +4 -1
  361. package/generators/languages/templates/src/test/resources/i18n/messages_zh_TW.properties.ejs +4 -1
  362. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  363. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +5 -5
  364. package/generators/maven/templates/pom.xml.jhi.ejs +2 -2
  365. package/generators/openapi-client/files.js +2 -8
  366. package/generators/openapi-client/index.js +2 -0
  367. package/generators/openshift/templates/registry/consul.yml.ejs +1 -2
  368. package/generators/openshift/templates/registry/jhipster-registry.yml.ejs +1 -2
  369. package/generators/project-name/index.cjs +8 -5
  370. package/generators/server/cleanup-angular.js +37 -0
  371. package/generators/server/cleanup-cache-provider.js +46 -0
  372. package/generators/server/cleanup-cassandra.js +49 -0
  373. package/generators/server/cleanup-cucumber.js +40 -0
  374. package/generators/server/cleanup-elasticsearch.js +48 -0
  375. package/generators/server/cleanup-gradle.js +40 -0
  376. package/generators/server/cleanup-kafka.js +41 -0
  377. package/generators/server/cleanup-maven.js +37 -0
  378. package/generators/server/cleanup-mongodb.js +40 -0
  379. package/generators/server/cleanup-oauth2.js +43 -0
  380. package/generators/server/cleanup-reactive.js +38 -0
  381. package/generators/server/cleanup-sql.js +48 -0
  382. package/generators/server/cleanup.js +85 -51
  383. package/generators/server/esm.mjs +1 -0
  384. package/generators/server/files-couchbase.js +11 -10
  385. package/generators/server/files-sql.js +197 -4
  386. package/generators/server/files.js +180 -273
  387. package/generators/server/index.js +32 -86
  388. package/generators/server/needles.cjs +79 -0
  389. package/generators/server/templates/.mvn/jvm.config +1 -1
  390. package/generators/server/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  391. package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +5 -5
  392. package/generators/server/templates/.npmrc.ejs +1 -0
  393. package/generators/server/templates/build.gradle.ejs +121 -226
  394. package/generators/server/templates/couchbase/src/test/java/package/config/CouchbaseTestContainer.java.ejs +67 -0
  395. package/generators/server/templates/couchbase/src/test/java/package/config/EmbeddedCouchbase.java.ejs +30 -0
  396. package/generators/server/templates/gradle/docker.gradle.ejs +6 -0
  397. package/generators/server/templates/gradle/profile_dev.gradle.ejs +95 -3
  398. package/generators/server/templates/gradle/profile_prod.gradle.ejs +80 -4
  399. package/generators/server/templates/gradle.properties.ejs +17 -13
  400. package/generators/server/templates/pom.xml.ejs +274 -225
  401. package/generators/server/templates/settings.gradle.ejs +2 -1
  402. package/generators/server/templates/sql/common/src/main/docker/config/mariadb/my.cnf +49 -0
  403. package/generators/server/templates/sql/common/src/main/docker/config/mysql/my.cnf +82 -0
  404. package/generators/server/templates/{src → sql/common/src}/main/docker/mariadb.yml.ejs +2 -0
  405. package/generators/server/templates/{src → sql/common/src}/main/docker/mssql.yml.ejs +0 -0
  406. package/generators/server/templates/{src → sql/common/src}/main/docker/mysql.yml.ejs +2 -2
  407. package/generators/server/templates/{src → sql/common/src}/main/docker/postgresql.yml.ejs +0 -0
  408. package/generators/server/templates/{src → sql/common/src}/main/java/package/config/LiquibaseConfiguration.java.ejs +0 -0
  409. package/generators/server/templates/{src → sql/common/src}/main/resources/h2.server.properties.ejs +0 -0
  410. package/generators/server/templates/sql/common/src/test/java/package/config/EmbeddedSQL.java.ejs +30 -0
  411. package/generators/server/templates/sql/common/src/test/java/package/config/MariadbTestContainer.java.ejs +60 -0
  412. package/generators/server/templates/sql/common/src/test/java/package/config/MsSqlTestContainer.java.ejs +59 -0
  413. package/generators/server/templates/sql/common/src/test/java/package/config/MysqlTestContainer.java.ejs +69 -0
  414. package/generators/server/templates/sql/common/src/test/java/package/config/PostgreSqlTestContainer.java.ejs +59 -0
  415. package/generators/server/templates/sql/common/src/test/java/package/config/SqlTestContainer.java.ejs +28 -0
  416. package/generators/server/templates/{src → sql/common/src}/test/java/package/config/timezone/HibernateTimeZoneIT.java.ejs +0 -0
  417. package/generators/server/templates/{src → sql/common/src}/test/java/package/repository/timezone/DateTimeWrapper.java.ejs +0 -0
  418. package/generators/server/templates/{src → sql/common/src}/test/java/package/repository/timezone/DateTimeWrapperRepository.java.ejs +0 -0
  419. package/generators/server/templates/sql/common/src/test/resources/config/application-testdev.yml.ejs +93 -0
  420. package/generators/server/templates/{src/test/resources/config/application-testcontainers.yml.ejs → sql/common/src/test/resources/config/application-testprod.yml.ejs} +17 -33
  421. package/generators/server/templates/sql/common/src/test/resources/testcontainers/mariadb/my.cnf +49 -0
  422. package/generators/server/templates/sql/common/src/test/resources/testcontainers/mysql/my.cnf +83 -0
  423. package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/EntityManager.java.ejs +45 -35
  424. package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/rowmapper/ColumnConverter.java.ejs +0 -0
  425. package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/rowmapper/UserRowMapper.java.ejs +0 -0
  426. package/generators/server/templates/src/main/docker/app.yml.ejs +16 -14
  427. package/generators/server/templates/src/main/docker/cassandra-migration.yml.ejs +1 -0
  428. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +62 -6
  429. package/generators/server/templates/src/main/docker/jhipster-control-center.yml.ejs +1 -1
  430. package/generators/server/templates/src/main/docker/jhipster-registry.yml.ejs +1 -1
  431. package/generators/server/templates/src/main/docker/jib/entrypoint.sh.ejs +36 -1
  432. package/generators/server/templates/src/main/docker/keycloak.yml.ejs +8 -6
  433. package/generators/server/templates/src/main/java/package/config/ApplicationProperties.java.ejs +3 -0
  434. package/generators/server/templates/src/main/java/package/config/AsyncConfiguration.java.ejs +2 -6
  435. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +1 -1
  436. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +16 -30
  437. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +108 -15
  438. package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +6 -0
  439. package/generators/server/templates/src/main/java/package/security/DomainUserDetailsService.java.ejs +6 -3
  440. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +10 -3
  441. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +12 -2
  442. package/generators/server/templates/src/main/java/package/web/rest/LogoutResource.java.ejs +1 -5
  443. package/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -5
  444. package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +3 -4
  445. package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +4 -3
  446. package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +1 -1
  447. package/generators/server/templates/src/main/resources/config/application.yml.ejs +1 -1
  448. package/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs +1 -1
  449. package/generators/server/templates/src/main/resources/config/liquibase/master.xml.ejs +54 -24
  450. package/generators/server/templates/src/main/resources/swagger/api.yml.ejs +3 -3
  451. package/generators/server/templates/src/test/java/package/IntegrationTest.java.ejs +32 -19
  452. package/generators/server/templates/src/test/java/package/{repository/search/UserSearchRepositoryMockConfiguration.java.ejs → config/AsyncSyncConfiguration.java.ejs} +12 -10
  453. package/generators/server/templates/src/test/java/package/config/CassandraTestContainer.java.ejs +20 -1
  454. 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
  455. package/generators/server/templates/src/test/java/package/config/ElasticsearchTestContainer.java.ejs +68 -0
  456. package/generators/server/templates/src/test/java/package/config/EmbeddedCassandra.java.ejs +19 -0
  457. package/generators/server/templates/src/test/java/package/config/EmbeddedElasticsearch.java.ejs +30 -0
  458. package/generators/server/templates/src/test/java/package/config/EmbeddedKafka.java.ejs +19 -0
  459. package/generators/server/templates/src/test/java/package/config/EmbeddedMongo.java.ejs +19 -0
  460. package/generators/server/templates/src/test/java/package/config/EmbeddedNeo4j.java.ejs +29 -0
  461. package/generators/server/templates/src/test/java/package/config/EmbeddedRedis.java.ejs +30 -0
  462. package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +11 -2
  463. package/generators/server/templates/src/test/java/package/config/KafkaTestContainer.java.ejs +19 -1
  464. package/generators/server/templates/src/test/java/package/config/MongoDbTestContainer.java.ejs +5 -5
  465. package/generators/server/templates/src/test/java/package/config/Neo4jTestContainer.java.ejs +66 -0
  466. package/generators/server/templates/src/test/java/package/config/RedisTestContainer.java.ejs +57 -0
  467. package/generators/server/templates/src/test/java/package/config/{NoOpMailConfiguration.java.ejs → SpringBootTestClassOrderer.java.ejs} +16 -16
  468. package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +166 -30
  469. package/generators/server/templates/src/test/java/package/config/WebConfigurerTest.java.ejs +0 -23
  470. package/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +5 -3
  471. package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +7 -15
  472. package/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +8 -11
  473. package/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
  474. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +19 -73
  475. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +0 -8
  476. package/generators/server/templates/src/test/java/package/web/rest/TestUtil.java.ejs +13 -10
  477. package/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +76 -51
  478. package/generators/server/templates/src/test/resources/config/application.yml.ejs +13 -62
  479. package/generators/server/templates/src/test/resources/junit-platform.properties.ejs +1 -0
  480. package/generators/server/templates/src/test/resources/templates/mail/activationEmail.html.ejs +19 -0
  481. package/generators/server/templates/src/test/resources/templates/mail/creationEmail.html.ejs +19 -0
  482. package/generators/server/templates/src/test/resources/templates/mail/passwordResetEmail.html.ejs +21 -0
  483. package/generators/spring-controller/index.js +16 -1
  484. package/generators/sql-constants.js +85 -0
  485. package/generators/statistics.js +6 -5
  486. package/generators/upgrade/index.js +1 -1
  487. package/generators/utils.js +32 -30
  488. package/generators/workspaces/index.js +31 -28
  489. package/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +2 -3
  490. package/jdl/converters/json-to-jdl-converter.js +23 -6
  491. package/jdl/exporters/applications/jhipster-application-formatter.js +7 -0
  492. package/jdl/jhipster/application-options.js +8 -0
  493. package/jdl/jhipster/default-application-options.js +2 -2
  494. package/jdl/parsing/lexer/application-tokens.js +6 -0
  495. package/jdl/parsing/validator.js +7 -0
  496. package/jdl/validators/application-validator.js +3 -1
  497. package/jdl/validators/jdl-with-application-validator.js +1 -0
  498. package/jdl/validators/jdl-without-application-validator.js +3 -2
  499. package/lib/support/base.cjs +43 -0
  500. package/lib/support/needles.cjs +221 -0
  501. package/lib/support/shared-data.cjs +2 -2
  502. package/package.json +29 -27
  503. package/utils/blueprint.js +1 -1
  504. package/utils/entity.js +9 -1
  505. package/utils/field.js +24 -11
  506. package/utils/liquibase.js +5 -8
  507. package/utils/relationship.js +3 -2
  508. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-route.spec.tsx.ejs +0 -33
  509. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-route.tsx.ejs +0 -17
  510. package/generators/cypress/templates/cypress-audits.json.ejs +0 -32
  511. package/generators/cypress/templates/cypress.json.ejs +0 -46
  512. package/generators/docker-compose/templates/realm-config/jhipster-users-0.json.ejs +0 -61
  513. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/no-pagination-template.ejs +0 -81
  514. package/generators/server/templates/couchbase/src/test/java/package/CouchbaseTestContainerExtension.java.ejs +0 -56
  515. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-users-0.json.ejs +0 -61
  516. package/generators/server/templates/src/test/java/package/AbstractNeo4jIT.java.ejs +0 -44
  517. package/generators/server/templates/src/test/java/package/ReactiveSqlTestContainerExtension.java.ejs +0 -79
  518. package/generators/server/templates/src/test/java/package/RedisTestContainerExtension.java.ejs +0 -44
  519. package/generators/server/templates/src/test/resources/testcontainers/mariadb/my.cnf +0 -2
package/README.md CHANGED
@@ -8,7 +8,7 @@ Greetings, Java Hipster!
8
8
 
9
9
  Full documentation and information is available on our website at [https://www.jhipster.tech/][jhipster-url]
10
10
 
11
- Please read our [guidelines](/CONTRIBUTING.md#submitting-an-issue) before submitting an issue. If your issue is a bug, please use the bug template pre-populated [here][issue-template]. For feature requests and queries you can use [this template][feature-template].
11
+ Please read our [guidelines](/CONTRIBUTING.md#submitting-an-issue) before submitting an issue. If your issue is a bug, please use the bug template pre-populated [here][issue-template]. For feature requests and queries you can use [this template][feature-template]. If you have found a potential security issue, please read our security policy and contact us privately first: https://github.com/jhipster/generator-jhipster/security/policy
12
12
 
13
13
  ## Contributing
14
14
 
@@ -41,7 +41,9 @@ module.exports = class EnvironmentBuilder {
41
41
  /**
42
42
  * Creates a new EnvironmentBuilder with a new Environment.
43
43
  *
44
- * @param {...any} args - Arguments passed to Environment.createEnv().
44
+ * @param {any} args - Arguments passed to Environment.createEnv().
45
+ * @param {Object} [options] - options passed to Environment.createEnv().
46
+ * @param [adapter] - adapter passed to Environment.createEnv().
45
47
  * @return {EnvironmentBuilder} envBuilder
46
48
  */
47
49
  static create(args, options = {}, adapter) {
package/cli/import-jdl.js CHANGED
@@ -140,10 +140,10 @@ function writeApplicationConfig(applicationWithEntities, basePath) {
140
140
  * @param {string} options.cwd
141
141
  * @param {boolean} options.fork
142
142
  * @param {Environment} options.env
143
- * @param {Object} generatorOptions
144
- * @param {Promise}
143
+ * @param {Object} [generatorOptions]
145
144
  */
146
- function runGenerator(command, { cwd, fork, env }, generatorOptions = {}) {
145
+ function runGenerator(command, { cwd, fork, env, createEnvBuilder }, generatorOptions = {}) {
146
+ const { workspaces } = generatorOptions;
147
147
  generatorOptions = {
148
148
  ...generatorOptions,
149
149
  // Remove jdl command exclusive options
@@ -161,6 +161,9 @@ function runGenerator(command, { cwd, fork, env }, generatorOptions = {}) {
161
161
  commandName: undefined,
162
162
  fromJdl: true,
163
163
  };
164
+ if (workspaces) {
165
+ generatorOptions.skipInstall = true;
166
+ }
164
167
  if (!generatorOptions.blueprints) {
165
168
  delete generatorOptions.blueprints;
166
169
  }
@@ -168,7 +171,7 @@ function runGenerator(command, { cwd, fork, env }, generatorOptions = {}) {
168
171
  if (!fork) {
169
172
  const oldCwd = process.cwd();
170
173
  process.chdir(cwd);
171
- env = env || EnvironmentBuilder.createDefaultBuilder(undefined, { cwd }).getEnvironment();
174
+ env = env || createEnvBuilder(undefined, { cwd }).getEnvironment();
172
175
  return env
173
176
  .run(`${CLI_NAME}:${command}`, generatorOptions)
174
177
  .then(
@@ -260,10 +263,11 @@ const generateDeploymentFiles = ({ processor, deployment }) => {
260
263
  logger.info(`Generating deployment ${deploymentType} in a new parallel process`);
261
264
  logger.debug(`Generating deployment: ${JSON.stringify(deployment[GENERATOR_NAME], null, 2)}`);
262
265
 
263
- const cwd = path.join(processor.pwd, deploymentType);
266
+ const { pwd, createEnvBuilder } = processor;
267
+ const cwd = path.join(pwd, deploymentType);
264
268
  logger.debug(`Child process will be triggered for ${jhipsterCli} with cwd: ${cwd}`);
265
269
 
266
- return runGenerator(deploymentType, { cwd, fork: false }, { force: true, ...processor.options, skipPrompts: true });
270
+ return runGenerator(deploymentType, { cwd, fork: false, createEnvBuilder }, { force: true, ...processor.options, skipPrompts: true });
267
271
  };
268
272
 
269
273
  /**
@@ -273,7 +277,7 @@ const generateDeploymentFiles = ({ processor, deployment }) => {
273
277
  */
274
278
  const generateApplicationFiles = ({ processor, applicationWithEntities }) => {
275
279
  logger.debug(`Generating application: ${JSON.stringify(applicationWithEntities.config, null, 2)}`);
276
- const { inFolder, fork, force, reproducible } = processor;
280
+ const { inFolder, fork, force, reproducible, createEnvBuilder } = processor;
277
281
  const baseName = applicationWithEntities.config.baseName;
278
282
  const cwd = inFolder ? path.join(processor.pwd, baseName) : processor.pwd;
279
283
  if (processor.options.jsonOnly) {
@@ -290,7 +294,7 @@ const generateApplicationFiles = ({ processor, applicationWithEntities }) => {
290
294
  generatorOptions.applicationWithEntities = applicationWithEntities;
291
295
  }
292
296
 
293
- return runGenerator('app', { cwd, fork }, generatorOptions);
297
+ return runGenerator('app', { cwd, fork, createEnvBuilder }, generatorOptions);
294
298
  };
295
299
 
296
300
  /**
@@ -301,7 +305,7 @@ const generateApplicationFiles = ({ processor, applicationWithEntities }) => {
301
305
  * @return Promise
302
306
  */
303
307
  const generateEntityFiles = (processor, exportedEntities, env) => {
304
- const { fork, inFolder, force } = processor;
308
+ const { fork, inFolder, force, createEnvBuilder } = processor;
305
309
  const generatorOptions = {
306
310
  force,
307
311
  ...processor.options,
@@ -325,7 +329,7 @@ const generateEntityFiles = (processor, exportedEntities, env) => {
325
329
  logger.info(`Generating entities for application ${baseName} in a new parallel process`);
326
330
 
327
331
  logger.debug(`Child process will be triggered for ${jhipsterCli} with cwd: ${cwd}`);
328
- return runGenerator('entities', { cwd, env, fork }, generatorOptions);
332
+ return runGenerator('entities', { cwd, env, fork, createEnvBuilder }, generatorOptions);
329
333
  };
330
334
 
331
335
  if (fork) {
@@ -343,7 +347,7 @@ const generateEntityFiles = (processor, exportedEntities, env) => {
343
347
  };
344
348
 
345
349
  class JDLProcessor {
346
- constructor(jdlFiles, jdlContent, options) {
350
+ constructor(jdlFiles, jdlContent, options, createEnvBuilder) {
347
351
  logger.debug(
348
352
  `JDLProcessor started with ${jdlContent ? `content: ${jdlContent}` : `files: ${jdlFiles}`} and options: ${toString(options)}`
349
353
  );
@@ -351,6 +355,7 @@ class JDLProcessor {
351
355
  this.jdlContent = jdlContent;
352
356
  this.options = options;
353
357
  this.pwd = process.cwd();
358
+ this.createEnvBuilder = createEnvBuilder;
354
359
  }
355
360
 
356
361
  importJDL() {
@@ -387,13 +392,10 @@ class JDLProcessor {
387
392
  statistics.sendSubGenEvent('generator', 'import-jdl');
388
393
  }
389
394
 
390
- generateWorkspaces(options) {
391
- if (!options.workspaces || !multiplesApplications(this)) {
392
- return Promise.resolve();
393
- }
394
- return EnvironmentBuilder.createDefaultBuilder()
395
+ generateWorkspaces(options, generateJdl) {
396
+ return this.createEnvBuilder()
395
397
  .getEnvironment()
396
- .run('jhipster:workspaces', { workspaces: false, ...options, importState: this.importState });
398
+ .run('jhipster:workspaces', { workspaces: false, ...options, importState: this.importState, generateJdl });
397
399
  }
398
400
 
399
401
  generateApplications() {
@@ -425,21 +427,35 @@ class JDLProcessor {
425
427
  })
426
428
  );
427
429
 
428
- applicationsWithEntities.forEach((applicationWithEntities, idx) => {
430
+ applicationsWithEntities.forEach(applicationWithEntities => {
431
+ const microfrontends = applicationWithEntities.config.microfrontends || [];
432
+
429
433
  const relatedApplications = Object.entries(allApplications).filter(
430
434
  ([baseName]) =>
431
435
  applicationWithEntities.config.baseName !== baseName &&
432
- applicationWithEntities.entities.find(entity => entity.microserviceName === baseName)
436
+ (applicationWithEntities.entities.find(entity => entity.microserviceName === baseName) || microfrontends.includes(baseName))
433
437
  );
434
- const { serverPort: gatewayServerPort } = applicationWithEntities.config;
438
+ const { serverPort: gatewayServerPort, clientFramework: gatewayClientFramework } = applicationWithEntities.config;
435
439
  if (relatedApplications.length > 0) {
436
440
  applicationWithEntities.config.applications = Object.fromEntries(
437
441
  relatedApplications.map(([baseName, config]) => {
438
- config.gatewayServerPort = gatewayServerPort;
442
+ config.gatewayServerPort = config.gatewayServerPort || gatewayServerPort;
439
443
  const { clientFramework, serverPort, applicationIndex, devServerPort } = config;
440
444
  return [baseName, { clientFramework, serverPort, applicationIndex, devServerPort }];
441
445
  })
442
446
  );
447
+
448
+ const differentClientFrameworks = relatedApplications.filter(
449
+ ([_baseName, { clientFramework }]) => clientFramework && clientFramework !== 'no' && clientFramework !== gatewayClientFramework
450
+ );
451
+
452
+ if (differentClientFrameworks.length > 0) {
453
+ throw Error(
454
+ `Using different client frameworks in microfrontends is not supported. Tried to use: ${gatewayClientFramework} with ${differentClientFrameworks
455
+ .map(([baseName, { clientFramework }]) => `${clientFramework} (${baseName})`)
456
+ .join(', ')}`
457
+ );
458
+ }
443
459
  }
444
460
  });
445
461
 
@@ -501,28 +517,38 @@ class JDLProcessor {
501
517
 
502
518
  /**
503
519
  * Import-JDL sub generator
504
- * @param {any} args arguments passed for import-jdl
505
- * @param {any} options options passed from CLI
506
- * @param {any} env the yeoman environment
520
+ * @param {any} jdlFiles jdl files
521
+ * @param {any} [options] options passed from CLI
522
+ * @param {any} [env] the yeoman environment
507
523
  */
508
- module.exports = (jdlFiles, options = {}, env) => {
524
+ module.exports = (jdlFiles, options = {}, env, _envBuilder, createEnvBuilder = EnvironmentBuilder.createDefaultBuilder) => {
509
525
  logger.info(chalk.yellow(`Executing import-jdl ${options.inline ? 'with inline content' : jdlFiles.join(' ')}`));
510
526
  logger.debug(chalk.yellow(`Options: ${toString({ ...options, inline: options.inline ? 'inline content' : '' })}`));
511
527
  try {
512
- const jdlImporter = new JDLProcessor(jdlFiles, options.inline, options);
528
+ const jdlImporter = new JDLProcessor(jdlFiles, options.inline, options, createEnvBuilder);
513
529
  jdlImporter.importJDL();
514
530
  jdlImporter.sendInsight();
515
531
  jdlImporter.config();
516
532
 
517
- return jdlImporter
518
- .generateWorkspaces(options)
519
- .then(() => jdlImporter.generateApplications())
520
- .then(() => jdlImporter.generateEntities(env))
521
- .then(() => jdlImporter.generateDeployments())
522
- .then(() => {
523
- printSuccess();
524
- return jdlFiles;
525
- });
533
+ const generateJdl = () =>
534
+ jdlImporter
535
+ .generateApplications()
536
+ .then(() => jdlImporter.generateEntities(env))
537
+ .then(() => jdlImporter.generateDeployments());
538
+
539
+ let generation;
540
+ if (!options.workspaces || !multiplesApplications(jdlImporter)) {
541
+ generation = generateJdl();
542
+ } else {
543
+ // Wrap generation inside workspaces root generation.
544
+ // generate applications after git initialization and before root npm install
545
+ generation = jdlImporter.generateWorkspaces(options, generateJdl);
546
+ }
547
+
548
+ return generation.then(() => {
549
+ printSuccess();
550
+ return jdlFiles;
551
+ });
526
552
  } catch (e) {
527
553
  logger.error(`Error during import-jdl: ${e}`, e);
528
554
  return Promise.reject(new Error(`Error during import-jdl: ${e.message}`));
package/cli/jdl.js CHANGED
@@ -41,13 +41,14 @@ const toJdlFile = file => {
41
41
  * @param {string[]} args[0] jdl files
42
42
  * @param {any} options options passed from CLI
43
43
  * @param {any} env the yeoman environment
44
- * @param {function} forkProcess the method to use for process forking
44
+ * @param {EnvironmentBuilder} envBuilder
45
+ * @param {(string[], object) => EnvironmentBuilder} createEnvBuilder
45
46
  */
46
- module.exports = ([jdlFiles = []], options = {}, env, forkProcess) => {
47
+ module.exports = ([jdlFiles = []], options = {}, env, envBuilder, createEnvBuilder) => {
47
48
  logger.debug('cmd: import-jdl from ./import-jdl');
48
49
  logger.debug(`jdlFiles: ${toString(jdlFiles)}`);
49
50
  if (options.inline) {
50
- return importJdl(jdlFiles, options, env, forkProcess);
51
+ return importJdl(jdlFiles, options, env, envBuilder, createEnvBuilder);
51
52
  }
52
53
  if (!jdlFiles || jdlFiles.length === 0) {
53
54
  logger.fatal(chalk.red('\nAt least one jdl file is required.\n'));
@@ -59,5 +60,5 @@ module.exports = ([jdlFiles = []], options = {}, env, forkProcess) => {
59
60
  }
60
61
  return Promise.resolve(filename);
61
62
  });
62
- return Promise.all(promises).then(jdlFiles => importJdl(jdlFiles.flat(), options, env, forkProcess));
63
+ return Promise.all(promises).then(jdlFiles => importJdl(jdlFiles.flat(), options, env, envBuilder, createEnvBuilder));
63
64
  };
@@ -117,7 +117,7 @@ class JHipsterCommand extends Command {
117
117
 
118
118
  /**
119
119
  * Register options using cli/commands.js structure.
120
- * @param {object[]} lazyBuildCommandCallBack
120
+ * @param {object[]} [opts]
121
121
  * @return {JHipsterCommand} this;
122
122
  */
123
123
  addCommandOptions(opts = []) {
package/cli/program.js CHANGED
@@ -101,6 +101,7 @@ const buildCommands = ({
101
101
  defaultCommand = 'app',
102
102
  printLogo = printJHipsterLogo,
103
103
  printBlueprintLogo = () => {},
104
+ createEnvBuilder,
104
105
  }) => {
105
106
  /* create commands */
106
107
  Object.entries(commands).forEach(([cmdName, opts]) => {
@@ -224,7 +225,7 @@ const buildCommands = ({
224
225
 
225
226
  if (cliOnly) {
226
227
  logger.debug('Executing CLI only script');
227
- return loadCommand(cmdName)(args, options, env, envBuilder);
228
+ return loadCommand(cmdName)(args, options, env, envBuilder, createEnvBuilder);
228
229
  }
229
230
  await env.composeWith('jhipster:bootstrap', options);
230
231
 
@@ -247,7 +248,8 @@ const buildJHipster = ({
247
248
  program = createProgram({ executableName, executableVersion }),
248
249
  blueprints,
249
250
  lookups,
250
- envBuilder = EnvironmentBuilder.create().prepare({ blueprints, lookups }),
251
+ createEnvBuilder = (args, options) => EnvironmentBuilder.create(args, options).prepare({ blueprints, lookups }),
252
+ envBuilder = createEnvBuilder(),
251
253
  commands = { ...SUB_GENERATORS, ...envBuilder.getBlueprintCommands() },
252
254
  printLogo,
253
255
  printBlueprintLogo,
@@ -259,7 +261,7 @@ const buildJHipster = ({
259
261
  /* setup debugging */
260
262
  logger.init(program);
261
263
 
262
- buildCommands({ program, commands, envBuilder, env, loadCommand, defaultCommand, printLogo, printBlueprintLogo });
264
+ buildCommands({ program, commands, envBuilder, env, loadCommand, defaultCommand, printLogo, printBlueprintLogo, createEnvBuilder });
263
265
 
264
266
  return program;
265
267
  };
@@ -234,6 +234,12 @@ module.exports = class JHipsterAppGenerator extends BaseBlueprintGenerator {
234
234
  required: false,
235
235
  });
236
236
 
237
+ this.option('enable-translation', {
238
+ desc: 'Enable translation',
239
+ type: Boolean,
240
+ required: false,
241
+ });
242
+
237
243
  this.option('language', {
238
244
  alias: 'l',
239
245
  desc: 'Language to be added to application (existing languages are not removed)',
@@ -260,6 +266,11 @@ module.exports = class JHipsterAppGenerator extends BaseBlueprintGenerator {
260
266
  type: Boolean,
261
267
  });
262
268
 
269
+ this.option('cypress-audit', {
270
+ desc: 'Enable cypress-audit/lighthouse report generation',
271
+ type: Boolean,
272
+ });
273
+
263
274
  this.option('microfrontend', {
264
275
  desc: 'Force generation of experimental microfrontend support',
265
276
  type: Boolean,
@@ -19,7 +19,7 @@
19
19
  const chalk = require('chalk');
20
20
  const statistics = require('../statistics');
21
21
  const packagejs = require('../../package.json');
22
- const { appDefaultConfig } = require('../generator-defaults');
22
+ const { appDefaultConfig, defaultConfigMicroservice } = require('../generator-defaults');
23
23
  const { GATEWAY, MONOLITH, MICROSERVICE } = require('../../jdl/jhipster/application-types');
24
24
  const { GATLING, CUCUMBER, PROTRACTOR, CYPRESS } = require('../../jdl/jhipster/test-framework-types');
25
25
 
@@ -44,8 +44,18 @@ async function askForInsightOptIn() {
44
44
  }
45
45
  }
46
46
 
47
+ const microfrontendsToPromptValue = answer => (Array.isArray(answer) ? answer.map(({ baseName }) => baseName).join(',') : answer);
48
+ const promptValueToMicrofrontends = answer =>
49
+ answer
50
+ ? answer
51
+ .split(',')
52
+ .map(baseName => baseName.trim())
53
+ .filter(Boolean)
54
+ .map(baseName => ({ baseName }))
55
+ : [];
56
+
47
57
  async function askForApplicationType() {
48
- if (this.existingProject) return;
58
+ if (this.existingProject && this.options.askAnswered !== true) return;
49
59
 
50
60
  const applicationTypeChoices = [
51
61
  {
@@ -62,16 +72,53 @@ async function askForApplicationType() {
62
72
  },
63
73
  ];
64
74
 
65
- const answers = await this.prompt([
66
- {
67
- type: 'list',
68
- name: 'applicationType',
69
- message: `Which ${chalk.yellow('*type*')} of application would you like to create?`,
70
- choices: applicationTypeChoices,
71
- default: appDefaultConfig.applicationType,
72
- },
73
- ]);
74
- this.applicationType = this.jhipsterConfig.applicationType = answers.applicationType;
75
+ await this.prompt(
76
+ [
77
+ {
78
+ type: 'list',
79
+ name: 'applicationType',
80
+ message: `Which ${chalk.yellow('*type*')} of application would you like to create?`,
81
+ choices: applicationTypeChoices,
82
+ default: appDefaultConfig.applicationType,
83
+ },
84
+ {
85
+ when: answers => {
86
+ const { applicationType } = answers;
87
+ const askForMicrofrontend = [GATEWAY, MICROSERVICE].includes(applicationType);
88
+ if (!askForMicrofrontend) {
89
+ answers.microfrontend = false;
90
+ }
91
+ return askForMicrofrontend;
92
+ },
93
+ type: 'confirm',
94
+ name: 'microfrontend',
95
+ message: `Do you want to enable ${chalk.yellow('*microfrontends*')}?`,
96
+ default: defaultConfigMicroservice.microfrontend,
97
+ },
98
+ {
99
+ when: answers => {
100
+ const { applicationType, microfrontend, microfrontends } = answers;
101
+ const askForMicrofrontends = applicationType === GATEWAY && microfrontend;
102
+ if (askForMicrofrontends) {
103
+ answers.microfrontends = microfrontendsToPromptValue(microfrontends);
104
+ } else {
105
+ answers.microfrontends = [];
106
+ }
107
+ return askForMicrofrontends;
108
+ },
109
+ type: 'input',
110
+ name: 'microfrontends',
111
+ message: `Comma separated ${chalk.yellow('*microfrontend*')} app names.`,
112
+ filter: promptValueToMicrofrontends,
113
+ transformer: microfrontendsToPromptValue,
114
+ },
115
+ ],
116
+ this.config
117
+ );
118
+
119
+ const { applicationType } = this.jhipsterConfig;
120
+ // TODO drop for v8, setting the generator with config is deprecated
121
+ this.applicationType = applicationType;
75
122
  }
76
123
 
77
124
  function askForModuleName() {
@@ -150,6 +197,7 @@ function askModulesToBeInstalled(done, generator) {
150
197
  .then(answers => {
151
198
  // [ {name: [moduleName], version:[version]}, ...]
152
199
  answers.otherModules.forEach(module => {
200
+ generator.otherModules = generator.otherModules || [];
153
201
  generator.otherModules.push({ name: module.name, version: module.version });
154
202
  });
155
203
  generator.jhipsterConfig.otherModules = generator.otherModules;
@@ -9,14 +9,14 @@ jobs:
9
9
  build-and-deploy:
10
10
  runs-on: ubuntu-latest
11
11
  steps:
12
- - uses: actions/checkout@v2
12
+ - uses: actions/checkout@v3
13
13
  - name: Set up JDK <%= JAVA_VERSION %>
14
- uses: actions/setup-java@v2
14
+ uses: actions/setup-java@v3
15
15
  with:
16
16
  distribution: 'temurin'
17
17
  java-version: <%= JAVA_VERSION %>
18
18
  - name: Cache Maven archetypes
19
- uses: actions/cache@v1
19
+ uses: actions/cache@v3
20
20
  with:
21
21
  path: ~/.m2/repository
22
22
  key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
@@ -9,14 +9,14 @@ jobs:
9
9
  build-and-deploy:
10
10
  runs-on: ubuntu-latest
11
11
  steps:
12
- - uses: actions/checkout@v2
12
+ - uses: actions/checkout@v3
13
13
  - name: Set up JDK <%= JAVA_VERSION %>
14
- uses: actions/setup-java@v2
14
+ uses: actions/setup-java@v3
15
15
  with:
16
16
  distribution: 'temurin'
17
17
  java-version: <%= JAVA_VERSION %>
18
18
  - name: Cache Maven archetypes
19
- uses: actions/cache@v1
19
+ uses: actions/cache@v3
20
20
  with:
21
21
  path: ~/.m2/repository
22
22
  key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
@@ -156,6 +156,7 @@ module.exports = class extends BaseGenerator {
156
156
  /**
157
157
  * Commits the MemFs to the disc.
158
158
  * @param {Stream} [stream] - files stream, defaults to this.sharedFs.stream().
159
+ * @param {boolean} [skipPrettier]
159
160
  * @return {Promise}
160
161
  */
161
162
  async _commitSharedFs(stream = this.env.sharedFs.stream(), skipPrettier = this.options.skipPrettier) {
@@ -301,6 +301,7 @@ export default class extends BaseEntityGenerator {
301
301
  entity.fieldsContainBigDecimal = fieldsType.includes(BIG_DECIMAL);
302
302
  entity.fieldsContainUUID = fieldsType.includes(UUID);
303
303
  entity.fieldsContainDate = intersection(fieldsType, [ZONED_DATE_TIME, INSTANT, LOCAL_DATE]).length > 0;
304
+ entity.fieldsContainTimed = intersection(fieldsType, [ZONED_DATE_TIME, INSTANT]).length > 0;
304
305
 
305
306
  entity.fieldsContainBlob = intersection(fieldsType, [BYTES, BYTE_BUFFER]).length > 0;
306
307
  if (entity.fieldsContainBlob) {
@@ -106,7 +106,7 @@ gradle-integration-test:
106
106
 
107
107
  stage: test
108
108
  script:
109
- - ./gradlew integrationTest -PnodeInstall --no-daemon <% if (insideDocker && databaseTypeSql && !reactive) { %>-Ptestcontainers<% } %>
109
+ - ./gradlew integrationTest -PnodeInstall --no-daemon
110
110
  artifacts:
111
111
  reports:
112
112
  junit: build/test-results/integrationTest/TEST-*.xml
@@ -218,7 +218,6 @@ maven-compile:
218
218
  maven-test:
219
219
  <%_ if (insideDocker) { _%>
220
220
  <%_ if (cacheProviderRedis || databaseTypeSql || databaseTypeCassandra || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
221
- # DinD service is required for Testcontainers
222
221
  services:
223
222
  - docker:dind
224
223
 
@@ -232,7 +231,7 @@ maven-test:
232
231
 
233
232
  stage: test
234
233
  script:
235
- - ./mvnw -ntp verify -P-webapp -Dmaven.repo.local=$MAVEN_USER_HOME <% if (insideDocker && databaseTypeSql) { %>-Dspring.profiles.active=testcontainers<% } %>
234
+ - ./mvnw -ntp verify -P-webapp -Dmaven.repo.local=$MAVEN_USER_HOME
236
235
  artifacts:
237
236
  reports:
238
237
  junit: