generator-jhipster 8.4.0 → 8.5.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 (270) hide show
  1. package/dist/generators/angular/resources/package.json +10 -10
  2. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +2 -2
  3. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +3 -6
  4. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +2 -2
  5. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +3 -6
  6. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +3 -6
  7. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +11 -11
  8. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +0 -2
  9. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/user-route-access.service.ts.ejs +1 -1
  10. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +0 -3
  11. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +2 -2
  12. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +2 -2
  13. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +3 -3
  14. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +11 -17
  15. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +3 -3
  16. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +2 -2
  17. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -4
  18. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +2 -2
  19. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +10 -8
  20. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +3 -8
  21. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +6 -2
  22. package/dist/generators/app/generator.js +4 -13
  23. package/dist/generators/base/generator.js +15 -16
  24. package/dist/generators/base/priorities.js +12 -1
  25. package/dist/generators/base-application/generator.js +14 -2
  26. package/dist/generators/base-application/priorities.js +1 -0
  27. package/dist/generators/base-application/support/prepare-entity.js +7 -8
  28. package/dist/generators/base-application/support/prepare-relationship.js +3 -2
  29. package/dist/generators/base-core/generator.js +40 -9
  30. package/dist/generators/bootstrap-application-base/generator.js +7 -3
  31. package/dist/generators/bootstrap-application-server/generator.js +1 -0
  32. package/dist/generators/client/command.js +2 -2
  33. package/dist/generators/client/generators/common/command.js +5 -0
  34. package/dist/generators/client/generators/common/generator.js +79 -0
  35. package/dist/generators/client/generators/common/index.js +20 -0
  36. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/headers.ts.ejs +57 -0
  37. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/problem-details.ts.ejs +51 -0
  38. package/dist/generators/client/resources/package.json +4 -4
  39. package/dist/generators/common/generator.js +5 -0
  40. package/dist/generators/common/resources/package.json +2 -2
  41. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +4 -4
  42. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/password-page.cy.ts.ejs +2 -2
  43. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/register-page.cy.ts.ejs +1 -1
  44. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/reset-password-page.cy.ts.ejs +1 -1
  45. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +10 -10
  46. package/dist/generators/docker/templates/docker/mysql.yml.ejs +1 -1
  47. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +14 -3
  48. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +14 -3
  49. package/dist/generators/entity/generator.js +2 -10
  50. package/dist/generators/entity/prompts.js +6 -11
  51. package/dist/generators/gatling/README.md +15 -0
  52. package/dist/generators/gatling/templates/src/test/java/gatling/simulations/_entityClass_GatlingTest.java.ejs +2 -10
  53. package/dist/generators/generate-blueprint/command.js +16 -0
  54. package/dist/generators/generate-blueprint/files.js +8 -0
  55. package/dist/generators/generate-blueprint/generator.js +17 -10
  56. package/dist/generators/generate-blueprint/resources/package.json +1 -1
  57. package/dist/generators/generate-blueprint/templates/.blueprint/cli/commands.mjs.ejs +6 -0
  58. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +20 -0
  59. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +9 -13
  60. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/build-matrix.mjs.ejs +22 -0
  61. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +24 -0
  62. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/index.mjs.ejs +1 -0
  63. package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +2 -2
  64. package/dist/generators/generate-blueprint/templates/README.md.ejs +16 -8
  65. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -0
  66. package/dist/generators/generator-constants.js +1 -1
  67. package/dist/generators/info/generator.js +1 -3
  68. package/dist/generators/init/generator.js +2 -2
  69. package/dist/generators/init/resources/.node-version +1 -1
  70. package/dist/generators/java/generators/build-tool/command.js +4 -1
  71. package/dist/generators/java/generators/domain/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +1 -5
  72. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +3 -3
  73. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +3 -3
  74. package/dist/generators/java/support/add-java-annotation.js +28 -7
  75. package/dist/generators/java/support/generated-annotation-transform.js +1 -1
  76. package/dist/generators/java/support/index.js +1 -1
  77. package/dist/generators/jdl/generator.js +1 -1
  78. package/dist/generators/kubernetes/files.js +1 -1
  79. package/dist/generators/kubernetes/templates/db/mysql.yml.ejs +0 -1
  80. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +14 -3
  81. package/dist/generators/languages/generator.js +4 -2
  82. package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +2 -2
  83. package/dist/generators/maven/templates/mvnw +185 -243
  84. package/dist/generators/maven/templates/mvnw.cmd +121 -180
  85. package/dist/generators/react/generator.js +10 -0
  86. package/dist/generators/react/resources/package.json +24 -24
  87. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +1 -1
  88. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.ts.ejs +1 -1
  89. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.spec.ts.ejs +1 -1
  90. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.ts.ejs +80 -87
  91. package/dist/generators/react/templates/src/main/webapp/app/config/store.ts.ejs +1 -1
  92. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +3 -3
  93. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +12 -7
  94. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +2 -3
  95. package/dist/generators/server/command.js +0 -11
  96. package/dist/generators/server/generator.js +9 -70
  97. package/dist/generators/server/jdl/application-definition.js +3 -1
  98. package/dist/generators/server/resources/Dockerfile +12 -12
  99. package/dist/generators/server/resources/gradle/libs.versions.toml +7 -5
  100. package/dist/generators/server/resources/pom.xml +7 -7
  101. package/dist/generators/server/support/config.js +4 -8
  102. package/dist/generators/server/support/prepare-entity.js +5 -6
  103. package/dist/generators/server/support/relationship.js +5 -2
  104. package/dist/generators/server/templates/build.gradle.ejs +5 -3
  105. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -0
  106. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +1 -0
  107. package/dist/generators/server/templates/gradle.properties.ejs +1 -1
  108. package/dist/generators/server/templates/pom.xml.ejs +7 -5
  109. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +1 -1
  110. package/dist/generators/server/templates/src/main/java/_package_/config/Constants.java.ejs +0 -2
  111. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +1 -18
  112. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +1 -15
  113. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +0 -20
  114. package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +65 -5
  115. package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +23 -0
  116. package/dist/generators/server/templates/src/main/java/_package_/service/mapper/UserMapper.java.ejs +8 -4
  117. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +43 -9
  118. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +59 -21
  119. package/dist/generators/server/templates/src/main/resources/swagger/api.yml.ejs +1 -1
  120. package/dist/generators/server/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +31 -13
  121. package/dist/generators/server/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +84 -17
  122. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +62 -6
  123. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +22 -0
  124. package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +20 -10
  125. package/dist/generators/spring-boot/command.js +117 -6
  126. package/dist/generators/spring-boot/files.js +0 -5
  127. package/dist/generators/spring-boot/generator.js +40 -7
  128. package/dist/generators/spring-boot/prompts.js +6 -70
  129. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +368 -576
  130. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +47 -11
  131. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +60 -24
  132. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +195 -318
  133. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +58 -51
  134. package/dist/generators/spring-cache/internal/dependencies.js +2 -2
  135. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  136. package/dist/generators/spring-cloud/generators/gateway/command.js +5 -1
  137. package/dist/generators/spring-cloud/generators/gateway/generator.js +13 -0
  138. package/dist/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.js +6 -0
  139. package/dist/generators/spring-data-cassandra/generator.js +2 -2
  140. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +3 -1
  141. package/dist/generators/vue/resources/package.json +15 -15
  142. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.spec.ts.ejs +1 -1
  143. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +1 -1
  144. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +1 -1
  145. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +1 -1
  146. package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.spec.ts.ejs +8 -8
  147. package/dist/generators/vue/templates/src/main/webapp/app/shared/data/data-utils.service.spec.ts.ejs +1 -1
  148. package/dist/generators/vue/templates/tsconfig.app.json.ejs +1 -1
  149. package/dist/generators/vue/templates/vite.config.mts.ejs +5 -4
  150. package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -1
  151. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +4 -4
  152. package/dist/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.js +9 -9
  153. package/dist/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.js +2 -2
  154. package/dist/jdl/converters/json-to-jdl-application-converter.js +1 -1
  155. package/dist/jdl/converters/json-to-jdl-converter.js +6 -5
  156. package/dist/jdl/converters/json-to-jdl-entity-converter.js +14 -14
  157. package/dist/jdl/converters/json-to-jdl-option-converter.js +1 -2
  158. package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -1
  159. package/dist/jdl/converters/parsed-jdl-to-jdl-object/option-converter.js +2 -2
  160. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +7 -6
  161. package/dist/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.js +1 -1
  162. package/dist/jdl/exporters/applications/jhipster-application-formatter.js +16 -23
  163. package/dist/jdl/exporters/config.js +1 -0
  164. package/dist/jdl/exporters/jhipster-deployment-exporter.js +5 -5
  165. package/dist/jdl/exporters/jhipster-entity-exporter.js +1 -1
  166. package/dist/jdl/jdl-importer.js +22 -20
  167. package/dist/jdl/jhipster/binary-options.js +12 -8
  168. package/dist/jdl/jhipster/json-entity.js +1 -1
  169. package/dist/jdl/models/abstract-jdl-option.js +2 -2
  170. package/dist/jdl/models/jdl-application-configuration-factory.js +2 -0
  171. package/dist/jdl/models/jdl-binary-option.js +2 -2
  172. package/dist/jdl/models/jdl-deployment.js +11 -0
  173. package/dist/jdl/models/jdl-entity.js +1 -1
  174. package/dist/jdl/models/jdl-enum.js +1 -1
  175. package/dist/jdl/models/jdl-enums.js +0 -18
  176. package/dist/jdl/models/jdl-field.js +2 -2
  177. package/dist/jdl/models/jdl-object-wrapper.js +1 -0
  178. package/dist/jdl/models/jdl-object.js +23 -45
  179. package/dist/jdl/models/jdl-options.js +0 -18
  180. package/dist/jdl/models/jdl-relationships.js +8 -16
  181. package/dist/jdl/models/jdl-unary-option.js +1 -1
  182. package/dist/jdl/models/list-jdl-application-configuration-option.js +5 -2
  183. package/dist/jdl/parsing/jdl-ast-builder-visitor.js +12 -0
  184. package/dist/jdl/parsing/jdl-parser.js +14 -0
  185. package/dist/jdl/parsing/lexer/lexer.js +17 -11
  186. package/dist/jdl/parsing/validator.js +16 -2
  187. package/dist/jdl/readers/json-reader.js +1 -1
  188. package/dist/jdl/utils/array-utils.js +6 -0
  189. package/dist/jdl/utils/set-utils.js +3 -2
  190. package/dist/jdl/validators/jdl-without-application-validator.js +2 -2
  191. package/dist/testing/helpers.js +4 -0
  192. package/dist/types/generators/base/api.d.ts +5 -1
  193. package/dist/types/generators/base/generator.d.ts +10 -4
  194. package/dist/types/generators/base/priorities.d.ts +4 -0
  195. package/dist/types/generators/base/shared-data.d.ts +1 -1
  196. package/dist/types/generators/base-application/priorities.d.ts +2 -0
  197. package/dist/types/generators/base-application/support/entity.d.ts +2 -2
  198. package/dist/types/generators/base-application/support/prepare-entity.d.ts +3 -3
  199. package/dist/types/generators/base-application/support/relationship.d.ts +5 -5
  200. package/dist/types/generators/base-core/generator.d.ts +16 -1
  201. package/dist/types/generators/generator-constants.d.ts +1 -1
  202. package/dist/types/generators/java/support/add-java-annotation.d.ts +10 -20
  203. package/dist/types/generators/java/support/doc.d.ts +1 -1
  204. package/dist/types/generators/java/support/index.d.ts +1 -1
  205. package/dist/types/generators/server/support/relationship.d.ts +2 -2
  206. package/dist/types/generators/server/types.d.ts +5 -0
  207. package/dist/types/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.d.ts +2 -0
  208. package/dist/types/generators/spring-cloud/generators/gateway/types.d.ts +4 -0
  209. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +2 -2
  210. package/dist/types/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.d.ts +2 -1
  211. package/dist/types/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.d.ts +3 -1
  212. package/dist/types/jdl/converters/json-to-jdl-application-converter.d.ts +9 -2
  213. package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +3 -3
  214. package/dist/types/jdl/converters/json-to-jdl-entity-converter.d.ts +2 -4
  215. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/application-converter.d.ts +3 -1
  216. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/deployment-converter.d.ts +2 -1
  217. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.d.ts +3 -1
  218. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.d.ts +2 -1
  219. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/field-converter.d.ts +2 -1
  220. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +3 -3
  221. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.d.ts +2 -1
  222. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.d.ts +2 -1
  223. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/types.d.ts +110 -0
  224. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.d.ts +2 -1
  225. package/dist/types/jdl/converters/types.d.ts +102 -14
  226. package/dist/types/jdl/exporters/applications/jhipster-application-formatter.d.ts +4 -4
  227. package/dist/types/jdl/exporters/config.d.ts +2 -1
  228. package/dist/types/jdl/exporters/export-utils.d.ts +2 -1
  229. package/dist/types/jdl/exporters/jdl-exporter.d.ts +2 -1
  230. package/dist/types/jdl/exporters/jhipster-deployment-exporter.d.ts +3 -1
  231. package/dist/types/jdl/exporters/jhipster-entity-exporter.d.ts +3 -1
  232. package/dist/types/jdl/exporters/types.d.ts +61 -0
  233. package/dist/types/jdl/jhipster/binary-options.d.ts +8 -26
  234. package/dist/types/jdl/jhipster/field-types.d.ts +2 -2
  235. package/dist/types/jdl/jhipster/json-entity.d.ts +2 -2
  236. package/dist/types/jdl/models/abstract-jdl-option.d.ts +14 -9
  237. package/dist/types/jdl/models/boolean-jdl-application-configuration-option.d.ts +1 -1
  238. package/dist/types/jdl/models/integer-jdl-application-configuration-option.d.ts +1 -1
  239. package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +1 -1
  240. package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +4 -4
  241. package/dist/types/jdl/models/jdl-application-configuration.d.ts +4 -4
  242. package/dist/types/jdl/models/jdl-application-definition.d.ts +4 -4
  243. package/dist/types/jdl/models/jdl-application-entities.d.ts +4 -4
  244. package/dist/types/jdl/models/jdl-application.d.ts +16 -13
  245. package/dist/types/jdl/models/jdl-binary-option.d.ts +5 -3
  246. package/dist/types/jdl/models/jdl-deployment.d.ts +13 -1
  247. package/dist/types/jdl/models/jdl-entity.d.ts +5 -5
  248. package/dist/types/jdl/models/jdl-enum-value.d.ts +4 -4
  249. package/dist/types/jdl/models/jdl-enum.d.ts +9 -5
  250. package/dist/types/jdl/models/jdl-enums.d.ts +6 -5
  251. package/dist/types/jdl/models/jdl-field.d.ts +10 -8
  252. package/dist/types/jdl/models/jdl-object-wrapper.d.ts +25 -0
  253. package/dist/types/jdl/models/jdl-object.d.ts +23 -19
  254. package/dist/types/jdl/models/jdl-options.d.ts +7 -24
  255. package/dist/types/jdl/models/jdl-relationship.d.ts +16 -10
  256. package/dist/types/jdl/models/jdl-relationships.d.ts +5 -5
  257. package/dist/types/jdl/models/jdl-validation.d.ts +3 -3
  258. package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +4 -3
  259. package/dist/types/jdl/models/string-jdl-application-configuration-option.d.ts +2 -2
  260. package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +1 -0
  261. package/dist/types/jdl/parsing/jdl-parser.d.ts +1 -0
  262. package/dist/types/jdl/parsing/jdl-parsing-types.d.ts +23 -0
  263. package/dist/types/jdl/parsing/lexer/lexer.d.ts +6 -2
  264. package/dist/types/jdl/parsing/validator.d.ts +1 -1
  265. package/dist/types/jdl/utils/array-utils.d.ts +1 -0
  266. package/dist/types/jdl/utils/set-utils.d.ts +1 -19
  267. package/dist/types/jdl/validators/deployment-validator.d.ts +2 -1
  268. package/dist/types/testing/helpers.d.ts +13 -3
  269. package/package.json +24 -23
  270. /package/dist/jdl/converters/{types.js → parsed-jdl-to-jdl-object/types.js} +0 -0
@@ -16,23 +16,47 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
-
20
19
  <%_ if (enableTranslation) { _%>
21
20
  import { translate } from 'react-jhipster';
22
21
  <%_ } _%>
23
22
  import { toast } from 'react-toastify';
24
23
  import { isFulfilledAction, isRejectedAction } from 'app/shared/reducers/reducer.utils';
25
- import { AxiosError, AxiosHeaderValue } from 'axios';
24
+ import { isAxiosError } from 'axios';
25
+ import { FieldErrorVM, isProblemWithMessage } from 'app/shared/jhipster/problem-details';
26
+ import { getMessageFromHeaders } from 'app/shared/jhipster/headers';
27
+
28
+ type TostMessage = {
29
+ message?: string;
30
+ <%_ if (enableTranslation) { _%>
31
+ key?: string;
32
+ data?: any;
33
+ <%_ } _%>
34
+ };
26
35
 
27
- const addErrorAlert = (message, key?, data?) => {
36
+ const addErrorAlert = (message: TostMessage) => {
28
37
  <%_ if (enableTranslation) { _%>
29
- key = key ? key : message;
30
- toast.error(translate(key, data));
38
+ toast.error(message.key ? translate(message.key, message.data) ?? message.message : message.message);
31
39
  <%_ } else { _%>
32
- toast.error(message);
40
+ toast.error(message.message);
33
41
  <%_ } _%>
34
42
  };
35
43
 
44
+ const getFieldErrorsTosts = (fieldErrors: FieldErrorVM[]): TostMessage[] =>
45
+ fieldErrors.map(fieldError => {
46
+ if (['Min', 'Max', 'DecimalMin', 'DecimalMax'].includes(fieldError.message)) {
47
+ fieldError.message = 'Size';
48
+ }
49
+ // convert 'something[14].other[4].id' to 'something[].other[].id' so translations can be written to it
50
+ const convertedField = fieldError.field.replace(/\[\d*\]/g, '[]');
51
+ <%_ if (enableTranslation) { _%>
52
+ const fieldName = translate(`<%= frontendAppName %>.${fieldError.objectName}.${convertedField}`);
53
+ return { message: `Error on field "${fieldName}"`, key: `error.${fieldError.message}`, data: { fieldName } };
54
+ <%_ } else { _%>
55
+ const fieldName = convertedField.charAt(0).toUpperCase() + convertedField.slice(1);
56
+ return { message: `Error on field "${fieldName}"` };
57
+ <%_ } _%>
58
+ });
59
+
36
60
  export default () => next => action => {
37
61
  const { error, payload } = action;
38
62
 
@@ -40,103 +64,72 @@ export default () => next => action => {
40
64
  *
41
65
  * The notification middleware serves to add success and error notifications
42
66
  */
43
- if (isFulfilledAction(action) && payload && payload.headers) {
44
- const headers = payload?.headers;
45
- let alert: string | null = null;
46
- <%_ if (enableTranslation) { _%>
47
- let alertParams: string | null = null;
48
- <%_ } _%>
49
- headers && Object.entries<string>(headers).forEach(([k, v]) => {
50
- if (k.toLowerCase().endsWith('app-alert')) {
51
- alert = v;
52
- }<% if (enableTranslation) { %> else if (k.toLowerCase().endsWith('app-params')) {
53
- alertParams = decodeURIComponent(v.replace(/\+/g, ' '));
54
- }<% } %>
55
- });
67
+ if (isFulfilledAction(action) && payload?.headers) {
68
+ const { alert<% if (enableTranslation) { %>, param<% } %> } = getMessageFromHeaders(payload.headers);
56
69
  if (alert) {
57
70
  <%_ if (enableTranslation) { _%>
58
- const alertParam = alertParams;
59
- toast.success(translate(alert, { param: alertParam }));
71
+ toast.success(translate(alert, { param }));
60
72
  <%_ } else { _%>
61
73
  toast.success(alert);
62
74
  <%_ } _%>
63
75
  }
64
76
  }
65
77
 
66
-
67
- if (isRejectedAction(action) && error && error.isAxiosError) {
68
- const axiosError = error as AxiosError;
69
- if (axiosError.response) {
70
- const response = axiosError.response;
71
- const data = response.data as any;
72
- if (
73
- !(
74
- response.status === 401 &&
75
- (axiosError.message === '' || response.config.url === 'api/account' || response.config.url === 'api/authenticate')
76
- )
77
- ) {
78
- switch (response.status) {
79
- // connection refused, server not reachable
80
- case 0:
81
- addErrorAlert('Server not reachable', 'error.server.not.reachable');
82
- break;
83
-
84
- case 400: {
85
- let errorHeader: string | null = null;
86
- let entityKey: string | null = null;
87
- response?.headers &&
88
- Object.entries<AxiosHeaderValue>(response.headers).forEach(([k, v]) => {
89
- if (k.toLowerCase().endsWith('app-error')) {
90
- errorHeader = v as string;
91
- } else if (k.toLowerCase().endsWith('app-params')) {
92
- entityKey = v as string;
93
- }
94
- });
95
- if (errorHeader) {
96
- const entityName = <% if (enableTranslation) { %>translate(
97
- 'global.menu.entities.' + entityKey
98
- )<% } else { %>entityKey<% } %>;
99
- addErrorAlert(errorHeader, errorHeader, { entityName });
100
- } else if (data?.fieldErrors) {
101
- const fieldErrors = data.fieldErrors;
102
- for (const fieldError of fieldErrors) {
103
- if (['Min', 'Max', 'DecimalMin', 'DecimalMax'].includes(fieldError.message)) {
104
- fieldError.message = 'Size';
105
- }
106
- // convert 'something[14].other[4].id' to 'something[].other[].id' so translations can be written to it
107
- const convertedField = fieldError.field.replace(/\[\d*\]/g, '[]');
108
- const fieldName = <% if (enableTranslation) { %>translate(
109
- `<%= frontendAppName %>.${fieldError.objectName}.${convertedField}`
110
- )<% } else { %>convertedField.charAt(0).toUpperCase() + convertedField.slice(1)<% } %>;
111
- addErrorAlert(`Error on field "${fieldName}"`, `error.${fieldError.message}`, { fieldName });
112
- }
113
- } else if (typeof data === 'string' && data !== '') {
114
- addErrorAlert(data);
115
- } else {
116
- toast.error(data?.message || data?.error || data?.title || 'Unknown error!');
117
- }
118
- break;
78
+ if (isRejectedAction(action) && isAxiosError(error)) {
79
+ if (error.response) {
80
+ const response = error.response;
81
+ if (response.status === 401) {
82
+ // Ignore, page will be redirected to login.
83
+ } else if (error.config?.url?.endsWith('api/account') || error.config?.url?.endsWith('api/authenticate')) {
84
+ // Ignore, authentication status check and authentication are treated differently.
85
+ } else if (response.status === 0) {
86
+ // connection refused, server not reachable
87
+ addErrorAlert({
88
+ message: 'Server not reachable',
89
+ <%_ if (enableTranslation) { _%>
90
+ key: 'error.server.not.reachable',
91
+ <%_ } _%>
92
+ });
93
+ } else if (response.status === 404) {
94
+ addErrorAlert({
95
+ message: 'Not found',
96
+ <%_ if (enableTranslation) { _%>
97
+ key: 'error.url.not.found',
98
+ <%_ } _%>
99
+ });
100
+ } else {
101
+ const data = response.data;
102
+ const problem = isProblemWithMessage(data) ? data : null;
103
+ if (problem?.fieldErrors) {
104
+ getFieldErrorsTosts(problem.fieldErrors).forEach(message => addErrorAlert(message));
105
+ } else {
106
+ const { error: toastError<% if (enableTranslation) { %>, param<% } %> } = getMessageFromHeaders((response.headers as any) ?? {});
107
+ if (toastError) {
108
+ <%_ if (enableTranslation) { _%>
109
+ const entityName = translate('global.menu.entities.' + param);
110
+ addErrorAlert({ key: toastError, data: { entityName } });
111
+ <%_ } else { _%>
112
+ addErrorAlert({ message: toastError });
113
+ <%_ } _%>
114
+ <%_ if (enableTranslation) { _%>
115
+ } else if (problem?.message) {
116
+ addErrorAlert({ message: problem.detail, key: problem.message });
117
+ <%_ } _%>
118
+ } else if (typeof data === 'string' && data !== '') {
119
+ addErrorAlert({ message: data });
120
+ } else {
121
+ toast.error(data?.detail ?? data?.message ?? data?.error ?? data?.title ?? 'Unknown error!');
119
122
  }
120
- case 404:
121
- addErrorAlert('Not found', 'error.url.not.found');
122
- break;
123
-
124
- default:
125
- if (typeof data === 'string' && data !== '') {
126
- addErrorAlert(data);
127
- } else {
128
- toast.error(data?.message || data?.error || data?.title || 'Unknown error!');
129
- }
130
123
  }
131
124
  }
132
- } else if (axiosError.config && axiosError.config.url === 'api/account' && axiosError.config.method === 'get') {
125
+ } else if (error.config?.url?.endsWith('api/account') && error.config?.method === 'get') {
133
126
  /* eslint-disable no-console */
134
127
  console.log('Authentication Error: Trying to access url api/account with GET.');
135
128
  } else {
136
- toast.error(error.message || 'Unknown error!');
129
+ addErrorAlert({ message: error.message ?? 'Unknown error!' });
137
130
  }
138
131
  } else if (error) {
139
- toast.error(error.message || 'Unknown error!');
132
+ addErrorAlert({ message: error.message ?? 'Unknown error!' });
140
133
  }
141
134
 
142
135
  return next(action);
@@ -45,7 +45,7 @@ const store = configureStore({
45
45
  getDefaultMiddleware({
46
46
  serializableCheck: {
47
47
  // Ignore these field paths in all actions
48
- ignoredActionPaths: ['payload.config', 'payload.request', 'payload.headers', 'error', 'meta.arg'],
48
+ ignoredActionPaths: ['meta.arg', 'meta.baseQueryMeta', 'payload.config', 'payload.request', 'payload.headers', 'error'],
49
49
  },
50
50
  }).concat(
51
51
  errorMiddleware,
@@ -143,7 +143,7 @@ _%>
143
143
  const entity = {
144
144
  ...<%= entityInstance %>Entity,
145
145
  ...values,
146
- <%_ for (const rel of persistableRelationships) { _%>
146
+ <%_ for (const rel of persistableRelationships.filter(rel => !rel.otherEntity.embedded)) { _%>
147
147
  <%_ if (rel.collection) { _%>
148
148
  <%= rel.propertyName %>: mapIdList(values.<%= rel.propertyName %>),
149
149
  <%_ } else { _%>
@@ -186,7 +186,7 @@ _%>
186
186
  <%= fieldName %>: convertDateTimeFromServer(<%= entityInstance %>Entity.<%= fieldName %>),
187
187
  <%_ } _%>
188
188
  <%_ } _%>
189
- <%_ for (const rel of persistableRelationships) {
189
+ <%_ for (const rel of persistableRelationships.filter(rel => !rel.otherEntity.embedded)) {
190
190
  const otherEntityPkName = rel.otherEntity.primaryKey && rel.otherEntity.primaryKey.name || 'id';
191
191
  const relationshipFieldName = rel.relationshipFieldName;
192
192
  const relationshipFieldNamePlural = rel.relationshipFieldNamePlural;
@@ -297,7 +297,7 @@ _%>
297
297
  </UncontrolledTooltip>
298
298
  <%_ } _%>
299
299
  <%_ } _%>
300
- <%_ for (const rel of persistableRelationships) {
300
+ <%_ for (const rel of persistableRelationships.filter(rel => !rel.otherEntity.embedded)) {
301
301
  const otherEntityPkName = rel.otherEntity.primaryKey && rel.otherEntity.primaryKey.name || 'id';
302
302
  const otherEntityNamePlural = rel.otherEntityNamePlural;
303
303
  const relationshipName = rel.relationshipName;
@@ -63,18 +63,23 @@ export const searchEntities = createAsyncThunk(
63
63
  const requestUrl = `${apiSearchUrl}?query=${query}`;
64
64
  <%_ } _%>
65
65
  return axios.get<I<%= entityReactName %>[]>(requestUrl);
66
- }
66
+ },
67
+ { serializeError: serializeAxiosError },
67
68
  );
68
69
 
69
70
  <%_ } _%>
70
- export const getEntities = createAsyncThunk('<%= entityInstance %>/fetch_entity_list', async ({ <%_ if(!paginationNo) { _%>page, size, <%_ } _%>sort }: IQueryParams) => {
71
+ export const getEntities = createAsyncThunk(
72
+ '<%= entityInstance %>/fetch_entity_list',
73
+ async ({ <%_ if(!paginationNo) { _%>page, size, <%_ } _%>sort }: IQueryParams) => {
71
74
  <%_ if (!paginationNo) { _%>
72
- const requestUrl = `${apiUrl}?${sort ? `page=${page}&size=${size}&sort=${sort}&` : ''}cacheBuster=${new Date().getTime()}`;
75
+ const requestUrl = `${apiUrl}?${sort ? `page=${page}&size=${size}&sort=${sort}&` : ''}cacheBuster=${new Date().getTime()}`;
73
76
  <%_ } else { _%>
74
- const requestUrl = `${apiUrl}?${sort ? `sort=${sort}&` : ''}cacheBuster=${new Date().getTime()}`;
77
+ const requestUrl = `${apiUrl}?${sort ? `sort=${sort}&` : ''}cacheBuster=${new Date().getTime()}`;
75
78
  <%_ } _%>
76
- return axios.get<I<%= entityReactName %>[]>(requestUrl);
77
- });
79
+ return axios.get<I<%= entityReactName %>[]>(requestUrl);
80
+ },
81
+ { serializeError: serializeAxiosError },
82
+ );
78
83
 
79
84
  export const getEntity = createAsyncThunk(
80
85
  '<%= entityInstance %>/fetch_entity',
@@ -82,7 +87,7 @@ export const getEntity = createAsyncThunk(
82
87
  const requestUrl = `${apiUrl}/${id}`;
83
88
  return axios.get<I<%= entityReactName %>>(requestUrl);
84
89
  },
85
- { serializeError: serializeAxiosError }
90
+ { serializeError: serializeAxiosError },
86
91
  );
87
92
 
88
93
  <%_ if (!readOnly) { _%>
@@ -25,7 +25,7 @@ import {
25
25
  SliceCaseReducers,
26
26
  ValidateSliceCaseReducers,
27
27
  } from '@reduxjs/toolkit';
28
- import { AxiosError } from 'axios';
28
+ import { AxiosError, isAxiosError } from 'axios';
29
29
 
30
30
  /**
31
31
  * Model for redux actions with pagination
@@ -69,7 +69,7 @@ const commonErrorProperties: Array<keyof SerializedError> = ['name', 'message',
69
69
  */
70
70
  export const serializeAxiosError = (value: any): AxiosError | SerializedError => {
71
71
  if (typeof value === 'object' && value !== null) {
72
- if (value.isAxiosError) {
72
+ if (isAxiosError(value)) {
73
73
  return value;
74
74
  } else {
75
75
  const simpleError: SerializedError = {};
@@ -143,4 +143,3 @@ export const createEntitySlice = <T, Reducers extends SliceCaseReducers<EntitySt
143
143
  },
144
144
  });
145
145
  };
146
-
@@ -21,12 +21,6 @@ import { GENERATOR_COMMON, GENERATOR_SPRING_BOOT } from '../generator-list.js';
21
21
  import { APPLICATION_TYPE_GATEWAY, APPLICATION_TYPE_MICROSERVICE, APPLICATION_TYPE_MONOLITH } from '../../jdl/index.js';
22
22
  const command = {
23
23
  options: {
24
- authenticationType: {
25
- name: 'auth',
26
- description: 'Provide authentication type for the application when skipping server side generation',
27
- type: String,
28
- scope: 'storage',
29
- },
30
24
  db: {
31
25
  description: 'Provide DB name for the application when skipping server side generation',
32
26
  type: String,
@@ -65,11 +59,6 @@ const command = {
65
59
  type: String,
66
60
  scope: 'storage',
67
61
  },
68
- reactive: {
69
- description: 'Generate a reactive backend',
70
- type: Boolean,
71
- scope: 'storage',
72
- },
73
62
  searchEngine: {
74
63
  description: 'Provide search engine for the application when skipping server side generation',
75
64
  type: String,
@@ -20,14 +20,14 @@
20
20
  /* eslint-disable consistent-return */
21
21
  import { existsSync } from 'fs';
22
22
  import chalk from 'chalk';
23
- import { getDBTypeFromDBValue, buildJavaGet as javaGetCall, javaBeanCase as javaBeanClassNameFormat, buildJavaGetter as javaGetter, buildJavaSetter as javaSetter, getJavaValueGeneratorForType as getJavaValueForType, getPrimaryKeyValue as getPKValue, hibernateSnakeCase, } from './support/index.js';
23
+ import { buildJavaGet as javaGetCall, javaBeanCase as javaBeanClassNameFormat, buildJavaGetter as javaGetter, buildJavaSetter as javaSetter, getJavaValueGeneratorForType as getJavaValueForType, getPrimaryKeyValue as getPKValue, hibernateSnakeCase, } from './support/index.js';
24
24
  import { GENERATOR_COMMON, GENERATOR_SPRING_BOOT } from '../generator-list.js';
25
25
  import BaseApplicationGenerator from '../base-application/index.js';
26
26
  import { packageJson } from '../../lib/index.js';
27
27
  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, JHIPSTER_DEPENDENCIES_VERSION, } from '../generator-constants.js';
28
- import { applicationTypes, authenticationTypes, buildToolTypes, databaseTypes, fieldTypes, entityOptions, validations, reservedKeywords, searchEngineTypes, clientFrameworkTypes, } from '../../jdl/jhipster/index.js';
28
+ import { applicationTypes, buildToolTypes, databaseTypes, fieldTypes, entityOptions, validations, reservedKeywords, searchEngineTypes, clientFrameworkTypes, } from '../../jdl/jhipster/index.js';
29
29
  import { stringifyApplicationData } from '../base-application/support/index.js';
30
- import { createBase64Secret, createSecret, createNeedleCallback, mutateData } from '../base/support/index.js';
30
+ import { createNeedleCallback, mutateData } from '../base/support/index.js';
31
31
  import { isReservedPaginationWords } from '../../jdl/jhipster/reserved-keywords.js';
32
32
  import { loadStoredAppOptions } from '../app/support/index.js';
33
33
  import { isReservedH2Keyword } from '../spring-data-relational/support/h2-reserved-keywords.js';
@@ -36,10 +36,9 @@ const { STRING: TYPE_STRING, INTEGER: TYPE_INTEGER, LONG: TYPE_LONG, BIG_DECIMAL
36
36
  const { SUPPORTED_VALIDATION_RULES } = validations;
37
37
  const { isReservedTableName } = reservedKeywords;
38
38
  const { ANGULAR, REACT, VUE } = clientFrameworkTypes;
39
- const { JWT, OAUTH2, SESSION } = authenticationTypes;
40
39
  const { GRADLE, MAVEN } = buildToolTypes;
41
- const { CASSANDRA, COUCHBASE, MONGODB, NEO4J, SQL, NO: NO_DATABASE } = databaseTypes;
42
- const { MICROSERVICE, GATEWAY } = applicationTypes;
40
+ const { CASSANDRA, SQL, NO: NO_DATABASE } = databaseTypes;
41
+ const { GATEWAY } = applicationTypes;
43
42
  const { NO: NO_SEARCH_ENGINE } = searchEngineTypes;
44
43
  const { CommonDBTypes, RelationalOnlyDBTypes } = fieldTypes;
45
44
  const { INSTANT } = CommonDBTypes;
@@ -86,36 +85,6 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
86
85
  get [BaseApplicationGenerator.PROMPTING]() {
87
86
  return this.delegateTasksToBlueprint(() => this.prompting);
88
87
  }
89
- get configuring() {
90
- return this.asConfiguringTaskGroup({
91
- configuring() {
92
- if (process.env.JHI_WAR === '1') {
93
- this.jhipsterConfig.defaultPackaging = 'war';
94
- }
95
- },
96
- configServerPort() {
97
- if (!this.jhipsterConfig.serverPort && this.jhipsterConfig.applicationIndex) {
98
- this.jhipsterConfig.serverPort = 8080 + this.jhipsterConfig.applicationIndex;
99
- }
100
- },
101
- configure() {
102
- this._configureServer();
103
- },
104
- syncUserWithIdp() {
105
- if (this.jhipsterConfig.syncUserWithIdp === undefined && this.jhipsterConfig.authenticationType === OAUTH2) {
106
- if (this.isJhipsterVersionLessThan('8.1.1')) {
107
- this.jhipsterConfig.syncUserWithIdp = true;
108
- }
109
- }
110
- else if (this.jhipsterConfig.syncUserWithIdp && this.jhipsterConfig.authenticationType !== OAUTH2) {
111
- throw new Error(`syncUserWithIdp is only supported with authenticationType ${OAUTH2}`);
112
- }
113
- },
114
- });
115
- }
116
- get [BaseApplicationGenerator.CONFIGURING]() {
117
- return this.delegateTasksToBlueprint(() => this.configuring);
118
- }
119
88
  get composing() {
120
89
  return this.asComposingTaskGroup({
121
90
  async composeCommand() {
@@ -251,10 +220,12 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
251
220
  // Don't touch the configuration for microservice entities published at gateways
252
221
  !(applicationTypeGateway && entityConfig.microserviceName) &&
253
222
  !application.searchEngineAny &&
254
- !entityConfig.searchEngine) {
223
+ entityConfig.searchEngine !== NO_SEARCH_ENGINE) {
224
+ if (entityConfig.searchEngine) {
225
+ this.log.warn('Search engine is enabled at entity level, but disabled at application level. Search engine will be disabled');
226
+ }
255
227
  // Search engine can only be enabled at entity level and disabled at application level for gateways publishing a microservice entity
256
228
  entityConfig.searchEngine = NO_SEARCH_ENGINE;
257
- this.log.warn('Search engine is enabled at entity level, but disabled at application level. Search engine will be disabled');
258
229
  }
259
230
  },
260
231
  configureModelFiltering({ application, entityConfig }) {
@@ -477,38 +448,6 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
477
448
  get [BaseApplicationGenerator.POST_WRITING]() {
478
449
  return this.delegateTasksToBlueprint(() => this.postWriting);
479
450
  }
480
- _configureServer(config = this.jhipsterConfigWithDefaults, dest = this.jhipsterConfig) {
481
- // Generate JWT secret key if key does not already exist in config
482
- if ((config.authenticationType === JWT || config.applicationType === MICROSERVICE || config.applicationType === GATEWAY) &&
483
- config.jwtSecretKey === undefined) {
484
- dest.jwtSecretKey = createBase64Secret(64, this.options.reproducibleTests);
485
- }
486
- // Generate remember me key if key does not already exist in config
487
- if (config.authenticationType === SESSION && !dest.rememberMeKey) {
488
- dest.rememberMeKey = createSecret();
489
- }
490
- if (config.authenticationType === OAUTH2) {
491
- dest.skipUserManagement = true;
492
- }
493
- if (!config.databaseType && config.prodDatabaseType) {
494
- dest.databaseType = getDBTypeFromDBValue(config.prodDatabaseType);
495
- }
496
- if (!config.devDatabaseType && config.prodDatabaseType) {
497
- dest.devDatabaseType = config.prodDatabaseType;
498
- }
499
- const databaseType = config.databaseType;
500
- if (databaseType === NO_DATABASE) {
501
- dest.devDatabaseType = NO_DATABASE;
502
- dest.prodDatabaseType = NO_DATABASE;
503
- dest.enableHibernateCache = false;
504
- dest.skipUserManagement = true;
505
- }
506
- else if ([MONGODB, NEO4J, COUCHBASE, CASSANDRA].includes(databaseType)) {
507
- dest.devDatabaseType = databaseType;
508
- dest.prodDatabaseType = databaseType;
509
- dest.enableHibernateCache = false;
510
- }
511
- }
512
451
  /**
513
452
  * Validate the entityTableName
514
453
  * @return {true|string} true for a valid value or error message.
@@ -20,11 +20,13 @@ import { upperCase, snakeCase } from 'lodash-es';
20
20
  import databaseMigrationOption from '../options/database-migration.js';
21
21
  import messageBrokerOption from '../options/message-broker.js';
22
22
  import { feignClientDefinition, syncUserWithIdpDefinition } from '../options/index.js';
23
+ import { jdlRoutesOptions } from '../../spring-cloud/generators/gateway/jdl/jdl-routes-option.js';
23
24
  const jdlOptions = [
24
25
  databaseMigrationOption,
25
26
  messageBrokerOption,
26
27
  feignClientDefinition,
27
28
  syncUserWithIdpDefinition,
29
+ jdlRoutesOptions,
28
30
  ];
29
31
  const applicationConfig = {
30
32
  tokenConfigs: jdlOptions.map(option => ({
@@ -45,7 +47,7 @@ const applicationConfig = {
45
47
  optionsTypes: Object.fromEntries(jdlOptions.map(option => [
46
48
  option.name,
47
49
  {
48
- type: messageBrokerOption.type,
50
+ type: option.type,
49
51
  },
50
52
  ])),
51
53
  };
@@ -10,13 +10,13 @@ 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.2
13
+ FROM postgres:16.3
14
14
  LABEL ALIAS=postgresql
15
15
 
16
- FROM quay.io/keycloak/keycloak:24.0.3
16
+ FROM quay.io/keycloak/keycloak:24.0.4
17
17
  LABEL ALIAS=keycloak
18
18
 
19
- FROM mysql:8.3.0
19
+ FROM mysql:8.4.0
20
20
 
21
21
  FROM mariadb:11.3.2
22
22
 
@@ -31,14 +31,14 @@ FROM cassandra:5.0
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.19.0
34
+ FROM neo4j:5.20.0
35
35
 
36
36
  FROM hazelcast/management-center:5.4.1
37
37
  LABEL ALIAS=hazelcast
38
38
 
39
- FROM memcached:1.6.26-alpine
39
+ FROM memcached:1.6.27-alpine
40
40
 
41
- FROM redis:7.2.4
41
+ FROM redis:7.2.5
42
42
 
43
43
  FROM confluentinc/cp-kafka:7.6.1
44
44
  LABEL ALIAS=kafka
@@ -46,16 +46,16 @@ LABEL ALIAS=kafka
46
46
  FROM confluentinc/cp-zookeeper:7.6.1
47
47
  LABEL ALIAS=zookeeper
48
48
 
49
- FROM apachepulsar/pulsar:3.2.2
49
+ FROM apachepulsar/pulsar:3.2.3
50
50
  LABEL ALIAS=pulsar
51
51
 
52
- FROM sonarqube:10.5.0-community
52
+ FROM sonarqube:10.5.1-community
53
53
  LABEL ALIAS=sonar
54
54
 
55
- FROM docker.io/bitnami/consul:1.18.1
55
+ FROM docker.io/bitnami/consul:1.18.2
56
56
  LABEL ALIAS=consul
57
57
 
58
- FROM prom/prometheus:v2.51.2
58
+ FROM prom/prometheus:v2.52.0
59
59
  LABEL ALIAS=prometheus
60
60
 
61
61
  FROM prom/alertmanager:v0.27.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.4.2
67
+ FROM grafana/grafana:11.0.0
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:3.3
82
+ FROM openzipkin/zipkin:3.4
83
83
  LABEL ALIAS=zipkin
@@ -1,5 +1,5 @@
1
1
  [libraries]
2
- spring-cloud-dependencies = { module = 'org.springframework.cloud:spring-cloud-dependencies', version = '2023.0.1' }
2
+ spring-cloud-dependencies = { module = 'org.springframework.cloud:spring-cloud-dependencies', version = '2023.0.2' }
3
3
 
4
4
  springdoc = { module = 'org.springdoc:springdoc-openapi-starter-webmvc-api', version = '2.5.0' }
5
5
 
@@ -7,11 +7,11 @@ feign-reactor-bom = { module = 'com.playtika.reactivefeign:feign-reactor-bom', v
7
7
 
8
8
  # Cucumber
9
9
  testng = { module = 'org.testng:testng', version = '7.10.2' }
10
- cucumber-bom = { module = 'io.cucumber:cucumber-bom', version = '7.17.0' }
10
+ cucumber-bom = { module = 'io.cucumber:cucumber-bom', version = '7.18.0' }
11
11
 
12
12
  mongock-bom = { module = 'io.mongock:mongock-bom', version = '5.4.2' }
13
13
 
14
- neo4j-migrations-spring-boot-starter = { module = 'eu.michael-simons.neo4j:neo4j-migrations-spring-boot-starter', version = '2.10.0' }
14
+ neo4j-migrations-spring-boot-starter = { module = 'eu.michael-simons.neo4j:neo4j-migrations-spring-boot-starter', version = '2.10.1' }
15
15
 
16
16
  # Cassandra
17
17
  lz4-java = { module = 'org.lz4:lz4-java', version = '1.8.0' }
@@ -29,8 +29,10 @@ spotless-gradle-plugin = { id = 'com.diffplug.spotless', version = '6.25.0' }
29
29
 
30
30
  gradle-modernizer-plugin = { id = 'com.github.andygoossens.gradle-modernizer-plugin', version = '1.9.2' }
31
31
 
32
- gradle-enterprise = { id = 'com.gradle.enterprise', version = '3.17.2' }
32
+ gradle-enterprise = { id = 'com.gradle.enterprise', version = '3.17.4' }
33
33
 
34
34
  common-custom-user-data-gradle-plugin = { id = 'com.gradle.common-custom-user-data-gradle-plugin', version = '2.0.1' }
35
35
 
36
- gatling-gradle = { id = 'io.gatling.gradle', version = '3.11.1' }
36
+ gatling-gradle = { id = 'io.gatling.gradle', version = '3.11.3' }
37
+
38
+ gradle-openapi-generator = { id = 'org.openapi.generator', version = '7.5.0' }
@@ -11,17 +11,17 @@
11
11
  <archunit-junit5.version>1.3.0</archunit-junit5.version>
12
12
  <blockhound-junit-platform.version>1.0.9.RELEASE</blockhound-junit-platform.version>
13
13
  <commons-beanutils.version>1.9.4</commons-beanutils.version>
14
- <gatling.version>3.11.1</gatling.version>
14
+ <gatling.version>3.11.3</gatling.version>
15
15
  <jackson-databind-nullable.version>0.2.6</jackson-databind-nullable.version>
16
16
  <mapstruct.version>1.5.5.Final</mapstruct.version>
17
17
  <micrometer-context-propagation.version>1.1.1</micrometer-context-propagation.version>
18
- <picocli.version>4.7.5</picocli.version>
18
+ <picocli.version>4.7.6</picocli.version>
19
19
 
20
20
  <!-- Plugin versions -->
21
- <checkstyle.version>10.16.0</checkstyle.version>
21
+ <checkstyle.version>10.17.0</checkstyle.version>
22
22
  <checksum-maven-plugin.version>1.11</checksum-maven-plugin.version>
23
23
  <frontend-maven-plugin.version>1.15.0</frontend-maven-plugin.version>
24
- <gatling-maven-plugin.version>4.9.0</gatling-maven-plugin.version>
24
+ <gatling-maven-plugin.version>4.9.1</gatling-maven-plugin.version>
25
25
  <git-commit-id-maven-plugin.version>8.0.2</git-commit-id-maven-plugin.version>
26
26
  <jib-maven-plugin.version>3.4.2</jib-maven-plugin.version>
27
27
  <lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
@@ -30,7 +30,7 @@
30
30
  <maven-checkstyle-plugin.version>3.3.1</maven-checkstyle-plugin.version>
31
31
  <maven-clean-plugin.version>3.3.2</maven-clean-plugin.version>
32
32
  <maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version>
33
- <maven-enforcer-plugin.version>3.4.1</maven-enforcer-plugin.version>
33
+ <maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version>
34
34
  <maven-failsafe-plugin.version>3.2.5</maven-failsafe-plugin.version>
35
35
  <maven-jar-plugin.version>3.4.1</maven-jar-plugin.version>
36
36
  <maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version>
@@ -38,9 +38,9 @@
38
38
  <maven-site-plugin.version>3.12.1</maven-site-plugin.version>
39
39
  <maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version>
40
40
  <maven-war-plugin.version>3.4.0</maven-war-plugin.version>
41
- <modernizer-maven-plugin.version>2.8.0</modernizer-maven-plugin.version>
41
+ <modernizer-maven-plugin.version>2.9.0</modernizer-maven-plugin.version>
42
42
  <nohttp-checkstyle.version>0.0.11</nohttp-checkstyle.version>
43
- <openapi-generator-maven-plugin.version>7.5.0</openapi-generator-maven-plugin.version>
43
+ <openapi-generator-maven-plugin.version>7.6.0</openapi-generator-maven-plugin.version>
44
44
  <properties-maven-plugin.version>1.2.1</properties-maven-plugin.version>
45
45
  <sonar-maven-plugin.version>3.11.0.3922</sonar-maven-plugin.version>
46
46
  <spotless-maven-plugin.version>2.43.0</spotless-maven-plugin.version>