generator-jhipster 8.0.0-rc.1 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/README.md +71 -58
  2. package/dist/cli/environment-builder.mjs +14 -7
  3. package/dist/cli/jhipster-command.mjs +7 -3
  4. package/dist/cli/program.mjs +2 -2
  5. package/dist/generators/angular/cleanup.mjs +7 -0
  6. package/dist/generators/angular/files-angular.mjs +3 -4
  7. package/dist/generators/angular/generator.mjs +10 -22
  8. package/dist/generators/angular/needle-api/needle-client-angular.mjs +2 -8
  9. package/dist/generators/angular/resources/package.json +25 -24
  10. package/dist/generators/angular/support/translate-angular.mjs +2 -2
  11. package/dist/generators/angular/templates/README.md.jhi.client.angular.ejs +1 -1
  12. package/dist/generators/angular/templates/angular.json.ejs +3 -7
  13. package/dist/generators/angular/templates/package.json.ejs +4 -8
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.html.ejs +6 -4
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +1 -1
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +39 -33
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +44 -36
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +24 -23
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +74 -62
  20. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs +12 -4
  21. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +54 -48
  22. package/dist/generators/angular/templates/src/main/webapp/app/admin/admin.routes.ts.ejs +74 -0
  23. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +15 -5
  24. package/dist/generators/angular/templates/src/main/webapp/app/admin/docs/docs.component.ts.ejs +1 -1
  25. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +20 -7
  26. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.html.ejs +10 -7
  27. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +9 -3
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +12 -4
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +13 -7
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +6 -2
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +3 -1
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +13 -9
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +13 -5
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +21 -7
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +6 -2
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +3 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +16 -7
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +3 -1
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +3 -1
  40. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +11 -4
  41. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +20 -11
  42. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +48 -34
  43. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +73 -0
  44. package/dist/generators/angular/templates/src/main/webapp/app/app.config.ts.ejs +67 -0
  45. package/dist/generators/angular/templates/src/main/webapp/app/app.routes.ts.ejs +85 -0
  46. package/dist/generators/angular/templates/src/main/webapp/app/core/microfrontend/index.ts.ejs +5 -4
  47. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.spec.ts.ejs +1 -1
  48. package/dist/generators/angular/templates/src/main/webapp/app/core/util/data-util.service.ts.ejs +2 -2
  49. package/dist/generators/angular/templates/src/main/webapp/app/core/util/event-manager.service.spec.ts.ejs +12 -12
  50. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.model.ts.ejs +4 -4
  51. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +3 -1
  52. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +26 -14
  53. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +44 -35
  54. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +1 -1
  55. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.ts.ejs +1 -1
  56. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.spec.ts.ejs +2 -2
  57. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.ts.ejs +5 -12
  58. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +55 -21
  59. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +2 -2
  60. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +10 -10
  61. package/dist/generators/angular/templates/src/main/webapp/app/entities/entity.routes.ts.ejs +25 -0
  62. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +21 -17
  63. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.ts.ejs +1 -1
  64. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.html.ejs +3 -3
  65. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +5 -2
  66. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +5 -1
  67. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +97 -78
  68. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs +1 -1
  69. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +1 -1
  70. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.scss.ejs +1 -1
  71. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +6 -4
  72. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.html.ejs +3 -3
  73. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.html.ejs +6 -2
  74. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.html.ejs +6 -2
  75. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +11 -7
  76. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +1 -1
  77. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.spec.ts.ejs +3 -3
  78. package/dist/generators/angular/templates/src/main/webapp/bootstrap.ts.ejs +5 -5
  79. package/dist/generators/angular/templates/src/main/webapp/content/scss/global.scss.ejs +1 -1
  80. package/dist/generators/angular/templates/webpack/webpack.microfrontend.js.ejs +48 -126
  81. package/dist/generators/app/README.md +108 -0
  82. package/dist/generators/app/USAGE +3 -0
  83. package/dist/generators/app/command.mjs +3 -3
  84. package/dist/generators/app/generator.mjs +11 -0
  85. package/dist/generators/app/support/config.mjs +3 -3
  86. package/dist/generators/base/command.mjs +0 -11
  87. package/dist/generators/base/generator.mjs +0 -3
  88. package/dist/generators/base/support/config.mjs +6 -6
  89. package/dist/generators/base/support/jhipster7-context.mjs +3 -3
  90. package/dist/generators/base-application/generator.mjs +7 -8
  91. package/dist/generators/base-application/support/entities.mjs +2 -2
  92. package/dist/generators/base-application/support/enum.mjs +1 -1
  93. package/dist/generators/base-application/support/index.mjs +1 -0
  94. package/dist/generators/base-application/support/prepare-entity.mjs +14 -11
  95. package/dist/generators/base-application/support/prepare-field.mjs +11 -7
  96. package/dist/generators/base-application/support/prepare-relationship.mjs +16 -14
  97. package/dist/generators/base-application/support/update-application-entities-transform.mjs +52 -0
  98. package/dist/generators/base-core/generator.mjs +17 -4
  99. package/dist/generators/base-entity-changes/generator.mjs +1 -1
  100. package/dist/generators/base-workspaces/internal/docker-prompts.mjs +13 -12
  101. package/dist/generators/bootstrap/command.mjs +6 -0
  102. package/dist/generators/bootstrap/generator.mjs +84 -45
  103. package/dist/generators/bootstrap/support/auto-crlf-transform.mjs +34 -21
  104. package/dist/generators/bootstrap/support/eslint-transform.mjs +2 -5
  105. package/dist/generators/bootstrap/support/java-unused-imports-transform.mjs +2 -2
  106. package/dist/generators/bootstrap/support/multi-step-transform/index.mjs +17 -28
  107. package/dist/generators/bootstrap/support/multi-step-transform/template-file-fs.mjs +12 -6
  108. package/dist/generators/bootstrap/support/multi-step-transform/template-file.mjs +1 -0
  109. package/dist/generators/bootstrap/support/prettier-support.mjs +2 -2
  110. package/dist/generators/bootstrap-application/generator.mjs +10 -21
  111. package/dist/generators/bootstrap-application-base/command.mjs +30 -0
  112. package/dist/generators/bootstrap-application-base/generator.mjs +36 -11
  113. package/dist/generators/bootstrap-application-base/index.mjs +1 -0
  114. package/dist/generators/bootstrap-application-base/support/export-jdl-transform.mjs +61 -0
  115. package/dist/generators/bootstrap-application-base/support/import-jdl-transform.mjs +64 -0
  116. package/dist/generators/bootstrap-application-base/support/index.mjs +2 -0
  117. package/dist/generators/bootstrap-application-server/generator.mjs +2 -2
  118. package/dist/generators/client/command.mjs +2 -0
  119. package/dist/generators/client/resources/package.json +4 -4
  120. package/dist/generators/client/support/entity-definition.mjs +3 -3
  121. package/dist/generators/client/templates/README.md.jhi.client.ejs +2 -2
  122. package/dist/generators/client/templates/src/main/webapp/content/css/loading.css.ejs +1 -1
  123. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +2 -2
  124. package/dist/generators/client/templates/webpack/webpack.microfrontend.js.jhi.ejs +14 -1
  125. package/dist/generators/common/command.mjs +2 -0
  126. package/dist/generators/common/files.mjs +1 -1
  127. package/dist/generators/common/generator.mjs +29 -7
  128. package/dist/generators/common/resources/package.json +4 -4
  129. package/dist/generators/common/templates/.lintstagedrc.cjs.ejs +21 -0
  130. package/dist/generators/common/templates/.prettierrc.ejs +1 -1
  131. package/dist/generators/common/templates/README.md.jhi.ejs +2 -0
  132. package/dist/generators/common/templates/sonar-project.properties.ejs +1 -1
  133. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/settings-page.cy.ts.ejs +3 -0
  134. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +0 -1
  135. package/dist/generators/docker/generator.mjs +1 -1
  136. package/dist/generators/docker/templates/docker/cassandra.yml.ejs +2 -2
  137. package/dist/generators/docker/templates/docker/keycloak.yml.ejs +1 -1
  138. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +4 -1
  139. package/dist/generators/docker-compose/generator.mjs +4 -11
  140. package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +1 -1
  141. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +4 -1
  142. package/dist/generators/entity/prompts.mjs +123 -306
  143. package/dist/generators/export-jdl/generator.mjs +1 -1
  144. package/dist/generators/feign-client/cleanup.mjs +12 -0
  145. package/dist/generators/feign-client/files.mjs +35 -0
  146. package/dist/generators/feign-client/generator.mjs +65 -0
  147. package/dist/generators/feign-client/index.mjs +19 -0
  148. package/dist/generators/feign-client/templates/src/main/java/_package_/client/AuthorizationHeaderUtil.java.ejs +174 -0
  149. package/dist/generators/feign-client/templates/src/main/java/_package_/client/AuthorizedFeignClient.java.ejs +72 -0
  150. package/dist/generators/feign-client/templates/src/main/java/_package_/client/OAuth2InterceptedFeignConfiguration.java.ejs +35 -0
  151. package/dist/generators/feign-client/templates/src/main/java/_package_/client/OAuthIdpTokenResponseDTO.java.ejs +161 -0
  152. package/dist/generators/feign-client/templates/src/main/java/_package_/client/TokenRelayRequestInterceptor.java.ejs +42 -0
  153. package/dist/generators/feign-client/templates/src/main/java/_package_/client/UserFeignClientInterceptor_jwt.java.ejs +36 -0
  154. package/dist/generators/feign-client/templates/src/main/java/_package_/config/FeignConfiguration.java.ejs +45 -0
  155. package/dist/generators/feign-client/templates/src/test/java/_package_/client/AuthorizationHeaderUtilTest.java.ejs +263 -0
  156. package/dist/generators/generate-blueprint/command.mjs +1 -1
  157. package/dist/generators/generate-blueprint/resources/package.json +1 -1
  158. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -1
  159. package/dist/generators/generator-constants.mjs +11 -7
  160. package/dist/generators/generator-list.mjs +1 -0
  161. package/dist/generators/git/generator.mjs +3 -5
  162. package/dist/generators/gradle/constants.mjs +1 -1
  163. package/dist/generators/heroku/generator.mjs +318 -595
  164. package/dist/generators/heroku/templates/Procfile.ejs +1 -1
  165. package/dist/generators/heroku/templates/application-heroku.yml.ejs +0 -12
  166. package/dist/generators/info/generator.mjs +6 -4
  167. package/dist/generators/init/generator.mjs +2 -2
  168. package/dist/generators/java/command.mjs +6 -0
  169. package/dist/generators/java/entity-files.mjs +5 -1
  170. package/dist/generators/java/generator.mjs +15 -15
  171. package/dist/generators/java/support/package-info-transform.mjs +20 -6
  172. package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +24 -28
  173. package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jackson_identity_info.ejs +30 -0
  174. package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/enumeration/_enumName_.java.ejs +3 -3
  175. package/dist/generators/java/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +86 -8
  176. package/dist/generators/java/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_TestSamples.java.ejs +85 -0
  177. package/dist/generators/jdl/generator.mjs +32 -28
  178. package/dist/generators/kubernetes/templates/ingress.yml.ejs +0 -1
  179. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +4 -1
  180. package/dist/generators/kubernetes/templates/keycloak/keycloak.yml.ejs +1 -1
  181. package/dist/generators/languages/command.mjs +5 -0
  182. package/dist/generators/languages/generator.mjs +44 -28
  183. package/dist/generators/languages/prompts.mjs +3 -1
  184. package/dist/generators/languages/support/translate.mjs +1 -1
  185. package/dist/generators/languages/templates/entity/i18n/entity_pt-br.json.ejs +1 -1
  186. package/dist/generators/languages/translation-data.mjs +8 -13
  187. package/dist/generators/liquibase/README.md +19 -0
  188. package/dist/generators/liquibase/generator.mjs +7 -3
  189. package/dist/generators/project-name/generator.mjs +14 -19
  190. package/dist/generators/project-name/support/name-resolver.mjs +35 -6
  191. package/dist/generators/react/generator.mjs +18 -10
  192. package/dist/generators/react/resources/package.json +30 -29
  193. package/dist/generators/react/templates/package.json.ejs +4 -5
  194. package/dist/generators/react/templates/src/main/webapp/app/config/icon-loader.ts.ejs +35 -33
  195. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.spec.ts.ejs +4 -4
  196. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-detail.tsx.ejs +1 -2
  197. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +19 -15
  198. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +1 -1
  199. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.tsx.ejs +3 -8
  200. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityModel_.model.ts.ejs +1 -1
  201. package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +1 -1
  202. package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +9 -2
  203. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/header/header-components.tsx.ejs +1 -1
  204. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/header/header.scss.ejs +6 -5
  205. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/entities.tsx.ejs +10 -1
  206. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +1 -1
  207. package/dist/generators/react/templates/src/main/webapp/app/shared/util/date-utils.ts.ejs +1 -1
  208. package/dist/generators/react/templates/tsconfig.test.json.ejs +1 -1
  209. package/dist/generators/react/templates/webpack/webpack.microfrontend.js.jhi.react.ejs +13 -58
  210. package/dist/generators/server/cleanup.mjs +5 -0
  211. package/dist/generators/server/command.mjs +13 -2
  212. package/dist/generators/server/entity-files.mjs +3 -3
  213. package/dist/generators/server/files.mjs +2 -38
  214. package/dist/generators/server/generator.mjs +48 -23
  215. package/dist/generators/server/jdl/application-definition.mjs +5 -2
  216. package/dist/generators/server/options/feign-client.mjs +24 -0
  217. package/dist/generators/server/options/index.mjs +1 -0
  218. package/dist/generators/server/resources/Dockerfile +19 -19
  219. package/dist/generators/server/resources/gradle/libs.versions.toml +4 -4
  220. package/dist/generators/server/resources/pom.xml +18 -18
  221. package/dist/generators/server/support/config.mjs +5 -4
  222. package/dist/generators/server/support/prepare-entity.mjs +9 -6
  223. package/dist/generators/server/support/prepare-field.mjs +20 -0
  224. package/dist/generators/server/support/relationship.mjs +2 -1
  225. package/dist/generators/server/support/templates/field-values.mjs +5 -2
  226. package/dist/generators/server/templates/README.md.jhi.spring-boot.ejs +0 -1
  227. package/dist/generators/server/templates/build.gradle.ejs +1 -2
  228. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +3 -21
  229. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +5 -15
  230. package/dist/generators/server/templates/package.json.ejs +0 -5
  231. package/dist/generators/server/templates/pom.xml.ejs +2 -12
  232. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_all_template.ejs +8 -8
  233. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/search_template.ejs +4 -4
  234. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository.java.ejs +1 -1
  235. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +2 -2
  236. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/mapper/_entityClass_Mapper.java.ejs +2 -2
  237. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/web/rest/_entityClass_Resource.java.ejs +14 -14
  238. package/dist/generators/server/templates/src/main/java/_package_/config/JacksonConfiguration.java.ejs +2 -1
  239. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +21 -3
  240. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +6 -1
  241. package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/CustomClaimConverter.java.ejs +1 -5
  242. package/dist/generators/server/templates/src/main/java/_package_/service/MailService.java.ejs +48 -6
  243. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +1 -1
  244. package/dist/generators/server/templates/src/main/java/_package_/web/rest/LogoutResource_imperative.java.ejs +4 -13
  245. package/dist/generators/server/templates/src/main/java/_package_/web/rest/LogoutResource_reactive.java.ejs +5 -11
  246. package/dist/generators/server/templates/src/main/java/_package_/web/rest/PublicUserResource.java.ejs +6 -7
  247. package/dist/generators/server/templates/src/main/java/_package_/web/rest/UserResource.java.ejs +6 -8
  248. package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/ExceptionTranslator.java.ejs +4 -7
  249. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +8 -7
  250. package/dist/generators/server/templates/src/test/java/_package_/TechnicalStructureTest.java.ejs +1 -1
  251. package/dist/generators/server/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +11 -11
  252. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +4 -4
  253. package/dist/generators/server/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorTestController.java.ejs +2 -2
  254. package/dist/generators/spring-cache/internal/dependencies.mjs +1 -1
  255. package/dist/generators/spring-cache/templates/gradle/cache.gradle.ejs +1 -1
  256. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheFactoryConfiguration.java.ejs +1 -1
  257. package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/web/rest/KafkaResource_imperative.java.ejs +1 -1
  258. package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/web/rest/KafkaResource_reactive.java.ejs +1 -1
  259. package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +3 -0
  260. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.elastic_search.ejs +1 -1
  261. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/_entityPackage_/repository/search/_entityClass_SearchRepository.java.ejs +1 -3
  262. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/repository/search/UserSearchRepository.java.ejs +4 -4
  263. package/dist/generators/spring-data-neo4j/generator.mjs +43 -1
  264. package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_neo4j.ejs +3 -37
  265. package/dist/generators/spring-data-relational/README.md +7 -0
  266. package/dist/generators/spring-data-relational/generator.mjs +2 -1
  267. package/dist/generators/spring-data-relational/internal/dependencies.mjs +29 -8
  268. package/dist/generators/spring-data-relational/support/database-data.mjs +4 -0
  269. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/EntityManager_reactive.java.ejs +49 -8
  270. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +1 -1
  271. package/dist/generators/upgrade/generator.mjs +3 -3
  272. package/dist/generators/vue/generator.mjs +25 -16
  273. package/dist/generators/vue/resources/package.json +29 -28
  274. package/dist/generators/vue/templates/package.json.ejs +4 -5
  275. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +10 -3
  276. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +3 -4
  277. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +1 -2
  278. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.component.spec.ts.ejs +1 -1
  279. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.component.ts.ejs +3 -3
  280. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +2 -15
  281. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.ts.ejs +1 -1
  282. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +14 -7
  283. package/dist/generators/vue/templates/src/main/webapp/app/router/index.ts.ejs +8 -1
  284. package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +19 -34
  285. package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -0
  286. package/dist/jdl/converters/jdl-to-json/jdl-to-json-option-converter.js +2 -2
  287. package/dist/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +1 -1
  288. package/dist/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.js +1 -1
  289. package/dist/jdl/converters/json-to-jdl-converter.js +1 -1
  290. package/dist/jdl/converters/json-to-jdl-entity-converter.js +1 -0
  291. package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -17
  292. package/dist/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.js +5 -0
  293. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +0 -27
  294. package/dist/jdl/exporters/applications/jhipster-application-formatter.js +17 -1
  295. package/dist/jdl/exporters/config.js +11 -0
  296. package/dist/jdl/exporters/export-utils.js +2 -13
  297. package/dist/jdl/exporters/jhipster-entity-exporter.js +3 -2
  298. package/dist/jdl/index.js +1 -0
  299. package/dist/jdl/jdl-importer.js +6 -2
  300. package/dist/jdl/jhipster/default-application-options.js +1 -1
  301. package/dist/jdl/jhipster/field-types.js +1 -1
  302. package/dist/jdl/jhipster/json-entity.js +6 -0
  303. package/dist/jdl/models/jdl-application-configuration-factory.js +34 -2
  304. package/dist/jdl/models/jdl-application-configuration.js +6 -3
  305. package/dist/jdl/models/jdl-application-factory.js +2 -2
  306. package/dist/jdl/models/jdl-application.js +12 -3
  307. package/dist/jdl/models/jdl-entity.js +16 -1
  308. package/dist/jdl/models/jdl-field.js +13 -0
  309. package/dist/jdl/models/jdl-object.js +3 -3
  310. package/dist/jdl/models/jdl-relationship.js +23 -5
  311. package/dist/jdl/parsing/jdl-ast-builder-visitor.js +63 -7
  312. package/dist/jdl/parsing/jdl-parser.js +52 -6
  313. package/dist/jdl/parsing/lexer/application-tokens.js +2 -2
  314. package/dist/jdl/validators/entity-validator.js +4 -2
  315. package/dist/jdl/validators/enum-validator.js +4 -2
  316. package/dist/jdl/validators/jdl-with-application-validator.js +18 -8
  317. package/dist/jdl/validators/jdl-without-application-validator.js +30 -29
  318. package/dist/jdl/validators/validator.js +1 -1
  319. package/dist/testing/helpers.mjs +10 -3
  320. package/dist/types/cli/environment-builder.d.mts +2 -0
  321. package/dist/types/generators/angular/needle-api/needle-client-angular.d.mts +0 -1
  322. package/dist/types/generators/base/api.d.mts +12 -0
  323. package/dist/types/generators/base/support/config.d.mts +3 -3
  324. package/dist/types/generators/base/support/needles.d.mts +1 -1
  325. package/dist/types/generators/base-application/generator.d.mts +2 -2
  326. package/dist/types/generators/base-application/support/index.d.mts +1 -0
  327. package/dist/types/generators/base-application/support/prepare-entity.d.mts +6 -1
  328. package/dist/types/generators/base-application/support/update-application-entities-transform.d.mts +4 -0
  329. package/dist/types/generators/base-application/types/relationship.d.mts +4 -0
  330. package/dist/types/generators/base-core/generator.d.mts +7 -1
  331. package/dist/types/generators/bootstrap/support/auto-crlf-transform.d.mts +3 -2
  332. package/dist/types/generators/bootstrap/support/multi-step-transform/index.d.mts +3 -20
  333. package/dist/types/generators/bootstrap/support/multi-step-transform/template-file-fs.d.mts +15 -9
  334. package/dist/types/generators/bootstrap/support/multi-step-transform/template-file.d.mts +1 -0
  335. package/dist/types/generators/bootstrap-application-base/support/export-jdl-transform.d.mts +8 -0
  336. package/dist/types/generators/bootstrap-application-base/support/import-jdl-transform.d.mts +6 -0
  337. package/dist/types/generators/bootstrap-application-base/support/index.d.mts +2 -0
  338. package/dist/types/generators/client/support/entity-definition.d.mts +2 -2
  339. package/dist/types/generators/feign-client/types-export.d.ts +1 -0
  340. package/dist/types/generators/generator-constants.d.mts +52 -48
  341. package/dist/types/generators/generator-list.d.mts +1 -0
  342. package/dist/types/generators/java/support/package-info-transform.d.mts +1 -4
  343. package/dist/types/generators/project-name/support/name-resolver.d.mts +9 -1
  344. package/dist/types/generators/server/options/feign-client.d.mts +21 -0
  345. package/dist/types/generators/server/options/index.d.mts +1 -0
  346. package/dist/types/generators/server/support/templates/field-values.d.mts +1 -1
  347. package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +1 -0
  348. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +1 -1
  349. package/dist/types/jdl/exporters/config.d.ts +1 -0
  350. package/dist/types/jdl/index.d.ts +1 -0
  351. package/dist/types/jdl/jdl-importer.d.ts +1 -0
  352. package/dist/types/jdl/jhipster/json-entity.d.ts +2 -0
  353. package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +1 -0
  354. package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +2 -2
  355. package/dist/types/jdl/models/jdl-application-configuration.d.ts +8 -6
  356. package/dist/types/jdl/models/jdl-application-factory.d.ts +1 -1
  357. package/dist/types/jdl/models/jdl-application.d.ts +8 -4
  358. package/dist/types/jdl/models/jdl-entity.d.ts +1 -0
  359. package/dist/types/jdl/models/jdl-object.d.ts +1 -1
  360. package/dist/types/jdl/models/jdl-relationship.d.ts +0 -18
  361. package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +1 -1
  362. package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +10 -0
  363. package/dist/types/jdl/parsing/jdl-parser.d.ts +3 -0
  364. package/dist/types/jdl/parsing/lexer/application-tokens.d.ts +1 -0
  365. package/dist/types/jdl/types/types.d.mts +2 -2
  366. package/dist/types/jdl/validators/entity-validator.d.ts +2 -2
  367. package/dist/types/jdl/validators/enum-validator.d.ts +2 -2
  368. package/dist/types/jdl/validators/validator.d.ts +4 -1
  369. package/package.json +41 -41
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "dependencies": {
3
- "@fortawesome/fontawesome-svg-core": "6.4.2",
4
- "@fortawesome/free-solid-svg-icons": "6.4.2",
3
+ "@fortawesome/fontawesome-svg-core": "6.5.1",
4
+ "@fortawesome/free-solid-svg-icons": "6.5.1",
5
5
  "@fortawesome/react-fontawesome": "0.2.0",
6
6
  "@reduxjs/toolkit": "1.9.7",
7
- "axios": "1.5.1",
7
+ "axios": "1.6.2",
8
8
  "bootstrap": "5.3.2",
9
9
  "bootswatch": "5.3.2",
10
10
  "lodash": "4.17.21",
11
11
  "path-browserify": "1.0.1",
12
12
  "react": "18.2.0",
13
13
  "react-dom": "18.2.0",
14
- "react-hook-form": "7.47.0",
14
+ "react-hook-form": "7.49.0",
15
15
  "react-jhipster": "0.25.3",
16
16
  "react-loadable": "5.5.0",
17
17
  "react-redux": "8.1.3",
18
- "react-redux-loading-bar": "5.0.4",
19
- "react-router-dom": "6.16.0",
18
+ "react-redux-loading-bar": "5.0.5",
19
+ "react-router-dom": "6.20.1",
20
20
  "react-toastify": "9.1.3",
21
21
  "react-transition-group": "4.4.5",
22
- "reactstrap": "9.2.0",
22
+ "reactstrap": "9.2.1",
23
23
  "redux": "4.2.1",
24
24
  "redux-thunk": "2.4.2",
25
25
  "sonar-scanner": "3.1.0",
@@ -27,32 +27,33 @@
27
27
  "uuid": "9.0.1"
28
28
  },
29
29
  "devDependencies": {
30
- "@testing-library/react": "14.0.0",
31
- "@types/jest": "29.5.5",
32
- "@types/lodash": "4.14.199",
33
- "@types/node": "18.18.5",
34
- "@types/react": "18.2.28",
35
- "@types/react-dom": "18.2.13",
36
- "@types/react-redux": "7.1.27",
30
+ "@module-federation/utilities": "3.0.3-0",
31
+ "@testing-library/react": "14.1.2",
32
+ "@types/jest": "29.5.11",
33
+ "@types/lodash": "4.14.202",
34
+ "@types/node": "18.19.3",
35
+ "@types/react": "18.2.43",
36
+ "@types/react-dom": "18.2.17",
37
+ "@types/react-redux": "7.1.31",
37
38
  "@types/redux": "3.6.31",
38
- "@types/webpack-env": "1.18.2",
39
- "@typescript-eslint/eslint-plugin": "6.7.5",
40
- "@typescript-eslint/parser": "6.7.5",
39
+ "@types/webpack-env": "1.18.4",
40
+ "@typescript-eslint/eslint-plugin": "6.13.2",
41
+ "@typescript-eslint/parser": "6.13.2",
41
42
  "autoprefixer": "10.4.16",
42
43
  "browser-sync": "2.29.3",
43
44
  "browser-sync-webpack-plugin": "2.3.0",
44
45
  "copy-webpack-plugin": "11.0.0",
45
- "core-js": "3.33.0",
46
+ "core-js": "3.34.0",
46
47
  "cross-env": "7.0.3",
47
48
  "css-loader": "6.8.1",
48
49
  "css-minimizer-webpack-plugin": "5.0.1",
49
- "eslint": "8.51.0",
50
- "eslint-config-prettier": "9.0.0",
50
+ "eslint": "8.55.0",
51
+ "eslint-config-prettier": "9.1.0",
51
52
  "eslint-plugin-react": "7.33.2",
52
53
  "eslint-webpack-plugin": "4.0.1",
53
54
  "folder-hash": "4.0.4",
54
- "fork-ts-checker-webpack-plugin": "9.0.0",
55
- "html-webpack-plugin": "5.5.3",
55
+ "fork-ts-checker-webpack-plugin": "9.0.2",
56
+ "html-webpack-plugin": "5.5.4",
56
57
  "identity-obj-proxy": "3.0.0",
57
58
  "jest": "29.7.0",
58
59
  "jest-environment-jsdom": "29.7.0",
@@ -62,26 +63,26 @@
62
63
  "merge-jsons-webpack-plugin": "2.0.1",
63
64
  "mini-css-extract-plugin": "2.7.6",
64
65
  "postcss-loader": "7.3.3",
65
- "postcss-rtlcss": "4.0.8",
66
+ "postcss-rtlcss": "4.0.9",
66
67
  "react-infinite-scroll-component": "6.1.0",
67
68
  "redux-mock-store": "1.5.4",
68
69
  "rimraf": "5.0.5",
69
- "sass": "1.69.3",
70
+ "sass": "1.69.5",
70
71
  "sass-loader": "13.3.2",
71
72
  "simple-progress-webpack-plugin": "2.0.0",
72
- "sinon": "16.1.0",
73
+ "sinon": "17.0.1",
73
74
  "source-map-loader": "4.0.1",
74
75
  "sourcemap-istanbul-instrumenter-loader": "0.2.0",
75
76
  "style-loader": "3.3.3",
76
77
  "terser-webpack-plugin": "5.3.9",
77
78
  "thread-loader": "4.0.2",
78
79
  "ts-jest": "29.1.1",
79
- "ts-loader": "9.5.0",
80
- "typescript": "5.2.2",
81
- "webpack": "5.88.2",
80
+ "ts-loader": "9.5.1",
81
+ "typescript": "5.3.3",
82
+ "webpack": "5.89.0",
82
83
  "webpack-cli": "5.1.4",
83
84
  "webpack-dev-server": "4.15.1",
84
- "webpack-merge": "5.9.0",
85
+ "webpack-merge": "5.10.0",
85
86
  "webpack-notifier": "1.15.0",
86
87
  "workbox-webpack-plugin": "7.0.0"
87
88
  }
@@ -45,6 +45,7 @@
45
45
  "react-loadable": "<%= nodeDependencies['react-loadable'] %>",
46
46
  "react-redux": "<%= nodeDependencies['react-redux'] %>",
47
47
  "react-redux-loading-bar": "<%= nodeDependencies['react-redux-loading-bar'] %>",
48
+ "react-router": "<%= nodeDependencies['react-router-dom'] %>",
48
49
  "react-router-dom": "<%= nodeDependencies['react-router-dom'] %>",
49
50
  "react-toastify": "<%= nodeDependencies['react-toastify'] %>",
50
51
  "react-transition-group": "<%= nodeDependencies['react-transition-group'] %>",
@@ -64,6 +65,9 @@
64
65
  <%_ } _%>
65
66
  },
66
67
  "devDependencies": {
68
+ <%_ if (applicationTypeGateway && microfrontend) { _%>
69
+ "@module-federation/utilities": "<%= nodeDependencies['@module-federation/utilities'] %>",
70
+ <%_ } _%>
67
71
  "@testing-library/react": "<%= nodeDependencies['@testing-library/react'] %>",
68
72
  "@types/jest": "<%= nodeDependencies['@types/jest'] %>",
69
73
  "@types/lodash": "<%= nodeDependencies['@types/lodash'] %>",
@@ -104,11 +108,6 @@
104
108
  <%_ if (enableI18nRTL) { _%>
105
109
  "postcss-rtlcss": "<%= nodeDependencies['postcss-rtlcss'] %>",
106
110
  <%_ } _%>
107
- "prettier": "<%= nodeDependencies['prettier'] %>",
108
- <%_ if (!skipServer) { _%>
109
- "prettier-plugin-java": "<%= nodeDependencies['prettier-plugin-java'] %>",
110
- <%_ } _%>
111
- "prettier-plugin-packagejson": "<%= nodeDependencies['prettier-plugin-packagejson'] %>",
112
111
  "react-infinite-scroll-component": "<%= nodeDependencies['react-infinite-scroll-component'] %>",
113
112
  "redux-mock-store": "<%= nodeDependencies['redux-mock-store'] %>",
114
113
  "rimraf": "<%= nodeDependencies['rimraf'] %>",
@@ -16,39 +16,41 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- import { faCogs } from '@fortawesome/free-solid-svg-icons/faCogs';
20
- import { faBan } from '@fortawesome/free-solid-svg-icons/faBan';
21
- import { faAsterisk } from '@fortawesome/free-solid-svg-icons/faAsterisk';
22
- import { faArrowLeft } from '@fortawesome/free-solid-svg-icons/faArrowLeft';
23
- import { faBell } from '@fortawesome/free-solid-svg-icons/faBell';
24
- import { faBook } from '@fortawesome/free-solid-svg-icons/faBook';
25
- import { faCloud } from '@fortawesome/free-solid-svg-icons/faCloud';
26
- import { faDatabase } from '@fortawesome/free-solid-svg-icons/faDatabase';
27
- import { faEye } from '@fortawesome/free-solid-svg-icons/faEye';
28
- import { faFlag } from '@fortawesome/free-solid-svg-icons/faFlag';
29
- import { faHeart } from '@fortawesome/free-solid-svg-icons/faHeart';
30
- import { faHome } from '@fortawesome/free-solid-svg-icons/faHome';
31
- import { faList } from '@fortawesome/free-solid-svg-icons/faList';
32
- import { faLock } from '@fortawesome/free-solid-svg-icons/faLock';
33
- import { faPencilAlt } from '@fortawesome/free-solid-svg-icons/faPencilAlt';
34
- import { faPlus } from '@fortawesome/free-solid-svg-icons/faPlus';
35
- import { faSave } from '@fortawesome/free-solid-svg-icons/faSave';
36
- import { faSearch } from '@fortawesome/free-solid-svg-icons/faSearch';
37
- import { faSort } from '@fortawesome/free-solid-svg-icons/faSort';
38
- import { faSync } from '@fortawesome/free-solid-svg-icons/faSync';
39
- import { faRoad } from '@fortawesome/free-solid-svg-icons/faRoad';
40
- import { faSignInAlt } from '@fortawesome/free-solid-svg-icons/faSignInAlt';
41
- import { faSignOutAlt } from '@fortawesome/free-solid-svg-icons/faSignOutAlt';
42
- import { faTachometerAlt } from '@fortawesome/free-solid-svg-icons/faTachometerAlt';
43
- import { faTasks } from '@fortawesome/free-solid-svg-icons/faTasks';
44
- import { faThList } from '@fortawesome/free-solid-svg-icons/faThList';
45
- import { faTimesCircle } from '@fortawesome/free-solid-svg-icons/faTimesCircle';
46
- import { faTrash } from '@fortawesome/free-solid-svg-icons/faTrash';
47
- import { faUser } from '@fortawesome/free-solid-svg-icons/faUser';
48
- import { faUserPlus } from '@fortawesome/free-solid-svg-icons/faUserPlus';
49
- import { faUsers } from '@fortawesome/free-solid-svg-icons/faUsers';
50
- import { faUsersCog } from '@fortawesome/free-solid-svg-icons/faUsersCog';
51
- import { faWrench } from '@fortawesome/free-solid-svg-icons/faWrench';
19
+ import {
20
+ faCogs,
21
+ faBan,
22
+ faAsterisk,
23
+ faArrowLeft,
24
+ faBell,
25
+ faBook,
26
+ faCloud,
27
+ faDatabase,
28
+ faEye,
29
+ faFlag,
30
+ faHeart,
31
+ faHome,
32
+ faList,
33
+ faLock,
34
+ faPencilAlt,
35
+ faPlus,
36
+ faSave,
37
+ faSearch,
38
+ faSort,
39
+ faSync,
40
+ faRoad,
41
+ faSignInAlt,
42
+ faSignOutAlt,
43
+ faTachometerAlt,
44
+ faTasks,
45
+ faThList,
46
+ faTimesCircle,
47
+ faTrash,
48
+ faUser,
49
+ faUserPlus,
50
+ faUsers,
51
+ faUsersCog,
52
+ faWrench,
53
+ } from '@fortawesome/free-solid-svg-icons';
52
54
 
53
55
  import { library } from '@fortawesome/fontawesome-svg-core';
54
56
 
@@ -153,7 +153,7 @@ describe('Notification Middleware', () => {
153
153
  },
154
154
  };
155
155
 
156
- const UNKNON_400_ERROR = {
156
+ const UNKNOWN_400_ERROR = {
157
157
  type: ERROR_TYPE,
158
158
  error: {
159
159
  isAxiosError: true,
@@ -163,7 +163,7 @@ describe('Notification Middleware', () => {
163
163
  },
164
164
  };
165
165
 
166
- const UNKNON_ERROR = {
166
+ const UNKNOWN_ERROR = {
167
167
  type: ERROR_TYPE,
168
168
  error: {
169
169
  isAxiosError: true,
@@ -256,13 +256,13 @@ describe('Notification Middleware', () => {
256
256
  });
257
257
 
258
258
  it('should trigger an error toast message and return error for unknown 400 error', () => {
259
- expect(store.dispatch(UNKNON_400_ERROR).error.response.status).toEqual(400);
259
+ expect(store.dispatch(UNKNOWN_400_ERROR).error.response.status).toEqual(400);
260
260
  const toastMsg = (toastify.toast as any).error.getCall(0).args[0];
261
261
  expect(toastMsg).toContain('Unknown error!');
262
262
  });
263
263
 
264
264
  it('should trigger an error toast message and return error for unknown error', () => {
265
- expect(store.dispatch(UNKNON_ERROR).error.isAxiosError).toEqual(true);
265
+ expect(store.dispatch(UNKNOWN_ERROR).error.isAxiosError).toEqual(true);
266
266
  const toastMsg = (toastify.toast as any).error.getCall(0).args[0];
267
267
  expect(toastMsg).toContain('Unknown error!');
268
268
  });
@@ -114,14 +114,13 @@ _%>
114
114
  </dd>
115
115
  <%_ } _%>
116
116
  <%_ for (relationship of relationships) {
117
- const ownerSide = relationship.ownerSide;
118
117
  const relationshipName = relationship.relationshipName;
119
118
  const relationshipFieldName = relationship.relationshipFieldName;
120
119
  const relationshipFieldNamePlural = relationship.relationshipFieldNamePlural;
121
120
  const relationshipNameHumanized = relationship.relationshipNameHumanized;
122
121
  const otherEntityPkName = relationship.otherEntity.primaryKey && relationship.otherEntity.primaryKey.name || 'id';
123
122
  const otherEntityField = relationship.otherEntityField; _%>
124
- <%_ if (ownerSide) { _%>
123
+ <%_ if (relationship.persistableRelationship) { _%>
125
124
  <dt>
126
125
  <Translate contentKey="<%= i18nKeyPrefix %>.<%= relationshipName %>">
127
126
  <%= relationshipNameHumanized %>
@@ -50,16 +50,16 @@ let uniqueRelationFields = new Set();
50
50
 
51
51
  Object.keys(differentRelationships).forEach(key => {
52
52
 
53
- const hasAnyRelationshipQuery = differentRelationships[key].some(rel =>
54
- (rel.relationshipOneToOne && rel.ownerSide && !rel.otherEntityUser)
55
- || !rel.relationshipOneToMany);
53
+ const hasAnyRelationshipQuery = differentRelationships[key].some(rel => rel.persistableRelationship);
56
54
  if (hasAnyRelationshipQuery) {
57
55
  hasRelationshipQuery = true;
58
56
  differentRelationships[key].forEach(rel => {
59
- if (rel.relationshipManyToMany && rel.ownerSide) {
60
- manyToManyOwners.add(rel);
61
- } else {
62
- relFieldNames.add(rel);
57
+ if (rel.persistableRelationship) {
58
+ if (rel.relationshipManyToMany) {
59
+ manyToManyOwners.add(rel);
60
+ } else {
61
+ relFieldNames.add(rel);
62
+ }
63
63
  }
64
64
  });
65
65
  }
@@ -148,13 +148,18 @@ export const <%= entityReactName %>Update = () => {
148
148
  }
149
149
  }, [updateSuccess]);
150
150
 
151
+ // eslint-disable-next-line complexity
151
152
  const saveEntity = values => {
152
- <%_ for (field of fields.filter(field => !field.id)) {
153
+ <%_ for (field of fields) {
153
154
  const fieldName = field.fieldName;
154
155
  _%>
155
156
  <%_ if (field.fieldTypeTimed) { _%>
156
157
  values.<%= fieldName %> = convertDateTimeToServer(values.<%= fieldName %>);
157
- <%_ } _%>
158
+ <%_ } else if (field.fieldTypeNumeric) { _%>
159
+ if (values.<%= fieldName %> !== undefined && typeof values.<%= fieldName %> !== 'number') {
160
+ values.<%= fieldName %> = Number(values.<%= fieldName %>);
161
+ }
162
+ <%_ } _%>
158
163
  <%_ } _%>
159
164
 
160
165
  const entity = {
@@ -164,7 +169,7 @@ _%>
164
169
  <%= rel.relationshipFieldNamePlural %>: mapIdList(values.<%= rel.relationshipFieldNamePlural %>),
165
170
  <%_ }) _%>
166
171
  <%_ relFieldNames.forEach(rel => { _%>
167
- <%_ if (rel.relationshipManyToOne || (rel.ownerSide && rel.relationshipOneToOne)) { _%>
172
+ <%_ if (rel.persistableRelationship && !rel.collection) { _%>
168
173
  <%= rel.relationshipFieldName %>: <%= rel.otherEntityNamePlural %>.find(it => it.<%= rel.otherEntity.primaryKey.name %>.toString() === values.<%= rel.relationshipFieldName %>.toString()),
169
174
  <%_ } _%>
170
175
  <%_ }) _%>
@@ -208,9 +213,9 @@ _%>
208
213
  const otherEntityPkName = rel.otherEntity.primaryKey && rel.otherEntity.primaryKey.name || 'id';
209
214
  const relationshipFieldName = rel.relationshipFieldName;
210
215
  const relationshipFieldNamePlural = rel.relationshipFieldNamePlural;
211
- if (rel.relationshipManyToOne || (rel.relationshipOneToOne && rel.ownerSide)) { _%>
216
+ if (rel.persistableRelationship && !rel.collection) { _%>
212
217
  <%= relationshipFieldName %>: <%= entityInstance %>Entity?.<%= relationshipFieldName %>?.<%= otherEntityPkName %>,
213
- <%_ } else if (rel.relationshipManyToMany && rel.ownerSide) { _%>
218
+ <%_ } else if (rel.persistableRelationship) { _%>
214
219
  <%= relationshipFieldNamePlural %>: <%= entityInstance %>Entity?.<%= relationshipFieldNamePlural %>?.map(e => e.<%= otherEntityPkName %>.toString()),
215
220
  <%_ } _%>
216
221
  <%_ }) _%>
@@ -316,7 +321,6 @@ _%>
316
321
  <%_ } _%>
317
322
  <%_ } _%>
318
323
  <%_ relationships.forEach(rel => {
319
- const ownerSide = rel.ownerSide;
320
324
  const otherEntityPkName = rel.otherEntity.primaryKey && rel.otherEntity.primaryKey.name || 'id';
321
325
  const otherEntityNamePlural = rel.otherEntityNamePlural;
322
326
  const relationshipName = rel.relationshipName;
@@ -326,7 +330,7 @@ _%>
326
330
  const otherEntityField = rel.otherEntityField;
327
331
  const relationshipRequired = rel.relationshipRequired;
328
332
  const translationKey = `${i18nKeyPrefix}.${relationshipName}`; _%>
329
- <%_ if (rel.relationshipManyToOne || (rel.relationshipOneToOne && ownerSide)) { _%>
333
+ <%_ if (rel.persistableRelationship && !rel.collection) { _%>
330
334
  <ValidatedField
331
335
  id="<%= entityFileName %>-<%= relationshipName %>"
332
336
  name="<%= relationshipFieldName %>"
@@ -355,7 +359,7 @@ _%>
355
359
  <%_ if (relationshipRequired) { _%>
356
360
  <FormText><Translate contentKey="entity.validation.required">This field is required.</Translate></FormText>
357
361
  <%_ } _%>
358
- <%_ } else if (rel.relationshipManyToMany && rel.ownerSide) { _%>
362
+ <%_ } else if (rel.persistableRelationship) { _%>
359
363
  <ValidatedField
360
364
  <%_ if (enableTranslation) { _%>
361
365
  label={translate('<%= i18nKeyPrefix %>.<%= relationshipName %>')}
@@ -48,7 +48,7 @@ const initialState: EntityState<I<%= entityReactName %>> = {
48
48
 
49
49
  const apiUrl = '<%= entityApi %>api/<%= entityApiUrl %>';
50
50
  <%_ if (searchEngineAny) { _%>
51
- const apiSearchUrl = '<%= entityApi %>api/_search/<%= entityApiUrl %>';
51
+ const apiSearchUrl = '<%= entityApi %>api/<%= entityApiUrl %>/_search';
52
52
  <%_ } _%>
53
53
 
54
54
  // Actions
@@ -376,9 +376,7 @@ export const <%= entityReactName %> = () => {
376
376
  <th className="hand" onClick={sort('<%= field.fieldName %>')} ><Translate contentKey="<%= `${i18nKeyPrefix}.${field.fieldName}` %>"><%= field.fieldNameHumanized %></Translate> <FontAwesomeIcon icon={getSortIconByFieldName('<%= field.fieldName %>')} /></th>
377
377
  <%_ } _%>
378
378
  <%_ for (relationship of relationships) { _%>
379
- <%_ if (relationship.relationshipManyToOne
380
- || (relationship.relationshipOneToOne && relationship.ownerSide)
381
- || (relationship.relationshipManyToMany && relationship.ownerSide && paginationNo)) { _%>
379
+ <%_ if (relationship.persistableRelationship && (paginationNo || !relationship.collection)) { _%>
382
380
  <th><Translate contentKey="<%= `${i18nKeyPrefix}.${relationship.relationshipName}` %>"><%= relationship.relationshipNameHumanized %></Translate> <FontAwesomeIcon icon="sort" /></th>
383
381
  <%_ } _%>
384
382
  <%_ } _%>
@@ -442,14 +440,11 @@ _%>
442
440
  <%_ } _%>
443
441
  <%_ for (relationship of relationships) {
444
442
  const otherEntity = relationship.otherEntity;
445
- const ownerSide = relationship.ownerSide;
446
443
  const relationshipFieldName = relationship.relationshipFieldName;
447
444
  const relationshipFieldNamePlural = relationship.relationshipFieldNamePlural;
448
445
  const otherEntityPkName = relationship.otherEntity.primaryKey && relationship.otherEntity.primaryKey.name || 'id';
449
446
  const otherEntityField = relationship.otherEntityField; _%>
450
- <%_ if (relationship.relationshipManyToOne
451
- || (relationship.relationshipOneToOne && ownerSide)
452
- || (relationship.relationshipManyToMany && ownerSide && paginationNo)) { _%>
447
+ <%_ if (relationship.persistableRelationship && (paginationNo || !relationship.collection)) { _%>
453
448
  <td>
454
449
  <%_ if (relationship.otherEntityUser) { _%>
455
450
  <%_ if (relationship.relationshipManyToMany) { _%>
@@ -491,7 +486,7 @@ _%>
491
486
  <Button tag={Link} to={`/<%= entityPage %>/${<%= entityInstance %>.<%= primaryKey.name %>}/edit<%_ if (paginationPagination) { _%>?page=${paginationState.activePage}&sort=${paginationState.sort},${paginationState.order}<%_ } _%>`} color="primary" size="sm" data-cy="entityEditButton">
492
487
  <FontAwesomeIcon icon="pencil-alt" /> <span className="d-none d-md-inline"><Translate contentKey="entity.action.edit">Edit</Translate></span>
493
488
  </Button>
494
- <Button tag={Link} to={`/<%= entityPage %>/${<%= entityInstance %>.<%= primaryKey.name %>}/delete<%_ if (paginationPagination) { _%>?page=${paginationState.activePage}&sort=${paginationState.sort},${paginationState.order}<%_ } _%>`} color="danger" size="sm" data-cy="entityDeleteButton">
489
+ <Button onClick={() => <% if (entityInstance !== 'window' ) { %>window.<% } %>location.href=`/<%= entityPage %>/${<%= entityInstance %>.<%= primaryKey.name %>}/delete<%_ if (paginationPagination) { _%>?page=${paginationState.activePage}&sort=${paginationState.sort},${paginationState.order}<%_ } _%>`} color="danger" size="sm" data-cy="entityDeleteButton">
495
490
  <FontAwesomeIcon icon="trash" /> <span className="d-none d-md-inline"><Translate contentKey="entity.action.delete">Delete</Translate></span>
496
491
  </Button>
497
492
  <%_ } _%>
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  <%
20
- const variablesWithTypes = this.generateEntityClientFields(primaryKey, fields, relationships, dto, 'string', embedded);
20
+ const variablesWithTypes = this.generateEntityClientFields(primaryKey, fields, relationships, dto, customDateType = 'dayjs.Dayjs', embedded);
21
21
  const typeImports = this.generateEntityClientImports(relationships, dto);
22
22
  const defaultVariablesValues = this.generateEntityClientFieldDefaultValues(fields.filter(field => !field.id));
23
23
  const enumImports = this.generateEntityClientEnumImports(fields.filter(field => !field.id));
@@ -50,7 +50,7 @@ export const Home = () => {
50
50
  <span className="hipster rounded" />
51
51
  </Col>
52
52
  <Col md="9">
53
- <h2><Translate contentKey="home.title">Welcome, <%= backendType %> Hipster!</Translate></h2>
53
+ <h1 className="display-4"><Translate contentKey="home.title">Welcome, <%= backendType %> Hipster!</Translate></h1>
54
54
  <p className="lead"><Translate contentKey="home.subtitle">This is your homepage</Translate></p>
55
55
  {
56
56
  (account?.login) ? (
@@ -19,6 +19,9 @@
19
19
  import React<% if (applicationTypeGateway && microfrontend) { %>, { Suspense }<% } %> from 'react';
20
20
  import { Route <% if (communicationSpringWebsocket) { %>, useLocation <% } %>} from 'react-router-dom';
21
21
  import Loadable from 'react-loadable';
22
+ <%_ if (applicationTypeGateway && microfrontend) { _%>
23
+ import { importRemote } from '@module-federation/utilities';
24
+ <%_ } _%>
22
25
 
23
26
  <%_ if (!authenticationTypeOauth2) { _%>
24
27
  import Login from 'app/modules/login/login';
@@ -59,10 +62,14 @@ const Admin = Loadable({
59
62
  <%_ if (applicationTypeGateway && microfrontend) { _%>
60
63
 
61
64
  <%_ for (const remote of microfrontends) { _%>
62
- const <%= remote.capitalizedBaseName %>Routes = React.lazy(() => import('@<%= remote.lowercaseBaseName %>/entities-routes').catch(() => import('app/shared/error/error-loading')));
65
+ const <%= remote.capitalizedBaseName %>Routes = React.lazy(() => importRemote<any>({
66
+ url: `./services/<%= remote.lowercaseBaseName %>`,
67
+ scope: '<%= remote.lowercaseBaseName %>',
68
+ module: './entities-routes',
69
+ }).catch(() => import('app/shared/error/error-loading')));
70
+
63
71
  <%_ } _%>
64
72
  <%_ } _%>
65
-
66
73
  const AppRoutes = () => {
67
74
  <%_ if (communicationSpringWebsocket) { _%>
68
75
  const pageLocation = useLocation();
@@ -36,7 +36,7 @@ export const Brand = () => (
36
36
  <NavbarBrand tag={Link} to="/" className="brand-logo">
37
37
  <BrandIcon />
38
38
  <span className="brand-title"><Translate contentKey="global.title"><%= capitalizedBaseName %></Translate></span>
39
- <span className="navbar-version">{VERSION}</span>
39
+ <span className="navbar-version">{VERSION.toLowerCase().startsWith('v') ? VERSION : `v${VERSION}`}</span>
40
40
  </NavbarBrand>
41
41
  );
42
42
 
@@ -21,7 +21,7 @@ $header-color-secondary: #bbb;
21
21
  $header-color-hover: darken($header-color, 20%);
22
22
 
23
23
  /* ==========================================================================
24
- Developement Ribbon
24
+ Development Ribbon
25
25
  ========================================================================== */
26
26
  .ribbon {
27
27
  background-color: rgba(170, 0, 0, 0.5);
@@ -33,7 +33,7 @@ Developement Ribbon
33
33
  transform: rotate(-45deg);
34
34
  overflow: hidden;
35
35
  position: absolute;
36
- top: 30px;
36
+ top: 40px;
37
37
  white-space: nowrap;
38
38
  width: 15em;
39
39
  z-index: 99999;
@@ -105,7 +105,7 @@ Navbar styles
105
105
  }
106
106
 
107
107
  .navbar-version {
108
- font-size: 10px;
108
+ font-size: 0.65em;
109
109
  color: $header-color-secondary;
110
110
  padding: 0 0 0 10px;
111
111
  }
@@ -119,13 +119,14 @@ Navbar styles
119
119
  width: auto;
120
120
  display: inline-block;
121
121
  img {
122
- height: 45px;
122
+ width: 45px;
123
123
  }
124
124
  }
125
125
  }
126
126
 
127
127
  .brand-title {
128
- font-size: 24px;
128
+ font-size: 1.25rem;
129
+ margin-left: .25rem;
129
130
  color: $header-color;
130
131
  &:hover {
131
132
  color: $header-color-hover;
@@ -19,12 +19,21 @@
19
19
  import React<% if (microfrontend) { %>, { Suspense }<% } %> from 'react';
20
20
  import { translate } from 'react-jhipster';
21
21
  import { NavDropdown } from './menu-components';
22
+ <%_ if (applicationTypeGateway && microfrontend) { _%>
23
+ import { importRemote } from '@module-federation/utilities';
24
+ <%_ } _%>
22
25
  <%_ if (microfrontend) { _%>
23
26
 
24
27
  const EntitiesMenuItems = React.lazy(() => import('app/entities/menu').catch(() => import('app/shared/error/error-loading')));
28
+
25
29
  <%_ if (applicationTypeGateway) { _%>
26
30
  <%_ for (const remote of microfrontends) { _%>
27
- const <%= remote.capitalizedBaseName %>EntitiesMenuItems = React.lazy(() => import('@<%= remote.lowercaseBaseName %>/entities-menu').catch(() => import('app/shared/error/error-loading')));
31
+ const <%= remote.capitalizedBaseName %>EntitiesMenuItems = React.lazy(async () => importRemote<any>({
32
+ url: `./services/<%= remote.lowercaseBaseName %>`,
33
+ scope: '<%= remote.lowercaseBaseName %>',
34
+ module: './entities-menu',
35
+ }).catch(() => import('app/shared/error/error-loading')));
36
+
28
37
  <%_ } _%>
29
38
  <%_ } _%>
30
39
  <%_ } else { _%>
@@ -129,7 +129,7 @@ export const createEntitySlice = <T, Reducers extends SliceCaseReducers<EntitySt
129
129
  extraReducers(builder);
130
130
  /*
131
131
  * Common rejection logic is handled here.
132
- * If you want to add your own rejcetion logic, pass `skipRejectionHandling: true`
132
+ * If you want to add your own rejection logic, pass `skipRejectionHandling: true`
133
133
  * while calling `createEntitySlice`
134
134
  * */
135
135
  if (!skipRejectionHandling) {
@@ -23,6 +23,6 @@ import { APP_LOCAL_DATETIME_FORMAT } from 'app/config/constants';
23
23
  export const convertDateTimeFromServer = date =>
24
24
  date ? dayjs(date).format(APP_LOCAL_DATETIME_FORMAT) : null;
25
25
 
26
- export const convertDateTimeToServer = date => date ? dayjs(date).toDate() : null;
26
+ export const convertDateTimeToServer = (date?: string) : dayjs.Dayjs | null => (date ? dayjs(date) : null);
27
27
 
28
28
  export const displayDefaultDateTime = () => dayjs().startOf('day').format(APP_LOCAL_DATETIME_FORMAT);
@@ -18,7 +18,7 @@
18
18
  -%>
19
19
  {
20
20
  "extends": "./tsconfig",
21
- "include": ["<%= this.relativeDir(clientRootDir, clientSrcDir) %>app", "<%= this.relativeDir(clientRootDir, clientSrcDir) %>microfrontend"],
21
+ "include": ["<%= this.relativeDir(clientRootDir, clientSrcDir) %>app", "<%= this.relativeDir(clientRootDir, clientSrcDir) %>microfrontends"],
22
22
  "exclude": [],
23
23
  "compilerOptions": {
24
24
  "paths": {