generator-jhipster 7.3.0 → 7.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/cli/import-jdl.js +3 -2
  2. package/cli/jhipster-command.js +2 -2
  3. package/cli/program.js +32 -29
  4. package/generators/app/index.js +46 -27
  5. package/generators/aws/index.js +8 -8
  6. package/generators/aws/lib/eb.js +1 -1
  7. package/generators/azure-app-service/index.js +16 -9
  8. package/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +2 -2
  9. package/generators/azure-spring-cloud/index.js +16 -9
  10. package/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +2 -2
  11. package/generators/bootstrap/index.js +57 -62
  12. package/generators/ci-cd/index.js +11 -8
  13. package/generators/ci-cd/templates/github-actions.yml.ejs +1 -1
  14. package/generators/ci-cd/templates/travis.yml.ejs +9 -4
  15. package/generators/cleanup.js +27 -171
  16. package/generators/client/files-angular.js +12 -1
  17. package/generators/client/files-common.js +6 -2
  18. package/generators/client/files-react.js +13 -2
  19. package/generators/client/files-vue.js +59 -7
  20. package/generators/client/index.js +46 -32
  21. package/generators/client/needle-api/needle-client-angular.js +1 -1
  22. package/generators/client/needle-api/needle-client-vue.js +57 -7
  23. package/generators/client/templates/angular/.eslintrc.json.ejs +1 -0
  24. package/generators/client/templates/angular/angular.json.ejs +5 -0
  25. package/generators/client/templates/angular/jest.conf.js.ejs +2 -0
  26. package/generators/client/templates/angular/package.json +29 -29
  27. package/generators/client/templates/angular/package.json.ejs +3 -1
  28. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +52 -54
  29. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.ts.ejs +4 -4
  30. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.service.spec.ts.ejs +65 -0
  31. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.spec.ts.ejs +35 -37
  32. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +1 -1
  33. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.spec.ts.ejs +78 -80
  34. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.ts.ejs +4 -4
  35. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.service.spec.ts.ejs +41 -0
  36. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +73 -75
  37. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +4 -4
  38. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +62 -0
  39. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +44 -46
  40. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +61 -0
  41. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.spec.ts.ejs +122 -123
  42. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.ts.ejs +1 -1
  43. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.service.spec.ts.ejs +66 -0
  44. package/generators/client/templates/angular/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +75 -77
  45. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +80 -80
  46. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +48 -50
  47. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +45 -47
  48. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +4 -4
  49. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +66 -0
  50. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +99 -101
  51. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +61 -63
  52. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +2 -2
  53. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +28 -30
  54. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +35 -37
  55. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +40 -42
  56. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +89 -91
  57. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +4 -4
  58. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +81 -83
  59. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +8 -8
  60. package/generators/client/templates/angular/src/main/webapp/app/app-routing.module.ts.ejs +14 -3
  61. package/generators/client/templates/angular/src/main/webapp/app/app.module.ts.ejs +8 -29
  62. package/generators/client/templates/angular/src/main/webapp/app/config/datepicker-adapter.ts.ejs +1 -1
  63. package/generators/client/templates/angular/src/main/webapp/app/config/dayjs.ts.ejs +4 -4
  64. package/generators/client/templates/angular/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +14 -9
  65. package/generators/client/templates/angular/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +6 -6
  66. package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
  67. package/generators/client/templates/angular/src/main/webapp/app/entities/entity-navbar-items.ts.ejs +29 -0
  68. package/generators/client/templates/angular/src/main/webapp/app/home/home.component.spec.ts.ejs +106 -98
  69. package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +166 -168
  70. package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.ts.ejs +1 -1
  71. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +20 -0
  72. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +74 -70
  73. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +41 -2
  74. package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +27 -29
  75. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.spec.ts.ejs +114 -115
  76. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.ts.ejs +4 -4
  77. package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +132 -134
  78. package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +29 -31
  79. package/generators/client/templates/angular/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +4 -4
  80. package/generators/client/templates/angular/src/main/webapp/app/shared/date/duration.pipe.ts.ejs +1 -1
  81. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-date.pipe.spec.ts.ejs +1 -1
  82. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-date.pipe.ts.ejs +1 -1
  83. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-datetime.pipe.spec.ts.ejs +1 -1
  84. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-datetime.pipe.ts.ejs +1 -1
  85. package/generators/client/templates/angular/src/main/webapp/app/shared/language/translate.directive.ts.ejs +6 -6
  86. package/generators/client/templates/angular/src/main/webapp/app/shared/language/translation.module.ts.ejs +83 -0
  87. package/generators/client/templates/angular/src/main/webapp/declarations.d.ts.ejs +16 -2
  88. package/generators/client/templates/angular/tsconfig.json.ejs +2 -0
  89. package/generators/client/templates/angular/tsconfig.spec.json.ejs +0 -1
  90. package/generators/client/templates/angular/webpack/proxy.conf.js.ejs +0 -2
  91. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +0 -16
  92. package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +12 -5
  93. package/generators/client/templates/common/package.json +6 -6
  94. package/generators/client/templates/common/src/main/webapp/robots.txt.ejs +0 -1
  95. package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +86 -56
  96. package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +56 -0
  97. package/generators/client/templates/react/.eslintrc.json.ejs +1 -0
  98. package/generators/client/templates/react/package.json +54 -53
  99. package/generators/client/templates/react/package.json.ejs +6 -1
  100. package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +0 -3
  101. package/generators/client/templates/react/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +3 -2
  102. package/generators/client/templates/react/src/main/webapp/app/modules/account/password/password.tsx.ejs +2 -2
  103. package/generators/client/templates/react/src/main/webapp/app/modules/administration/configuration/configuration.tsx.ejs +2 -2
  104. package/generators/client/templates/react/src/main/webapp/app/modules/administration/gateway/gateway.tsx.ejs +2 -2
  105. package/generators/client/templates/react/src/main/webapp/app/modules/administration/metrics/metrics.tsx.ejs +6 -6
  106. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +8 -8
  107. package/generators/client/templates/react/src/main/webapp/app/modules/home/home.tsx.ejs +1 -1
  108. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.scss.ejs +9 -0
  109. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs +2 -2
  110. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +3 -3
  111. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs +7 -7
  112. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/menu-components.tsx.ejs +1 -1
  113. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.spec.ts.ejs +1 -1
  114. package/generators/client/templates/react/webpack/webpack.dev.js.ejs +17 -3
  115. package/generators/client/templates/react/webpack/webpack.prod.js.ejs +13 -1
  116. package/generators/client/templates/vue/.eslintrc.js.ejs +8 -5
  117. package/generators/client/templates/vue/package.json +40 -49
  118. package/generators/client/templates/vue/package.json.ejs +13 -17
  119. package/generators/client/templates/vue/src/main/webapp/app/account/account.service.ts.ejs +23 -12
  120. package/generators/client/templates/vue/src/main/webapp/app/account/settings/settings.vue.ejs +7 -1
  121. package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.vue.ejs +1 -1
  122. package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +1 -1
  123. package/generators/client/templates/vue/src/main/webapp/app/constants.ts.ejs +16 -6
  124. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +27 -8
  125. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +6 -0
  126. package/generators/client/templates/vue/src/main/webapp/app/declarations.d.ts.ejs +41 -0
  127. package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.component.ts.ejs +34 -0
  128. package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.vue.ejs +13 -0
  129. package/generators/client/templates/vue/src/main/webapp/app/entities/entities.component.ts.ejs +20 -0
  130. package/generators/client/templates/vue/src/main/webapp/app/entities/entities.vue.ejs +5 -0
  131. package/generators/client/templates/vue/src/main/webapp/app/entities/user/{user.oauth2.service.ts.ejs → user.service.ts.ejs} +1 -1
  132. package/generators/client/templates/vue/{webpack/utils.js.ejs → src/main/webapp/app/index.ts.ejs} +1 -12
  133. package/generators/client/templates/vue/src/main/webapp/app/locale/translation.service.ts.ejs +26 -9
  134. package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +20 -18
  135. package/generators/client/templates/vue/src/main/webapp/app/router/entities.ts.ejs +45 -3
  136. package/generators/client/templates/vue/src/main/webapp/app/router/index.ts.ejs +19 -3
  137. package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +0 -2
  138. package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +3 -1
  139. package/generators/client/templates/vue/src/main/webapp/app/shims-vue.d.ts.ejs +17 -3
  140. package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +25 -10
  141. package/generators/client/templates/vue/src/test/javascript/spec/app/account/login-form/login-form.component.spec.ts.ejs +2 -2
  142. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-edit.component.spec.ts.ejs +6 -4
  143. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management.component.spec.ts.ejs +4 -2
  144. package/generators/client/templates/vue/src/test/javascript/spec/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +10 -4
  145. package/generators/client/templates/vue/src/test/javascript/spec/app/entities/entities-menu.spec.ts.ejs +52 -0
  146. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.component.ts.ejs +4 -0
  147. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.vue.ejs +7 -0
  148. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-router.ts.ejs +1 -0
  149. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/axios-interceptor.spec.ts.ejs +0 -1
  150. package/generators/client/templates/vue/tsconfig.json.ejs +6 -10
  151. package/generators/client/templates/vue/tsconfig.spec.json.ejs +37 -0
  152. package/generators/client/templates/vue/webpack/config.js.ejs +50 -0
  153. package/generators/client/templates/vue/webpack/vue.utils.js.ejs +33 -32
  154. package/generators/client/templates/vue/webpack/webpack.common.js.ejs +150 -126
  155. package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +19 -76
  156. package/generators/client/templates/vue/webpack/webpack.microfrontend.js.jhi.vue.ejs +77 -0
  157. package/generators/client/templates/vue/webpack/webpack.prod.js.ejs +5 -41
  158. package/generators/cloudfoundry/index.js +9 -9
  159. package/generators/common/index.js +12 -10
  160. package/generators/common/templates/.prettierrc.ejs +1 -1
  161. package/generators/common/templates/README.md.jhi.ejs +19 -0
  162. package/generators/common/templates/package.json +4 -4
  163. package/generators/cypress/index.js +12 -9
  164. package/generators/cypress/templates/cypress.json.ejs +16 -2
  165. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/login-page.spec.ts.ejs +3 -14
  166. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/password-page.spec.ts.ejs +33 -39
  167. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/register-page.spec.ts.ejs +52 -62
  168. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/reset-password-page.spec.ts.ejs +2 -10
  169. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +25 -34
  170. package/generators/cypress/templates/src/test/javascript/cypress/integration/administration/administration.spec.ts.ejs +1 -22
  171. package/generators/cypress/templates/src/test/javascript/cypress/plugins/index.ts.ejs +4 -4
  172. package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +67 -7
  173. package/generators/cypress/templates/src/test/javascript/cypress/support/entity.ts.ejs +4 -4
  174. package/generators/cypress/templates/src/test/javascript/cypress/support/index.ts.ejs +1 -6
  175. package/generators/cypress/templates/src/test/javascript/cypress/support/management.ts.ejs +1 -1
  176. package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +8 -8
  177. package/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +0 -9
  178. package/generators/database-changelog/index.js +33 -22
  179. package/generators/database-changelog-liquibase/index.js +12 -8
  180. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +1 -1
  181. package/generators/docker-compose/index.js +11 -12
  182. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +1 -1
  183. package/generators/entities/index.js +35 -26
  184. package/generators/entities-client/index.js +10 -7
  185. package/generators/entity/index.js +81 -32
  186. package/generators/entity-client/files.js +7 -16
  187. package/generators/entity-client/index.js +22 -12
  188. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.spec.ts.ejs +42 -44
  189. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +1 -1
  190. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.spec.ts.ejs +58 -60
  191. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +1 -35
  192. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
  193. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +4 -4
  194. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +110 -112
  195. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +9 -2
  196. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/infinite-scroll-template.ejs +8 -8
  197. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/no-pagination-template.ejs +8 -8
  198. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/pagination-template.ejs +8 -8
  199. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +15 -6
  200. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing.module.ts.ejs +1 -1
  201. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +1 -1
  202. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +1 -1
  203. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +203 -198
  204. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +5 -5
  205. package/generators/entity-client/templates/angular/src/test/javascript/e2e/entities/entity.spec.ts.ejs +1 -1
  206. package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +264 -127
  207. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +17 -14
  208. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs +5 -4
  209. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +11 -13
  210. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +32 -25
  211. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.vue.ejs +6 -9
  212. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.component.ts.ejs +2 -1
  213. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
  214. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.service.ts.ejs +2 -6
  215. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-update.component.spec.ts.ejs +10 -7
  216. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.component.spec.ts.ejs +5 -1
  217. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.service.spec.ts.ejs +1 -1
  218. package/generators/entity-i18n/index.js +7 -4
  219. package/generators/entity-server/files.js +14 -0
  220. package/generators/entity-server/index.js +12 -8
  221. package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +2 -2
  222. package/generators/entity-server/templates/src/main/java/package/common/search_template.ejs +1 -1
  223. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +9 -8
  224. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +16 -29
  225. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +3 -3
  226. package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +46 -0
  227. package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +1 -1
  228. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +18 -2
  229. package/generators/entity-server/templates/src/main/java/package/repository/search/SortToFieldSortBuilderConverter.java.ejs +24 -0
  230. package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +8 -6
  231. package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +5 -1
  232. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +41 -43
  233. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +3 -3
  234. package/generators/gae/index.js +10 -10
  235. package/generators/generator-base-blueprint.js +14 -46
  236. package/generators/generator-base-private.js +44 -23
  237. package/generators/generator-base.js +58 -18
  238. package/generators/generator-constants.js +30 -23
  239. package/generators/generator-transforms.js +39 -27
  240. package/generators/heroku/index.js +14 -33
  241. package/generators/init/constants.cjs +1 -1
  242. package/generators/java/constants.cjs +1 -1
  243. package/generators/kubernetes/files.js +3 -0
  244. package/generators/kubernetes/index.js +10 -10
  245. package/generators/kubernetes/templates/db/couchbase.yml.ejs +1 -1
  246. package/generators/kubernetes/templates/deployment.yml.ejs +8 -3
  247. package/generators/kubernetes/templates/istio/destination-rule.yml.ejs +1 -1
  248. package/generators/kubernetes/templates/istio/gateway/grafana-gateway.yml.ejs +5 -2
  249. package/generators/kubernetes/templates/istio/gateway/jhipster-grafana-gateway.yml.ejs +5 -2
  250. package/generators/kubernetes/templates/istio/gateway/kiali-gateway.yml.ejs +10 -8
  251. package/generators/kubernetes/templates/istio/gateway/zipkin-gateway.yml.ejs +5 -2
  252. package/generators/kubernetes/templates/istio/gateway.yml.ejs +7 -5
  253. package/generators/kubernetes/templates/secret/couchbase-secret.yml.ejs +9 -0
  254. package/generators/kubernetes-base.js +1 -0
  255. package/generators/kubernetes-helm/files.js +3 -8
  256. package/generators/kubernetes-helm/index.js +10 -10
  257. package/generators/kubernetes-helm/templates/README-KUBERNETES-HELM.md.ejs +0 -1
  258. package/generators/kubernetes-helm/templates/app/Chart.yml.ejs +5 -0
  259. package/generators/kubernetes-helm/templates/app/helpers.tpl.ejs +0 -11
  260. package/generators/kubernetes-helm/templates/app/requirements.yml.ejs +5 -0
  261. package/generators/kubernetes-helm/templates/app/values.yml.ejs +68 -5
  262. package/generators/kubernetes-helm/templates/csvc/Chart.yml.ejs +1 -1
  263. package/generators/kubernetes-helm/templates/csvc/requirements.yml.ejs +1 -1
  264. package/generators/kubernetes-knative/index.js +10 -10
  265. package/generators/kubernetes-knative/templates/istio/gateway.yml.ejs +6 -4
  266. package/generators/kubernetes-knative/templates/service.yml.ejs +1 -1
  267. package/generators/languages/index.js +13 -13
  268. package/generators/languages/templates/src/main/webapp/i18n/vi/login.json +1 -1
  269. package/generators/openapi-client/index.js +13 -10
  270. package/generators/openshift/index.js +10 -11
  271. package/generators/openshift/templates/deployment.yml.ejs +1 -1
  272. package/generators/page/index.js +12 -10
  273. package/generators/server/__snapshots__/generator.spec.mjs.snap +28 -15
  274. package/generators/server/cleanup.js +151 -0
  275. package/generators/server/files-sql.js +52 -0
  276. package/generators/server/files.js +31 -14
  277. package/generators/server/index.js +86 -33
  278. package/generators/server/templates/build.gradle.ejs +231 -189
  279. package/generators/server/templates/gradle.properties.ejs +12 -12
  280. package/generators/server/templates/npmw +8 -6
  281. package/generators/server/templates/npmw.cmd +13 -8
  282. package/generators/server/templates/pom.xml.ejs +425 -217
  283. package/generators/server/templates/sql/reactive/src/main/java/package/repository/UserSqlHelper.java.ejs +48 -0
  284. package/generators/server/templates/src/main/docker/app.yml.ejs +1 -1
  285. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +2 -2
  286. package/generators/server/templates/src/main/java/package/config/LocaleConfiguration.java.ejs +3 -2
  287. package/generators/server/templates/src/main/java/package/config/OpenApiConfiguration.java.ejs +17 -54
  288. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +5 -5
  289. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +4 -6
  290. package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +0 -3
  291. package/generators/server/templates/src/main/java/package/config/neo4j/Neo4jMigrations.java.ejs +19 -9
  292. package/generators/server/templates/src/main/java/package/management/SecurityMetersService.java.ejs +68 -0
  293. package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +2 -2
  294. package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +0 -25
  295. package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +31 -4
  296. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +23 -11
  297. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +16 -8
  298. package/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +6 -6
  299. package/generators/server/templates/src/main/java/package/web/filter/ModifyServersOpenApiFilter.java.ejs +3 -2
  300. package/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter.java.ejs +1 -1
  301. package/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +2 -2
  302. package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +2 -2
  303. package/generators/server/templates/src/main/resources/config/application.yml.ejs +22 -8
  304. package/generators/server/templates/src/main/resources/logback-spring.xml.ejs +1 -2
  305. package/generators/server/templates/src/main/resources/static/microservices_index.html.ejs +1 -1
  306. package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +2 -6
  307. package/generators/server/templates/src/test/java/package/cucumber/CucumberTestContextConfiguration.java.ejs +2 -3
  308. package/generators/server/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +41 -6
  309. package/generators/server/templates/src/test/java/package/management/SecurityMetersServiceTests.java.ejs +113 -0
  310. package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +6 -1
  311. package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderSecurityMetersTests.java.ejs +198 -0
  312. package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderTest.java.ejs +13 -3
  313. package/generators/server/templates/src/test/java/package/security/oauth2/AuthorizationHeaderUtilTest.java.ejs +17 -3
  314. package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +63 -0
  315. package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +1 -1
  316. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +2 -3
  317. package/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerTest.java.ejs +9 -0
  318. package/generators/server/templates/src/test/resources/junit-platform.properties.ejs +2 -0
  319. package/generators/server/templates/src/test/resources/logback.xml.ejs +1 -1
  320. package/generators/server/templates/src/test/{features → resources/package/features}/gitkeep +0 -0
  321. package/generators/server/templates/src/test/{features → resources/package/features}/user/user.feature.ejs +0 -0
  322. package/generators/spring-controller/index.js +9 -7
  323. package/generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIT.java.ejs +1 -1
  324. package/generators/spring-service/index.js +10 -7
  325. package/generators/upgrade/index.js +4 -5
  326. package/generators/utils.js +2 -2
  327. package/generators/workspaces/index.js +16 -7
  328. package/jdl/jhipster/default-application-options.js +9 -7
  329. package/package.json +22 -22
  330. package/utils/entity.js +17 -4
  331. package/utils/field.js +11 -1
  332. package/utils/multi-step-transform/index.js +8 -8
  333. package/generators/client/templates/react/.npmrc.ejs +0 -1
  334. package/generators/client/templates/vue/webpack/dev.env.js.ejs +0 -17
  335. package/generators/client/templates/vue/webpack/env.js.ejs +0 -67
  336. package/generators/client/templates/vue/webpack/loader.conf.js.ejs +0 -20
  337. package/generators/client/templates/vue/webpack/prod.env.js.ejs +0 -15
  338. package/generators/server/templates/src/main/java/package/config/apidocs/GatewaySwaggerResourcesProvider.java.ejs +0 -91
  339. package/generators/server/templates/src/test/java/package/config/apidocs/GatewaySwaggerResourcesProviderTest.java.ejs +0 -79
  340. package/generators/server/templates/src/test/resources/cucumber.properties.ejs +0 -1
@@ -28,16 +28,21 @@ module.exports = (config, options, targetOptions) => {
28
28
  name: '<%= lowercaseBaseName %>',
29
29
  filename: 'remoteEntry.js',
30
30
  exposes: {
31
- <%_ for (entity of Object.values(this.configOptions.sharedEntities || {}).filter(e => e.microserviceName)) { _%>
31
+ <%_ if (enableTranslation) { _%>
32
+ './translation-module': 'app/shared/language/translation.module.ts',
33
+ <%_ } _%>
34
+ './entity-navbar-items': 'app/entities/entity-navbar-items.ts',
35
+ './entity-routing': 'app/entities/entity-routing.module.ts',
36
+ <%_ for (entity of Object.values(this.configOptions.sharedEntities || {}).filter(e => e.microserviceName)) { _%>
32
37
  './<%= entity.entityFileName %>': 'app/entities/<%= entity.entityFolderName %>/<%= entity.entityFileName %>.module.ts',
33
- <%_ } _%>
38
+ <%_ } _%>
34
39
  },
35
40
  <%_ } _%>
36
41
  <%_ if (applicationTypeGateway) { _%>
37
42
  remotes: {
38
- <%_ for ([microserviceName, microserviceConfig] of Object.entries(jhipsterConfig.applications || {})) { _%>
39
- '<%= microserviceName %>': `<%= microserviceName %>@${targetOptions.target !== 'serve' ? '/services/<%= microserviceName %>' : 'http://localhost:<%= microserviceConfig.applicationIndex + devServerBasePort %>'}/remoteEntry.js`,
40
- <%_ } _%>
43
+ <%_ for (const remote of microfrontends) { _%>
44
+ '<%= remote.lowercaseBaseName %>': `<%= remote.lowercaseBaseName %>@/<%= remote.endpointPrefix %>/remoteEntry.js`,
45
+ <%_ } _%>
41
46
  },
42
47
  <%_ } _%>
43
48
  shared: {
@@ -141,6 +146,8 @@ module.exports = (config, options, targetOptions) => {
141
146
  ],
142
147
  output: {
143
148
  publicPath: 'auto',
149
+ uniqueName: '<%= lowercaseBaseName %>',
150
+ scriptType: 'text/javascript',
144
151
  },
145
152
  optimization: {
146
153
  runtimeChunk: false,
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "devDependencies": {
3
- "@cypress/code-coverage": "3.9.11",
4
- "babel-loader": "8.2.2",
5
- "babel-plugin-istanbul": "6.0.0",
6
- "cypress": "8.5.0",
3
+ "@cypress/code-coverage": "3.9.12",
4
+ "babel-loader": "8.2.3",
5
+ "babel-plugin-istanbul": "6.1.1",
6
+ "cypress": "9.2.0",
7
7
  "eslint-plugin-cypress": "2.12.1",
8
- "cypress-audit": "1.0.0",
9
- "lighthouse": "8.5.1",
8
+ "cypress-audit": "1.1.0",
9
+ "lighthouse": "9.2.0",
10
10
  "nyc": "15.1.0"
11
11
  },
12
12
  "dependencies": {
@@ -27,5 +27,4 @@ Disallow: /api/account/sessions
27
27
  Disallow: /api/logs/
28
28
  Disallow: /api/users/
29
29
  Disallow: /management/
30
- Disallow: /v2/api-docs/
31
30
  Disallow: /v3/api-docs/
@@ -48,7 +48,8 @@
48
48
  },
49
49
  };
50
50
  };
51
- window.onload = function () {
51
+
52
+ window.onload = async function () {
52
53
  <%_ if (authenticationTypeSession || authenticationTypeOauth2) { _%>
53
54
  function getCSRF() {
54
55
  var name = 'XSRF-TOKEN=';
@@ -60,14 +61,66 @@
60
61
  }
61
62
  return '';
62
63
  }
64
+ const axiosConfig = { timeout: 5000 };
65
+ <%_ } else { _%>
66
+ const getBearerToken = () => {
67
+ var authToken = localStorage.getItem('jhi-authenticationToken') || sessionStorage.getItem('jhi-authenticationToken');
68
+ if (authToken) {
69
+ <%_ if (clientFrameworkAngular || clientFrameworkReact) { _%>
70
+ authToken = JSON.parse(authToken);
71
+ <%_ } _%>
72
+ return `Bearer ${authToken}`;
73
+ }
74
+ return null;
75
+ };
76
+ const axiosConfig = {
77
+ headers: { timeout: 5000, Authorization: getBearerToken() },
78
+ };
63
79
  <%_ } _%>
64
80
 
65
- var urls = [];
66
- axios.get('/swagger-resources').then(function (response) {
67
- response.data.forEach(function (resource) {
68
- urls.push({ name: resource.name, url: resource.location });
69
- });
81
+ const baseUrl = '/v3/api-docs';
82
+ let services;
83
+ try {
84
+ const response = await axios.get('/management/health/discoveryComposite', axiosConfig);
85
+ services = response.data?.components?.discoveryClient?.details?.services;
86
+ console.log(`Services`, services);
87
+ } catch (error) {
88
+ console.log(error);
89
+ }
90
+
91
+ let urls;
92
+ try {
93
+ if (services && services.length > 0) {
94
+ urls = (
95
+ await Promise.allSettled(
96
+ services.map(async service => {
97
+ const response = await axios.get(`/services/${service}/management/jhiopenapigroups`, axiosConfig);
98
+ if (Array.isArray(response.data)) {
99
+ return response.data.map(({ group, description }) => ({
100
+ name: description,
101
+ url: `/services/${service}${baseUrl}/${group}`,
102
+ }));
103
+ }
104
+ return undefined;
105
+ })
106
+ )
107
+ )
108
+ .filter(settled => settled.status === 'fulfilled')
109
+ .map(settled => settled.value)
110
+ .filter(Array.isArray)
111
+ .flat();
112
+ } else {
113
+ const response = await axios.get('/management/jhiopenapigroups', axiosConfig);
114
+ if (Array.isArray(response.data)) {
115
+ urls = response.data.map(({ group, description }) => ({ name: description, url: `${baseUrl}/${group}` }));
116
+ }
117
+ }
118
+ console.log(`Swagger urls`, urls);
119
+ } catch (error) {
120
+ console.log(error);
121
+ }
70
122
 
123
+ if (urls) {
71
124
  urls.sort(function (a, b) {
72
125
  var x = a.name.toLowerCase(),
73
126
  y = b.name.toLowerCase();
@@ -77,60 +130,37 @@
77
130
  if (y.includes('(management)')) return 1;
78
131
  return x < y ? -1 : x > y ? 1 : 0;
79
132
  });
133
+ }
80
134
 
81
- // Build a system
82
- var ui = SwaggerUIBundle({
83
- urls: urls,
84
- dom_id: '#swagger-ui',
85
- deepLinking: true,
86
- filter: true,
87
- layout: 'StandaloneLayout',
88
- withCredentials: true,
89
- presets: [
90
- SwaggerUIBundle.presets.apis,
91
- SwaggerUIStandalonePreset
92
- ],
93
- plugins: [
94
- SwaggerUIBundle.plugins.DownloadUrl,
95
- AlwaysEnableTryItOutPlugin
96
- ],
135
+ // Build a system
136
+ var ui = SwaggerUIBundle({
137
+ urls: urls,
138
+ url: baseUrl,
139
+ dom_id: '#swagger-ui',
140
+ deepLinking: true,
141
+ filter: true,
142
+ layout: 'StandaloneLayout',
143
+ withCredentials: true,
144
+ presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
145
+ plugins: [SwaggerUIBundle.plugins.DownloadUrl, AlwaysEnableTryItOutPlugin],
146
+ requestInterceptor: function (req) {
97
147
  <%_ if (authenticationTypeSession || authenticationTypeOauth2) { _%>
98
- requestInterceptor: function(req) {
99
- req.headers['X-XSRF-TOKEN'] = getCSRF();
100
- // Remove the sample Swagger UI request body if present
101
- if (
102
- req.method === 'GET' &&
103
- req.body === '{"additionalProp1":"string","additionalProp2":"string","additionalProp3":"string"}'
104
- ) {
105
- req.body = undefined;
106
- }
107
- return req;
108
- },
109
- <%_ } _%>
110
- <%_ if (authenticationTypeJwt) { _%>
111
- requestInterceptor: function (req) {
112
- var authToken =
113
- localStorage.getItem('<%= jhiPrefixDashed %>-authenticationToken') || sessionStorage.getItem('<%= jhiPrefixDashed %>-authenticationToken');
114
- if (authToken) {
115
- <%_ if (clientFrameworkAngular || clientFrameworkReact) { _%>
116
- authToken = JSON.parse(authToken);
117
- <%_ } _%>
118
- req.headers['Authorization'] = 'Bearer ' + authToken;
119
- }
120
- // Remove the sample Swagger UI request body if present
121
- if (
122
- req.method === 'GET' &&
123
- req.body === '{"additionalProp1":"string","additionalProp2":"string","additionalProp3":"string"}'
124
- ) {
125
- req.body = undefined;
126
- }
127
- return req;
128
- },
148
+ req.headers['X-XSRF-TOKEN'] = getCSRF();
149
+ <%_ } else { _%>
150
+ req.headers['Authorization'] = getBearerToken();
129
151
  <%_ } _%>
130
- });
131
-
132
- window.ui = ui;
152
+ // Remove the sample Swagger UI request body if present
153
+ if (
154
+ req.method === 'GET' &&
155
+ req.body === '{"additionalProp1":"string","additionalProp2":"string","additionalProp3":"string"}'
156
+ ) {
157
+ req.body = undefined;
158
+ }
159
+ return req;
160
+ },
133
161
  });
162
+
163
+ window.ui = ui;
134
164
  };
135
165
  </script>
136
166
  </body>
@@ -0,0 +1,56 @@
1
+ <%#
2
+ Copyright 2013-2021 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
19
+ <&_
20
+ // Register sections and max allowed fragments, 0 for unlimited.
21
+ fragments.registerSections({
22
+ importsSection:0,
23
+ moduleFederationSection: 0,
24
+ pluginsSection: 0,
25
+ });
26
+ _&>
27
+
28
+ const ModuleFederationPlugin = require('webpack/lib/container/ModuleFederationPlugin');
29
+ <&- fragments.importsSection() &>
30
+ const packageJson = require('../package.json');
31
+ const appVersion = packageJson.version;
32
+
33
+ module.exports = ({ serve }) => {
34
+ return {
35
+ optimization: {
36
+ moduleIds: 'named',
37
+ },
38
+ plugins: [
39
+ new ModuleFederationPlugin({
40
+ <%_ if (applicationTypeMicroservice) { _%>
41
+ name: '<%= lowercaseBaseName %>',
42
+ filename: 'remoteEntry.js',
43
+ <%_ } _%>
44
+ shareScope: 'default',
45
+ <&- fragments.moduleFederationSection() &>
46
+ }),
47
+ <&- fragments.pluginsSection() &>
48
+ ],
49
+ output: {
50
+ publicPath: 'auto',
51
+ },
52
+ optimization: {
53
+ runtimeChunk: false,
54
+ },
55
+ };
56
+ };
@@ -62,6 +62,7 @@
62
62
  "@typescript-eslint/explicit-member-accessibility": "off",
63
63
  "@typescript-eslint/explicit-function-return-type": "off",
64
64
  "@typescript-eslint/no-explicit-any": "off",
65
+ "@typescript-eslint/no-unsafe-argument": "off",
65
66
  "@typescript-eslint/no-unsafe-return": "off",
66
67
  "@typescript-eslint/no-unsafe-member-access":"off",
67
68
  "@typescript-eslint/no-unsafe-call": "off",
@@ -2,87 +2,88 @@
2
2
  "dependencies": {
3
3
  "@fortawesome/fontawesome-svg-core": "1.2.36",
4
4
  "@fortawesome/free-solid-svg-icons": "5.15.4",
5
- "@fortawesome/react-fontawesome": "0.1.15",
6
- "@reduxjs/toolkit": "1.6.2",
7
- "axios": "0.21.4",
8
- "bootstrap": "4.6.0",
9
- "bootswatch": "5.1.2",
5
+ "@fortawesome/react-fontawesome": "0.1.16",
6
+ "@reduxjs/toolkit": "1.7.1",
7
+ "axios": "0.24.0",
8
+ "bootstrap": "5.1.3",
9
+ "bootswatch": "5.1.3",
10
10
  "lodash": "4.17.21",
11
11
  "path-browserify": "1.0.1",
12
- "react": "17.0.1",
13
- "react-dom": "17.0.1",
14
- "react-hook-form": "7.17.1",
15
- "react-jhipster": "0.17.0",
12
+ "react": "17.0.2",
13
+ "react-dom": "17.0.2",
14
+ "react-hook-form": "7.22.5",
15
+ "react-jhipster": "0.18.0",
16
16
  "react-loadable": "5.5.0",
17
- "react-redux": "7.2.5",
17
+ "react-redux": "7.2.6",
18
18
  "react-redux-loading-bar": "5.0.2",
19
19
  "react-router-dom": "5.3.0",
20
- "react-toastify": "8.0.3",
20
+ "react-toastify": "8.1.0",
21
21
  "react-transition-group": "4.4.2",
22
- "reactstrap": "8.10.0",
23
- "redux": "4.1.1",
24
- "redux-thunk": "2.3.0",
22
+ "reactstrap": "9.0.1",
23
+ "redux": "4.1.2",
24
+ "redux-thunk": "2.4.1",
25
25
  "sonar-scanner": "3.1.0",
26
26
  "tslib": "2.3.1",
27
27
  "uuid": "8.3.2"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@testing-library/react": "12.1.2",
31
- "@types/jest": "27.0.2",
32
- "@types/lodash": "4.14.175",
33
- "@types/node": "16.10.3",
34
- "@types/react": "17.0.27",
35
- "@types/react-dom": "17.0.9",
36
- "@types/react-redux": "7.1.18",
37
- "@types/react-router-dom": "5.3.0",
31
+ "@types/jest": "27.4.0",
32
+ "@types/lodash": "4.14.178",
33
+ "@types/node": "16.11.17",
34
+ "@types/react": "17.0.38",
35
+ "@types/react-dom": "17.0.11",
36
+ "@types/react-redux": "7.1.21",
37
+ "@types/react-router-dom": "5.3.2",
38
38
  "@types/redux": "3.6.31",
39
- "@types/webpack-env": "1.16.2",
40
- "@typescript-eslint/eslint-plugin": "4.33.0",
41
- "@typescript-eslint/parser": "4.33.0",
42
- "autoprefixer": "10.3.7",
43
- "browser-sync": "2.27.5",
39
+ "@types/webpack-env": "1.16.3",
40
+ "@typescript-eslint/eslint-plugin": "5.8.1",
41
+ "@typescript-eslint/parser": "5.8.1",
42
+ "autoprefixer": "10.4.1",
43
+ "browser-sync": "2.27.7",
44
44
  "browser-sync-webpack-plugin": "2.3.0",
45
- "copy-webpack-plugin": "9.0.1",
46
- "core-js": "3.18.2",
45
+ "copy-webpack-plugin": "10.2.0",
46
+ "core-js": "3.20.1",
47
47
  "cross-env": "7.0.3",
48
- "css-loader": "6.3.0",
49
- "css-minimizer-webpack-plugin": "3.1.1",
50
- "eslint": "7.32.0",
48
+ "css-loader": "6.5.1",
49
+ "css-minimizer-webpack-plugin": "3.3.1",
50
+ "eslint": "8.5.0",
51
51
  "eslint-config-prettier": "8.3.0",
52
- "eslint-plugin-react": "7.26.1",
53
- "eslint-webpack-plugin": "3.0.1",
52
+ "eslint-plugin-react": "7.28.0",
53
+ "eslint-webpack-plugin": "3.1.1",
54
54
  "folder-hash": "4.0.1",
55
- "fork-ts-checker-webpack-plugin": "6.3.3",
56
- "html-webpack-plugin": "5.3.2",
55
+ "fork-ts-checker-webpack-plugin": "6.5.0",
56
+ "html-webpack-plugin": "5.5.0",
57
57
  "identity-obj-proxy": "3.0.0",
58
- "jest": "27.2.4",
58
+ "jest": "27.4.5",
59
59
  "jest-junit": "13.0.0",
60
60
  "jest-sonar-reporter": "2.0.0",
61
61
  "json-loader": "0.5.7",
62
- "merge-jsons-webpack-plugin": "1.0.21",
63
- "mini-css-extract-plugin": "2.4.1",
64
- "postcss-loader": "6.1.1",
65
- "react-infinite-scroller": "1.2.4",
62
+ "merge-jsons-webpack-plugin": "2.0.1",
63
+ "mini-css-extract-plugin": "2.4.5",
64
+ "postcss-loader": "6.2.1",
65
+ "postcss-rtlcss": "3.5.1",
66
+ "react-infinite-scroll-component": "6.1.0",
66
67
  "redux-mock-store": "1.5.4",
67
68
  "rimraf": "3.0.2",
68
- "sass": "1.42.1",
69
- "sass-loader": "12.1.0",
69
+ "sass": "1.45.2",
70
+ "sass-loader": "12.4.0",
70
71
  "simple-progress-webpack-plugin": "2.0.0",
71
- "sinon": "11.1.2",
72
+ "sinon": "12.0.1",
72
73
  "source-map-loader": "3.0.0",
73
74
  "sourcemap-istanbul-instrumenter-loader": "0.2.0",
74
- "style-loader": "3.3.0",
75
- "swagger-ui-dist": "3.52.3",
76
- "terser-webpack-plugin": "5.2.4",
75
+ "style-loader": "3.3.1",
76
+ "swagger-ui-dist": "4.1.3",
77
+ "terser-webpack-plugin": "5.3.0",
77
78
  "thread-loader": "3.0.4",
78
- "ts-jest": "27.0.5",
79
+ "ts-jest": "27.1.2",
79
80
  "ts-loader": "9.2.6",
80
- "typescript": "4.4.3",
81
- "webpack": "5.57.1",
82
- "webpack-cli": "4.9.0",
83
- "webpack-dev-server": "4.3.1",
81
+ "typescript": "4.5.4",
82
+ "webpack": "5.65.0",
83
+ "webpack-cli": "4.9.1",
84
+ "webpack-dev-server": "4.7.2",
84
85
  "webpack-merge": "5.8.0",
85
- "webpack-notifier": "1.14.0",
86
- "workbox-webpack-plugin": "6.3.0"
86
+ "webpack-notifier": "1.15.0",
87
+ "workbox-webpack-plugin": "6.4.2"
87
88
  }
88
89
  }
@@ -123,6 +123,9 @@
123
123
  "mocha": "7.1.2",
124
124
  <%_ } _%>
125
125
  "postcss-loader": "<%= dependabotPackageJson.devDependencies['postcss-loader'] %>",
126
+ <%_ if (enableI18nRTL) { _%>
127
+ "postcss-rtlcss": "<%= dependabotPackageJson.devDependencies['postcss-rtlcss'] %>",
128
+ <%_ } _%>
126
129
  "prettier": "<%= dependabotPackageJson.devDependencies['prettier'] %>",
127
130
  <%_ if (!skipServer) { _%>
128
131
  "prettier-plugin-java": "<%= dependabotPackageJson.devDependencies['prettier-plugin-java'] %>",
@@ -131,7 +134,7 @@
131
134
  <%_ if (protractorTests) { _%>
132
135
  "protractor": "7.0.0",
133
136
  <%_ } _%>
134
- "react-infinite-scroller": "<%= dependabotPackageJson.devDependencies['react-infinite-scroller'] %>",
137
+ "react-infinite-scroll-component": "<%= dependabotPackageJson.devDependencies['react-infinite-scroll-component'] %>",
135
138
  "redux-mock-store": "<%= dependabotPackageJson.devDependencies['redux-mock-store'] %>",
136
139
  "rimraf": "<%= dependabotPackageJson.devDependencies['rimraf'] %>",
137
140
  "sass": "<%= dependabotPackageJson.devDependencies['sass'] %>",
@@ -176,6 +179,8 @@
176
179
  "lint:fix": "<%= clientPackageManager %> run lint -- --fix",
177
180
  "cleanup": "rimraf <%= DIST_DIR %>",
178
181
  "clean-www": "rimraf <%= DIST_DIR %>app/{src,<%= BUILD_DIR %>}",
182
+ "build": "<%= clientPackageManager %> run webapp:prod --",
183
+ "build-watch": "concurrently 'npm run webapp:build:dev -- --watch'<% if(!skipServer) { %> npm:backend:start<% } %>",
179
184
  <%_ if (protractorTests && !cypressTests) { _%>
180
185
  "e2e": "<%= clientPackageManager %> run e2e:protractor --",
181
186
  "e2e:headless": "<%= clientPackageManager %> run e2e:protractor:headless --",
@@ -25,9 +25,6 @@
25
25
  <%_ if (!clientThemeNone) { _%>
26
26
  @import "~bootswatch/dist/<%= clientTheme %>/bootswatch";
27
27
  <%_ } _%>
28
- <%_ if (enableI18nRTL) { _%>
29
- @import '../content/scss/rtl.scss';
30
- <%_ } _%>
31
28
  body {
32
29
  <%_ if (clientThemeNone) { _%>
33
30
  background: #fafafa;
@@ -36,13 +36,14 @@ describe('Axios Interceptor', () => {
36
36
  expect((client.interceptors.response as any).handlers[0].fulfilled({ data: 'foo' })).toEqual({ data: 'foo' });
37
37
  });
38
38
  it('onResponseError is called on rejected response', () => {
39
- (client.interceptors.response as any).handlers[0].rejected({
39
+ const rejectError = {
40
40
  response: {
41
41
  statusText: 'NotFound',
42
42
  status: 403,
43
43
  data: { message: 'Page not found' }
44
44
  }
45
- });
45
+ };
46
+ expect((client.interceptors.response as any).handlers[0].rejected(rejectError)).rejects.toEqual(rejectError);
46
47
  expect(onUnauthenticated.calledOnce).toBe(true);
47
48
  });
48
49
  });
@@ -53,11 +53,11 @@ export const PasswordPage = () => {
53
53
  <%_ if (enableTranslation) { _%>
54
54
  toast.success(translate(successMessage));
55
55
  } else if (errorMessage) {
56
- toast.success(translate(errorMessage));
56
+ toast.error(translate(errorMessage));
57
57
  <%_ } else { _%>
58
58
  toast.success(successMessage);
59
59
  } else if (errorMessage) {
60
- toast.success(errorMessage);
60
+ toast.error(errorMessage);
61
61
  <%_ } _%>
62
62
  }
63
63
  }, [successMessage, errorMessage]);
@@ -88,7 +88,7 @@ export const ConfigurationPage = () => {
88
88
  <Row key={index}>
89
89
  <Col md="4">{propKey}</Col>
90
90
  <Col md="8">
91
- <Badge className="float-right badge-secondary break">{JSON.stringify(property['properties'][propKey])}</Badge>
91
+ <Badge className="float-end bg-secondary break">{JSON.stringify(property['properties'][propKey])}</Badge>
92
92
  </Col>
93
93
  </Row>
94
94
  ))}
@@ -118,7 +118,7 @@ export const ConfigurationPage = () => {
118
118
  <tr key={propIndex}>
119
119
  <td className="break">{propKey}</td>
120
120
  <td className="break">
121
- <span className="float-right badge badge-secondary break">{envKey.properties[propKey].value}</span>
121
+ <span className="float-end badge bg-secondary break">{envKey.properties[propKey].value}</span>
122
122
  </td>
123
123
  </tr>
124
124
  ))}
@@ -38,8 +38,8 @@ export const GatewayPage = () => {
38
38
  Object.keys(instance).map((key, index) => {
39
39
  spans.push((
40
40
  <span key={key.toString() + 'value'}>
41
- <Badge key={key.toString() + '-containerbadge'} className="font-weight-normal">
42
- <Badge key={key.toString() + '-badge'} color="info" className="font-weight-normal" pill>{key}</Badge>
41
+ <Badge key={key.toString() + '-containerbadge'} className="fw-normal">
42
+ <Badge key={key.toString() + '-badge'} color="info" className="fw-normal" pill>{key}</Badge>
43
43
  {instance[key]}
44
44
  </Badge>
45
45
  </span>
@@ -74,11 +74,11 @@ export const MetricsPage = () => {
74
74
  <h3>JVM Metrics</h3>
75
75
  <Row>
76
76
  <Col md="4">
77
- {metrics && metrics.jvm ? <JvmMemory jvmMetrics={metrics.jvm} wholeNumberFormat={APP_WHOLE_NUMBER_FORMAT} /> : ''}
77
+ {metrics?.jvm ? <JvmMemory jvmMetrics={metrics.jvm} wholeNumberFormat={APP_WHOLE_NUMBER_FORMAT} /> : ''}
78
78
  </Col>
79
79
  <Col md="4">{threadDump ? <JvmThreads jvmThreads={threadDump} wholeNumberFormat={APP_WHOLE_NUMBER_FORMAT} /> : ''}</Col>
80
80
  <Col md="4">
81
- {metrics && metrics.processMetrics ? (
81
+ {metrics?.processMetrics ? (
82
82
  <SystemMetrics
83
83
  systemMetrics={metrics.processMetrics}
84
84
  wholeNumberFormat={APP_WHOLE_NUMBER_FORMAT}
@@ -92,7 +92,7 @@ export const MetricsPage = () => {
92
92
  </Col>
93
93
  </Row>
94
94
 
95
- {metrics && metrics.garbageCollector ? (
95
+ {metrics?.garbageCollector ? (
96
96
  <GarbageCollectorMetrics garbageCollectorMetrics={metrics.garbageCollector} wholeNumberFormat={APP_WHOLE_NUMBER_FORMAT} />
97
97
  ) : (
98
98
  ''
@@ -106,13 +106,13 @@ export const MetricsPage = () => {
106
106
  ) : (
107
107
  ''
108
108
  )}
109
- {metrics && metrics.services ? (
109
+ {metrics?.services ? (
110
110
  <EndpointsRequestsMetrics endpointsRequestsMetrics={metrics.services} wholeNumberFormat={APP_WHOLE_NUMBER_FORMAT} />
111
111
  ) : (
112
112
  ''
113
113
  )}
114
114
 
115
- {metrics.cache ? (
115
+ {metrics?.cache ? (
116
116
  <Row>
117
117
  <Col sm="12">
118
118
  <CacheMetrics cacheMetrics={metrics.cache} twoDigitAfterPointFormat={APP_TWO_DIGITS_AFTER_POINT_NUMBER_FORMAT} />
@@ -122,7 +122,7 @@ export const MetricsPage = () => {
122
122
  ''
123
123
  )}
124
124
 
125
- {metrics.databases && JSON.stringify(metrics.databases) !== '{}' ? (
125
+ {metrics?.databases && JSON.stringify(metrics.databases) !== '{}' ? (
126
126
  <Row>
127
127
  <Col sm="12">
128
128
  <DatasourceMetrics datasourceMetrics={metrics.databases} twoDigitAfterPointFormat={APP_TWO_DIGITS_AFTER_POINT_NUMBER_FORMAT} />
@@ -18,7 +18,7 @@
18
18
  -%>
19
19
  import React, { useState, useEffect } from 'react';
20
20
  import { Link, RouteComponentProps } from 'react-router-dom';
21
- import { Button, Table, Row, Badge } from 'reactstrap';
21
+ import { Button, Table, Badge } from 'reactstrap';
22
22
  import {
23
23
  Translate,
24
24
  TextFormat,
@@ -108,7 +108,7 @@ export const UserManagement = (props: RouteComponentProps<any>) => {
108
108
  <h2 id="user-management-page-heading" data-cy="userManagementPageHeading">
109
109
  <Translate contentKey="userManagement.home.title">Users</Translate>
110
110
  <div className="d-flex justify-content-end">
111
- <Button className="mr-2" color="info" onClick={handleSyncList} disabled={loading}>
111
+ <Button className="me-2" color="info" onClick={handleSyncList} disabled={loading}>
112
112
  <FontAwesomeIcon icon="sync" spin={loading} /> <Translate contentKey="userManagement.home.refreshListLabel">Refresh List</Translate>
113
113
  </Button>
114
114
  <Link to={`${match.url}/new`} className="btn btn-primary jh-create-entity">
@@ -188,7 +188,7 @@ export const UserManagement = (props: RouteComponentProps<any>) => {
188
188
  ) : null}
189
189
  </td>
190
190
  <%_ } _%>
191
- <td className="text-right">
191
+ <td className="text-end">
192
192
  <div className="btn-group flex-btn-group-container">
193
193
  <Button
194
194
  tag={Link} to={`${match.url}/${user.login}`}
@@ -216,11 +216,11 @@ export const UserManagement = (props: RouteComponentProps<any>) => {
216
216
  </tbody>
217
217
  </Table>
218
218
  <%_ if (!databaseTypeCassandra) { _%>
219
- { totalItems ? (<div className={ users && users.length > 0 ? '' : 'd-none' }>
220
- <Row className="justify-content-center">
219
+ { totalItems ? (<div className={ users?.length > 0 ? '' : 'd-none' }>
220
+ <div className="justify-content-center d-flex">
221
221
  <JhiItemCount page={pagination.activePage} total={totalItems} itemsPerPage={pagination.itemsPerPage} i18nEnabled />
222
- </Row>
223
- <Row className="justify-content-center">
222
+ </div>
223
+ <div className="justify-content-center d-flex">
224
224
  <JhiPagination
225
225
  activePage={pagination.activePage}
226
226
  onSelect={handlePagination}
@@ -228,7 +228,7 @@ export const UserManagement = (props: RouteComponentProps<any>) => {
228
228
  itemsPerPage={pagination.itemsPerPage}
229
229
  totalItems={totalItems}
230
230
  />
231
- </Row>
231
+ </div>
232
232
  </div>) : '' }
233
233
  <%_ } _%>
234
234
  </div>