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
@@ -22,13 +22,6 @@ const { DefinePlugin } = require('webpack');
22
22
  <%_ } _%>
23
23
  <&_ } -&>
24
24
  <&_ if (fragment.moduleFederationSection) { -&>
25
- <%_ if (applicationTypeGateway) { _%>
26
- remotes: {
27
- <%_ for (const microfrontend of microfrontends) { _%>
28
- '@<%= microfrontend.lowercaseBaseName %>': `<%= microfrontend.lowercaseBaseName %>@/<%= microfrontend.endpointPrefix %>/remoteEntry.js`,
29
- <%_ } _%>
30
- },
31
- <%_ } _%>
32
25
  <%_ if (applicationTypeMicroservice) { _%>
33
26
  exposes: {
34
27
  './entities-menu': './<%= this.relativeDir(clientRootDir, clientSrcDir) %>app/entities/menu',
@@ -36,57 +29,19 @@ const { DefinePlugin } = require('webpack');
36
29
  },
37
30
  <%_ } _%>
38
31
  shared: {
39
- ...Object.fromEntries(Object.entries(packageJson.dependencies).map(([module, version]) => ([module, { requiredVersion: version, 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-routes': {
51
- singleton: true,
52
- import: 'app/shared/error/error-boundary-routes',
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
- },
32
+ ...shareDependencies(),
33
+ ...shareMappings(
34
+ 'app/config/constants',
35
+ 'app/config/store',
36
+ 'app/shared/error/error-boundary-routes',
37
+ 'app/shared/layout/menus/menu-components',
38
+ 'app/shared/layout/menus/menu-item',
39
+ 'app/shared/reducers',
40
+ 'app/shared/reducers/locale',
41
+ 'app/shared/reducers/reducer.utils',
42
+ 'app/shared/util/date-utils',
43
+ 'app/shared/util/entity-utils',
44
+ ),
90
45
  },
91
46
  <&_ } -&>
92
47
  <&_ if (fragment.pluginsSection) { -&>
@@ -186,4 +186,9 @@ export default function cleanupOldServerFilesTask(taskParam) {
186
186
  this.removeFile(`${application.javaPackageTestDir}config/TestContainersSpringContextCustomizerFactory.java`);
187
187
  }
188
188
  }
189
+ if (this.isJhipsterVersionLessThan('8.0.1')) {
190
+ if (application.authenticationTypeOauth2) {
191
+ this.removeFile(`${application.javaPackageSrcDir}security/oauth2/OAuthIdpTokenResponseDTO.java`);
192
+ }
193
+ }
189
194
  }
@@ -17,7 +17,7 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import chalk from 'chalk';
20
- import { GENERATOR_JAVA, GENERATOR_LIQUIBASE, GENERATOR_SPRING_DATA_RELATIONAL } from '../generator-list.mjs';
20
+ import { GENERATOR_COMMON, GENERATOR_JAVA, GENERATOR_LIQUIBASE, GENERATOR_SPRING_DATA_RELATIONAL } from '../generator-list.mjs';
21
21
  import { APPLICATION_TYPE_GATEWAY, APPLICATION_TYPE_MICROSERVICE, APPLICATION_TYPE_MONOLITH } from '../../jdl/index.js';
22
22
  const command = {
23
23
  options: {
@@ -145,7 +145,18 @@ const command = {
145
145
  },
146
146
  ],
147
147
  },
148
+ feignClient: {
149
+ description: 'Generate a feign client',
150
+ cli: {
151
+ type: Boolean,
152
+ },
153
+ prompt: {
154
+ type: 'confirm',
155
+ message: 'Do you want to generate a feign client?',
156
+ },
157
+ default: false,
158
+ },
148
159
  },
149
- import: [GENERATOR_JAVA, GENERATOR_LIQUIBASE, GENERATOR_SPRING_DATA_RELATIONAL],
160
+ import: [GENERATOR_COMMON, GENERATOR_JAVA, GENERATOR_LIQUIBASE, GENERATOR_SPRING_DATA_RELATIONAL],
150
161
  };
151
162
  export default command;
@@ -75,8 +75,8 @@ const filteringReactiveFiles = {
75
75
  },
76
76
  ],
77
77
  };
78
- export const respositoryFiles = {
79
- respositoryFiles: [
78
+ export const repositoryFiles = {
79
+ repositoryFiles: [
80
80
  {
81
81
  condition: generator => !generator.reactive && !generator.embedded && generator.databaseType !== COUCHBASE,
82
82
  ...javaMainPackageTemplatesBlock('_entityPackage_/'),
@@ -175,7 +175,7 @@ export const serverFiles = {
175
175
  ...restFiles,
176
176
  ...filteringFiles,
177
177
  ...filteringReactiveFiles,
178
- ...respositoryFiles,
178
+ ...repositoryFiles,
179
179
  ...serviceFiles,
180
180
  ...dtoFiles,
181
181
  };
@@ -52,48 +52,12 @@ const reactiveConfigFiles = {
52
52
  },
53
53
  ],
54
54
  };
55
- const feignFiles = {
56
- microserviceFeignFiles: [
57
- {
58
- path: `${SERVER_MAIN_SRC_DIR}_package_/`,
59
- renameTo: moveToJavaPackageSrcDir,
60
- templates: ['config/FeignConfiguration.java'],
61
- },
62
- {
63
- condition: generator => generator.authenticationTypeOauth2,
64
- path: `${SERVER_MAIN_SRC_DIR}_package_/`,
65
- renameTo: moveToJavaPackageSrcDir,
66
- templates: [
67
- 'security/oauth2/AuthorizationHeaderUtil.java',
68
- 'client/AuthorizedFeignClient.java',
69
- 'client/OAuth2InterceptedFeignConfiguration.java',
70
- 'client/TokenRelayRequestInterceptor.java',
71
- ],
72
- },
73
- {
74
- condition: generator => generator.authenticationTypeJwt,
75
- path: `${SERVER_MAIN_SRC_DIR}_package_/`,
76
- renameTo: moveToJavaPackageSrcDir,
77
- templates: ['client/UserFeignClientInterceptor_jwt.java'],
78
- },
79
- {
80
- condition: generator => generator.authenticationTypeOauth2,
81
- path: `${SERVER_TEST_SRC_DIR}_package_/`,
82
- renameTo: moveToJavaPackageTestDir,
83
- templates: ['security/oauth2/AuthorizationHeaderUtilTest.java'],
84
- },
85
- ],
86
- };
87
55
  const oauth2Files = {
88
56
  oauth2Files: [
89
57
  {
90
58
  path: `${SERVER_MAIN_SRC_DIR}_package_/`,
91
59
  renameTo: moveToJavaPackageSrcDir,
92
- templates: [
93
- 'security/oauth2/AudienceValidator.java',
94
- 'security/oauth2/JwtGrantedAuthorityConverter.java',
95
- 'security/oauth2/OAuthIdpTokenResponseDTO.java',
96
- ],
60
+ templates: ['security/oauth2/AudienceValidator.java', 'security/oauth2/JwtGrantedAuthorityConverter.java'],
97
61
  },
98
62
  {
99
63
  path: `${SERVER_TEST_SRC_DIR}_package_/`,
@@ -581,7 +545,7 @@ export const baseServerFiles = {
581
545
  },
582
546
  ],
583
547
  };
584
- export const serverFiles = mergeSections(baseServerFiles, addSectionsCondition(jwtFiles, context => context.authenticationTypeJwt), addSectionsCondition(oauth2Files, context => context.authenticationTypeOauth2), addSectionsCondition(gatewayFiles, context => context.applicationTypeGateway), addSectionsCondition(accountFiles, context => context.generateAuthenticationApi), addSectionsCondition(feignFiles, context => !context.reactive && context.applicationTypeMicroservice), addSectionsCondition(userManagementFiles, context => context.generateUserManagement), addSectionsCondition(imperativeConfigFiles, context => !context.reactive), addSectionsCondition(reactiveConfigFiles, context => context.reactive), addSectionsCondition(swaggerFiles, context => context.enableSwaggerCodegen));
548
+ export const serverFiles = mergeSections(baseServerFiles, addSectionsCondition(jwtFiles, context => context.authenticationTypeJwt), addSectionsCondition(oauth2Files, context => context.authenticationTypeOauth2), addSectionsCondition(gatewayFiles, context => context.applicationTypeGateway), addSectionsCondition(accountFiles, context => context.generateAuthenticationApi), addSectionsCondition(userManagementFiles, context => context.generateUserManagement), addSectionsCondition(imperativeConfigFiles, context => !context.reactive), addSectionsCondition(reactiveConfigFiles, context => context.reactive), addSectionsCondition(swaggerFiles, context => context.enableSwaggerCodegen));
585
549
  /**
586
550
  * @this {import('./index.mjs')}
587
551
  */
@@ -23,14 +23,14 @@ import os from 'os';
23
23
  import chalk from 'chalk';
24
24
  import { getDBTypeFromDBValue, buildJavaGet as javaGetCall, javaBeanCase as javaBeanClassNameFormat, buildJavaGetter as javaGetter, buildJavaSetter as javaSetter, getJavaValueGeneratorForType as getJavaValueForType, getPrimaryKeyValue as getPKValue, generateKeyStore, addSpringFactory, hibernateSnakeCase, } from './support/index.mjs';
25
25
  import { askForOptionalItems, askForServerSideOpts, askForServerTestOpts } from './prompts.mjs';
26
- import { GENERATOR_BOOTSTRAP_APPLICATION, GENERATOR_SPRING_DATA_CASSANDRA, GENERATOR_COMMON, GENERATOR_SPRING_DATA_COUCHBASE, GENERATOR_CUCUMBER, GENERATOR_DOCKER, GENERATOR_SPRING_DATA_ELASTICSEARCH, GENERATOR_GATLING, GENERATOR_GRADLE, GENERATOR_JAVA, GENERATOR_SPRING_CLOUD_STREAM, GENERATOR_LANGUAGES, GENERATOR_MAVEN, GENERATOR_SPRING_DATA_MONGODB, GENERATOR_SPRING_DATA_NEO4J, GENERATOR_SERVER, GENERATOR_SPRING_CACHE, GENERATOR_SPRING_WEBSOCKET, GENERATOR_SPRING_DATA_RELATIONAL, } from '../generator-list.mjs';
26
+ import { GENERATOR_BOOTSTRAP_APPLICATION, GENERATOR_SPRING_DATA_CASSANDRA, GENERATOR_COMMON, GENERATOR_SPRING_DATA_COUCHBASE, GENERATOR_CUCUMBER, GENERATOR_DOCKER, GENERATOR_SPRING_DATA_ELASTICSEARCH, GENERATOR_GATLING, GENERATOR_GRADLE, GENERATOR_JAVA, GENERATOR_SPRING_CLOUD_STREAM, GENERATOR_LANGUAGES, GENERATOR_MAVEN, GENERATOR_SPRING_DATA_MONGODB, GENERATOR_SPRING_DATA_NEO4J, GENERATOR_SERVER, GENERATOR_SPRING_CACHE, GENERATOR_SPRING_WEBSOCKET, GENERATOR_SPRING_DATA_RELATIONAL, GENERATOR_FEIGN_CLIENT, } from '../generator-list.mjs';
27
27
  import BaseApplicationGenerator from '../base-application/index.mjs';
28
28
  import { writeFiles } from './files.mjs';
29
29
  import { writeFiles as writeEntityFiles } from './entity-files.mjs';
30
30
  import { packageJson } from '../../lib/index.mjs';
31
31
  import { SERVER_MAIN_SRC_DIR, SERVER_MAIN_RES_DIR, SERVER_TEST_SRC_DIR, SERVER_TEST_RES_DIR, CLIENT_WEBPACK_DIR, MAIN_DIR, LOGIN_REGEX, TEST_DIR, JAVA_VERSION, JAVA_COMPATIBLE_VERSIONS, ADD_SPRING_MILESTONE_REPOSITORY, JHIPSTER_DEPENDENCIES_VERSION, } from '../generator-constants.mjs';
32
32
  import statistics from '../statistics.mjs';
33
- import { applicationTypes, authenticationTypes, buildToolTypes, databaseTypes, cacheTypes, serviceDiscoveryTypes, websocketTypes, fieldTypes, entityOptions, validations, reservedKeywords, searchEngineTypes, messageBrokerTypes, clientFrameworkTypes, testFrameworkTypes, } from '../../jdl/jhipster/index.mjs';
33
+ import { applicationTypes, authenticationTypes, buildToolTypes, databaseTypes, cacheTypes, serviceDiscoveryTypes, websocketTypes, fieldTypes, entityOptions, validations, reservedKeywords, searchEngineTypes, messageBrokerTypes, clientFrameworkTypes, testFrameworkTypes, APPLICATION_TYPE_MICROSERVICE, } from '../../jdl/jhipster/index.mjs';
34
34
  import { stringifyApplicationData } from '../base-application/support/index.mjs';
35
35
  import { createBase64Secret, createSecret, createNeedleCallback } from '../base/support/index.mjs';
36
36
  import command from './command.mjs';
@@ -67,7 +67,7 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
67
67
  projectVersion;
68
68
  fakeKeytool;
69
69
  command = command;
70
- async beforeQueue(useNpmWrapper = true) {
70
+ async beforeQueue() {
71
71
  if (!this.fromBlueprint) {
72
72
  loadStoredAppOptions.call(this);
73
73
  await this.composeWithBlueprints(GENERATOR_SERVER);
@@ -76,9 +76,6 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
76
76
  await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION);
77
77
  await this.dependsOnJHipster(GENERATOR_COMMON);
78
78
  await this.dependsOnJHipster(GENERATOR_JAVA);
79
- if (useNpmWrapper) {
80
- this.useNpmWrapperInstallTask();
81
- }
82
79
  }
83
80
  }
84
81
  get initializing() {
@@ -124,6 +121,23 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
124
121
  configure() {
125
122
  this._configureServer();
126
123
  },
124
+ feignMigration() {
125
+ const { reactive, applicationType, feignClient } = this.jhipsterConfigWithDefaults;
126
+ if (feignClient) {
127
+ if (reactive) {
128
+ this.handleCheckFailure('Feign client is not supported by reactive applications.');
129
+ }
130
+ if (applicationType !== APPLICATION_TYPE_MICROSERVICE) {
131
+ this.handleCheckFailure('Feign client is only supported by microservice applications.');
132
+ }
133
+ }
134
+ if (feignClient === undefined &&
135
+ this.isJhipsterVersionLessThan('8.0.1') &&
136
+ reactive &&
137
+ applicationType === APPLICATION_TYPE_MICROSERVICE) {
138
+ this.jhipsterConfig.feignClient = true;
139
+ }
140
+ },
127
141
  });
128
142
  }
129
143
  get [BaseApplicationGenerator.CONFIGURING]() {
@@ -132,7 +146,7 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
132
146
  get composing() {
133
147
  return this.asComposingTaskGroup({
134
148
  async composing() {
135
- const { buildTool, enableTranslation, databaseType, messageBroker, searchEngine, testFrameworks, websocket, cacheProvider } = this.jhipsterConfigWithDefaults;
149
+ const { buildTool, enableTranslation, databaseType, messageBroker, searchEngine, testFrameworks, websocket, cacheProvider, feignClient, } = this.jhipsterConfigWithDefaults;
136
150
  if (buildTool === GRADLE) {
137
151
  await this.composeWithJHipster(GENERATOR_GRADLE);
138
152
  }
@@ -179,6 +193,9 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
179
193
  if ([EHCACHE, CAFFEINE, HAZELCAST, INFINISPAN, MEMCACHED, REDIS].includes(cacheProvider)) {
180
194
  await this.composeWithJHipster(GENERATOR_SPRING_CACHE);
181
195
  }
196
+ if (feignClient) {
197
+ await this.composeWithJHipster(GENERATOR_FEIGN_CLIENT);
198
+ }
182
199
  },
183
200
  });
184
201
  }
@@ -270,6 +287,18 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
270
287
  get [BaseApplicationGenerator.PREPARING]() {
271
288
  return this.asPreparingTaskGroup(this.delegateTasksToBlueprint(() => this.preparing));
272
289
  }
290
+ get postPreparing() {
291
+ return this.asPostPreparingTaskGroup({
292
+ useNpmWrapper({ application }) {
293
+ if (application.useNpmWrapper) {
294
+ this.useNpmWrapperInstallTask();
295
+ }
296
+ },
297
+ });
298
+ }
299
+ get [BaseApplicationGenerator.POST_PREPARING]() {
300
+ return this.delegateTasksToBlueprint(() => this.postPreparing);
301
+ }
273
302
  get configuringEachEntity() {
274
303
  return this.asConfiguringEachEntityTaskGroup({
275
304
  configureMicroservice({ application, entityConfig }) {
@@ -301,7 +330,7 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
301
330
  const { applicationTypeMicroservice, applicationTypeGateway, clientFrameworkAny } = application;
302
331
  if (entityConfig.microserviceName && !(applicationTypeMicroservice && clientFrameworkAny)) {
303
332
  if (!entityConfig.searchEngine) {
304
- // If a non-microfrontent microservice entity, should be disabled by default.
333
+ // If a non-microfrontend microservice entity, should be disabled by default.
305
334
  entityConfig.searchEngine = NO_SEARCH_ENGINE;
306
335
  }
307
336
  }
@@ -326,7 +355,7 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
326
355
  entityConfig.jpaMetamodelFiltering = false;
327
356
  }
328
357
  },
329
- configureEntityTable({ application, entityName, entityConfig, entityStorage }) {
358
+ configureEntityTable({ application, entityName, entityConfig }) {
330
359
  if ((application.applicationTypeGateway && entityConfig.microserviceName) || entityConfig.skipServer)
331
360
  return;
332
361
  entityConfig.entityTableName = entityConfig.entityTableName || hibernateSnakeCase(entityName);
@@ -344,19 +373,11 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
344
373
  (application.applicationType !== GATEWAY || !entityConfig.microserviceName)) {
345
374
  entityConfig.pagination = NO_PAGINATION;
346
375
  }
347
- // Validate root entity json content
348
- if (entityConfig.changelogDate === undefined) {
349
- const currentDate = this.dateFormatForLiquibase();
350
- if (entityStorage.existed) {
351
- this.log.verboseInfo(`changelogDate is missing in .jhipster/${entityConfig.name}.json, using ${currentDate} as fallback`);
352
- }
353
- entityConfig.changelogDate = currentDate;
354
- }
355
376
  if (entityConfig.incrementalChangelog === undefined) {
356
377
  // Keep entity's original incrementalChangelog option.
357
378
  entityConfig.incrementalChangelog =
358
379
  application.incrementalChangelog &&
359
- !existsSync(this.destinationPath(`src/main/resources/config/liquibase/changelog/${entityConfig.changelogDate}_added_entity_${entityConfig.name}.xml`));
380
+ !existsSync(this.destinationPath(`src/main/resources/config/liquibase/changelog/${entityConfig.annotations?.changelogDate}_added_entity_${entityConfig.name}.xml`));
360
381
  }
361
382
  },
362
383
  configureFields({ application, entityConfig, entityName }) {
@@ -535,7 +556,7 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
535
556
  'java:docker': './mvnw -ntp verify -DskipTests -Pprod jib:dockerBuild',
536
557
  'java:docker:arm64': 'npm run java:docker -- -Djib-maven-plugin.architecture=arm64',
537
558
  'backend:unit:test': `./mvnw -ntp${excludeWebapp} verify --batch-mode ${javaCommonLog} ${javaTestLog}`,
538
- 'backend:build-cache': './mvnw dependency:go-offline',
559
+ 'backend:build-cache': './mvnw dependency:go-offline -ntp',
539
560
  'backend:debug': './mvnw -Dspring-boot.run.jvmArguments="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000"',
540
561
  });
541
562
  }
@@ -554,7 +575,7 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
554
575
  'java:docker:arm64': 'npm run java:docker -- -PjibArchitecture=arm64',
555
576
  'backend:unit:test': `./gradlew test integrationTest ${excludeWebapp} ${javaCommonLog} ${javaTestLog}`,
556
577
  'postci:e2e:package': 'cp build/libs/*.$npm_package_config_packaging e2e.$npm_package_config_packaging',
557
- 'backend:build-cache': 'npm run backend:info && npm run backend:nohttp:test && npm run ci:e2e:package',
578
+ 'backend:build-cache': 'npm run backend:info && npm run backend:nohttp:test && npm run ci:e2e:package -- -x webapp -x webapp_test',
558
579
  });
559
580
  }
560
581
  scriptsStorage.set({
@@ -666,9 +687,13 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
666
687
  if (!config.devDatabaseType && config.prodDatabaseType) {
667
688
  dest.devDatabaseType = config.prodDatabaseType;
668
689
  }
669
- // force variables unused by microservice applications
670
- if (config.applicationType === MICROSERVICE) {
671
- dest.websocket = NO_WEBSOCKET;
690
+ if (config.websocket && config.websocket !== NO_WEBSOCKET) {
691
+ if (config.reactive) {
692
+ throw new Error('Spring Websocket is not supported with reactive applications.');
693
+ }
694
+ if (config.applicationType === MICROSERVICE) {
695
+ throw new Error('Spring Websocket is not supported with microservice applications.');
696
+ }
672
697
  }
673
698
  const databaseType = config.databaseType;
674
699
  if (databaseType === NO_DATABASE) {
@@ -19,8 +19,9 @@
19
19
  import * as _ from 'lodash-es';
20
20
  import databaseMigrationOption from '../options/database-migration.mjs';
21
21
  import messageBrokerOption from '../options/message-broker.mjs';
22
+ import { feignClientDefinition } from '../options/index.mjs';
22
23
  const { upperCase, snakeCase } = _;
23
- const jdlOptions = [databaseMigrationOption, messageBrokerOption];
24
+ const jdlOptions = [databaseMigrationOption, messageBrokerOption, feignClientDefinition];
24
25
  const applicationConfig = {
25
26
  tokenConfigs: jdlOptions.map(option => ({
26
27
  name: upperCase(snakeCase(option.name)),
@@ -34,7 +35,9 @@ const applicationConfig = {
34
35
  msg: `${option.name} property`,
35
36
  },
36
37
  ])),
37
- optionsValues: Object.fromEntries(jdlOptions.map(option => [option.name, Object.fromEntries(option.knownChoices.map(choice => [choice, choice]))])),
38
+ optionsValues: Object.fromEntries(jdlOptions
39
+ .filter(option => option.knownChoices)
40
+ .map(option => [option.name, Object.fromEntries(option.knownChoices.map(choice => [choice, choice]))])),
38
41
  optionsTypes: Object.fromEntries(jdlOptions.map(option => [
39
42
  option.name,
40
43
  {
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright 2013-2023 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
+ export const FEIGN_CLIENT = 'feignClient';
20
+ export const feignClientDefinition = {
21
+ name: FEIGN_CLIENT,
22
+ type: 'boolean',
23
+ tokenType: 'BOOLEAN',
24
+ };
@@ -18,3 +18,4 @@
18
18
  */
19
19
  export * from './database-migration.mjs';
20
20
  export * from './message-broker.mjs';
21
+ export * from './feign-client.mjs';
@@ -10,52 +10,52 @@ LABEL ALIAS=jhipster-control-center
10
10
  FROM jhipster/consul-config-loader:v0.4.1
11
11
  LABEL ALIAS=consul-config-loader
12
12
 
13
- FROM postgres:16.0
13
+ FROM postgres:16.1
14
14
  LABEL ALIAS=postgresql
15
15
 
16
- FROM quay.io/keycloak/keycloak:22.0.4
16
+ FROM quay.io/keycloak/keycloak:23.0.1
17
17
  LABEL ALIAS=keycloak
18
18
 
19
- FROM mysql:8.1.0
19
+ FROM mysql:8.2.0
20
20
 
21
- FROM mariadb:11.1.2
21
+ FROM mariadb:11.2.2
22
22
 
23
- FROM mongo:7.0.2
23
+ FROM mongo:7.0.4
24
24
  LABEL ALIAS=mongodb
25
25
 
26
- FROM couchbase/server:7.2.2
26
+ FROM couchbase/server:7.2.3
27
27
  LABEL ALIAS=couchbase
28
28
 
29
- FROM cassandra:3.11.14
29
+ FROM cassandra:4.1.3
30
30
 
31
31
  FROM mcr.microsoft.com/mssql/server:2019-CU16-GDR1-ubuntu-20.04
32
32
  LABEL ALIAS=mssql
33
33
 
34
- FROM neo4j:5.12.0
34
+ FROM neo4j:5.14.0
35
35
 
36
- FROM hazelcast/management-center:5.3.2
36
+ FROM hazelcast/management-center:5.3.3
37
37
  LABEL ALIAS=hazelcast
38
38
 
39
- FROM memcached:1.6.21-alpine
39
+ FROM memcached:1.6.22-alpine
40
40
 
41
- FROM redis:7.2.1
41
+ FROM redis:7.2.3
42
42
 
43
- FROM confluentinc/cp-kafka:7.5.1
43
+ FROM confluentinc/cp-kafka:7.5.2
44
44
  LABEL ALIAS=kafka
45
45
 
46
- FROM confluentinc/cp-zookeeper:7.5.1
46
+ FROM confluentinc/cp-zookeeper:7.5.2
47
47
  LABEL ALIAS=zookeeper
48
48
 
49
- FROM apachepulsar/pulsar:3.0.1
49
+ FROM apachepulsar/pulsar:3.1.1
50
50
  LABEL ALIAS=pulsar
51
51
 
52
- FROM sonarqube:10.2.1-community
52
+ FROM sonarqube:10.3.0-community
53
53
  LABEL ALIAS=sonar
54
54
 
55
- FROM docker.io/bitnami/consul:1.16.2
55
+ FROM docker.io/bitnami/consul:1.17.0
56
56
  LABEL ALIAS=consul
57
57
 
58
- FROM prom/prometheus:v2.47.2
58
+ FROM prom/prometheus:v2.48.0
59
59
  LABEL ALIAS=prometheus
60
60
 
61
61
  FROM prom/alertmanager:v0.26.0
@@ -64,7 +64,7 @@ LABEL ALIAS=prometheus-alertmanager
64
64
  FROM quay.io/coreos/prometheus-operator:v0.42.1
65
65
  LABEL ALIAS=prometheus-operator
66
66
 
67
- FROM grafana/grafana:10.1.5
67
+ FROM grafana/grafana:10.2.2
68
68
  LABEL ALIAS=grafana
69
69
 
70
70
  FROM quay.io/coreos/grafana-watcher:v0.0.8
@@ -79,5 +79,5 @@ LABEL ALIAS=java-jre
79
79
  FROM swaggerapi/swagger-editor:latest
80
80
  LABEL ALIAS=swagger-editor
81
81
 
82
- FROM openzipkin/zipkin:2.24
82
+ FROM openzipkin/zipkin:3.0
83
83
  LABEL ALIAS=zipkin
@@ -3,16 +3,16 @@ gradle-git-properties = { id = 'com.gorylenko.gradle-git-properties', version =
3
3
 
4
4
  node-gradle = { id = 'com.github.node-gradle.node', version = '7.0.1' }
5
5
 
6
- gradle-liquibase = { id = 'org.liquibase.gradle', version = '2.2.0' }
6
+ gradle-liquibase = { id = 'org.liquibase.gradle', version = '2.2.1' }
7
7
 
8
8
  gradle-sonarqube = { id = 'org.sonarqube', version = '4.4.1.3373' }
9
9
 
10
- spotless-gradle-plugin = { id = 'com.diffplug.spotless', version = '6.22.0' }
10
+ spotless-gradle-plugin = { id = 'com.diffplug.spotless', version = '6.23.3' }
11
11
 
12
12
  gradle-modernizer-plugin = { id = 'com.github.andygoossens.gradle-modernizer-plugin', version = '1.9.0' }
13
13
 
14
- gradle-enterprise = { id = 'com.gradle.enterprise', version = '3.15.1' }
14
+ gradle-enterprise = { id = 'com.gradle.enterprise', version = '3.16' }
15
15
 
16
- common-custom-user-data-gradle-plugin = { id = 'com.gradle.common-custom-user-data-gradle-plugin', version = '1.11.3' }
16
+ common-custom-user-data-gradle-plugin = { id = 'com.gradle.common-custom-user-data-gradle-plugin', version = '1.12.1' }
17
17
 
18
18
  gatling-gradle = { id = 'io.gatling.gradle', version = '3.9.5.6' }
@@ -8,54 +8,54 @@
8
8
 
9
9
  <properties>
10
10
  <!-- Dependency versions -->
11
- <archunit-junit5.version>1.1.0</archunit-junit5.version>
11
+ <archunit-junit5.version>1.2.1</archunit-junit5.version>
12
12
  <awaitility.version>4.2.0</awaitility.version>
13
13
  <blockhound-junit-platform.version>1.0.8.RELEASE</blockhound-junit-platform.version>
14
14
  <commons-beanutils.version>1.9.4</commons-beanutils.version>
15
15
  <gatling.version>3.9.5</gatling.version>
16
16
  <h2.version>2.2.224</h2.version>
17
17
  <hazelcast-hibernate53.version>5.1.0</hazelcast-hibernate53.version>
18
- <hazelcast-spring.version>5.3.2</hazelcast-spring.version>
18
+ <hazelcast-spring.version>5.3.6</hazelcast-spring.version>
19
19
  <jackson-databind-nullable.version>0.2.6</jackson-databind-nullable.version>
20
- <jaxb-runtime.version>4.0.3</jaxb-runtime.version>
21
- <junit-platform-launcher.version>1.10.0</junit-platform-launcher.version>
20
+ <jaxb-runtime.version>4.0.4</jaxb-runtime.version>
21
+ <junit-platform-launcher.version>1.10.1</junit-platform-launcher.version>
22
22
  <liquibase.version>4.24.0</liquibase.version>
23
23
  <mapstruct.version>1.5.5.Final</mapstruct.version>
24
- <micrometer-context-propagation.version>1.0.6</micrometer-context-propagation.version>
24
+ <micrometer-context-propagation.version>1.1.0</micrometer-context-propagation.version>
25
25
  <picocli.version>4.7.5</picocli.version>
26
26
  <spring-pulsar.version>0.2.0</spring-pulsar.version>
27
- <typesafe.version>1.4.2</typesafe.version>
27
+ <typesafe.version>1.4.3</typesafe.version>
28
28
  <validation-api.version>3.0.2</validation-api.version>
29
29
 
30
30
  <!-- Plugin versions -->
31
- <checkstyle.version>10.12.4</checkstyle.version>
31
+ <checkstyle.version>10.12.5</checkstyle.version>
32
32
  <checksum-maven-plugin.version>1.11</checksum-maven-plugin.version>
33
- <frontend-maven-plugin.version>1.14.0</frontend-maven-plugin.version>
33
+ <frontend-maven-plugin.version>1.15.0</frontend-maven-plugin.version>
34
34
  <gatling-maven-plugin.version>4.6.0</gatling-maven-plugin.version>
35
- <git-commit-id-maven-plugin.version>6.0.0</git-commit-id-maven-plugin.version>
35
+ <git-commit-id-maven-plugin.version>7.0.0</git-commit-id-maven-plugin.version>
36
36
  <jib-maven-plugin.version>3.4.0</jib-maven-plugin.version>
37
37
  <lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
38
- <jacoco-maven-plugin.version>0.8.10</jacoco-maven-plugin.version>
38
+ <jacoco-maven-plugin.version>0.8.11</jacoco-maven-plugin.version>
39
39
  <maven-antrun-plugin.version>3.1.0</maven-antrun-plugin.version>
40
- <maven-checkstyle-plugin.version>3.3.0</maven-checkstyle-plugin.version>
41
- <maven-clean-plugin.version>3.3.1</maven-clean-plugin.version>
40
+ <maven-checkstyle-plugin.version>3.3.1</maven-checkstyle-plugin.version>
41
+ <maven-clean-plugin.version>3.3.2</maven-clean-plugin.version>
42
42
  <maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
43
43
  <maven-eclipse-plugin.version>2.10</maven-eclipse-plugin.version>
44
44
  <maven-enforcer-plugin.version>3.4.1</maven-enforcer-plugin.version>
45
- <maven-failsafe-plugin.version>3.1.2</maven-failsafe-plugin.version>
45
+ <maven-failsafe-plugin.version>3.2.2</maven-failsafe-plugin.version>
46
46
  <maven-idea-plugin.version>2.2.1</maven-idea-plugin.version>
47
47
  <maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
48
- <maven-javadoc-plugin.version>3.6.0</maven-javadoc-plugin.version>
48
+ <maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version>
49
49
  <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
50
50
  <maven-site-plugin.version>3.12.1</maven-site-plugin.version>
51
- <maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version>
51
+ <maven-surefire-plugin.version>3.2.2</maven-surefire-plugin.version>
52
52
  <maven-war-plugin.version>3.4.0</maven-war-plugin.version>
53
53
  <modernizer-maven-plugin.version>2.7.0</modernizer-maven-plugin.version>
54
54
  <nohttp-checkstyle.version>0.0.11</nohttp-checkstyle.version>
55
- <openapi-generator-maven-plugin.version>7.0.1</openapi-generator-maven-plugin.version>
56
- <properties-maven-plugin.version>1.2.0</properties-maven-plugin.version>
55
+ <openapi-generator-maven-plugin.version>7.1.0</openapi-generator-maven-plugin.version>
56
+ <properties-maven-plugin.version>1.2.1</properties-maven-plugin.version>
57
57
  <sonar-maven-plugin.version>3.10.0.2594</sonar-maven-plugin.version>
58
- <spotless-maven-plugin.version>2.40.0</spotless-maven-plugin.version>
58
+ <spotless-maven-plugin.version>2.41.1</spotless-maven-plugin.version>
59
59
  </properties>
60
60
 
61
61
  <dependencyManagement>