generator-jhipster 7.2.0 → 7.4.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 (313) hide show
  1. package/cli/environment-builder.js +1 -0
  2. package/cli/import-jdl.js +3 -2
  3. package/cli/jdl.js +1 -0
  4. package/cli/jhipster-command.js +2 -2
  5. package/cli/program.js +32 -29
  6. package/generators/app/index.js +35 -26
  7. package/generators/aws/index.js +8 -8
  8. package/generators/aws/lib/eb.js +1 -1
  9. package/generators/azure-app-service/index.js +16 -9
  10. package/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +2 -2
  11. package/generators/azure-spring-cloud/index.js +16 -9
  12. package/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +2 -2
  13. package/generators/bootstrap/index.js +57 -61
  14. package/generators/ci-cd/index.js +11 -8
  15. package/generators/ci-cd/templates/github-actions.yml.ejs +1 -1
  16. package/generators/ci-cd/templates/travis.yml.ejs +9 -4
  17. package/generators/client/__workflow/devserver-angular.json +1 -1
  18. package/generators/client/__workflow/devserver-react.json +1 -1
  19. package/generators/client/__workflow/devserver-vue.json +1 -1
  20. package/generators/client/files-angular.js +6 -0
  21. package/generators/client/files-common.js +6 -2
  22. package/generators/client/files-react.js +13 -2
  23. package/generators/client/files-vue.js +56 -6
  24. package/generators/client/index.js +114 -32
  25. package/generators/client/needle-api/needle-client-angular.js +1 -1
  26. package/generators/client/needle-api/needle-client-vue.js +57 -7
  27. package/generators/client/templates/angular/.eslintrc.json.ejs +1 -0
  28. package/generators/client/templates/angular/package.json +19 -19
  29. package/generators/client/templates/angular/package.json.ejs +2 -1
  30. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +52 -54
  31. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.service.spec.ts.ejs +65 -0
  32. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.spec.ts.ejs +35 -37
  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.service.spec.ts.ejs +41 -0
  35. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +73 -75
  36. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +62 -0
  37. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +44 -46
  38. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +61 -0
  39. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.spec.ts.ejs +116 -118
  40. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.service.spec.ts.ejs +66 -0
  41. package/generators/client/templates/angular/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +75 -77
  42. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +74 -76
  43. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +48 -50
  44. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.service.spec.ts.ejs +50 -52
  45. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +45 -47
  46. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +66 -0
  47. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +99 -101
  48. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +61 -63
  49. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.service.spec.ts.ejs +19 -21
  50. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +2 -2
  51. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +28 -30
  52. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.service.spec.ts.ejs +62 -64
  53. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +35 -37
  54. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +40 -42
  55. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +87 -89
  56. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +41 -43
  57. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +81 -83
  58. package/generators/client/templates/angular/src/main/webapp/app/app.module.ts.ejs +3 -0
  59. package/generators/client/templates/angular/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +178 -180
  60. package/generators/client/templates/angular/src/main/webapp/app/core/config/application-config.service.ts.ejs +9 -0
  61. package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.service.spec.ts.ejs +87 -89
  62. package/generators/client/templates/angular/src/main/webapp/app/home/home.component.spec.ts.ejs +93 -95
  63. package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +166 -168
  64. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +66 -68
  65. package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +27 -29
  66. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.spec.ts.ejs +112 -114
  67. package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +132 -134
  68. package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +29 -31
  69. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +2 -3
  70. package/generators/client/templates/common/README.md.jhi.client.ejs +34 -0
  71. package/generators/client/templates/common/package.json +7 -7
  72. package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +56 -0
  73. package/generators/client/templates/react/.eslintrc.json.ejs +1 -0
  74. package/generators/client/templates/react/package.json +57 -56
  75. package/generators/client/templates/react/package.json.ejs +5 -2
  76. package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +0 -3
  77. package/generators/client/templates/react/src/main/webapp/app/modules/account/password/password.tsx.ejs +2 -2
  78. package/generators/client/templates/react/src/main/webapp/app/modules/administration/configuration/configuration.tsx.ejs +2 -2
  79. package/generators/client/templates/react/src/main/webapp/app/modules/administration/gateway/gateway.tsx.ejs +2 -2
  80. package/generators/client/templates/react/src/main/webapp/app/modules/administration/metrics/metrics.tsx.ejs +6 -6
  81. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +8 -8
  82. package/generators/client/templates/react/src/main/webapp/app/modules/home/home.tsx.ejs +1 -1
  83. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs +1 -1
  84. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +3 -3
  85. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs +7 -7
  86. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/menu-components.tsx.ejs +1 -1
  87. package/generators/client/templates/react/webpack/webpack.dev.js.ejs +17 -1
  88. package/generators/client/templates/react/webpack/webpack.prod.js.ejs +13 -1
  89. package/generators/client/templates/vue/.eslintrc.js.ejs +8 -5
  90. package/generators/client/templates/vue/package.json +40 -49
  91. package/generators/client/templates/vue/package.json.ejs +14 -18
  92. package/generators/client/templates/vue/src/main/webapp/app/account/account.service.ts.ejs +6 -5
  93. package/generators/client/templates/vue/src/main/webapp/app/account/settings/settings.vue.ejs +7 -1
  94. package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +1 -1
  95. package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.vue.ejs +1 -1
  96. package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +1 -1
  97. package/generators/client/templates/vue/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +5 -4
  98. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +9 -0
  99. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-view.component.ts.ejs +5 -0
  100. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management.component.ts.ejs +5 -0
  101. package/generators/client/templates/vue/src/main/webapp/app/constants.ts.ejs +16 -6
  102. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +27 -8
  103. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +6 -0
  104. package/generators/client/templates/vue/src/main/webapp/app/declarations.d.ts.ejs +41 -0
  105. package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.component.ts.ejs +34 -0
  106. package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.vue.ejs +13 -0
  107. package/generators/client/templates/vue/src/main/webapp/app/entities/entities.component.ts.ejs +14 -0
  108. package/generators/client/templates/vue/src/main/webapp/app/entities/entities.vue.ejs +5 -0
  109. package/generators/client/templates/vue/{webpack/utils.js.ejs → src/main/webapp/app/index.ts.ejs} +1 -12
  110. package/generators/client/templates/vue/src/main/webapp/app/locale/translation.service.ts.ejs +26 -9
  111. package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +23 -11
  112. package/generators/client/templates/vue/src/main/webapp/app/router/admin.ts.ejs +4 -4
  113. package/generators/client/templates/vue/src/main/webapp/app/router/entities.ts.ejs +45 -3
  114. package/generators/client/templates/vue/src/main/webapp/app/router/index.ts.ejs +19 -3
  115. package/generators/client/templates/vue/src/main/webapp/app/shared/alert/alert.service.ts.ejs +61 -0
  116. package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +0 -2
  117. package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +3 -1
  118. package/generators/client/templates/vue/src/main/webapp/app/shims-vue.d.ts.ejs +17 -3
  119. package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +25 -10
  120. package/generators/client/templates/vue/src/test/javascript/spec/app/account/account.service.spec.ts.ejs +2 -2
  121. package/generators/client/templates/vue/src/test/javascript/spec/app/account/login-form/login-form.component.spec.ts.ejs +2 -2
  122. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/tracker/tracker.component.spec.ts.ejs +12 -12
  123. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/tracker/tracker.service.spec.ts.ejs +2 -1
  124. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-edit.component.spec.ts.ejs +5 -1
  125. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-view.component.spec.ts.ejs +2 -1
  126. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management.component.spec.ts.ejs +5 -1
  127. package/generators/client/templates/vue/src/test/javascript/spec/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +10 -4
  128. package/generators/client/templates/vue/src/test/javascript/spec/app/entities/entities-menu.spec.ts.ejs +52 -0
  129. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.component.ts.ejs +4 -0
  130. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.vue.ejs +7 -0
  131. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-router.ts.ejs +1 -0
  132. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/alert/alert.service.spec.ts.ejs +124 -0
  133. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/axios-interceptor.spec.ts.ejs +0 -1
  134. package/generators/client/templates/vue/tsconfig.json.ejs +6 -10
  135. package/generators/client/templates/vue/tsconfig.spec.json.ejs +37 -0
  136. package/generators/client/templates/vue/webpack/config.js.ejs +50 -0
  137. package/generators/client/templates/vue/webpack/vue.utils.js.ejs +33 -32
  138. package/generators/client/templates/vue/webpack/webpack.common.js.ejs +152 -126
  139. package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +19 -76
  140. package/generators/client/templates/vue/webpack/webpack.microfrontend.js.jhi.vue.ejs +77 -0
  141. package/generators/client/templates/vue/webpack/webpack.prod.js.ejs +5 -41
  142. package/generators/cloudfoundry/index.js +9 -9
  143. package/generators/common/index.js +12 -10
  144. package/generators/common/templates/.husky/pre-commit +1 -1
  145. package/generators/common/templates/.prettierrc.ejs +1 -1
  146. package/generators/common/templates/README.md.jhi.ejs +21 -0
  147. package/generators/common/templates/package.json +4 -4
  148. package/generators/cypress/index.js +12 -9
  149. package/generators/cypress/templates/cypress.json.ejs +9 -2
  150. package/generators/cypress/templates/src/test/javascript/cypress/plugins/index.ts.ejs +4 -4
  151. package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +30 -2
  152. package/generators/cypress/templates/src/test/javascript/cypress/support/entity.ts.ejs +4 -4
  153. package/generators/cypress/templates/src/test/javascript/cypress/support/index.ts.ejs +1 -1
  154. package/generators/cypress/templates/src/test/javascript/cypress/support/management.ts.ejs +1 -1
  155. package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +1 -1
  156. package/generators/database-changelog/index.js +33 -22
  157. package/generators/database-changelog-liquibase/index.js +12 -8
  158. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +1 -1
  159. package/generators/docker-compose/index.js +11 -12
  160. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +13 -12
  161. package/generators/entities/index.js +35 -26
  162. package/generators/entities-client/index.js +10 -7
  163. package/generators/entity/index.js +49 -29
  164. package/generators/entity-client/files.js +7 -16
  165. package/generators/entity-client/index.js +74 -11
  166. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.spec.ts.ejs +42 -44
  167. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.spec.ts.ejs +58 -60
  168. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +1 -1
  169. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +105 -107
  170. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +8 -1
  171. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +52 -54
  172. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing.module.ts.ejs +1 -1
  173. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +173 -175
  174. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +2 -4
  175. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +193 -195
  176. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +7 -0
  177. package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +269 -109
  178. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +5 -2
  179. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +17 -14
  180. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +11 -13
  181. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-details.component.ts.ejs +5 -0
  182. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +23 -8
  183. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.vue.ejs +6 -9
  184. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.component.ts.ejs +9 -1
  185. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
  186. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.service.ts.ejs +2 -6
  187. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-details.component.spec.ts.ejs +2 -1
  188. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-update.component.spec.ts.ejs +8 -1
  189. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.component.spec.ts.ejs +8 -2
  190. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.service.spec.ts.ejs +1 -1
  191. package/generators/entity-i18n/index.js +7 -4
  192. package/generators/entity-server/files-couchbase.js +2 -2
  193. package/generators/entity-server/files.js +35 -30
  194. package/generators/entity-server/index.js +12 -8
  195. package/generators/entity-server/templates/couchbase/src/main/java/package/repository/EntityRepository.java.ejs +2 -2
  196. package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.fts.ejs +1 -1
  197. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +6 -2
  198. package/generators/entity-server/templates/src/main/java/package/domain/enumeration/Enum.java.ejs +1 -1
  199. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +2 -2
  200. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +17 -30
  201. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +5 -5
  202. package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +46 -0
  203. package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +3 -3
  204. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +2 -2
  205. package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +8 -8
  206. package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +4 -4
  207. package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +4 -4
  208. package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +7 -3
  209. package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +8 -8
  210. package/generators/entity-server/templates/src/main/java/package/service/mapper/BaseEntityMapper.java.ejs +1 -1
  211. package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +7 -3
  212. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +51 -53
  213. package/generators/entity-server/templates/src/test/java/package/domain/EntityTest.java.ejs +1 -1
  214. package/generators/entity-server/templates/src/test/java/package/repository/search/EntitySearchRepositoryMockConfiguration.java.ejs +1 -1
  215. package/generators/entity-server/templates/src/test/java/package/service/dto/EntityDTOTest.java.ejs +1 -1
  216. package/generators/entity-server/templates/src/test/java/package/service/mapper/EntityMapperTest.java.ejs +1 -1
  217. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +17 -14
  218. package/generators/gae/index.js +10 -10
  219. package/generators/generator-base-blueprint.js +14 -46
  220. package/generators/generator-base-private.js +42 -22
  221. package/generators/generator-base.js +57 -20
  222. package/generators/generator-constants.js +29 -21
  223. package/generators/generator-transforms.js +39 -27
  224. package/generators/heroku/index.js +27 -48
  225. package/generators/init/constants.cjs +1 -1
  226. package/generators/init/templates/.husky/pre-commit +1 -1
  227. package/generators/java/constants.cjs +1 -1
  228. package/generators/kubernetes/files.js +3 -0
  229. package/generators/kubernetes/index.js +10 -10
  230. package/generators/kubernetes/templates/db/couchbase.yml.ejs +1 -1
  231. package/generators/kubernetes/templates/deployment.yml.ejs +8 -3
  232. package/generators/kubernetes/templates/istio/destination-rule.yml.ejs +1 -1
  233. package/generators/kubernetes/templates/istio/gateway/grafana-gateway.yml.ejs +5 -2
  234. package/generators/kubernetes/templates/istio/gateway/jhipster-grafana-gateway.yml.ejs +5 -2
  235. package/generators/kubernetes/templates/istio/gateway/kiali-gateway.yml.ejs +10 -8
  236. package/generators/kubernetes/templates/istio/gateway/zipkin-gateway.yml.ejs +5 -2
  237. package/generators/kubernetes/templates/istio/gateway.yml.ejs +7 -5
  238. package/generators/kubernetes/templates/secret/couchbase-secret.yml.ejs +9 -0
  239. package/generators/kubernetes-base.js +1 -0
  240. package/generators/kubernetes-helm/files.js +3 -8
  241. package/generators/kubernetes-helm/index.js +10 -10
  242. package/generators/kubernetes-helm/templates/README-KUBERNETES-HELM.md.ejs +0 -1
  243. package/generators/kubernetes-helm/templates/app/Chart.yml.ejs +27 -0
  244. package/generators/kubernetes-helm/templates/app/helpers.tpl.ejs +0 -11
  245. package/generators/kubernetes-helm/templates/app/requirements.yml.ejs +7 -2
  246. package/generators/kubernetes-helm/templates/app/values.yml.ejs +68 -5
  247. package/generators/kubernetes-helm/templates/csvc/Chart.yml.ejs +17 -0
  248. package/generators/kubernetes-helm/templates/csvc/requirements.yml.ejs +2 -2
  249. package/generators/kubernetes-knative/index.js +10 -10
  250. package/generators/kubernetes-knative/templates/istio/gateway.yml.ejs +6 -4
  251. package/generators/kubernetes-knative/templates/service.yml.ejs +1 -1
  252. package/generators/languages/index.js +13 -13
  253. package/generators/languages/templates/src/main/webapp/i18n/hr/reset.json.ejs +1 -2
  254. package/generators/languages/templates/src/main/webapp/i18n/vi/login.json +1 -1
  255. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
  256. package/generators/openapi-client/index.js +13 -10
  257. package/generators/openshift/index.js +10 -11
  258. package/generators/openshift/templates/deployment.yml.ejs +1 -1
  259. package/generators/page/index.js +12 -10
  260. package/generators/server/__snapshots__/generator.spec.mjs.snap +12 -0
  261. package/generators/server/files-sql.js +52 -0
  262. package/generators/server/files.js +15 -0
  263. package/generators/server/index.js +100 -33
  264. package/generators/server/needle-api/needle-server-cache.js +4 -6
  265. package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
  266. package/generators/server/templates/build.gradle.ejs +17 -1
  267. package/generators/server/templates/gradle.properties.ejs +11 -11
  268. package/generators/server/templates/npmw +1 -1
  269. package/generators/server/templates/npmw.cmd +1 -1
  270. package/generators/server/templates/pom.xml.ejs +128 -9
  271. package/generators/server/templates/settings.gradle.ejs +9 -0
  272. package/generators/server/templates/sql/reactive/src/main/java/package/repository/UserSqlHelper.java.ejs +48 -0
  273. package/generators/server/templates/src/main/docker/app.yml.ejs +2 -1
  274. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +13 -12
  275. package/generators/server/templates/src/main/java/package/aop/logging/LoggingAspect.java.ejs +1 -1
  276. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_cassandra.java.ejs +0 -6
  277. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_sql.java.ejs +2 -2
  278. package/generators/server/templates/src/main/java/package/config/JacksonConfiguration.java.ejs +1 -1
  279. package/generators/server/templates/src/main/java/package/config/LocaleConfiguration.java.ejs +0 -2
  280. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +2 -5
  281. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +9 -1
  282. package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +0 -1
  283. package/generators/server/templates/src/main/java/package/management/SecurityMetersService.java.ejs +68 -0
  284. package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +0 -23
  285. package/generators/server/templates/src/main/java/package/security/PersistentTokenRememberMeServices.java.ejs +0 -2
  286. package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +29 -4
  287. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +21 -9
  288. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +13 -5
  289. package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
  290. package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +1 -1
  291. package/generators/server/templates/src/main/resources/config/application.yml.ejs +7 -7
  292. package/generators/server/templates/src/main/resources/static/microservices_index.html.ejs +1 -1
  293. package/generators/server/templates/src/test/java/package/management/SecurityMetersServiceTests.java.ejs +113 -0
  294. package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +6 -1
  295. package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderSecurityMetersTests.java.ejs +198 -0
  296. package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderTest.java.ejs +13 -3
  297. package/generators/server/templates/src/test/java/package/security/oauth2/AuthorizationHeaderUtilTest.java.ejs +16 -2
  298. package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +63 -0
  299. package/generators/spring-controller/index.js +9 -7
  300. package/generators/spring-service/index.js +10 -7
  301. package/generators/upgrade/index.js +4 -5
  302. package/generators/utils.js +2 -2
  303. package/generators/workspaces/index.js +16 -7
  304. package/jdl/jhipster/default-application-options.js +9 -7
  305. package/package.json +23 -23
  306. package/utils/entity.js +21 -4
  307. package/utils/field.js +12 -2
  308. package/utils/multi-step-transform/index.js +8 -8
  309. package/generators/client/templates/react/.npmrc.ejs +0 -1
  310. package/generators/client/templates/vue/webpack/dev.env.js.ejs +0 -17
  311. package/generators/client/templates/vue/webpack/env.js.ejs +0 -67
  312. package/generators/client/templates/vue/webpack/loader.conf.js.ejs +0 -20
  313. package/generators/client/templates/vue/webpack/prod.env.js.ejs +0 -15
@@ -2,80 +2,71 @@
2
2
  "dependencies": {
3
3
  "@fortawesome/fontawesome-svg-core": "1.2.36",
4
4
  "@fortawesome/free-solid-svg-icons": "5.15.4",
5
- "@fortawesome/vue-fontawesome": "2.0.2",
6
- "axios": "0.21.4",
7
- "bootstrap": "4.6.0",
5
+ "@fortawesome/vue-fontawesome": "2.0.6",
6
+ "axios": "0.24.0",
7
+ "bootstrap": "4.6.1",
8
8
  "bootstrap-vue": "2.21.2",
9
- "bootswatch": "5.1.1",
10
- "swagger-ui-dist": "3.52.2",
9
+ "bootswatch": "5.1.3",
10
+ "swagger-ui-dist": "4.1.2",
11
11
  "vue": "2.6.14",
12
12
  "vue-class-component": "7.2.6",
13
13
  "vue-cookie": "1.1.4",
14
14
  "vue-infinite-loading": "2.4.5",
15
- "vue-router": "3.5.2",
16
- "vue-i18n": "8.25.1",
15
+ "vue-router": "3.5.3",
16
+ "vue-i18n": "8.26.7",
17
17
  "vue-property-decorator": "9.1.2",
18
18
  "vuelidate": "0.7.6",
19
19
  "vuex": "3.6.2",
20
20
  "vue2-filters": "0.13.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@types/jest": "27.0.1",
24
- "@types/node": "16.9.1",
25
- "@types/sinon": "10.0.2",
23
+ "@types/jest": "27.0.3",
24
+ "@types/node": "16.11.11",
25
+ "@types/sinon": "10.0.6",
26
26
  "@types/vuelidate": "0.7.15",
27
- "@typescript-eslint/eslint-plugin": "4.31.1",
28
- "@typescript-eslint/parser": "4.31.1",
27
+ "@typescript-eslint/eslint-plugin": "5.5.0",
28
+ "@typescript-eslint/parser": "5.5.0",
29
29
  "@vue/eslint-config-prettier": "6.0.0",
30
- "@vue/eslint-config-typescript": "7.0.0",
31
- "@vue/cli-plugin-eslint": "4.5.13",
32
- "@vue/cli-plugin-typescript": "4.5.13",
33
- "@vue/cli-service": "4.5.13",
34
- "@vue/test-utils": "1.2.2",
30
+ "@vue/eslint-config-typescript": "9.1.0",
31
+ "@vue/vue2-jest": "27.0.0-alpha.3",
32
+ "@vue/test-utils": "1.3.0",
35
33
  "axios-mock-adapter": "1.20.0",
36
- "autoprefixer": "10.3.4",
37
- "babel-core": "7.0.0-bridge.0",
38
- "browser-sync": "2.27.5",
34
+ "autoprefixer": "10.4.0",
39
35
  "browser-sync-webpack-plugin": "2.3.0",
40
- "copy-webpack-plugin": "9.0.1",
41
- "css-loader": "6.2.0",
42
- "css-minimizer-webpack-plugin": "3.0.2",
43
- "file-loader": "6.2.0",
36
+ "copy-webpack-plugin": "10.0.0",
37
+ "css-loader": "6.5.1",
38
+ "css-minimizer-webpack-plugin": "3.2.0",
44
39
  "folder-hash": "4.0.1",
45
- "fork-ts-checker-webpack-plugin": "6.3.3",
46
- "html-webpack-plugin": "5.3.2",
47
- "jest": "27.2.0",
48
- "jest-junit": "12.2.0",
40
+ "fork-ts-checker-webpack-plugin": "6.5.0",
41
+ "html-webpack-plugin": "5.5.0",
42
+ "jest": "27.4.3",
43
+ "jest-junit": "13.0.0",
49
44
  "jest-serializer-vue": "2.0.2",
50
45
  "jest-sonar-reporter": "2.0.0",
51
46
  "jest-vue-preprocessor": "1.7.1",
52
- "merge-jsons-webpack-plugin": "1.0.21",
53
- "mini-css-extract-plugin": "2.3.0",
54
- "node-notifier": "9.0.1",
47
+ "merge-jsons-webpack-plugin": "2.0.1",
48
+ "mini-css-extract-plugin": "2.4.5",
55
49
  "numeral": "2.0.6",
56
- "portfinder": "1.0.28",
57
- "postcss": "8.3.6",
58
50
  "postcss-import": "14.0.2",
59
- "postcss-loader": "6.1.1",
51
+ "postcss-loader": "6.2.1",
60
52
  "postcss-url": "10.1.3",
61
53
  "rimraf": "3.0.2",
62
- "sass": "1.39.2",
63
- "sass-loader": "12.1.0",
64
- "sinon": "11.1.2",
65
- "terser-webpack-plugin": "5.2.4",
66
- "ts-jest": "27.0.5",
67
- "ts-loader": "9.2.5",
68
- "eslint": "6.8.0",
54
+ "sass": "1.44.0",
55
+ "sass-loader": "12.3.0",
56
+ "sinon": "12.0.1",
57
+ "terser-webpack-plugin": "5.2.5",
58
+ "ts-jest": "27.0.7",
59
+ "ts-loader": "9.2.6",
60
+ "eslint": "8.3.0",
69
61
  "eslint-plugin-prettier": "3.4.1",
70
- "eslint-plugin-vue": "7.17.0",
71
- "typescript": "4.4.3",
72
- "url-loader": "4.1.1",
73
- "webpack": "5.52.1",
74
- "webpack-bundle-analyzer": "4.4.2",
75
- "webpack-cli": "4.8.0",
76
- "webpack-dev-server": "4.2.1",
62
+ "eslint-plugin-vue": "8.1.1",
63
+ "typescript": "4.5.2",
64
+ "webpack": "5.64.4",
65
+ "webpack-bundle-analyzer": "4.5.0",
66
+ "webpack-cli": "4.9.1",
67
+ "webpack-dev-server": "4.6.0",
77
68
  "webpack-merge": "5.8.0",
78
- "workbox-webpack-plugin": "6.3.0",
69
+ "workbox-webpack-plugin": "6.4.1",
79
70
  "vue-jest": "3.0.7",
80
71
  "vue-loader": "15.9.8"
81
72
  }
@@ -19,7 +19,7 @@
19
19
  {
20
20
  "name": "<%= dasherizedBaseName %>",
21
21
  "version": "0.0.0",
22
- "description": "Description for <%= baseName %>",
22
+ "description": "<%= projectDescription %>",
23
23
  "private": true,
24
24
  "license": "UNLICENSED",
25
25
  "cacheDirectories": [
@@ -66,27 +66,21 @@
66
66
  "ts-node": "8.10.1",
67
67
  "webdriver-manager": "12.1.8",
68
68
  <%_ } _%>
69
- "babel-core": "<%= dependabotPackageJson.devDependencies['babel-core'] %>",
70
69
  "@types/jest": "<%= dependabotPackageJson.devDependencies['@types/jest'] %>",
71
70
  "@types/node": "<%= dependabotPackageJson.devDependencies['@types/node'] %>",
72
71
  "@types/sinon": "<%= dependabotPackageJson.devDependencies['@types/sinon'] %>",
73
72
  "@types/vuelidate": "<%= dependabotPackageJson.devDependencies['@types/vuelidate'] %>",
74
73
  "@typescript-eslint/eslint-plugin": "<%= dependabotPackageJson.devDependencies['@typescript-eslint/eslint-plugin'] %>",
75
74
  "@typescript-eslint/parser": "<%= dependabotPackageJson.devDependencies['@typescript-eslint/parser'] %>",
76
- "@vue/cli-plugin-eslint": "<%= dependabotPackageJson.devDependencies['@vue/cli-plugin-eslint'] %>",
77
- "@vue/cli-plugin-typescript": "<%= dependabotPackageJson.devDependencies['@vue/cli-plugin-typescript'] %>",
78
- "@vue/cli-service": "<%= dependabotPackageJson.devDependencies['@vue/cli-service'] %>",
79
75
  "@vue/eslint-config-prettier": "<%= dependabotPackageJson.devDependencies['@vue/eslint-config-prettier'] %>",
80
76
  "@vue/eslint-config-typescript": "<%= dependabotPackageJson.devDependencies['@vue/eslint-config-typescript'] %>",
81
77
  "@vue/test-utils": "<%= dependabotPackageJson.devDependencies['@vue/test-utils'] %>",
82
78
  "axios-mock-adapter": "<%= dependabotPackageJson.devDependencies['axios-mock-adapter'] %>",
83
79
  "autoprefixer": "<%= dependabotPackageJson.devDependencies['autoprefixer'] %>",
84
- "browser-sync": "<%= dependabotPackageJson.devDependencies['browser-sync'] %>",
85
80
  "browser-sync-webpack-plugin": "<%= dependabotPackageJson.devDependencies['browser-sync-webpack-plugin'] %>",
86
81
  "copy-webpack-plugin": "<%= dependabotPackageJson.devDependencies['copy-webpack-plugin'] %>",
87
82
  "css-loader": "<%= dependabotPackageJson.devDependencies['css-loader'] %>",
88
83
  "css-minimizer-webpack-plugin": "<%= dependabotPackageJson.devDependencies['css-minimizer-webpack-plugin'] %>",
89
- "file-loader": "<%= dependabotPackageJson.devDependencies['file-loader'] %>",
90
84
  "fork-ts-checker-webpack-plugin": "<%= dependabotPackageJson.devDependencies['fork-ts-checker-webpack-plugin'] %>",
91
85
  <%_ if (!skipJhipsterDependencies) { _%>
92
86
  "generator-jhipster": "<%= packagejs.version %>",
@@ -105,10 +99,7 @@
105
99
  "merge-jsons-webpack-plugin": "<%= dependabotPackageJson.devDependencies['merge-jsons-webpack-plugin'] %>",
106
100
  <%_ } _%>
107
101
  "mini-css-extract-plugin": "<%= dependabotPackageJson.devDependencies['mini-css-extract-plugin'] %>",
108
- "node-notifier": "<%= dependabotPackageJson.devDependencies['node-notifier'] %>",
109
102
  "numeral": "<%= dependabotPackageJson.devDependencies['numeral'] %>",
110
- "portfinder": "<%= dependabotPackageJson.devDependencies['portfinder'] %>",
111
- "postcss": "<%= dependabotPackageJson.devDependencies['postcss'] %>",
112
103
  "postcss-import": "<%= dependabotPackageJson.devDependencies['postcss-import'] %>",
113
104
  "postcss-loader": "<%= dependabotPackageJson.devDependencies['postcss-loader'] %>",
114
105
  "postcss-url": "<%= dependabotPackageJson.devDependencies['postcss-url'] %>",
@@ -131,8 +122,11 @@
131
122
  "eslint-plugin-prettier": "<%= dependabotPackageJson.devDependencies['eslint-plugin-prettier'] %>",
132
123
  "eslint-plugin-vue": "<%= dependabotPackageJson.devDependencies['eslint-plugin-vue'] %>",
133
124
  "typescript": "<%= dependabotPackageJson.devDependencies['typescript'] %>",
134
- "url-loader": "<%= dependabotPackageJson.devDependencies['url-loader'] %>",
125
+ <%_ if (microfrontend) { _%>
126
+ "@vue/vue2-jest": "<%= dependabotPackageJson.devDependencies['@vue/vue2-jest'] %>",
127
+ <%_ } else { _%>
135
128
  "vue-jest": "<%= dependabotPackageJson.devDependencies['vue-jest'] %>",
129
+ <%_ } _%>
136
130
  "vue-loader": "<%= dependabotPackageJson.devDependencies['vue-loader'] %>",
137
131
  "vue-template-compiler": "<%= dependabotPackageJson.dependencies['vue'] %>",
138
132
  "webpack": "<%= dependabotPackageJson.devDependencies['webpack'] %>",
@@ -152,14 +146,15 @@
152
146
  "scripts": {
153
147
  "prettier:check": "prettier --check \"{,src/**/,webpack/}*.{<%= getPrettierExtensions() %>}\"",
154
148
  "prettier:format": "prettier --write \"{,src/**/,webpack/}*.{<%= getPrettierExtensions() %>}\"",
155
- "lint": "vue-cli-service lint --no-fix",
156
- "lint:fix": "vue-cli-service lint",
149
+ "lint": "eslint . --ext .ts,.vue ",
150
+ "lint:fix": "eslint . --ext .ts,.vue --fix",
157
151
  "cleanup": "rimraf <%= DIST_DIR %>",
158
152
  "clean-www": "rimraf <%= DIST_DIR %>app/{src,<%= BUILD_DIR %>}",
159
153
  "start": "<%= clientPackageManager %> run webapp:dev --",
160
154
  "start-tls": "<%= clientPackageManager %> run webapp:dev -- --env.tls",
161
155
  "serve": "<%= clientPackageManager %> run start --",
162
156
  "build": "<%= clientPackageManager %> run webapp:prod --",
157
+ "build-watch": "concurrently 'npm run webapp:build:dev -- --watch'<% if(!skipServer) { %> npm:backend:start<% } %>",
163
158
  <%_ if (protractorTests && !cypressTests) { _%>
164
159
  "e2e": "<%= clientPackageManager %> run e2e:protractor --",
165
160
  "e2e:headless": "<%= clientPackageManager %> run e2e:protractor:headless --",
@@ -186,14 +181,15 @@
186
181
  "test": "<%= clientPackageManager %> run jest --",
187
182
  "test-ci": "<%= clientPackageManager %> run lint && <%= clientPackageManager %> run jest:update --",
188
183
  "test:watch": "<%= clientPackageManager %> run jest -- --watch",
184
+ "watch": "concurrently npm:start<% if(!skipServer) { %> npm:backend:start<% } %>",
189
185
  "webapp:build": "<%= clientPackageManager %> run clean-www && <%= clientPackageManager %> run webapp:build:dev --",
190
- "webapp:build:dev": "<%= clientPackageManager %> run webpack -- --config webpack/webpack.dev.js --progress=profile --env stats=minimal",
191
- "webapp:build:prod": "<%= clientPackageManager %> run webpack -- --config webpack/webpack.prod.js --progress=profile --env stats=minimal",
192
- "webapp:dev": "<%= clientPackageManager %> run webpack-dev-server -- --config webpack/webpack.dev.js --progress=profile --env stats=normal",
186
+ "webapp:build:dev": "<%= clientPackageManager %> run webpack -- --mode development --progress=profile --env stats=minimal",
187
+ "webapp:build:prod": "<%= clientPackageManager %> run webpack -- --mode production --progress=profile --env stats=minimal",
188
+ "webapp:dev": "<%= clientPackageManager %> run webpack-dev-server -- --mode development --progress=profile --env stats=normal",
193
189
  "webapp:prod": "<%= clientPackageManager %> run clean-www && <%= clientPackageManager %> run webapp:build:prod --",
194
190
  "webapp:test": "<%= clientPackageManager %> run test --",
195
- "webpack-dev-server": "webpack serve",
196
- "webpack": "node --max_old_space_size=4096 node_modules/webpack/bin/webpack.js"
191
+ "webpack-dev-server": "webpack serve --config webpack/webpack.common.js",
192
+ "webpack": "webpack --config webpack/webpack.common.js"
197
193
  },
198
194
  "jestSonar": {
199
195
  "reportPath": "<%= BUILD_DIR %>test-results/jest",
@@ -33,7 +33,7 @@ export default class AccountService {
33
33
 
34
34
  public retrieveProfiles(): Promise<boolean> {
35
35
  return new Promise(resolve => {
36
- axios.get('management/info').then(res => {
36
+ axios.get<any>('management/info').then(res => {
37
37
  if (res.data && res.data.activeProfiles) {
38
38
  this.store.commit('setRibbonOnProfiles', res.data['display-ribbon-on-profiles']);
39
39
  this.store.commit('setActiveProfiles', res.data['activeProfiles']);
@@ -46,7 +46,7 @@ export default class AccountService {
46
46
  public retrieveAccount(): Promise<boolean> {
47
47
  return new Promise(resolve => {
48
48
  axios
49
- .get('api/account').then((response) => {
49
+ .get<any>('api/account').then((response) => {
50
50
  this.store.commit('authenticate');
51
51
  const account = response.data;
52
52
  if (account) {
@@ -65,7 +65,9 @@ export default class AccountService {
65
65
  <%_ } _%>
66
66
  } else {
67
67
  this.store.commit('logout');
68
- this.router.push('/');
68
+ if (this.router.currentRoute.path !== '/') {
69
+ this.router.push('/');
70
+ }
69
71
  sessionStorage.removeItem("requested-url");
70
72
  }
71
73
  <%_ if (enableTranslation) { _%>
@@ -88,9 +90,8 @@ export default class AccountService {
88
90
  const token = <%_ if (authenticationTypeJwt) { _%> localStorage.getItem('<%=jhiPrefixDashed %>-authenticationToken') || sessionStorage.getItem('<%=jhiPrefixDashed %>-authenticationToken'); <%_ } else { _%> this.cookie.get('JSESSIONID') || this.cookie.get('XSRF-TOKEN'); <%_ } _%>
89
91
  if (!this.store.getters.account && !this.store.getters.logon && token) {
90
92
  return this.retrieveAccount();
91
- } else {
92
- return Promise.resolve(false);
93
93
  }
94
+ return Promise.resolve(false);
94
95
  }
95
96
 
96
97
  for (const authority of authorities) {
@@ -3,7 +3,13 @@
3
3
  <div class="row justify-content-center">
4
4
  <div class="col-md-8 toastify-container">
5
5
  <h2 v-if="username" id="settings-title">
6
- <span v-html="$t('settings.title', { 'username': username })">User settings for [<strong>{{username}}</strong>]</span>
6
+ <span v-html="$t('settings.title', { 'username': username })">
7
+ User settings for [
8
+ <strong>
9
+ {{username}}
10
+ </strong>
11
+ ]
12
+ </span>
7
13
  </h2>
8
14
 
9
15
  <div class="alert alert-success" role="alert" v-if="success" v-html="$t('settings.messages.success')">
@@ -23,7 +23,7 @@ export default class ConfigurationService {
23
23
 
24
24
  public loadEnvConfiguration(): Promise<any> {
25
25
  return new Promise(resolve => {
26
- axios.get('management/env').then(res => {
26
+ axios.get<any>('management/env').then(res => {
27
27
  const properties = {};
28
28
  const propertySources = res.data['propertySources'];
29
29
 
@@ -17,7 +17,7 @@
17
17
  </tr>
18
18
  </thead>
19
19
  <tbody>
20
- <tr v-for="entry in orderBy(filterBy(configuration, filtered), orderProp, reverse === true ? 1 : -1)"
20
+ <tr v-for="entry in orderBy(filterBy(configuration, filtered), orderProp, reverse ? 1 : -1)"
21
21
  :key="entry.prefix">
22
22
  <td>
23
23
  <span>{{ entry.prefix }}</span>
@@ -107,7 +107,7 @@ export default class <%=jhiPrefixCapitalized%>Metrics extends Vue {
107
107
  } else {
108
108
  plural = '';
109
109
  }
110
- time_string += Math.floor(ms / times[key]).toString() + ' ' + key.toString() + plural + ' ';
110
+ time_string += `${Math.floor(ms / times[key])} ${key}${plural} `;
111
111
  ms = ms - times[key] * Math.floor(ms / times[key]);
112
112
  }
113
113
  }
@@ -15,7 +15,7 @@ export default class TrackerService {
15
15
 
16
16
  private router: VueRouter;
17
17
 
18
- constructor(router: VueRouter) {
18
+ constructor(router: VueRouter<%_ if (authenticationTypeSession) { _%>, private cookie: any<%_ } _%>) {
19
19
  this.router = router;
20
20
  this.connection = this.createConnection();
21
21
  this.listener = this.createListener();
@@ -28,19 +28,20 @@ export default class TrackerService {
28
28
  // building absolute path so that websocket doesn't fail when deploying with a context path
29
29
  const loc = window.location;
30
30
  const baseHref = document.querySelector('base').getAttribute('href');
31
- let url;
32
- url = '//' + loc.host + baseHref + 'websocket/tracker';
33
31
  <%_ if (authenticationTypeJwt) { _%>
32
+ let url = '//' + loc.host + baseHref + 'websocket/tracker';
34
33
  const authToken = localStorage.getItem('<%=jhiPrefixDashed %>-authenticationToken') || sessionStorage.getItem('<%=jhiPrefixDashed %>-authenticationToken');
35
34
  if (authToken) {
36
35
  url += '?access_token=' + authToken;
37
36
  }
37
+ <%_ } else { _%>
38
+ const url = '//' + loc.host + baseHref + 'websocket/tracker';
38
39
  <%_ } _%>
39
40
  const socket = new SockJS(url);
40
41
  this.stompClient = Stomp.over(socket, { protocols: ['v12.stomp'] });
41
42
  const headers = {};
42
43
  <%_ if (authenticationTypeSession) { _%>
43
- headers['X-XSRF-TOKEN'] = (<any>this).$cookie.get('JSESSIONID') || (<any>this).$cookie.get('XSRF-TOKEN');
44
+ headers['X-XSRF-TOKEN'] = this.cookie.get('JSESSIONID') || this.cookie.get('XSRF-TOKEN');
44
45
  <%_ } _%>
45
46
  this.stompClient.connect(headers, () => this.afterConnect());
46
47
  }
@@ -2,6 +2,7 @@ import { email, maxLength, minLength, required } from 'vuelidate/lib/validators'
2
2
  import { Component, Inject, Vue } from 'vue-property-decorator';
3
3
  import UserManagementService from './user-management.service';
4
4
  import { IUser, User } from '@/shared/model/user.model';
5
+ import AlertService from '@/shared/alert/alert.service';
5
6
 
6
7
  const loginValidator = (value: string) => {
7
8
  if (!value) {
@@ -37,6 +38,8 @@ const validations: any = {
37
38
  })
38
39
  export default class <%=jhiPrefixCapitalized%>UserManagementEdit extends Vue {
39
40
  @Inject('userService') private userManagementService: () => UserManagementService;
41
+ @Inject('alertService') private alertService: () => AlertService;
42
+
40
43
  public userAccount: IUser;
41
44
  public isSaving = false;
42
45
  public authorities: any[] = [];
@@ -87,6 +90,9 @@ export default class <%=jhiPrefixCapitalized%>UserManagementEdit extends Vue {
87
90
  solid: true,
88
91
  autoHideDelay: 5000,
89
92
  });
93
+ }).catch(error => {
94
+ this.isSaving = true;
95
+ this.alertService().showHttpError(this,error.response);
90
96
  });
91
97
  } else {
92
98
  <%_ if (!enableTranslation) { _%>
@@ -101,6 +107,9 @@ export default class <%=jhiPrefixCapitalized%>UserManagementEdit extends Vue {
101
107
  solid: true,
102
108
  autoHideDelay: 5000,
103
109
  });
110
+ }).catch(error => {
111
+ this.isSaving = true;
112
+ this.alertService().showHttpError(this,error.response);
104
113
  });
105
114
  }
106
115
  }
@@ -1,10 +1,13 @@
1
1
  import Vue from 'vue';
2
2
  import { Component, Inject } from 'vue-property-decorator';
3
3
  import UserManagementService from './user-management.service';
4
+ import AlertService from '@/shared/alert/alert.service';
4
5
 
5
6
  @Component
6
7
  export default class <%=jhiPrefixCapitalized%>UserManagementView extends Vue {
7
8
  @Inject('userService') private userManagementService: () => UserManagementService;
9
+ @Inject('alertService') private alertService: () => AlertService;
10
+
8
11
  public user: any = null;
9
12
 
10
13
  beforeRouteEnter(to, from, next) {
@@ -17,6 +20,8 @@ export default class <%=jhiPrefixCapitalized%>UserManagementView extends Vue {
17
20
  public init(userId: <% if (userPrimaryKeyTypeString || userPrimaryKeyTypeUUID) { %>string<% } else { %>number<% } %>): void {
18
21
  this.userManagementService().get(userId).then(res => {
19
22
  this.user = res.data;
23
+ }).catch(error => {
24
+ this.alertService().showHttpError(this,error.response);
20
25
  });
21
26
  }
22
27
  }
@@ -1,12 +1,15 @@
1
1
  import { Component, Inject, Vue } from 'vue-property-decorator';
2
2
  import Vue2Filters from 'vue2-filters';
3
3
  import UserManagementService from './user-management.service';
4
+ import AlertService from '@/shared/alert/alert.service';
4
5
 
5
6
  @Component({
6
7
  mixins: [Vue2Filters.mixin]
7
8
  })
8
9
  export default class <%=jhiPrefixCapitalized%>UserManagementComponent extends Vue {
9
10
  @Inject('userService') private userManagementService: () => UserManagementService;
11
+ @Inject('alertService') private alertService: () => AlertService;
12
+
10
13
  public error = '';
11
14
  public success = '';
12
15
  public users: any[] = [];
@@ -110,6 +113,8 @@ _%>
110
113
  this.removeId = null;
111
114
  this.loadAll();
112
115
  this.closeDialog();
116
+ }).catch(error => {
117
+ this.alertService().showHttpError(this,error.response);
113
118
  });
114
119
  }
115
120
 
@@ -1,11 +1,21 @@
1
- // These constants are injected via webpack environment variables.
2
- // You can add more variables in webpack.common.js or in profile specific webpack.<dev|prod>.js files.
3
- // If you change the values in the webpack config files, you need to re run webpack to update the application
1
+ <%#
2
+ Copyright 2013-2021 the original author or authors from the JHipster project.
4
3
 
5
- export const VERSION = process.env.VERSION;
6
- // export const DEBUG_INFO_ENABLED: boolean = !!process.env.DEBUG_INFO_ENABLED;
7
- export const SERVER_API_URL = process.env.SERVER_API_URL;
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
8
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
+ -%>
9
19
  // Errors
10
20
  export const PROBLEM_BASE_URL = 'https://www.jhipster.tech/problem';
11
21
  export const EMAIL_ALREADY_USED_TYPE = `${PROBLEM_BASE_URL}/email-already-used`;
@@ -1,12 +1,22 @@
1
1
  import { Component, Inject, Vue } from 'vue-property-decorator';
2
- import { VERSION } from '@/constants';
3
2
  import LoginService from '@/account/login.service';
4
3
  import AccountService from '@/account/account.service';
5
4
  <%_ if (enableTranslation) { _%>
6
5
  import TranslationService from '@/locale/translation.service';
7
6
  <%_ } %>
8
7
 
9
- @Component
8
+ import EntitiesMenu from '@/entities/entities-menu.vue';
9
+
10
+ @Component({
11
+ components: {
12
+ 'entities-menu': EntitiesMenu,
13
+ <%_ if (applicationTypeGateway && microfrontend) { _%>
14
+ <%_ for (const remote of remotes) { _%>
15
+ '<%= remote.lowercaseBaseName %>-menu': () => import('@<%= remote.lowercaseBaseName %>/entities-menu'),
16
+ <%_ } _%>
17
+ <%_ } _%>
18
+ },
19
+ })
10
20
  export default class JhiNavbar extends Vue {
11
21
  @Inject('loginService')
12
22
  private loginService: () => LoginService;
@@ -14,7 +24,7 @@ export default class JhiNavbar extends Vue {
14
24
  @Inject('translationService') private translationService: () => TranslationService;
15
25
  <%_ } %>
16
26
  @Inject('accountService') private accountService: () => AccountService;
17
- public version = VERSION ? 'v' + VERSION : '';
27
+ public version = 'v' + VERSION;
18
28
  private currentLanguage = this.$store.getters.currentLanguage;
19
29
  private languages: any = this.$store.getters.languages;
20
30
  private hasAnyAuthorityValue = false;
@@ -43,21 +53,30 @@ export default class JhiNavbar extends Vue {
43
53
  }
44
54
  <%_ } _%>
45
55
 
46
- public logout() : void {
56
+ public logout() : Promise<any> {
47
57
  <%_ if (!authenticationTypeJwt) { _%>
48
- this.loginService().logout().then(response => {
58
+ return this.loginService().logout().then(response => {
49
59
  this.$store.commit('logout');
50
- this.$router.push('/');
51
60
  <%_ if (authenticationTypeOauth2) { _%>
52
- window.location.href = response.data.logoutUrl;
61
+ const next = response.data?.logoutUrl ?? '/';
62
+ if (this.$route.path !== next) {
63
+ return this.$router.push(next);
64
+ }
65
+ <%_ } else { _%>
66
+ if (this.$route.path !== '/') {
67
+ return this.$router.push('/');
68
+ }
53
69
  <%_ } _%>
54
70
  });
55
71
  <%_ } else { _%>
56
72
  localStorage.removeItem('<%=jhiPrefixDashed %>-authenticationToken');
57
73
  sessionStorage.removeItem('<%=jhiPrefixDashed %>-authenticationToken');
58
74
  this.$store.commit('logout');
59
- this.$router.push('/');
75
+ if (this.$route.path !== '/') {
76
+ return this.$router.push('/');
77
+ }
60
78
  <%_ } _%>
79
+ return Promise.resolve(this.$router.currentRoute);
61
80
  }
62
81
 
63
82
  public openLogin() : void {
@@ -33,6 +33,12 @@
33
33
  <font-awesome-icon icon="th-list" />
34
34
  <span class="no-bold" v-text="$t('global.menu.entities.main')">Entities</span>
35
35
  </span>
36
+ <entities-menu></entities-menu>
37
+ <%_ if (applicationTypeGateway && microfrontend) { _%>
38
+ <%_ for (const remote of remotes) { _%>
39
+ <<%= remote.lowercaseBaseName %>-menu></<%= remote.lowercaseBaseName %>-menu>
40
+ <%_ } _%>
41
+ <%_ } _%>
36
42
  <!-- jhipster-needle-add-entity-to-menu - JHipster will add entities to the menu here -->
37
43
  </b-nav-item-dropdown>
38
44
  <b-nav-item-dropdown
@@ -0,0 +1,41 @@
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
+ // These constants are injected via webpack environment variables.
20
+ // You can add more variables in webpack.common.js or in profile specific webpack.<dev|prod>.js files.
21
+ // If you change the values in the webpack config files, you need to re run webpack to update the application
22
+
23
+ declare const SERVER_API_URL: string;
24
+ declare const VERSION: string;
25
+ <%_ if (enableTranslation) { _%>
26
+ declare const I18N_HASH: string;
27
+ <%_ } _%>
28
+ <%_ if (applicationTypeGateway && microfrontend) { _%>
29
+ <%_ for (const remote of microfrontends) { _%>
30
+
31
+ declare module '@<%= remote.lowercaseBaseName %>/entities-router' {
32
+ const _default: unknown;
33
+ export default _default;
34
+ }
35
+
36
+ declare module '@<%= remote.lowercaseBaseName %>/entities-menu' {
37
+ const _default: unknown;
38
+ export default _default;
39
+ }
40
+ <%_ } _%>
41
+ <%_ } _%>
@@ -0,0 +1,34 @@
1
+ import {
2
+ Component,
3
+ Inject,
4
+ Vue,
5
+ <%_ if (enableTranslation && applicationTypeMicroservice) { _%>
6
+ Watch,
7
+ <%_ } _%>
8
+ } from 'vue-property-decorator';
9
+ <%_ if (enableTranslation && applicationTypeMicroservice) { _%>
10
+ import TranslationService from '@/locale/translation.service';
11
+ <%_ } _%>
12
+
13
+ @Component
14
+ export default class EntitiesMenu extends Vue {
15
+ <%_ if (enableTranslation && applicationTypeMicroservice) { _%>
16
+ @Inject({ default: true }) private readonly microfrontendI18n!: boolean;
17
+ @Inject('translationService') private translationService: () => TranslationService;
18
+
19
+ @Watch('$i18n.locale')
20
+ onLocaleChanged() {
21
+ this.loadLanguage();
22
+ }
23
+
24
+ created(): void {
25
+ this.loadLanguage();
26
+ }
27
+
28
+ private loadLanguage() {
29
+ if (this.microfrontendI18n) {
30
+ this.translationService().loadTranslations('<%= frontendAppName %>', '<%= endpointPrefix %>/', I18N_HASH);
31
+ }
32
+ }
33
+ <%_ } _%>
34
+ }
@@ -0,0 +1,13 @@
1
+ <template>
2
+ <div>
3
+ <%_ for (entity of this.localEntities.filter(entity => !entity.embedded)) { _%>
4
+ <b-dropdown-item to="/<%= entity.entityPage %>">
5
+ <font-awesome-icon icon="asterisk" />
6
+ <span v-text="$t('global.menu.entities.<%= entity.entityTranslationKeyMenu %>')"><%= entity.entityClassHumanized %></span>
7
+ </b-dropdown-item>
8
+ <%_ } _%>
9
+ <!-- jhipster-needle-add-entity-to-menu - JHipster will add entities to the menu here -->
10
+ </div>
11
+ </template>
12
+
13
+ <script lang="ts" src="./entities-menu.component.ts"></script>