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
@@ -30,160 +30,158 @@ import { Alert, AlertService } from 'app/core/util/alert.service';
30
30
 
31
31
  import { AlertErrorComponent } from './alert-error.component';
32
32
 
33
- describe('Component Tests', () => {
34
- describe('Alert Error Component', () => {
35
- let comp: AlertErrorComponent;
36
- let fixture: ComponentFixture<AlertErrorComponent>;
37
- let eventManager: EventManager;
38
- let alertService: AlertService;
39
-
40
- beforeEach(
41
- waitForAsync(() => {
42
- TestBed.configureTestingModule({
33
+ describe('Alert Error Component', () => {
34
+ let comp: AlertErrorComponent;
35
+ let fixture: ComponentFixture<AlertErrorComponent>;
36
+ let eventManager: EventManager;
37
+ let alertService: AlertService;
38
+
39
+ beforeEach(
40
+ waitForAsync(() => {
41
+ TestBed.configureTestingModule({
43
42
  <%_ if (enableTranslation) { _%>
44
- imports: [TranslateModule.forRoot()],
43
+ imports: [TranslateModule.forRoot()],
45
44
  <%_ } _%>
46
- declarations: [AlertErrorComponent],
47
- providers: [EventManager, AlertService],
48
- })
49
- .overrideTemplate(AlertErrorComponent, '')
50
- .compileComponents();
45
+ declarations: [AlertErrorComponent],
46
+ providers: [EventManager, AlertService],
51
47
  })
52
- );
53
-
54
- beforeEach(() => {
55
- fixture = TestBed.createComponent(AlertErrorComponent);
56
- comp = fixture.componentInstance;
57
- eventManager = TestBed.inject(EventManager);
58
- alertService = TestBed.inject(AlertService);
59
- alertService.addAlert = (alert: Alert, alerts?: Alert[]) => {
60
- if (alerts) {
61
- alerts.push(alert);
62
- }
63
- return alert;
64
- };
65
- });
48
+ .overrideTemplate(AlertErrorComponent, '')
49
+ .compileComponents();
50
+ })
51
+ );
52
+
53
+ beforeEach(() => {
54
+ fixture = TestBed.createComponent(AlertErrorComponent);
55
+ comp = fixture.componentInstance;
56
+ eventManager = TestBed.inject(EventManager);
57
+ alertService = TestBed.inject(AlertService);
58
+ alertService.addAlert = (alert: Alert, alerts?: Alert[]) => {
59
+ if (alerts) {
60
+ alerts.push(alert);
61
+ }
62
+ return alert;
63
+ };
64
+ });
66
65
 
67
- describe('Error Handling', () => {
68
- it('Should display an alert on status 0', () => {
69
- // GIVEN
70
- eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: { status: 0 } });
71
- // THEN
72
- expect(comp.alerts.length).toBe(1);
73
- expect(comp.alerts[0].<%= mainAlertField %>).toBe(<% if (enableTranslation) { %>'error.server.not.reachable'<% } else { %>'Server not reachable'<% } %>);
74
- });
66
+ describe('Error Handling', () => {
67
+ it('Should display an alert on status 0', () => {
68
+ // GIVEN
69
+ eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: { status: 0 } });
70
+ // THEN
71
+ expect(comp.alerts.length).toBe(1);
72
+ expect(comp.alerts[0].<%= mainAlertField %>).toBe(<% if (enableTranslation) { %>'error.server.not.reachable'<% } else { %>'Server not reachable'<% } %>);
73
+ });
75
74
 
76
- it('Should display an alert on status 404', () => {
77
- // GIVEN
78
- eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: { status: 404 } });
79
- // THEN
80
- expect(comp.alerts.length).toBe(1);
81
- expect(comp.alerts[0].<%= mainAlertField %>).toBe(<% if (enableTranslation) { %>'error.url.not.found'<% } else { %>'Not found'<% } %>);
82
- });
75
+ it('Should display an alert on status 404', () => {
76
+ // GIVEN
77
+ eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: { status: 404 } });
78
+ // THEN
79
+ expect(comp.alerts.length).toBe(1);
80
+ expect(comp.alerts[0].<%= mainAlertField %>).toBe(<% if (enableTranslation) { %>'error.url.not.found'<% } else { %>'Not found'<% } %>);
81
+ });
83
82
 
84
- it('Should display an alert on generic error', () => {
85
- // GIVEN
86
- eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: { error: { message: 'Error Message' } } });
87
- eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: { error: 'Second Error Message' } });
88
- // THEN
89
- expect(comp.alerts.length).toBe(2);
90
- expect(comp.alerts[0].<%= mainAlertField %>).toBe('Error Message');
91
- expect(comp.alerts[1].<%= mainAlertField %>).toBe('Second Error Message');
92
- });
83
+ it('Should display an alert on generic error', () => {
84
+ // GIVEN
85
+ eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: { error: { message: 'Error Message' } } });
86
+ eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: { error: 'Second Error Message' } });
87
+ // THEN
88
+ expect(comp.alerts.length).toBe(2);
89
+ expect(comp.alerts[0].<%= mainAlertField %>).toBe('Error Message');
90
+ expect(comp.alerts[1].<%= mainAlertField %>).toBe('Second Error Message');
91
+ });
93
92
 
94
- it('Should display an alert on status 400 for generic error', () => {
95
- // GIVEN
96
- const response = new HttpErrorResponse({
97
- url: 'http://localhost:8080/api/foos',
98
- headers: new HttpHeaders(),
93
+ it('Should display an alert on status 400 for generic error', () => {
94
+ // GIVEN
95
+ const response = new HttpErrorResponse({
96
+ url: 'http://localhost:8080/api/foos',
97
+ headers: new HttpHeaders(),
98
+ status: 400,
99
+ statusText: 'Bad Request',
100
+ error: {
101
+ type: 'https://www.jhipster.tech/problem/constraint-violation',
102
+ title: 'Bad Request',
99
103
  status: 400,
100
- statusText: 'Bad Request',
101
- error: {
102
- type: 'https://www.jhipster.tech/problem/constraint-violation',
103
- title: 'Bad Request',
104
- status: 400,
105
- path: '/api/foos',
106
- message: 'error.validation',
107
- },
108
- });
109
- eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: response });
110
- // THEN
111
- expect(comp.alerts.length).toBe(1);
112
- expect(comp.alerts[0].<%= mainAlertField %>).toBe('error.validation');
104
+ path: '/api/foos',
105
+ message: 'error.validation',
106
+ },
113
107
  });
108
+ eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: response });
109
+ // THEN
110
+ expect(comp.alerts.length).toBe(1);
111
+ expect(comp.alerts[0].<%= mainAlertField %>).toBe('error.validation');
112
+ });
114
113
 
115
- it('Should display an alert on status 400 for generic error without message', () => {
116
- // GIVEN
117
- const response = new HttpErrorResponse({
118
- url: 'http://localhost:8080/api/foos',
119
- headers: new HttpHeaders(),
120
- status: 400,
121
- error: 'Bad Request',
122
- });
123
- eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: response });
124
- // THEN
125
- expect(comp.alerts.length).toBe(1);
126
- expect(comp.alerts[0].<%= mainAlertField %>).toBe('Bad Request');
114
+ it('Should display an alert on status 400 for generic error without message', () => {
115
+ // GIVEN
116
+ const response = new HttpErrorResponse({
117
+ url: 'http://localhost:8080/api/foos',
118
+ headers: new HttpHeaders(),
119
+ status: 400,
120
+ error: 'Bad Request',
127
121
  });
122
+ eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: response });
123
+ // THEN
124
+ expect(comp.alerts.length).toBe(1);
125
+ expect(comp.alerts[0].<%= mainAlertField %>).toBe('Bad Request');
126
+ });
128
127
 
129
- it('Should display an alert on status 400 for invalid parameters', () => {
130
- // GIVEN
131
- const response = new HttpErrorResponse({
132
- url: 'http://localhost:8080/api/foos',
133
- headers: new HttpHeaders(),
128
+ it('Should display an alert on status 400 for invalid parameters', () => {
129
+ // GIVEN
130
+ const response = new HttpErrorResponse({
131
+ url: 'http://localhost:8080/api/foos',
132
+ headers: new HttpHeaders(),
133
+ status: 400,
134
+ statusText: 'Bad Request',
135
+ error: {
136
+ type: 'https://www.jhipster.tech/problem/constraint-violation',
137
+ title: 'Method argument not valid',
134
138
  status: 400,
135
- statusText: 'Bad Request',
136
- error: {
137
- type: 'https://www.jhipster.tech/problem/constraint-violation',
138
- title: 'Method argument not valid',
139
- status: 400,
140
- path: '/api/foos',
141
- message: 'error.validation',
142
- fieldErrors: [{ objectName: 'foo', field: 'minField', message: 'Min' }],
143
- },
144
- });
145
- eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: response });
146
- // THEN
147
- expect(comp.alerts.length).toBe(1);
148
- expect(comp.alerts[0].<%= mainAlertField %>).toBe(<% if (enableTranslation) { %>'error.Size'<% } else { %>'Error on field "MinField"'<% } %>);
139
+ path: '/api/foos',
140
+ message: 'error.validation',
141
+ fieldErrors: [{ objectName: 'foo', field: 'minField', message: 'Min' }],
142
+ },
149
143
  });
144
+ eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: response });
145
+ // THEN
146
+ expect(comp.alerts.length).toBe(1);
147
+ expect(comp.alerts[0].<%= mainAlertField %>).toBe(<% if (enableTranslation) { %>'error.Size'<% } else { %>'Error on field "MinField"'<% } %>);
148
+ });
150
149
 
151
- it('Should display an alert on status 400 for error headers', () => {
152
- // GIVEN
153
- const response = new HttpErrorResponse({
154
- url: 'http://localhost:8080/api/foos',
155
- headers: new HttpHeaders().append('app-error', 'Error Message').append('app-params', 'foo'),
150
+ it('Should display an alert on status 400 for error headers', () => {
151
+ // GIVEN
152
+ const response = new HttpErrorResponse({
153
+ url: 'http://localhost:8080/api/foos',
154
+ headers: new HttpHeaders().append('app-error', 'Error Message').append('app-params', 'foo'),
155
+ status: 400,
156
+ statusText: 'Bad Request',
157
+ error: {
156
158
  status: 400,
157
- statusText: 'Bad Request',
158
- error: {
159
- status: 400,
160
- message: 'error.validation',
161
- },
162
- });
163
- eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: response });
164
- // THEN
165
- expect(comp.alerts.length).toBe(1);
166
- expect(comp.alerts[0].<%= mainAlertField %>).toBe('Error Message');
159
+ message: 'error.validation',
160
+ },
167
161
  });
162
+ eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: response });
163
+ // THEN
164
+ expect(comp.alerts.length).toBe(1);
165
+ expect(comp.alerts[0].<%= mainAlertField %>).toBe('Error Message');
166
+ });
168
167
 
169
- it('Should display an alert on status 500 with detail', () => {
170
- // GIVEN
171
- const response = new HttpErrorResponse({
172
- url: 'http://localhost:8080/api/foos',
173
- headers: new HttpHeaders(),
168
+ it('Should display an alert on status 500 with detail', () => {
169
+ // GIVEN
170
+ const response = new HttpErrorResponse({
171
+ url: 'http://localhost:8080/api/foos',
172
+ headers: new HttpHeaders(),
173
+ status: 500,
174
+ statusText: 'Internal server error',
175
+ error: {
174
176
  status: 500,
175
- statusText: 'Internal server error',
176
- error: {
177
- status: 500,
178
- message: 'error.http.500',
179
- detail: 'Detailed error message',
180
- },
181
- });
182
- eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: response });
183
- // THEN
184
- expect(comp.alerts.length).toBe(1);
185
- expect(comp.alerts[0].<%= mainAlertField %>).toBe(<% if (enableTranslation) { %>'error.http.500'<% } else { %>'Detailed error message'<% } %>);
177
+ message: 'error.http.500',
178
+ detail: 'Detailed error message',
179
+ },
186
180
  });
181
+ eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: response });
182
+ // THEN
183
+ expect(comp.alerts.length).toBe(1);
184
+ expect(comp.alerts[0].<%= mainAlertField %>).toBe(<% if (enableTranslation) { %>'error.http.500'<% } else { %>'Detailed error message'<% } %>);
187
185
  });
188
186
  });
189
187
  });
@@ -24,43 +24,41 @@ import { AlertService } from 'app/core/util/alert.service';
24
24
 
25
25
  import { AlertComponent } from './alert.component';
26
26
 
27
- describe('Component Tests', () => {
28
- describe('Alert Component', () => {
29
- let comp: AlertComponent;
30
- let fixture: ComponentFixture<AlertComponent>;
31
- let mockAlertService: AlertService;
27
+ describe('Alert Component', () => {
28
+ let comp: AlertComponent;
29
+ let fixture: ComponentFixture<AlertComponent>;
30
+ let mockAlertService: AlertService;
32
31
 
33
- beforeEach(
34
- waitForAsync(() => {
35
- TestBed.configureTestingModule({
36
- declarations: [AlertComponent],
37
- providers: [AlertService],
38
- })
39
- .overrideTemplate(AlertComponent, '')
40
- .compileComponents();
32
+ beforeEach(
33
+ waitForAsync(() => {
34
+ TestBed.configureTestingModule({
35
+ declarations: [AlertComponent],
36
+ providers: [AlertService],
41
37
  })
42
- );
38
+ .overrideTemplate(AlertComponent, '')
39
+ .compileComponents();
40
+ })
41
+ );
43
42
 
44
- beforeEach(() => {
45
- fixture = TestBed.createComponent(AlertComponent);
46
- comp = fixture.componentInstance;
47
- mockAlertService = TestBed.inject(AlertService);
48
- });
43
+ beforeEach(() => {
44
+ fixture = TestBed.createComponent(AlertComponent);
45
+ comp = fixture.componentInstance;
46
+ mockAlertService = TestBed.inject(AlertService);
47
+ });
49
48
 
50
- it('Should call alertService.get on init', () => {
51
- // WHEN
52
- comp.ngOnInit();
49
+ it('Should call alertService.get on init', () => {
50
+ // WHEN
51
+ comp.ngOnInit();
53
52
 
54
- // THEN
55
- expect(mockAlertService.get).toHaveBeenCalled();
56
- });
53
+ // THEN
54
+ expect(mockAlertService.get).toHaveBeenCalled();
55
+ });
57
56
 
58
- it('Should call alertService.clear on destroy', () => {
59
- // WHEN
60
- comp.ngOnDestroy();
57
+ it('Should call alertService.clear on destroy', () => {
58
+ // WHEN
59
+ comp.ngOnDestroy();
61
60
 
62
- // THEN
63
- expect(mockAlertService.clear).toHaveBeenCalled();
64
- });
61
+ // THEN
62
+ expect(mockAlertService.clear).toHaveBeenCalled();
65
63
  });
66
64
  });
@@ -76,7 +76,7 @@ module.exports = async (config, options, targetOptions) => {
76
76
  if (config.devServer) {
77
77
  config.devServer.proxy = proxyConfig({ tls });
78
78
  }
79
- <%_ if (!this.applicationTypeMicroservice) { _%>
79
+
80
80
  if (targetOptions.target === 'serve' || config.watch) {
81
81
  config.plugins.push(
82
82
  new BrowserSyncPlugin(
@@ -85,7 +85,7 @@ module.exports = async (config, options, targetOptions) => {
85
85
  port: 9000,
86
86
  https: tls,
87
87
  proxy: {
88
- target: `http${tls ? 's' : ''}://localhost:${targetOptions.target === 'serve' ? '<%= devServerPort %>' : '<%= serverPort %>'}`,
88
+ target: `http${tls ? 's' : ''}://localhost:${targetOptions.target === 'serve' ? '<%= devServerPort %>' : '<%= this.applicationTypeMicroservice ? gatewayServerPort : serverPort %>'}`,
89
89
  <%_ if (websocket === 'spring-websocket') { _%>
90
90
  ws: true,
91
91
  <%_ } _%>
@@ -113,7 +113,6 @@ module.exports = async (config, options, targetOptions) => {
113
113
  )
114
114
  );
115
115
  }
116
- <%_ } _%>
117
116
 
118
117
  if (config.mode === 'production') {
119
118
  config.plugins.push(
@@ -149,6 +149,40 @@ Note: There are still a few other things remaining to do for Leaflet that we won
149
149
 
150
150
  For further instructions on how to develop with JHipster, have a look at [Using JHipster in development][].
151
151
 
152
+ <%_ if (microfrontend) { -%>
153
+ ### Developing Microfrontend
154
+
155
+ Microservices doesn't contain every required backend feature to allow microfrontends to run alone.
156
+ You must start a pre-built gateway version or from source.
157
+
158
+ Start gateway from source:
159
+
160
+ ```
161
+ cd gateway
162
+ npm run docker:db:up # start database if necessary
163
+ npm run docker:others:up # start service discovery and authentication service if necessary
164
+ npm run app:start # alias for ./(mvnw|gradlew)
165
+ ```
166
+
167
+ Microfrontend's `build-watch` script is configured to watch and compile microfrontend's sources and synchronizes with gateway's frontend.
168
+ Start it using:
169
+
170
+ ```
171
+ cd microfrontend
172
+ npm run docker:db:up # start database if necessary
173
+ npm run build-watch
174
+ ```
175
+
176
+ It's possible to run microfrontend's frontend standalone using:
177
+
178
+ ```
179
+ cd microfrontend
180
+ npm run docker:db:up # start database if necessary
181
+ npm watch # alias for `npm start` and `npm run backend:start` in parallel
182
+ ```
183
+
184
+ <%_ } -%>
185
+
152
186
  <&_ } -&>
153
187
  <&_ if (fragment.testingSection) { -&>
154
188
  ### Client tests
@@ -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.3.1",
7
- "eslint-plugin-cypress": "2.11.3",
8
- "cypress-audit": "1.0.0",
9
- "lighthouse": "8.4.0",
3
+ "@cypress/code-coverage": "3.9.12",
4
+ "babel-loader": "8.2.3",
5
+ "babel-plugin-istanbul": "6.1.1",
6
+ "cypress": "9.0.0",
7
+ "eslint-plugin-cypress": "2.12.1",
8
+ "cypress-audit": "1.1.0",
9
+ "lighthouse": "9.1.0",
10
10
  "nyc": "15.1.0"
11
11
  },
12
12
  "dependencies": {
@@ -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",