generator-jhipster 7.6.0 → 7.8.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 (432) hide show
  1. package/README.md +1 -4
  2. package/cli/commands.js +3 -0
  3. package/cli/environment-builder.js +53 -18
  4. package/cli/import-jdl.js +3 -0
  5. package/cli/index.mjs +20 -0
  6. package/cli/jhipster.js +19 -11
  7. package/cli/program.js +94 -38
  8. package/generators/app/esm.mjs +1 -3
  9. package/generators/app/index.js +11 -16
  10. package/generators/aws/esm.mjs +1 -3
  11. package/generators/azure-app-service/esm.mjs +1 -3
  12. package/generators/azure-spring-cloud/esm.mjs +1 -3
  13. package/generators/base/esm.mjs +1 -3
  14. package/generators/bootstrap/esm.mjs +1 -3
  15. package/generators/bootstrap/index.js +36 -86
  16. package/generators/bootstrap-application/esm.mjs +19 -0
  17. package/generators/bootstrap-application/generator.mjs +353 -0
  18. package/generators/bootstrap-application/index.mjs +19 -0
  19. package/generators/ci-cd/esm.mjs +1 -3
  20. package/generators/ci-cd/index.js +1 -1
  21. package/generators/ci-cd/prompts.js +1 -1
  22. package/generators/ci-cd/templates/github-actions.yml.ejs +6 -6
  23. package/generators/client/esm.mjs +5 -3
  24. package/generators/client/files-angular.js +9 -0
  25. package/generators/client/files-common.js +9 -9
  26. package/generators/client/files-react.js +25 -2
  27. package/generators/client/files-vue.js +7 -6
  28. package/generators/client/index.js +3 -2
  29. package/generators/client/needle-api/needle-client-react.js +11 -8
  30. package/generators/client/templates/angular/angular.json.ejs +2 -10
  31. package/generators/client/templates/angular/jest.conf.js.ejs +1 -1
  32. package/generators/client/templates/angular/package.json +29 -27
  33. package/generators/client/templates/angular/package.json.ejs +6 -2
  34. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.html.ejs +1 -1
  35. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.html.ejs +7 -7
  36. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +5 -5
  37. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +3 -3
  38. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.html.ejs +10 -10
  39. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.html.ejs +8 -8
  40. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +2 -2
  41. package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +5 -5
  42. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.html.ejs +1 -1
  43. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +2 -2
  44. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +2 -2
  45. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +6 -6
  46. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.html.ejs +51 -49
  47. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +16 -16
  48. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +32 -32
  49. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +4 -4
  50. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +18 -18
  51. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +12 -12
  52. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts.ejs +4 -4
  53. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +4 -4
  54. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +8 -8
  55. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +1 -1
  56. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +1 -1
  57. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +4 -4
  58. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +5 -5
  59. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +1 -1
  60. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +11 -11
  61. package/generators/client/templates/angular/src/main/webapp/app/core/util/data-util.service.ts.ejs +1 -1
  62. package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
  63. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +4 -2
  64. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs +0 -6
  65. package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.scss.ejs +0 -6
  66. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.html.ejs +3 -3
  67. package/generators/client/templates/angular/src/main/webapp/content/scss/_bootstrap-variables.scss.ejs +5 -5
  68. package/generators/client/templates/angular/src/main/webapp/content/scss/global.scss.ejs +29 -0
  69. package/generators/client/templates/angular/src/main/webapp/content/scss/vendor.scss.ejs +0 -4
  70. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +31 -1
  71. package/generators/client/templates/common/package.json +7 -6
  72. package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +1 -7
  73. package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +2 -3
  74. package/generators/client/templates/react/.eslintrc.json.ejs +1 -1
  75. package/generators/client/templates/react/jest.conf.js.ejs +1 -1
  76. package/generators/client/templates/react/package.json +44 -45
  77. package/generators/client/templates/react/package.json.ejs +1 -0
  78. package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +1 -1
  79. package/generators/client/templates/react/src/main/webapp/app/config/store.ts.ejs +53 -6
  80. package/generators/client/templates/react/src/main/webapp/app/config/translation-middleware.ts.ejs +58 -0
  81. package/generators/client/templates/react/src/main/webapp/app/entities/menu.tsx.ejs +45 -0
  82. package/generators/client/templates/react/src/main/webapp/app/entities/reducers.ts.ejs +25 -0
  83. package/generators/client/templates/react/src/main/webapp/app/entities/routes.tsx.ejs +47 -0
  84. package/generators/client/templates/react/src/main/webapp/app/index.tsx.ejs +7 -7
  85. package/generators/client/templates/react/src/main/webapp/app/main.tsx.ejs +19 -0
  86. package/generators/client/templates/react/src/main/webapp/app/modules/administration/logs/logs.tsx.ejs +1 -1
  87. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +2 -1
  88. package/generators/client/templates/react/src/main/webapp/app/modules/login/login-modal.tsx.ejs +5 -1
  89. package/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs +24 -7
  90. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-loading.tsx.ejs +15 -0
  91. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/entities.tsx.ejs +34 -6
  92. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/index.ts.ejs +9 -2
  93. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +9 -3
  94. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.ts.ejs +21 -5
  95. package/generators/client/templates/react/src/main/webapp/app/typings.d.ts.ejs +15 -0
  96. package/generators/client/templates/react/src/main/webapp/microfrontends/entities-menu.tsx.ejs +3 -0
  97. package/generators/client/templates/react/src/main/webapp/microfrontends/entities-routes.tsx.ejs +3 -0
  98. package/generators/client/templates/react/tsconfig.json.ejs +3 -3
  99. package/generators/client/templates/react/tsconfig.test.json.ejs +9 -1
  100. package/generators/client/templates/react/webpack/webpack.common.js.ejs +6 -13
  101. package/generators/client/templates/react/webpack/webpack.dev.js.ejs +7 -8
  102. package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +99 -0
  103. package/generators/client/templates/react/webpack/webpack.prod.js.ejs +31 -21
  104. package/generators/client/templates/vue/package.json +30 -31
  105. package/generators/client/templates/vue/package.json.ejs +1 -1
  106. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +4 -3
  107. package/generators/client/templates/vue/src/main/webapp/app/entities/user/user.service.ts.ejs +0 -0
  108. package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +29 -1
  109. package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +2 -2
  110. package/generators/client/templates/vue/src/main/webapp/app/shared/config/config.ts.ejs +0 -4
  111. package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +1 -1
  112. package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +2 -2
  113. package/generators/client/templates/vue/tsconfig.json.ejs +0 -3
  114. package/generators/client/templates/vue/webpack/webpack.common.js.ejs +6 -2
  115. package/generators/cloudfoundry/esm.mjs +1 -3
  116. package/generators/common/esm.mjs +2 -3
  117. package/generators/common/files.js +1 -2
  118. package/generators/common/index.js +6 -0
  119. package/generators/common/templates/.husky/{pre-commit → pre-commit.ejs} +4 -0
  120. package/generators/common/templates/README.md.jhi.ejs +3 -1
  121. package/generators/common/templates/package.json +4 -4
  122. package/generators/common/templates/sonar-project.properties.ejs +1 -1
  123. package/generators/cypress/esm.mjs +2 -3
  124. package/generators/cypress/files.js +2 -1
  125. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +18 -14
  126. package/generators/database-changelog/esm.mjs +1 -3
  127. package/generators/database-changelog/index.js +1 -1
  128. package/generators/database-changelog-liquibase/esm.mjs +2 -3
  129. package/generators/docker-compose/esm.mjs +1 -3
  130. package/generators/docker-compose/index.js +9 -5
  131. package/generators/entities/esm.mjs +1 -3
  132. package/generators/entities/index.js +2 -2
  133. package/generators/entities-client/esm.mjs +1 -3
  134. package/generators/entity/esm.mjs +1 -3
  135. package/generators/entity/index.js +39 -28
  136. package/generators/entity/prompts.js +4 -1
  137. package/generators/entity-client/esm.mjs +2 -3
  138. package/generators/entity-client/index.js +8 -0
  139. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.html.ejs +1 -1
  140. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +2 -2
  141. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +20 -21
  142. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +1 -1
  143. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +14 -16
  144. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +3 -3
  145. package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +2 -1
  146. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +3 -3
  147. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-detail.tsx.ejs +5 -4
  148. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-reducer.spec.ts.ejs +1 -1
  149. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +20 -19
  150. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs +2 -2
  151. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +21 -20
  152. package/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity-update-page-object.ts.ejs +1 -1
  153. package/generators/entity-client/templates/vue/src/test/javascript/e2e/entities/entity-update-page-object.ts.ejs +1 -1
  154. package/generators/entity-client/templates/vue/src/test/javascript/e2e/entities/entity.spec.ts.ejs +1 -1
  155. package/generators/entity-i18n/esm.mjs +2 -3
  156. package/generators/entity-i18n/templates/i18n/entity_fr.json.ejs +1 -1
  157. package/generators/entity-server/esm.mjs +2 -3
  158. package/generators/entity-server/files-couchbase.js +23 -2
  159. package/generators/entity-server/files.js +40 -6
  160. package/generators/entity-server/index.js +27 -2
  161. package/generators/entity-server/templates/couchbase/src/main/java/package/domain/Entity.java.jhi.spring_data_couchbase.ejs +11 -13
  162. package/generators/entity-server/templates/couchbase/src/main/java/package/repository/EntityRepository.java.ejs +30 -43
  163. package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.fts.ejs +5 -6
  164. package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.n1ql.ejs +5 -0
  165. package/generators/entity-server/templates/partials/it_patch_update.partial.java.ejs +2 -2
  166. package/generators/entity-server/templates/partials/save_template.ejs +1 -1
  167. package/generators/entity-server/templates/partials/update_template.ejs +77 -0
  168. package/generators/entity-server/templates/reactive/partials/save_template.ejs +1 -1
  169. package/generators/entity-server/templates/reactive/partials/update_template.ejs +41 -0
  170. package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +5 -5
  171. package/generators/entity-server/templates/src/main/java/package/common/get_template.ejs +1 -1
  172. package/generators/entity-server/templates/src/main/java/package/common/inject_template.ejs +17 -8
  173. package/generators/entity-server/templates/src/main/java/package/common/patch_template.ejs +5 -5
  174. package/generators/entity-server/templates/src/main/java/package/common/search_stream_template.ejs +1 -1
  175. package/generators/entity-server/templates/src/main/java/package/common/search_template.ejs +1 -1
  176. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +4 -3
  177. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.javax_lifecycle_events.ejs +31 -0
  178. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_persistable.ejs +54 -0
  179. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_reactive.ejs +1 -1
  180. package/generators/entity-server/templates/src/main/java/package/domain/EntityCallback.java.ejs +43 -0
  181. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +36 -23
  182. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +24 -28
  183. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationships.java.ejs +37 -0
  184. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationshipsImpl.java.ejs +91 -0
  185. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +17 -25
  186. package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +2 -2
  187. package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +3 -3
  188. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +12 -27
  189. package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +10 -2
  190. package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +8 -6
  191. package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +21 -5
  192. package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +61 -90
  193. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +6 -4
  194. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +33 -20
  195. package/generators/export-jdl/esm.mjs +1 -3
  196. package/generators/gae/esm.mjs +1 -3
  197. package/generators/generate-blueprint/constants.mjs +146 -0
  198. package/generators/generate-blueprint/esm.mjs +19 -0
  199. package/generators/generate-blueprint/files.mjs +81 -0
  200. package/generators/generate-blueprint/generator.mjs +363 -0
  201. package/generators/generate-blueprint/index.mjs +20 -0
  202. package/generators/generate-blueprint/templates/.eslintrc.json.ejs +41 -0
  203. package/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +32 -0
  204. package/generators/generate-blueprint/templates/.mocharc.cjs.ejs +29 -0
  205. package/generators/{server/templates/couchbase/src/main/java/package/config/couchbase/package-info.java.ejs → generate-blueprint/templates/.prettierignore.jhi.blueprint.ejs} +4 -7
  206. package/generators/generate-blueprint/templates/README.md.ejs +75 -0
  207. package/generators/generate-blueprint/templates/cli/cli.mjs.ejs +35 -0
  208. package/generators/generate-blueprint/templates/cli/commands.cjs.ejs +25 -0
  209. package/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +98 -0
  210. package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +42 -0
  211. package/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +19 -0
  212. package/generators/generate-blueprint/templates/generators/generator/templates/template-file.ejs +0 -0
  213. package/generators/generate-blueprint/templates/test/utils.mjs.ejs +17 -0
  214. package/generators/generator-base-blueprint.js +29 -0
  215. package/generators/generator-base-docker.js +1 -0
  216. package/generators/generator-base-entities.cjs +368 -0
  217. package/generators/generator-base-private.js +1 -1
  218. package/generators/generator-base.js +157 -23
  219. package/generators/generator-constants.js +22 -20
  220. package/generators/generator-list.js +2 -0
  221. package/generators/generator-transforms.js +0 -1
  222. package/generators/gradle/constants.cjs +1 -1
  223. package/generators/gradle/esm.mjs +19 -0
  224. package/generators/heroku/esm.mjs +1 -3
  225. package/generators/info/esm.mjs +1 -3
  226. package/generators/init/esm.mjs +19 -0
  227. package/generators/init/files.cjs +9 -3
  228. package/generators/init/index.cjs +5 -0
  229. package/generators/init/templates/.gitignore.jhi.ejs +5 -0
  230. package/generators/init/templates/{.lintstagedrc.js.ejs → .lintstagedrc.cjs.ejs} +0 -0
  231. package/generators/java/esm.mjs +19 -0
  232. package/generators/java/index.cjs +58 -2
  233. package/generators/kubernetes/esm.mjs +1 -3
  234. package/generators/kubernetes-helm/esm.mjs +1 -3
  235. package/generators/kubernetes-knative/esm.mjs +1 -3
  236. package/generators/languages/esm.mjs +2 -3
  237. package/generators/languages/templates/src/test/resources/i18n/messages_fr.properties.ejs +4 -1
  238. package/generators/maven/esm.mjs +19 -0
  239. package/generators/maven/files.cjs +0 -1
  240. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  241. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +18 -2
  242. package/generators/maven/templates/mvnw +13 -7
  243. package/generators/maven/templates/mvnw.cmd +19 -13
  244. package/generators/maven/templates/pom.xml.jhi.ejs +1 -1
  245. package/generators/openapi-client/esm.mjs +1 -3
  246. package/generators/openapi-client/index.js +11 -4
  247. package/generators/openshift/esm.mjs +1 -3
  248. package/generators/page/esm.mjs +1 -3
  249. package/generators/project-name/esm.mjs +19 -0
  250. package/generators/server/cleanup.js +19 -3
  251. package/generators/server/esm.mjs +2 -2
  252. package/generators/server/files-couchbase.js +28 -31
  253. package/generators/server/files.js +115 -18
  254. package/generators/server/index.js +23 -17
  255. package/generators/server/needle-api/needle-server-gradle.js +38 -0
  256. package/generators/server/needle-api/needle-server-maven.js +1 -1
  257. package/generators/server/templates/.mvn/jvm.config +1 -0
  258. package/generators/server/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  259. package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +18 -2
  260. package/generators/server/templates/build.gradle.ejs +7 -5
  261. package/generators/server/templates/couchbase/src/main/java/package/repository/CouchbaseSearchRepository.java.ejs +91 -0
  262. package/generators/server/templates/couchbase/src/main/java/package/repository/JHipsterCouchbaseRepository.java.ejs +47 -45
  263. package/generators/server/templates/couchbase/src/main/java/package/repository/PersistentTokenRepository_couchbase.java.ejs +2 -2
  264. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/authority/ROLE_ADMIN.json.ejs +3 -0
  265. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/authority/ROLE_USER.json.ejs +3 -0
  266. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/{user__admin.json.ejs → user/admin.json.ejs} +2 -2
  267. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/{user__user.json.ejs → user/user.json.ejs} +2 -2
  268. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.2__create_indexes.n1ql.ejs +34 -0
  269. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0__create_collections.n1ql.ejs +8 -0
  270. package/generators/server/templates/couchbase/src/test/java/package/CouchbaseTestContainerExtension.java.ejs +4 -3
  271. package/generators/server/templates/couchbase/src/test/java/package/repository/{JHipsterCouchbaseRepositoryTest.java.ejs → CouchbaseSearchRepositoryTest.java.ejs} +2 -2
  272. package/generators/server/templates/devcontainer/Dockerfile.ejs +25 -0
  273. package/generators/server/templates/devcontainer/devcontainer.json.ejs +64 -0
  274. package/generators/server/templates/gradle/profile_prod.gradle.ejs +4 -0
  275. package/generators/server/templates/gradle/wrapper/gradle-wrapper.jar +0 -0
  276. package/generators/server/templates/gradle.properties.ejs +8 -8
  277. package/generators/server/templates/mvnw +13 -7
  278. package/generators/server/templates/mvnw.cmd +19 -13
  279. package/generators/server/templates/npmw +14 -5
  280. package/generators/server/templates/pom.xml.ejs +65 -58
  281. package/generators/server/templates/settings.gradle.ejs +6 -4
  282. package/generators/server/templates/src/main/docker/app.yml.ejs +4 -6
  283. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +2 -1
  284. package/generators/server/templates/src/main/docker/mysql.yml.ejs +1 -0
  285. package/generators/server/templates/src/main/docker/zipkin.yml.ejs +25 -0
  286. package/generators/server/templates/src/main/java/package/config/AsyncConfiguration.java.ejs +6 -0
  287. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +26 -16
  288. package/generators/{client/templates/react/src/main/webapp/app/entities/index.tsx.ejs → server/templates/src/main/java/package/config/KafkaSseConsumer.java.ejs} +8 -14
  289. package/generators/server/templates/src/main/java/package/config/KafkaSseProducer.java.ejs +30 -0
  290. package/generators/server/templates/src/main/java/package/config/LocaleConfiguration_reactive.java.ejs +1 -1
  291. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +12 -10
  292. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +2 -1
  293. package/generators/server/templates/src/main/java/package/domain/Authority.java.ejs +11 -0
  294. package/generators/server/templates/src/main/java/package/domain/PersistentToken.java.ejs +6 -6
  295. package/generators/server/templates/src/main/java/package/domain/User.java.ejs +9 -7
  296. package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +1 -11
  297. package/generators/server/templates/src/main/java/package/repository/EntityManager.java.ejs +48 -38
  298. package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +48 -72
  299. package/generators/server/templates/src/main/java/package/security/jwt/JWTFilter.java.ejs +1 -1
  300. package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +1 -1
  301. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +1 -1
  302. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +8 -6
  303. package/generators/server/templates/src/main/java/package/web/filter/OAuth2ReactiveRefreshTokensWebFilter.java.ejs +0 -1
  304. package/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs +1 -1
  305. package/generators/server/templates/src/main/java/package/web/rest/KafkaResource.java.ejs +60 -108
  306. package/generators/server/templates/src/main/java/package/web/rest/KafkaResource_reactive.java.ejs +74 -0
  307. package/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -1
  308. package/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +2 -2
  309. package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +8 -0
  310. package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +6 -0
  311. package/generators/server/templates/src/main/resources/config/application.yml.ejs +28 -22
  312. package/generators/server/templates/src/test/java/package/CassandraKeyspaceIT.java.ejs +3 -4
  313. package/generators/server/templates/src/test/java/package/IntegrationTest.java.ejs +12 -4
  314. package/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs +18 -15
  315. package/generators/server/templates/src/test/java/package/config/CassandraTestContainer.java.ejs +122 -0
  316. package/generators/server/templates/src/test/java/package/config/EmbeddedCassandra.java.ejs +11 -0
  317. package/generators/server/templates/src/test/java/package/config/EmbeddedKafka.java.ejs +11 -0
  318. package/generators/server/templates/src/test/java/package/config/EmbeddedMongo.java.ejs +11 -0
  319. package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +2 -0
  320. package/generators/server/templates/src/test/java/package/config/KafkaTestContainer.java.ejs +38 -0
  321. package/generators/server/templates/src/test/java/package/config/MongoDbTestContainer.java.ejs +67 -0
  322. package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +114 -0
  323. package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +3 -10
  324. package/generators/server/templates/src/test/java/package/cucumber/stepdefs/StepDefs.java.ejs +8 -0
  325. package/generators/server/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +17 -3
  326. package/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +1 -4
  327. package/generators/server/templates/src/test/java/package/security/SecurityUtilsUnitTest_reactive.java.ejs +1 -1
  328. package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +5 -5
  329. package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +1 -1
  330. package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +2 -4
  331. package/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +1 -4
  332. package/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
  333. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +15 -8
  334. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_oauth2.java.ejs +1 -4
  335. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +1 -4
  336. package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT.java.ejs +52 -123
  337. package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT_reactive.java.ejs +99 -0
  338. package/generators/server/templates/src/test/java/package/web/rest/PublicUserResourceIT.java.ejs +7 -10
  339. package/generators/server/templates/src/test/java/package/web/rest/TestUtil.java.ejs +1 -6
  340. package/generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIT.java.ejs +1 -4
  341. package/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +42 -47
  342. package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT.java.ejs +1 -4
  343. package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +2 -5
  344. package/generators/server/templates/src/test/resources/META-INF/spring.factories.ejs +1 -1
  345. package/generators/server/templates/src/test/resources/config/application.yml.ejs +21 -20
  346. package/generators/server/templates/src/test/resources/testcontainers.properties.ejs +1 -0
  347. package/generators/spring-boot/esm.mjs +19 -0
  348. package/generators/spring-controller/esm.mjs +1 -3
  349. package/generators/spring-service/esm.mjs +1 -3
  350. package/generators/upgrade/esm.mjs +1 -3
  351. package/generators/upgrade-config/esm.mjs +1 -3
  352. package/generators/workspaces/esm.mjs +1 -3
  353. package/generators/workspaces/index.js +2 -1
  354. package/lib/constants/logo.cjs +30 -0
  355. package/lib/constants/priorities.cjs +216 -2
  356. package/lib/constants/priorities.mjs +29 -1
  357. package/lib/index.mjs +6 -0
  358. package/lib/support/mixin.cjs +5 -1
  359. package/lib/support/shared-data.cjs +34 -1
  360. package/package.json +33 -29
  361. package/utils/entity.js +21 -2
  362. package/utils/faker.js +3 -3
  363. package/utils/field.js +69 -52
  364. package/utils/relationship.js +15 -4
  365. package/utils/user.js +109 -0
  366. package/generators/app/generator.spec.mjs +0 -47
  367. package/generators/aws/generator.spec.mjs +0 -47
  368. package/generators/azure-app-service/generator.spec.mjs +0 -47
  369. package/generators/azure-spring-cloud/generator.spec.mjs +0 -47
  370. package/generators/base/generator.spec.mjs +0 -44
  371. package/generators/bootstrap/generator.spec.mjs +0 -44
  372. package/generators/ci-cd/generator.spec.mjs +0 -47
  373. package/generators/client/__workflow/devserver-angular.json +0 -13
  374. package/generators/client/__workflow/devserver-react.json +0 -13
  375. package/generators/client/__workflow/devserver-vue.json +0 -13
  376. package/generators/client/generator.spec.mjs +0 -47
  377. package/generators/cloudfoundry/generator.spec.mjs +0 -47
  378. package/generators/common/generator.spec.mjs +0 -47
  379. package/generators/cypress/generator.spec.mjs +0 -47
  380. package/generators/database-changelog/generator.spec.mjs +0 -47
  381. package/generators/database-changelog-liquibase/generator.spec.mjs +0 -47
  382. package/generators/docker-compose/generator.spec.mjs +0 -44
  383. package/generators/entities/generator.spec.mjs +0 -47
  384. package/generators/entities-client/generator.spec.mjs +0 -47
  385. package/generators/entity/generator.spec.mjs +0 -47
  386. package/generators/entity-client/generator.spec.mjs +0 -47
  387. package/generators/entity-i18n/generator.spec.mjs +0 -47
  388. package/generators/entity-server/generator.spec.mjs +0 -47
  389. package/generators/entity-server/templates/src/main/java/package/repository/search/SortToFieldSortBuilderConverter.java.ejs +0 -24
  390. package/generators/export-jdl/generator.spec.mjs +0 -44
  391. package/generators/gae/generator.spec.mjs +0 -47
  392. package/generators/gradle/__snapshots__/generator.spec.cjs.snap +0 -59
  393. package/generators/gradle/generator.spec.cjs +0 -71
  394. package/generators/heroku/generator.spec.mjs +0 -47
  395. package/generators/info/generator.spec.mjs +0 -44
  396. package/generators/init/__snapshots__/generator.spec.cjs.snap +0 -65
  397. package/generators/init/generator.spec.cjs +0 -112
  398. package/generators/java/__snapshots__/generator.spec.cjs.snap +0 -118
  399. package/generators/java/generator.spec.cjs +0 -87
  400. package/generators/kubernetes/generator.spec.mjs +0 -44
  401. package/generators/kubernetes-helm/generator.spec.mjs +0 -44
  402. package/generators/kubernetes-knative/generator.spec.mjs +0 -44
  403. package/generators/languages/generator.spec.mjs +0 -47
  404. package/generators/maven/__snapshots__/generator.spec.cjs.snap +0 -53
  405. package/generators/maven/generator.spec.cjs +0 -78
  406. package/generators/maven/templates/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
  407. package/generators/openapi-client/generator.spec.mjs +0 -47
  408. package/generators/openshift/generator.spec.mjs +0 -44
  409. package/generators/page/generator.spec.mjs +0 -47
  410. package/generators/project-name/generator.spec.cjs +0 -43
  411. package/generators/server/__snapshots__/generator.spec.mjs.snap +0 -1931
  412. package/generators/server/generator.spec.mjs +0 -52
  413. package/generators/server/templates/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
  414. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactory.java.ejs +0 -83
  415. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactoryBean.java.ejs +0 -40
  416. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryQuery.java.ejs +0 -44
  417. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlQueryCreator.java.ejs +0 -162
  418. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlRepositoryQueryExecutor.java.ejs +0 -104
  419. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_ADMIN.json.ejs +0 -3
  420. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_USER.json.ejs +0 -3
  421. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0__create_indexes.n1ql.ejs +0 -19
  422. package/generators/server/templates/src/main/java/package/config/KafkaProperties.java.ejs +0 -68
  423. package/generators/server/templates/src/test/java/package/AbstractCassandraTest.java.ejs +0 -125
  424. package/generators/server/templates/src/test/java/package/MongoDbTestContainerExtension.java.ejs +0 -37
  425. package/generators/server/templates/src/test/java/package/TestContainersSpringContextCustomizerFactory.java.ejs +0 -24
  426. package/generators/spring-boot/__snapshots__/generator.spec.cjs.snap +0 -80
  427. package/generators/spring-boot/generator.spec.cjs +0 -64
  428. package/generators/spring-controller/generator.spec.mjs +0 -47
  429. package/generators/spring-service/generator.spec.mjs +0 -47
  430. package/generators/upgrade/generator.spec.mjs +0 -44
  431. package/generators/upgrade-config/generator.spec.mjs +0 -44
  432. package/generators/workspaces/generator.spec.mjs +0 -47
@@ -18,8 +18,16 @@
18
18
  -%>
19
19
  {
20
20
  "extends": "./tsconfig",
21
+ "include": ["<%= MAIN_SRC_DIR %>app", "<%= MAIN_SRC_DIR %>microfrontend"],
21
22
  "compilerOptions": {
22
- "module": "commonjs",
23
+ "paths": {
24
+ <%_ if (microfrontend && applicationTypeGateway) { _%>
25
+ <%_ for (const remote of microfrontends) { _%>
26
+ "@<%= remote.lowercaseBaseName %>/*": ["<%= CLIENT_MAIN_SRC_DIR %>microfrontends/*"],
27
+ <%_ } _%>
28
+ <%_ } _%>
29
+ "app/*": ["<%= CLIENT_MAIN_SRC_DIR %>app/*"]
30
+ },
23
31
  "types": ["jest", "webpack-env"]
24
32
  }
25
33
  }
@@ -113,17 +113,6 @@ return merge(
113
113
  stats: {
114
114
  children: false
115
115
  },
116
- optimization: {
117
- splitChunks: {
118
- cacheGroups: {
119
- commons: {
120
- test: /[\\/]node_modules[\\/]/,
121
- name: 'vendors',
122
- chunks: 'all'
123
- }
124
- }
125
- }
126
- },
127
116
  plugins: [
128
117
  new webpack.EnvironmentPlugin({
129
118
  // react-jhipster requires LOG_LEVEL config.
@@ -145,12 +134,16 @@ return merge(
145
134
  patterns: [
146
135
  <%_ if (applicationTypeGateway || applicationTypeMonolith) { _%>
147
136
  {
148
- context: './node_modules/swagger-ui-dist/',
137
+ // https://github.com/swagger-api/swagger-ui/blob/v4.6.1/swagger-ui-dist-package/README.md
138
+ context: require('swagger-ui-dist').getAbsoluteFSPath(),
149
139
  from: '*.{js,css,html,png}',
150
140
  to: 'swagger-ui/',
151
141
  globOptions: { ignore: ['**/index.html'] },
152
142
  },
153
- { from: './node_modules/axios/dist/axios.min.js', to: 'swagger-ui/' },
143
+ {
144
+ from: require.resolve('axios/dist/axios.min.js'),
145
+ to: 'swagger-ui/',
146
+ },
154
147
  { from: './<%= MAIN_SRC_DIR %>swagger-ui/', to: 'swagger-ui/' },
155
148
  <%_ } _%>
156
149
  { from: './<%= MAIN_SRC_DIR %>content/', to: 'content/' },
@@ -36,12 +36,12 @@ module.exports = async (options) => webpackMerge(await commonConfig({ env: ENV }
36
36
  devtool: 'cheap-module-source-map', // https://reactjs.org/docs/cross-origin-errors.html
37
37
  mode: ENV,
38
38
  entry: [
39
- './<%= CLIENT_MAIN_SRC_DIR %>app/index'
39
+ './<%= CLIENT_MAIN_SRC_DIR %>app/<%= microfrontend ? 'main' : 'index' %>'
40
40
  ],
41
41
  output: {
42
42
  path: utils.root('<%= DIST_DIR %>'),
43
- filename: 'app/[name].bundle.js',
44
- chunkFilename: 'app/[id].chunk.js'
43
+ filename: '[name].[contenthash:8].js',
44
+ chunkFilename: '[name].[chunkhash:8].chunk.js'
45
45
  },
46
46
  optimization: {
47
47
  moduleIds: 'named',
@@ -72,7 +72,7 @@ module.exports = async (options) => webpackMerge(await commonConfig({ env: ENV }
72
72
  ]
73
73
  },
74
74
  devServer: {
75
- hot: true,
75
+ hot: <%= !microfrontend %>,
76
76
  static: {
77
77
  directory: './<%= DIST_DIR %>',
78
78
  },
@@ -88,14 +88,14 @@ module.exports = async (options) => webpackMerge(await commonConfig({ env: ENV }
88
88
  '/login',<% } %>
89
89
  '/auth'
90
90
  ],
91
- target: `http${options.tls ? 's' : ''}://localhost:<%= serverPort %>`,
91
+ target: `http${options.tls ? 's' : ''}://localhost:<%= applicationTypeMicroservice ? gatewayServerPort : serverPort %>`,
92
92
  secure: false,
93
93
  changeOrigin: options.tls
94
94
  }<% if (communicationSpringWebsocket) { %>,{
95
95
  context: [
96
96
  '/websocket'
97
97
  ],
98
- target: 'ws://127.0.0.1:<%= serverPort %>',
98
+ target: 'ws://127.0.0.1:<%= applicationTypeMicroservice ? gatewayServerPort : serverPort %>',
99
99
  ws: true
100
100
  }<% } %>],
101
101
  https: options.tls,
@@ -114,7 +114,7 @@ module.exports = async (options) => webpackMerge(await commonConfig({ env: ENV }
114
114
  host: 'localhost',
115
115
  port: 9000,
116
116
  proxy: {
117
- target: `http${options.tls ? 's' : ''}://localhost:<%= devServerPort %>`,
117
+ target: `http${options.tls ? 's' : ''}://localhost:${options.watch ? '<%= this.applicationTypeMicroservice ? gatewayServerPort : serverPort %>' : '<%= devServerPort %>'}`,
118
118
  ws: true,
119
119
  proxyOptions: {
120
120
  changeOrigin: false //pass the Host header to the backend unchanged https://github.com/Browsersync/browser-sync/issues/430
@@ -135,7 +135,6 @@ module.exports = async (options) => webpackMerge(await commonConfig({ env: ENV }
135
135
  }, {
136
136
  reload: false
137
137
  }),
138
- new webpack.HotModuleReplacementPlugin(),
139
138
  new WebpackNotifierPlugin({
140
139
  title: '<%= humanizedBaseName %>',
141
140
  contentImage: path.join(__dirname, 'logo-jhipster.png')
@@ -0,0 +1,99 @@
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
+ <&_ if (fragment.importsSection) { -&>
20
+ <%_ if (applicationTypeMicroservice) { _%>
21
+ const { DefinePlugin } = require('webpack');
22
+ <%_ } _%>
23
+ <&_ } -&>
24
+ <&_ if (fragment.moduleFederationSection) { -&>
25
+ <%_ if (applicationTypeGateway) { _%>
26
+ remotes: {
27
+ <%_ for (const remote of remotes) { _%>
28
+ '@<%= remote.lowercaseBaseName %>': `<%= remote.lowercaseBaseName %>@/<%= remote.endpointPrefix %>/remoteEntry.js`,
29
+ <%_ } _%>
30
+ },
31
+ <%_ } _%>
32
+ <%_ if (applicationTypeMicroservice) { _%>
33
+ exposes: {
34
+ './entities-menu': './<%= CLIENT_MAIN_SRC_DIR %>app/entities/menu',
35
+ './entities-routes': './<%= CLIENT_MAIN_SRC_DIR %>app/entities/routes',
36
+ },
37
+ <%_ } _%>
38
+ shared: {
39
+ ...Object.fromEntries(Object.entries(packageJson.dependencies).map(([module]) => ([module, { singleton: true, shareScope: 'default' }]))),
40
+ 'app/config/constants': {
41
+ singleton: true,
42
+ import: 'app/config/constants',
43
+ requiredVersion: appVersion,
44
+ },
45
+ 'app/config/store': {
46
+ singleton: true,
47
+ import: 'app/config/store',
48
+ requiredVersion: appVersion,
49
+ },
50
+ 'app/shared/error/error-boundary-route': {
51
+ singleton: true,
52
+ import: 'app/shared/error/error-boundary-route',
53
+ requiredVersion: appVersion,
54
+ },
55
+ 'app/shared/layout/menus/menu-components': {
56
+ singleton: true,
57
+ import: 'app/shared/layout/menus/menu-components',
58
+ requiredVersion: appVersion,
59
+ },
60
+ 'app/shared/layout/menus/menu-item': {
61
+ singleton: true,
62
+ import: 'app/shared/layout/menus/menu-item',
63
+ requiredVersion: appVersion,
64
+ },
65
+ 'app/shared/reducers': {
66
+ singleton: true,
67
+ import: 'app/shared/reducers',
68
+ requiredVersion: appVersion,
69
+ },
70
+ 'app/shared/reducers/locale': {
71
+ singleton: true,
72
+ import: 'app/shared/reducers/locale',
73
+ requiredVersion: appVersion,
74
+ },
75
+ 'app/shared/reducers/reducer.utils': {
76
+ singleton: true,
77
+ import: 'app/shared/reducers/reducer.utils',
78
+ requiredVersion: appVersion,
79
+ },
80
+ 'app/shared/util/date-utils': {
81
+ singleton: true,
82
+ import: 'app/shared/util/date-utils',
83
+ requiredVersion: appVersion,
84
+ },
85
+ 'app/shared/util/entity-utils': {
86
+ singleton: true,
87
+ import: 'app/shared/util/entity-utils',
88
+ requiredVersion: appVersion,
89
+ },
90
+ },
91
+ <&_ } -&>
92
+ <&_ if (fragment.pluginsSection) { -&>
93
+ <%_ if (applicationTypeMicroservice) { _%>
94
+ new DefinePlugin({
95
+ <%= _.upperCase(baseName) %>_I18N_RESOURCES_PREFIX: JSON.stringify(''),
96
+ }),
97
+ <%_ } _%>
98
+ <&_ } -&>
99
+
@@ -36,12 +36,12 @@ module.exports = async () => webpackMerge(await commonConfig({ env: ENV }), {
36
36
  // devtool: 'source-map', // Enable source maps. Please note that this will slow down the build
37
37
  mode: ENV,
38
38
  entry: {
39
- main: './<%= MAIN_SRC_DIR %>app/index'
39
+ main: './<%= MAIN_SRC_DIR %>app/<%= microfrontend ? 'main' : 'index' %>'
40
40
  },
41
41
  output: {
42
42
  path: utils.root('<%= DIST_DIR %>'),
43
- filename: 'app/[name].[contenthash].bundle.js',
44
- chunkFilename: 'app/[name].[chunkhash].chunk.js'
43
+ filename: '[name].[contenthash:8].js',
44
+ chunkFilename: '[name].[chunkhash:8].chunk.js'
45
45
  },
46
46
  module: {
47
47
  rules: [
@@ -77,30 +77,40 @@ module.exports = async () => webpackMerge(await commonConfig({ env: ENV }), {
77
77
  runtimeChunk: false,
78
78
  minimizer: [
79
79
  new TerserPlugin({
80
- parallel: true,
81
- // sourceMap: true, // Enable source maps. Please note that this will slow down the build
82
80
  terserOptions: {
83
- ecma: 6,
84
- toplevel: true,
85
- module: true,
81
+ parse: {
82
+ // We want terser to parse ecma 8 code. However, we don't want it
83
+ // to apply any minification steps that turns valid ecma 5 code
84
+ // into invalid ecma 5 code. This is why the 'compress' and 'output'
85
+ // sections only apply transformations that are ecma 5 safe
86
+ // https://github.com/facebook/create-react-app/pull/4234
87
+ ecma: 8,
88
+ },
86
89
  compress: {
90
+ ecma: 5,
87
91
  warnings: false,
88
- ecma: 6,
89
- module: true,
90
- toplevel: true
92
+ // Disabled because of an issue with Uglify breaking seemingly valid code:
93
+ // https://github.com/facebook/create-react-app/issues/2376
94
+ // Pending further investigation:
95
+ // https://github.com/mishoo/UglifyJS2/issues/2011
96
+ comparisons: false,
97
+ // Disabled because of an issue with Terser breaking valid code:
98
+ // https://github.com/facebook/create-react-app/issues/5250
99
+ // Pending further investigation:
100
+ // https://github.com/terser-js/terser/issues/120
101
+ inline: 2,
102
+ },
103
+ mangle: {
104
+ safari10: true,
91
105
  },
92
106
  output: {
93
- comments: false,
94
- beautify: false,
95
- indent_level: 2,
96
- ecma: 6
107
+ ecma: 5,
108
+ comments: false,
109
+ // Turned on because emoji and regex is not minified properly using default
110
+ // https://github.com/facebook/create-react-app/issues/2488
111
+ ascii_only: true,
97
112
  },
98
- mangle: {
99
- keep_fnames: true,
100
- module: true,
101
- toplevel: true
102
- }
103
- }
113
+ },
104
114
  }),
105
115
  new CssMinimizerPlugin({
106
116
  parallel: true,
@@ -1,71 +1,70 @@
1
1
  {
2
2
  "dependencies": {
3
- "@fortawesome/fontawesome-svg-core": "1.2.36",
4
- "@fortawesome/free-solid-svg-icons": "5.15.4",
3
+ "@fortawesome/fontawesome-svg-core": "6.1.1",
4
+ "@fortawesome/free-solid-svg-icons": "6.1.1",
5
5
  "@fortawesome/vue-fontawesome": "2.0.6",
6
- "axios": "0.25.0",
6
+ "axios": "0.26.1",
7
7
  "bootstrap": "4.6.1",
8
8
  "bootstrap-vue": "2.21.2",
9
9
  "bootswatch": "5.1.3",
10
- "swagger-ui-dist": "4.2.1",
11
10
  "vue": "2.6.14",
12
11
  "vue-class-component": "7.2.6",
13
12
  "vue-cookie": "1.1.4",
14
13
  "vue-infinite-loading": "2.4.5",
15
14
  "vue-router": "3.5.3",
16
- "vue-i18n": "8.27.0",
15
+ "vue-i18n": "8.27.1",
17
16
  "vue-property-decorator": "9.1.2",
18
17
  "vuelidate": "0.7.7",
19
18
  "vuex": "3.6.2",
20
19
  "vue2-filters": "0.14.0"
21
20
  },
22
21
  "devDependencies": {
23
- "@rushstack/eslint-patch": "1.1.0",
24
- "@types/jest": "27.4.0",
25
- "@types/node": "16.11.21",
26
- "@types/sinon": "10.0.8",
22
+ "@rushstack/eslint-patch": "1.1.1",
23
+ "@types/jest": "27.4.1",
24
+ "@types/node": "16.11.26",
25
+ "@types/sinon": "10.0.11",
27
26
  "@types/vuelidate": "0.7.15",
28
27
  "@vue/eslint-config-prettier": "7.0.0",
29
28
  "@vue/eslint-config-typescript": "10.0.0",
30
29
  "@vue/vue2-jest": "27.0.0-alpha.3",
31
30
  "@vue/test-utils": "1.3.0",
32
31
  "axios-mock-adapter": "1.20.0",
33
- "autoprefixer": "10.4.2",
32
+ "autoprefixer": "10.4.4",
34
33
  "browser-sync-webpack-plugin": "2.3.0",
35
- "copy-webpack-plugin": "10.2.1",
36
- "css-loader": "6.5.1",
34
+ "copy-webpack-plugin": "10.2.4",
35
+ "css-loader": "6.7.1",
37
36
  "css-minimizer-webpack-plugin": "3.4.1",
38
- "folder-hash": "4.0.1",
39
- "fork-ts-checker-webpack-plugin": "6.5.0",
37
+ "folder-hash": "4.0.2",
38
+ "fork-ts-checker-webpack-plugin": "7.2.3",
40
39
  "html-webpack-plugin": "5.5.0",
41
- "jest": "27.4.7",
42
- "jest-junit": "13.0.0",
40
+ "jest": "27.5.1",
41
+ "jest-junit": "13.1.0",
43
42
  "jest-serializer-vue": "2.0.2",
44
43
  "jest-sonar-reporter": "2.0.0",
45
44
  "jest-vue-preprocessor": "1.7.1",
46
45
  "merge-jsons-webpack-plugin": "2.0.1",
47
- "mini-css-extract-plugin": "2.5.2",
46
+ "mini-css-extract-plugin": "2.6.0",
48
47
  "numeral": "2.0.6",
49
- "postcss-import": "14.0.2",
48
+ "postcss-import": "14.1.0",
50
49
  "postcss-loader": "6.2.1",
51
50
  "postcss-url": "10.1.3",
52
51
  "rimraf": "3.0.2",
53
- "sass": "1.49.0",
54
- "sass-loader": "12.4.0",
55
- "sinon": "12.0.1",
56
- "terser-webpack-plugin": "5.3.0",
57
- "ts-jest": "27.1.3",
58
- "ts-loader": "9.2.6",
59
- "eslint": "8.7.0",
52
+ "sass": "1.49.11",
53
+ "sass-loader": "12.6.0",
54
+ "sinon": "13.0.1",
55
+ "terser-webpack-plugin": "5.3.1",
56
+ "ts-jest": "27.1.4",
57
+ "ts-loader": "9.2.8",
58
+ "eslint": "8.12.0",
60
59
  "eslint-plugin-prettier": "4.0.0",
61
- "eslint-plugin-vue": "8.3.0",
62
- "typescript": "4.5.5",
63
- "webpack": "5.66.0",
60
+ "eslint-plugin-vue": "8.5.0",
61
+ "typescript": "4.6.3",
62
+ "webpack": "5.71.0",
64
63
  "webpack-bundle-analyzer": "4.5.0",
65
- "webpack-cli": "4.9.1",
66
- "webpack-dev-server": "4.7.3",
64
+ "webpack-cli": "4.9.2",
65
+ "webpack-dev-server": "4.8.0",
67
66
  "webpack-merge": "5.8.0",
68
- "workbox-webpack-plugin": "6.4.2",
67
+ "workbox-webpack-plugin": "6.5.2",
69
68
  "vue-jest": "3.0.7",
70
69
  "vue-loader": "15.9.8"
71
70
  }
@@ -36,7 +36,6 @@
36
36
  "bootswatch": "<%= dependabotPackageJson.dependencies['bootswatch'] %>",
37
37
  <%_ } _%>
38
38
  "dayjs": "<%= dependabotPackageJson.dependencies['dayjs'] %>",
39
- "swagger-ui-dist": "<%= dependabotPackageJson.dependencies['swagger-ui-dist'] %>",
40
39
  <%_ if (communicationSpringWebsocket) { _%>
41
40
  "sockjs-client": "1.5.2",
42
41
  "@stomp/rx-stomp": "1.1.4",
@@ -115,6 +114,7 @@
115
114
  "sass": "<%= dependabotPackageJson.devDependencies['sass'] %>",
116
115
  "sass-loader": "<%= dependabotPackageJson.devDependencies['sass-loader'] %>",
117
116
  "sinon": "<%= dependabotPackageJson.devDependencies['sinon'] %>",
117
+ "swagger-ui-dist": "<%= dependabotPackageJson.devDependencies['swagger-ui-dist'] %>",
118
118
  "terser-webpack-plugin": "<%= dependabotPackageJson.devDependencies['terser-webpack-plugin'] %>",
119
119
  "ts-jest": "<%= dependabotPackageJson.devDependencies['ts-jest'] %>",
120
120
  "ts-loader": "<%= dependabotPackageJson.devDependencies['ts-loader'] %>",
@@ -27,7 +27,7 @@ export default class JhiNavbar extends Vue {
27
27
  public version = 'v' + VERSION;
28
28
  private currentLanguage = this.$store.getters.currentLanguage;
29
29
  private languages: any = this.$store.getters.languages;
30
- private hasAnyAuthorityValue = false;
30
+ private hasAnyAuthorityValues = {};
31
31
 
32
32
  created() {
33
33
  <%_ if (enableTranslation) { _%>
@@ -58,6 +58,7 @@ export default class JhiNavbar extends Vue {
58
58
  return this.loginService().logout().then(response => {
59
59
  this.$store.commit('logout');
60
60
  <%_ if (authenticationTypeOauth2) { _%>
61
+ window.location.href = response.data.logoutUrl;
61
62
  const next = response.data?.logoutUrl ?? '/';
62
63
  if (this.$route.path !== next) {
63
64
  return this.$router.push(next);
@@ -93,9 +94,9 @@ export default class JhiNavbar extends Vue {
93
94
 
94
95
  public hasAnyAuthority(authorities: any): boolean {
95
96
  this.accountService().hasAnyAuthorityAndCheckAuth(authorities).then(value => {
96
- this.hasAnyAuthorityValue = value;
97
+ this.hasAnyAuthorityValues[authorities] = value;
97
98
  });
98
- return this.hasAnyAuthorityValue;
99
+ return this.hasAnyAuthorityValues[authorities] ?? false;
99
100
  }
100
101
 
101
102
  public get openAPIEnabled() : boolean {
@@ -2,6 +2,8 @@
2
2
  // (runtime-only or standalone) has been set in webpack.common with an alias.
3
3
  import Vue from 'vue';
4
4
  import {FontAwesomeIcon} from '@fortawesome/vue-fontawesome';
5
+ import { setupAxiosInterceptors } from '@/shared/config/axios-interceptor';
6
+
5
7
  import App from './app.vue';
6
8
  import Vue2Filters from 'vue2-filters';
7
9
  import { ToastPlugin } from 'bootstrap-vue';
@@ -93,7 +95,7 @@ router.beforeEach(async (to, from, next) => {
93
95
  });
94
96
 
95
97
  /* tslint:disable */
96
- new Vue({
98
+ <% if (!authenticationTypeOauth2) { %>const vue = <% } %>new Vue({
97
99
  el: '#app',
98
100
  components: { App },
99
101
  template: '<App/>',
@@ -132,3 +134,29 @@ new Vue({
132
134
  <%_ } _%>
133
135
  store,
134
136
  });
137
+
138
+ setupAxiosInterceptors(
139
+ error => {
140
+ const url = error.response?.config?.url;
141
+ const status = error.status || error.response.status;
142
+ if (status === 401) {
143
+ // Store logged out state.
144
+ store.commit('logout');
145
+ if (!url.endsWith('api/account') && !url.endsWith('api/<% if (authenticationTypeSession) { %>authentication<% } else { %>authenticate<% } %>')) {
146
+ // Ask for a new authentication
147
+ <%_ if (authenticationTypeOauth2) { _%>
148
+ window.location.reload();
149
+ <%_ } else { _%>
150
+ loginService.openLogin(vue);
151
+ <%_ } _%>
152
+ return;
153
+ }
154
+ }
155
+ console.log('Unauthorized!');
156
+ return Promise.reject(error);
157
+ },
158
+ error => {
159
+ console.log('Server error!');
160
+ return Promise.reject(error);
161
+ }
162
+ );
@@ -37,10 +37,10 @@ const setupAxiosInterceptors = (onUnauthenticated, onServerError) => {
37
37
  const onResponseError = err => {
38
38
  const status = err.status || err.response.status;
39
39
  if (status === 403 || status === 401) {
40
- onUnauthenticated();
40
+ return onUnauthenticated(err);
41
41
  }
42
42
  if (status >= 500) {
43
- onServerError();
43
+ return onServerError(err);
44
44
  }
45
45
  return Promise.reject(err);
46
46
  };
@@ -3,7 +3,6 @@ import Vuex from 'vuex';
3
3
  import VueI18n, { DateTimeFormats } from 'vue-i18n';
4
4
  import <%=jhiPrefixCapitalized%>Formatter from './formatter';
5
5
  <%_ } _%>
6
- import { setupAxiosInterceptors } from '@/shared/config/axios-interceptor';
7
6
 
8
7
  import { library } from '@fortawesome/fontawesome-svg-core';
9
8
  import { faArrowLeft } from '@fortawesome/free-solid-svg-icons/faArrowLeft';
@@ -64,9 +63,6 @@ export function initVueApp(vue) {
64
63
  vue.use(VueCookie);
65
64
  vue.use(Vuelidate);
66
65
  vue.use(Vue2Filters);
67
- setupAxiosInterceptors(
68
- () => console.log('Unauthorized!'),
69
- () => console.log('Server error!'));
70
66
  filters.initFilters();
71
67
  }
72
68
 
@@ -67,7 +67,7 @@ export default class JhiDataUtils extends Vue {
67
67
  const fileReader = new FileReader();
68
68
  fileReader.readAsDataURL(file);
69
69
  fileReader.onload = (e: any) => {
70
- const base64Data = e.target.result.substr(e.target.result.indexOf('base64,') + 'base64,'.length);
70
+ const base64Data = e.target.result.substring(e.target.result.indexOf('base64,') + 'base64,'.length);
71
71
  cb(base64Data);
72
72
  };
73
73
  }
@@ -1,4 +1,4 @@
1
- const { pathsToModuleNameMapper } = require('ts-jest/utils');
1
+ const { pathsToModuleNameMapper } = require('ts-jest');
2
2
  const config = require('../../../webpack/config');
3
3
  const { compilerOptions: { paths = {}, baseUrl = './' } } = require('../../../tsconfig.json');
4
4
 
@@ -27,7 +27,7 @@ module.exports = {
27
27
  ],
28
28
  testResultsProcessor: 'jest-sonar-reporter',
29
29
  testMatch: ['<rootDir>/<%= CLIENT_TEST_SRC_DIR %>spec/**/@(*.)@(spec.ts)'],
30
- snapshotSerializers: ['<rootDir>/node_modules/jest-serializer-vue'],
30
+ snapshotSerializers: ['jest-serializer-vue'],
31
31
  globals: {
32
32
  <%_ if (enableTranslation) { _%>
33
33
  I18N_HASH: 'generated_hash',
@@ -11,9 +11,6 @@
11
11
  "emitDecoratorMetadata": true,
12
12
  "experimentalDecorators": true,
13
13
  "lib": ["es7", "dom"],
14
- "typeRoots": [
15
- "node_modules/@types"
16
- ],
17
14
  "paths": {
18
15
  "@/*": ["*"]
19
16
  },
@@ -149,12 +149,16 @@ module.exports = async (env, options) => {
149
149
  new CopyWebpackPlugin({
150
150
  patterns: [
151
151
  {
152
- context: './node_modules/swagger-ui-dist/',
152
+ // https://github.com/swagger-api/swagger-ui/blob/v4.6.1/swagger-ui-dist-package/README.md
153
+ context: require('swagger-ui-dist').getAbsoluteFSPath(),
153
154
  from: '*.{js,css,html,png}',
154
155
  to: 'swagger-ui/',
155
156
  globOptions: { ignore: ['**/index.html'] },
156
157
  },
157
- { from: './node_modules/axios/dist/axios.min.js', to: 'swagger-ui/' },
158
+ {
159
+ from: require.resolve('axios/dist/axios.min.js'),
160
+ to: 'swagger-ui/',
161
+ },
158
162
  { from: './<%= CLIENT_MAIN_SRC_DIR %>swagger-ui/', to: 'swagger-ui/' },
159
163
  { from: './<%= CLIENT_MAIN_SRC_DIR %>content/', to: 'content/' },
160
164
  { from: './<%= CLIENT_MAIN_SRC_DIR %>favicon.ico', to: 'favicon.ico' },
@@ -16,6 +16,4 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import generator from './index.js';
20
-
21
- export default generator;
19
+ export { default } from './index.js';
@@ -16,6 +16,5 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import generator from './index.js';
20
-
21
- export default generator;
19
+ export { default } from './index.js';
20
+ export { files } from './files.js';
@@ -62,8 +62,6 @@ const commonFiles = {
62
62
  '.lintstagedrc.js',
63
63
  {
64
64
  file: '.husky/pre-commit',
65
- method: 'copy',
66
- noEjs: true,
67
65
  },
68
66
  ],
69
67
  },
@@ -82,4 +80,5 @@ module.exports = {
82
80
  writeFiles,
83
81
  prettierConfigFiles,
84
82
  commonFiles,
83
+ files: commonFiles,
85
84
  };
@@ -174,6 +174,12 @@ module.exports = class JHipsterCommonGenerator extends BaseBlueprintGenerator {
174
174
  this.removeFile('.huskyrc');
175
175
  }
176
176
  }
177
+ if (this.isJhipsterVersionLessThan('7.6.1')) {
178
+ if (this.skipClient) {
179
+ this.removeFile('npmw');
180
+ this.removeFile('npmw.cmd');
181
+ }
182
+ }
177
183
  },
178
184
  writePrettierConfig() {
179
185
  // Prettier configuration needs to be the first written files - all subgenerators considered - for prettier transform to work
@@ -2,4 +2,8 @@
2
2
  . "$(dirname "$0")/_/husky.sh"
3
3
 
4
4
 
5
+ <%_ if (skipClient || skipServer) { _%>
6
+ npx --no-install lint-staged
7
+ <%_ } else { _%>
5
8
  "$(dirname "$0")/../npmw" exec --no-install lint-staged
9
+ <%_ } _%>