generator-jhipster 8.4.0 → 8.6.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 (430) hide show
  1. package/README.md +3 -4
  2. package/dist/cli/commands.mjs +2 -0
  3. package/dist/cli/environment-builder.mjs +5 -0
  4. package/dist/cli/program.mjs +10 -4
  5. package/dist/generators/angular/entity-files-angular.js +6 -7
  6. package/dist/generators/angular/resources/package.json +20 -20
  7. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +4 -3
  8. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.service.spec.ts.ejs +3 -2
  9. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.spec.ts.ejs +4 -5
  10. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.service.spec.ts.ejs +3 -2
  11. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +6 -5
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +3 -6
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +3 -2
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +5 -5
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +3 -6
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +3 -2
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.spec.ts.ejs +2 -3
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +3 -6
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.service.spec.ts.ejs +3 -2
  20. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +3 -3
  21. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +3 -4
  22. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +3 -3
  23. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.spec.ts.ejs +3 -2
  24. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +4 -4
  25. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +3 -2
  26. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +3 -3
  27. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +4 -3
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.service.spec.ts.ejs +3 -2
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.ts.ejs +1 -1
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +11 -11
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.spec.ts.ejs +3 -3
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +3 -2
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.service.spec.ts.ejs +3 -2
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +0 -2
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +3 -3
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +1 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +3 -4
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +3 -3
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +3 -2
  40. package/dist/generators/angular/templates/src/main/webapp/app/app-page-title-strategy.ts.ejs +1 -1
  41. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +0 -1
  42. package/dist/generators/angular/templates/src/main/webapp/app/app.config.ts.ejs +2 -2
  43. package/dist/generators/angular/templates/src/main/webapp/app/config/uib-pagination.config.ts.ejs +1 -1
  44. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +7 -5
  45. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-jwt.service.spec.ts.ejs +3 -2
  46. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/user-route-access.service.ts.ejs +1 -1
  47. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/auth-expired.interceptor.ts.ejs +3 -3
  48. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/auth.interceptor.ts.ejs +2 -2
  49. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/error-handler.interceptor.ts.ejs +1 -1
  50. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.spec.ts.ejs +6 -6
  51. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +0 -3
  52. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +3 -4
  53. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +2 -2
  54. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +1 -1
  55. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +2 -3
  56. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +2 -2
  57. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +4 -5
  58. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +5 -3
  59. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +5 -6
  60. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +11 -17
  61. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.ts.ejs +2 -2
  62. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +6 -6
  63. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +3 -3
  64. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +3 -2
  65. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +2 -2
  66. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -4
  67. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +2 -2
  68. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +11 -9
  69. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +3 -8
  70. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +6 -2
  71. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/find-language-from-key.pipe.ts.ejs +1 -1
  72. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translation.module.ts.ejs +2 -2
  73. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.spec.ts.ejs +10 -10
  74. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +6 -7
  75. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.directive.spec.ts.ejs +4 -4
  76. package/dist/generators/angular/templates/src/main/webapp/content/scss/global.scss.ejs +2 -0
  77. package/dist/generators/app/generator.js +4 -13
  78. package/dist/generators/base/command.js +1 -0
  79. package/dist/generators/base/generator.js +22 -28
  80. package/dist/generators/base/internal/command.js +13 -0
  81. package/dist/generators/base/internal/index.js +1 -0
  82. package/dist/generators/base/priorities.js +12 -1
  83. package/dist/generators/base/shared-data.js +74 -2
  84. package/dist/generators/base/support/config.js +1 -1
  85. package/dist/generators/base/support/jhipster7-context.js +155 -52
  86. package/dist/generators/base-application/generator.js +15 -3
  87. package/dist/generators/base-application/priorities.js +1 -0
  88. package/dist/generators/base-application/support/prepare-entity.js +7 -8
  89. package/dist/generators/base-application/support/prepare-relationship.js +3 -2
  90. package/dist/generators/base-core/generator.js +132 -63
  91. package/dist/generators/bootstrap/generator.js +1 -1
  92. package/dist/generators/bootstrap/support/eslint-worker.js +14 -12
  93. package/dist/generators/bootstrap/support/multi-step-transform/template-file.js +6 -1
  94. package/dist/generators/bootstrap-application/generator.js +1 -1
  95. package/dist/generators/bootstrap-application-base/generator.js +7 -3
  96. package/dist/generators/bootstrap-application-client/generator.js +5 -1
  97. package/dist/generators/bootstrap-application-server/generator.js +1 -0
  98. package/dist/generators/ci-cd/generator.js +1 -1
  99. package/dist/generators/ci-cd/templates/docker-registry.yml.ejs +0 -1
  100. package/dist/generators/ci-cd/templates/jenkins/jenkins.yml.ejs +0 -1
  101. package/dist/generators/client/command.js +2 -2
  102. package/dist/generators/client/generator.js +2 -3
  103. package/dist/generators/client/generators/common/command.js +5 -0
  104. package/dist/generators/client/generators/common/generator.js +79 -0
  105. package/dist/generators/client/generators/common/index.js +20 -0
  106. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/headers.ts.ejs +57 -0
  107. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/problem-details.ts.ejs +51 -0
  108. package/dist/generators/client/resources/package.json +6 -6
  109. package/dist/generators/client/support/filter-entities.js +1 -1
  110. package/dist/generators/client/templates/.eslintignore.ejs +9 -5
  111. package/dist/generators/client/templates/README.md.jhi.client.ejs +29 -20
  112. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
  113. package/dist/generators/common/generator.js +5 -0
  114. package/dist/generators/common/resources/package.json +2 -2
  115. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +4 -4
  116. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/password-page.cy.ts.ejs +2 -2
  117. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/register-page.cy.ts.ejs +1 -1
  118. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/reset-password-page.cy.ts.ejs +1 -1
  119. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +10 -10
  120. package/dist/generators/docker/templates/docker/keycloak.yml.ejs +2 -1
  121. package/dist/generators/docker/templates/docker/mariadb.yml.ejs +1 -1
  122. package/dist/generators/docker/templates/docker/mysql.yml.ejs +1 -2
  123. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +14 -3
  124. package/dist/generators/docker/templates/docker/realm-config/keycloak-health-check.sh +2 -2
  125. package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +1 -0
  126. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +14 -3
  127. package/dist/generators/docker-compose/templates/realm-config/keycloak-health-check.sh +2 -2
  128. package/dist/generators/entity/generator.js +2 -10
  129. package/dist/generators/entity/prompts.js +6 -11
  130. package/dist/generators/feign-client/templates/src/main/java/_package_/client/AuthorizationHeaderUtil.java.ejs +1 -1
  131. package/dist/generators/gatling/README.md +15 -0
  132. package/dist/generators/gatling/generator.js +0 -1
  133. package/dist/generators/gatling/templates/src/test/java/gatling/simulations/_entityClass_GatlingTest.java.ejs +2 -10
  134. package/dist/generators/generate-blueprint/command.js +16 -0
  135. package/dist/generators/generate-blueprint/files.js +11 -1
  136. package/dist/generators/generate-blueprint/generator.js +34 -17
  137. package/dist/generators/generate-blueprint/resources/package.json +3 -1
  138. package/dist/generators/generate-blueprint/templates/.blueprint/cli/commands.mjs.ejs +6 -0
  139. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +20 -0
  140. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +9 -13
  141. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/build-matrix.mjs.ejs +22 -0
  142. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +20 -0
  143. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/index.mjs.ejs +1 -0
  144. package/dist/generators/generate-blueprint/templates/.github/workflows/build-cache.yml.ejs +39 -0
  145. package/dist/generators/generate-blueprint/templates/.github/workflows/samples.yml.ejs +105 -0
  146. package/dist/generators/generate-blueprint/templates/.prettierignore.jhi.blueprint.ejs +1 -1
  147. package/dist/generators/generate-blueprint/templates/README.md.ejs +16 -8
  148. package/dist/generators/generate-blueprint/templates/eslint.config.js.ejs +33 -0
  149. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -0
  150. package/dist/generators/generator-constants.js +2 -2
  151. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  152. package/dist/generators/heroku/generator.js +1 -1
  153. package/dist/generators/info/generator.js +1 -3
  154. package/dist/generators/info/support/extract-info.js +60 -0
  155. package/dist/generators/info/support/index.js +1 -0
  156. package/dist/generators/init/generator.js +2 -2
  157. package/dist/generators/init/resources/.node-version +1 -1
  158. package/dist/generators/init/resources/package.json +2 -2
  159. package/dist/generators/java/generators/bootstrap/generator.js +9 -2
  160. package/dist/generators/java/generators/build-tool/command.js +6 -3
  161. package/dist/generators/java/generators/domain/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +1 -5
  162. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +3 -3
  163. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +3 -3
  164. package/dist/generators/java/generators/node/templates/npmw +1 -5
  165. package/dist/generators/java/support/add-java-annotation.js +28 -7
  166. package/dist/generators/java/support/generated-annotation-transform.js +1 -1
  167. package/dist/generators/java/support/index.js +1 -1
  168. package/dist/generators/jdl/generator.js +7 -7
  169. package/dist/generators/kubernetes/files.js +1 -1
  170. package/dist/generators/kubernetes/templates/db/mysql.yml.ejs +1 -1
  171. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +14 -3
  172. package/dist/generators/languages/generator.js +5 -2
  173. package/dist/generators/liquibase/templates/src/main/java/_package_/config/LiquibaseConfiguration.java.ejs +1 -1
  174. package/dist/generators/maven/command.js +15 -0
  175. package/dist/generators/maven/generator.js +6 -1
  176. package/dist/generators/maven/index.js +1 -0
  177. package/dist/generators/maven/internal/xml-store.js +7 -6
  178. package/dist/generators/maven/support/pom-store.js +24 -9
  179. package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +2 -2
  180. package/dist/generators/maven/templates/mvnw +185 -243
  181. package/dist/generators/maven/templates/mvnw.cmd +121 -180
  182. package/dist/generators/react/entity-files-react.js +7 -7
  183. package/dist/generators/react/generator.js +10 -0
  184. package/dist/generators/react/resources/package.json +28 -28
  185. package/dist/generators/react/templates/src/main/webapp/app/app.tsx.ejs +9 -0
  186. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +1 -1
  187. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.ts.ejs +1 -1
  188. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.spec.ts.ejs +1 -1
  189. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.ts.ejs +80 -87
  190. package/dist/generators/react/templates/src/main/webapp/app/config/store.ts.ejs +1 -1
  191. package/dist/generators/react/templates/src/main/webapp/app/config/translation.ts.ejs +4 -0
  192. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +3 -3
  193. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +12 -7
  194. package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +15 -1
  195. package/dist/generators/react/templates/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +4 -0
  196. package/dist/generators/react/templates/src/main/webapp/app/modules/login/logout.tsx.ejs +5 -3
  197. package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +1 -1
  198. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +1 -1
  199. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.tsx.ejs +1 -1
  200. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/header/header.tsx.ejs +0 -9
  201. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +1 -3
  202. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +29 -6
  203. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +2 -3
  204. package/dist/generators/react/templates/src/main/webapp/app/shared/util/url-utils.ts.ejs +1 -1
  205. package/dist/generators/server/command.js +0 -11
  206. package/dist/generators/server/generator.js +16 -75
  207. package/dist/generators/server/jdl/application-definition.js +3 -1
  208. package/dist/generators/server/resources/Dockerfile +13 -13
  209. package/dist/generators/server/resources/gradle/libs.versions.toml +9 -7
  210. package/dist/generators/server/resources/pom.xml +16 -16
  211. package/dist/generators/server/support/config.js +4 -8
  212. package/dist/generators/server/support/prepare-entity.js +5 -6
  213. package/dist/generators/server/support/relationship.js +5 -2
  214. package/dist/generators/server/templates/build.gradle.ejs +5 -3
  215. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +2 -1
  216. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +2 -1
  217. package/dist/generators/server/templates/gradle.properties.ejs +1 -1
  218. package/dist/generators/server/templates/pom.xml.ejs +7 -31
  219. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +1 -1
  220. package/dist/generators/server/templates/src/main/java/_package_/config/AsyncConfiguration.java.ejs +1 -1
  221. package/dist/generators/server/templates/src/main/java/_package_/config/Constants.java.ejs +0 -2
  222. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +1 -18
  223. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +1 -15
  224. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +1 -21
  225. package/dist/generators/server/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +1 -1
  226. package/dist/generators/server/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +1 -1
  227. package/dist/generators/server/templates/src/main/java/_package_/security/PersistentTokenRememberMeServices.java.ejs +1 -1
  228. package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +65 -5
  229. package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/AudienceValidator.java.ejs +1 -1
  230. package/dist/generators/server/templates/src/main/java/_package_/service/MailService.java.ejs +1 -1
  231. package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +34 -0
  232. package/dist/generators/server/templates/src/main/java/_package_/service/mapper/UserMapper.java.ejs +8 -4
  233. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +1 -1
  234. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +1 -1
  235. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +44 -10
  236. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +1 -1
  237. package/dist/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
  238. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +60 -22
  239. package/dist/generators/server/templates/src/main/resources/config/bootstrap.yml.ejs +1 -1
  240. package/dist/generators/server/templates/src/main/resources/swagger/api.yml.ejs +1 -1
  241. package/dist/generators/server/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +31 -13
  242. package/dist/generators/server/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +84 -17
  243. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +62 -6
  244. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +22 -0
  245. package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +20 -10
  246. package/dist/generators/spring-boot/command.js +117 -6
  247. package/dist/generators/spring-boot/files.js +0 -5
  248. package/dist/generators/spring-boot/generator.js +44 -9
  249. package/dist/generators/spring-boot/prompts.js +6 -70
  250. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +374 -582
  251. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/UserService.java.ejs +1 -1
  252. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +1 -1
  253. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.java.ejs +1 -1
  254. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/PublicUserResource.java.ejs +1 -1
  255. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/UserResource.java.ejs +1 -1
  256. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/_entityClass_Resource.java.ejs +1 -1
  257. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +47 -11
  258. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +60 -24
  259. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +195 -318
  260. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +58 -51
  261. package/dist/generators/spring-cache/internal/dependencies.js +2 -2
  262. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  263. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +3 -3
  264. package/dist/generators/spring-cloud/generators/gateway/command.js +10 -1
  265. package/dist/generators/spring-cloud/generators/gateway/generator.js +13 -0
  266. package/dist/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.js +6 -0
  267. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaConsumer_imperative.java.ejs +1 -1
  268. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaConsumer_reactive.java.ejs +1 -1
  269. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/web/rest/KafkaResource_imperative.java.ejs +1 -1
  270. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/web/rest/KafkaResource_reactive.java.ejs +1 -1
  271. package/dist/generators/spring-data-cassandra/generator.js +2 -2
  272. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +1 -1
  273. package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/config/DatabaseConfiguration.java_neo4j.ejs +18 -2
  274. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +1 -1
  275. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +3 -1
  276. package/dist/generators/vue/entity-files-vue.js +7 -7
  277. package/dist/generators/vue/resources/package.json +21 -21
  278. package/dist/generators/vue/templates/.eslintrc.cjs.ejs +7 -0
  279. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.spec.ts.ejs +1 -1
  280. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +1 -1
  281. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +1 -1
  282. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +1 -1
  283. package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.spec.ts.ejs +8 -8
  284. package/dist/generators/vue/templates/src/main/webapp/app/shared/data/data-utils.service.spec.ts.ejs +1 -1
  285. package/dist/generators/vue/templates/tsconfig.app.json.ejs +1 -1
  286. package/dist/generators/vue/templates/vite.config.mts.ejs +5 -4
  287. package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -1
  288. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +4 -4
  289. package/dist/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.js +9 -9
  290. package/dist/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.js +2 -2
  291. package/dist/jdl/converters/json-to-jdl-application-converter.js +1 -1
  292. package/dist/jdl/converters/json-to-jdl-converter.js +6 -5
  293. package/dist/jdl/converters/json-to-jdl-entity-converter.js +14 -14
  294. package/dist/jdl/converters/json-to-jdl-option-converter.js +1 -2
  295. package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -1
  296. package/dist/jdl/converters/parsed-jdl-to-jdl-object/option-converter.js +2 -2
  297. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +7 -6
  298. package/dist/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.js +1 -1
  299. package/dist/jdl/exporters/applications/jhipster-application-formatter.js +16 -23
  300. package/dist/jdl/exporters/config.js +1 -0
  301. package/dist/jdl/exporters/jhipster-deployment-exporter.js +5 -5
  302. package/dist/jdl/exporters/jhipster-entity-exporter.js +1 -1
  303. package/dist/jdl/jdl-importer.js +22 -20
  304. package/dist/jdl/jhipster/binary-options.js +12 -8
  305. package/dist/jdl/jhipster/json-entity.js +1 -1
  306. package/dist/jdl/models/abstract-jdl-option.js +2 -2
  307. package/dist/jdl/models/jdl-application-configuration-factory.js +2 -0
  308. package/dist/jdl/models/jdl-binary-option.js +2 -2
  309. package/dist/jdl/models/jdl-deployment.js +11 -0
  310. package/dist/jdl/models/jdl-entity.js +1 -1
  311. package/dist/jdl/models/jdl-enum.js +1 -1
  312. package/dist/jdl/models/jdl-enums.js +0 -18
  313. package/dist/jdl/models/jdl-field.js +2 -2
  314. package/dist/jdl/models/jdl-object-wrapper.js +1 -0
  315. package/dist/jdl/models/jdl-object.js +23 -45
  316. package/dist/jdl/models/jdl-options.js +0 -18
  317. package/dist/jdl/models/jdl-relationships.js +8 -16
  318. package/dist/jdl/models/jdl-unary-option.js +1 -1
  319. package/dist/jdl/models/list-jdl-application-configuration-option.js +5 -2
  320. package/dist/jdl/parsing/jdl-ast-builder-visitor.js +12 -0
  321. package/dist/jdl/parsing/jdl-parser.js +14 -0
  322. package/dist/jdl/parsing/lexer/lexer.js +17 -11
  323. package/dist/jdl/parsing/validator.js +16 -2
  324. package/dist/jdl/readers/json-reader.js +1 -1
  325. package/dist/jdl/utils/array-utils.js +6 -0
  326. package/dist/jdl/utils/set-utils.js +3 -2
  327. package/dist/jdl/validators/jdl-without-application-validator.js +2 -2
  328. package/dist/lib/eslint/base.js +25 -0
  329. package/dist/lib/eslint/recommended.js +22 -0
  330. package/dist/testing/github.js +32 -0
  331. package/dist/testing/helpers.js +13 -0
  332. package/dist/testing/index.js +2 -0
  333. package/dist/testing/sample-config.js +31 -0
  334. package/dist/types/cli/commands.d.mts +2 -0
  335. package/dist/types/cli/environment-builder.d.mts +1 -0
  336. package/dist/types/generators/base/api.d.ts +19 -8
  337. package/dist/types/generators/base/generator.d.ts +10 -4
  338. package/dist/types/generators/base/internal/command.d.ts +2 -0
  339. package/dist/types/generators/base/internal/index.d.ts +1 -0
  340. package/dist/types/generators/base/priorities.d.ts +4 -0
  341. package/dist/types/generators/base/shared-data.d.ts +11 -2
  342. package/dist/types/generators/base/types.d.ts +12 -0
  343. package/dist/types/generators/base-application/priorities.d.ts +2 -0
  344. package/dist/types/generators/base-application/support/entity.d.ts +2 -2
  345. package/dist/types/generators/base-application/support/prepare-entity.d.ts +3 -3
  346. package/dist/types/generators/base-application/support/relationship.d.ts +5 -5
  347. package/dist/types/generators/base-application/types.d.ts +11 -0
  348. package/dist/types/generators/base-core/generator.d.ts +18 -2
  349. package/dist/types/generators/generator-constants.d.ts +1 -1
  350. package/dist/types/generators/info/support/extract-info.d.ts +14 -0
  351. package/dist/types/generators/info/support/index.d.ts +1 -0
  352. package/dist/types/generators/java/support/add-java-annotation.d.ts +10 -20
  353. package/dist/types/generators/java/support/doc.d.ts +1 -1
  354. package/dist/types/generators/java/support/index.d.ts +1 -1
  355. package/dist/types/generators/java/types.d.ts +12 -0
  356. package/dist/types/generators/maven/internal/xml-store.d.ts +3 -2
  357. package/dist/types/generators/maven/support/pom-store.d.ts +5 -2
  358. package/dist/types/generators/maven/types.d.ts +1 -0
  359. package/dist/types/generators/server/support/relationship.d.ts +2 -2
  360. package/dist/types/generators/server/types.d.ts +7 -1
  361. package/dist/types/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.d.ts +2 -0
  362. package/dist/types/generators/spring-cloud/generators/gateway/types.d.ts +4 -0
  363. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +2 -2
  364. package/dist/types/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.d.ts +2 -1
  365. package/dist/types/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.d.ts +3 -1
  366. package/dist/types/jdl/converters/json-to-jdl-application-converter.d.ts +9 -2
  367. package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +3 -3
  368. package/dist/types/jdl/converters/json-to-jdl-entity-converter.d.ts +2 -4
  369. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/application-converter.d.ts +3 -1
  370. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/deployment-converter.d.ts +2 -1
  371. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.d.ts +3 -1
  372. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.d.ts +2 -1
  373. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/field-converter.d.ts +2 -1
  374. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +3 -3
  375. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.d.ts +2 -1
  376. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.d.ts +2 -1
  377. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/types.d.ts +110 -0
  378. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.d.ts +2 -1
  379. package/dist/types/jdl/converters/types.d.ts +102 -14
  380. package/dist/types/jdl/exporters/applications/jhipster-application-formatter.d.ts +4 -4
  381. package/dist/types/jdl/exporters/config.d.ts +2 -1
  382. package/dist/types/jdl/exporters/export-utils.d.ts +2 -1
  383. package/dist/types/jdl/exporters/jdl-exporter.d.ts +2 -1
  384. package/dist/types/jdl/exporters/jhipster-deployment-exporter.d.ts +3 -1
  385. package/dist/types/jdl/exporters/jhipster-entity-exporter.d.ts +3 -1
  386. package/dist/types/jdl/exporters/types.d.ts +61 -0
  387. package/dist/types/jdl/jhipster/binary-options.d.ts +8 -26
  388. package/dist/types/jdl/jhipster/field-types.d.ts +2 -2
  389. package/dist/types/jdl/jhipster/json-entity.d.ts +2 -2
  390. package/dist/types/jdl/models/abstract-jdl-option.d.ts +14 -9
  391. package/dist/types/jdl/models/boolean-jdl-application-configuration-option.d.ts +1 -1
  392. package/dist/types/jdl/models/integer-jdl-application-configuration-option.d.ts +1 -1
  393. package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +1 -1
  394. package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +4 -4
  395. package/dist/types/jdl/models/jdl-application-configuration.d.ts +4 -4
  396. package/dist/types/jdl/models/jdl-application-definition.d.ts +4 -4
  397. package/dist/types/jdl/models/jdl-application-entities.d.ts +4 -4
  398. package/dist/types/jdl/models/jdl-application.d.ts +16 -13
  399. package/dist/types/jdl/models/jdl-binary-option.d.ts +5 -3
  400. package/dist/types/jdl/models/jdl-deployment.d.ts +13 -1
  401. package/dist/types/jdl/models/jdl-entity.d.ts +5 -5
  402. package/dist/types/jdl/models/jdl-enum-value.d.ts +4 -4
  403. package/dist/types/jdl/models/jdl-enum.d.ts +9 -5
  404. package/dist/types/jdl/models/jdl-enums.d.ts +6 -5
  405. package/dist/types/jdl/models/jdl-field.d.ts +10 -8
  406. package/dist/types/jdl/models/jdl-object-wrapper.d.ts +25 -0
  407. package/dist/types/jdl/models/jdl-object.d.ts +23 -19
  408. package/dist/types/jdl/models/jdl-options.d.ts +7 -24
  409. package/dist/types/jdl/models/jdl-relationship.d.ts +16 -10
  410. package/dist/types/jdl/models/jdl-relationships.d.ts +5 -5
  411. package/dist/types/jdl/models/jdl-validation.d.ts +3 -3
  412. package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +4 -3
  413. package/dist/types/jdl/models/string-jdl-application-configuration-option.d.ts +2 -2
  414. package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +1 -0
  415. package/dist/types/jdl/parsing/jdl-parser.d.ts +1 -0
  416. package/dist/types/jdl/parsing/jdl-parsing-types.d.ts +23 -0
  417. package/dist/types/jdl/parsing/lexer/lexer.d.ts +6 -2
  418. package/dist/types/jdl/parsing/validator.d.ts +1 -1
  419. package/dist/types/jdl/utils/array-utils.d.ts +1 -0
  420. package/dist/types/jdl/utils/set-utils.d.ts +1 -19
  421. package/dist/types/jdl/validators/deployment-validator.d.ts +2 -1
  422. package/dist/types/lib/eslint/base.d.ts +20 -0
  423. package/dist/types/lib/eslint/recommended.d.ts +20 -0
  424. package/dist/types/testing/github.d.ts +11 -0
  425. package/dist/types/testing/helpers.d.ts +21 -3
  426. package/dist/types/testing/index.d.ts +2 -0
  427. package/dist/types/testing/sample-config.d.ts +4 -0
  428. package/package.json +35 -30
  429. package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +0 -35
  430. /package/dist/jdl/converters/{types.js → parsed-jdl-to-jdl-object/types.js} +0 -0
@@ -2,12 +2,12 @@
2
2
  "dependencies": {
3
3
  "@fortawesome/fontawesome-svg-core": "6.5.2",
4
4
  "@fortawesome/free-solid-svg-icons": "6.5.2",
5
- "@fortawesome/vue-fontawesome": "3.0.6",
5
+ "@fortawesome/vue-fontawesome": "3.0.8",
6
6
  "@stomp/rx-stomp": "2.0.0",
7
7
  "@vuelidate/core": "2.0.3",
8
8
  "@vuelidate/validators": "2.0.4",
9
- "@vueuse/core": "10.9.0",
10
- "axios": "1.6.8",
9
+ "@vueuse/core": "10.11.0",
10
+ "axios": "1.7.2",
11
11
  "bootstrap": "4.6.2",
12
12
  "bootstrap-vue": "2.23.1",
13
13
  "bootswatch": "4.6.2",
@@ -18,32 +18,32 @@
18
18
  "sockjs-client": "1.6.1",
19
19
  "vue": "3.4.21",
20
20
  "vue-i18n": "9.13.1",
21
- "vue-router": "4.3.2"
21
+ "vue-router": "4.4.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@module-federation/utilities": "3.0.3-0",
25
25
  "@pinia/testing": "0.1.3",
26
- "@rushstack/eslint-patch": "1.10.2",
26
+ "@rushstack/eslint-patch": "1.10.3",
27
27
  "@tsconfig/node18": "18.2.4",
28
28
  "@types/node": "20.11.25",
29
29
  "@types/sinon": "17.0.3",
30
- "@vitejs/plugin-vue": "5.0.4",
30
+ "@vitejs/plugin-vue": "5.0.5",
31
31
  "@vue/eslint-config-prettier": "9.0.0",
32
- "@vue/eslint-config-typescript": "10.0.0",
33
- "@vue/test-utils": "2.4.5",
32
+ "@vue/eslint-config-typescript": "13.0.0",
33
+ "@vue/test-utils": "2.4.6",
34
34
  "@vue/tsconfig": "0.5.1",
35
35
  "autoprefixer": "10.4.19",
36
36
  "axios-mock-adapter": "1.22.0",
37
37
  "browser-sync-webpack-plugin": "2.3.0",
38
38
  "copy-webpack-plugin": "12.0.2",
39
- "css-loader": "7.1.1",
40
- "css-minimizer-webpack-plugin": "6.0.0",
39
+ "css-loader": "7.1.2",
40
+ "css-minimizer-webpack-plugin": "7.0.0",
41
41
  "eslint": "8.57.0",
42
42
  "eslint-plugin-prettier": "5.1.3",
43
- "eslint-plugin-vue": "8.7.1",
43
+ "eslint-plugin-vue": "9.26.0",
44
44
  "flush-promises": "1.0.2",
45
45
  "folder-hash": "4.0.4",
46
- "happy-dom": "14.7.1",
46
+ "happy-dom": "14.12.3",
47
47
  "html-webpack-plugin": "5.6.0",
48
48
  "merge-jsons-webpack-plugin": "2.0.1",
49
49
  "mini-css-extract-plugin": "2.9.0",
@@ -51,21 +51,21 @@
51
51
  "postcss-import": "16.1.0",
52
52
  "postcss-loader": "8.1.1",
53
53
  "postcss-url": "10.1.3",
54
- "rimraf": "5.0.5",
55
- "sass": "1.75.0",
54
+ "rimraf": "5.0.7",
55
+ "sass": "1.77.6",
56
56
  "sass-loader": "14.2.1",
57
- "sinon": "17.0.1",
57
+ "sinon": "18.0.0",
58
58
  "terser-webpack-plugin": "5.3.10",
59
59
  "ts-loader": "9.5.1",
60
- "typescript": "5.4.5",
61
- "vite": "5.2.10",
62
- "vite-plugin-static-copy": "1.0.3",
63
- "vitest": "1.5.2",
60
+ "typescript": "5.5.2",
61
+ "vite": "5.3.1",
62
+ "vite-plugin-static-copy": "1.0.5",
63
+ "vitest": "1.6.0",
64
64
  "vitest-sonar-reporter": "2.0.0",
65
65
  "vue-loader": "17.4.2",
66
66
  "vue-style-loader": "4.1.3",
67
- "vue-tsc": "2.0.14",
68
- "webpack": "5.91.0",
67
+ "vue-tsc": "2.0.22",
68
+ "webpack": "5.92.1",
69
69
  "webpack-bundle-analyzer": "4.10.2",
70
70
  "webpack-cli": "5.1.4",
71
71
  "webpack-dev-server": "5.0.4",
@@ -39,7 +39,9 @@ module.exports = {
39
39
  },
40
40
  ],
41
41
  <%_ } _%>
42
+ parser: 'vue-eslint-parser',
42
43
  parserOptions: {
44
+ parser: '@typescript-eslint/parser',
43
45
  ecmaVersion: 'latest',
44
46
  },
45
47
  rules: {
@@ -53,6 +55,11 @@ module.exports = {
53
55
  '@typescript-eslint/ban-ts-comment': 'off',
54
56
  '@typescript-eslint/no-var-requires': 'off',
55
57
  '@typescript-eslint/consistent-type-imports': 'error',
58
+ 'vue/no-v-text-v-html-on-component': [
59
+ 'error',
60
+ { 'allow': ['router-link', 'b-alert', 'b-badge', 'b-button', 'b-link'] },
61
+ ],
62
+ 'vue/no-reserved-component-names': 'off',
56
63
  },
57
64
  ignorePatterns: ['<%= this.relativeDir(clientRootDir, temporaryDir) %>'],
58
65
  };
@@ -91,7 +91,7 @@ describe('Tracker Service', () => {
91
91
 
92
92
  // THEN
93
93
  expect(mockStomp.publish).toBeCalledTimes(1);
94
- expect(mockStomp.publish).toBeCalledWith({ destination: '/topic/activity', body: JSON.stringify({ page: '/admin' }) });
94
+ expect(mockStomp.publish).toHaveBeenCalledWith({ destination: '/topic/activity', body: JSON.stringify({ page: '/admin' }) });
95
95
  });
96
96
 
97
97
  it('Should disconnect on logout', async () => {
@@ -34,7 +34,7 @@
34
34
  <%_ } _%>
35
35
  </dd>
36
36
  <%_ } _%>
37
- <%_ for (relationship of relationships) {
37
+ <%_ for (relationship of relationships.filter(rel => !rel.otherEntity.embedded)) {
38
38
  const relationshipName = relationship.relationshipName;
39
39
  const relationshipFieldName = relationship.relationshipFieldName;
40
40
  const relationshipFieldNamePlural = relationship.relationshipFieldNamePlural;
@@ -120,7 +120,7 @@ _%>
120
120
  <%_ } _%>
121
121
  </div>
122
122
  <%_ } _%>
123
- <%_ for (relationship of relationships) {
123
+ <%_ for (relationship of relationships.filter(rel => !rel.otherEntity.embedded)) {
124
124
  const otherEntityName = relationship.otherEntityName;
125
125
  const otherEntityNamePlural = relationship.otherEntityNamePlural;
126
126
  const relationshipName = relationship.relationshipName;
@@ -90,7 +90,7 @@
90
90
  <td>{{<%=entityInstance %>.<%=fieldName%>}}</td>
91
91
  <%_ } _%>
92
92
  <%_ } _%>
93
- <%_ for (relationship of relationships) {
93
+ <%_ for (relationship of relationships.filter(rel => !rel.otherEntity.embedded)) {
94
94
  const relationshipFieldName = relationship.relationshipFieldName;
95
95
  const relationshipFieldNamePlural = relationship.relationshipFieldNamePlural;
96
96
  const otherEntityName = relationship.otherEntityName;
@@ -31,7 +31,7 @@ describe('Alert Service test suite', () => {
31
31
 
32
32
  // THEN
33
33
  expect(toastStub).toBeCalledTimes(1);
34
- expect(toastStub).toBeCalledWith(message, {
34
+ expect(toastStub).toHaveBeenCalledWith(message, {
35
35
  toaster: 'b-toaster-top-center',
36
36
  title: 'Error',
37
37
  variant: 'danger',
@@ -62,7 +62,7 @@ describe('Alert Service test suite', () => {
62
62
  expect(translationStub).toHaveBeenCalledWith(translationKey);
63
63
  <%_ } _%>
64
64
  expect(toastStub).toBeCalledTimes(1);
65
- expect(toastStub).toBeCalledWith(message, {
65
+ expect(toastStub).toHaveBeenCalledWith(message, {
66
66
  toaster: 'b-toaster-top-center',
67
67
  title: 'Error',
68
68
  variant: 'danger',
@@ -102,10 +102,10 @@ describe('Alert Service test suite', () => {
102
102
  // THEN
103
103
  <%_ if (enableTranslation) { _%>
104
104
  expect(translationStub).toBeCalledTimes(2);
105
- expect(translationStub).toBeCalledWith(translationKey, { entityName: 'DummyEntity' });
106
- expect(translationStub).toBeCalledWith('global.menu.entities.dummyEntity');
105
+ expect(translationStub).toHaveBeenCalledWith(translationKey, { entityName: 'DummyEntity' });
106
+ expect(translationStub).toHaveBeenCalledWith('global.menu.entities.dummyEntity');
107
107
  <%_ } _%>
108
- expect(toastStub).toBeCalledWith(message, {
108
+ expect(toastStub).toHaveBeenCalledWith(message, {
109
109
  toaster: 'b-toaster-top-center',
110
110
  title: 'Error',
111
111
  variant: 'danger',
@@ -144,7 +144,7 @@ describe('Alert Service test suite', () => {
144
144
  expect(translationStub).toHaveBeenCalledWith(message);
145
145
  <%_ } _%>
146
146
  expect(toastStub).toBeCalledTimes(1);
147
- expect(toastStub).toBeCalledWith(message, {
147
+ expect(toastStub).toHaveBeenCalledWith(message, {
148
148
  toaster: 'b-toaster-top-center',
149
149
  title: 'Error',
150
150
  variant: 'danger',
@@ -176,7 +176,7 @@ describe('Alert Service test suite', () => {
176
176
  expect(translationStub).toHaveBeenCalledWith(translationKey);
177
177
  <%_ } _%>
178
178
  expect(toastStub).toBeCalledTimes(1);
179
- expect(toastStub).toBeCalledWith(message, {
179
+ expect(toastStub).toHaveBeenCalledWith(message, {
180
180
  toaster: 'b-toaster-top-center',
181
181
  title: 'Error',
182
182
  variant: 'danger',
@@ -208,7 +208,7 @@ describe('Alert Service test suite', () => {
208
208
  expect(translationStub).toHaveBeenCalledWith(message);
209
209
  <%_ } _%>
210
210
  expect(toastStub).toBeCalledTimes(1);
211
- expect(toastStub).toBeCalledWith(message, {
211
+ expect(toastStub).toHaveBeenCalledWith(message, {
212
212
  toaster: 'b-toaster-top-center',
213
213
  title: 'Error',
214
214
  variant: 'danger',
@@ -43,7 +43,7 @@ describe('Formatter i18n', () => {
43
43
 
44
44
  dataUtilsService.openFile('text', 'data');
45
45
 
46
- expect(window.open).toBeCalledWith(objectURL);
46
+ expect(window.open).toHaveBeenCalledWith(objectURL);
47
47
  });
48
48
 
49
49
  it('should check text ends with suffix', () => {
@@ -7,7 +7,7 @@
7
7
  "baseUrl": "<%= this.relativeDir(clientRootDir, clientSrcDir) %>app",
8
8
  "outDir": "<%= this.relativeDir(clientRootDir, temporaryDir) %>out-tsc/dist",
9
9
  "paths": {
10
- "@/*": ["./<%= this.relativeDir(clientRootDir, clientSrcDir) %>app/*"]
10
+ "@/*": ["./*"]
11
11
  }
12
12
  }
13
13
  }
@@ -18,6 +18,7 @@
18
18
  -%>
19
19
  import { fileURLToPath, URL } from 'node:url';
20
20
  import { existsSync } from 'node:fs';
21
+ import { normalizePath } from 'vite'
21
22
 
22
23
  import {
23
24
  <%_ if (microfrontend) { _%>
@@ -49,10 +50,10 @@ let config = defineConfig({
49
50
  targets: [
50
51
  {
51
52
  src: [
52
- `${swaggerUiPath}/*.{js,css,html,png}`,
53
- `!${swaggerUiPath}/**/index.html`,
54
- getFileFromRepo('axios/dist/axios.min.js'),
55
- fileURLToPath(new URL('./<%- this.relativeDir(clientRootDir, clientSrcDir) %>swagger-ui/index.html', import.meta.url)),
53
+ `${normalizePath(swaggerUiPath)}/*.{js,css,html,png}`,
54
+ `!${normalizePath(swaggerUiPath)}/**/index.html`,
55
+ normalizePath(getFileFromRepo('axios/dist/axios.min.js')),
56
+ normalizePath(fileURLToPath(new URL('./<%- this.relativeDir(clientRootDir, clientSrcDir) %>swagger-ui/index.html', import.meta.url))),
56
57
  ],
57
58
  dest: 'swagger-ui',
58
59
  },
@@ -35,7 +35,7 @@ export function convert(jdlEntities) {
35
35
  }
36
36
  function createJSONEntities(jdlEntities) {
37
37
  const convertedEntities = new Map();
38
- jdlEntities.forEach(jdlEntity => {
38
+ jdlEntities.forEach((jdlEntity) => {
39
39
  const entityName = jdlEntity.name;
40
40
  convertedEntities.set(entityName, new JSONEntity({
41
41
  entityName,
@@ -45,7 +45,7 @@ export function convert(jdlObject) {
45
45
  }
46
46
  function getConvertedFieldsForEntity(jdlEntity, jdlObject) {
47
47
  const convertedEntityFields = [];
48
- jdlEntity.forEachField(jdlField => {
48
+ jdlEntity.forEachField((jdlField) => {
49
49
  let fieldData = {
50
50
  fieldName: camelCase(jdlField.name),
51
51
  fieldType: jdlField.type,
@@ -55,12 +55,12 @@ function getConvertedFieldsForEntity(jdlEntity, jdlObject) {
55
55
  fieldData.documentation = comment;
56
56
  }
57
57
  if (jdlObject.hasEnum(jdlField.type)) {
58
- fieldData.fieldValues = jdlObject.getEnum(fieldData.fieldType).getValuesAsString();
59
- const fieldTypeComment = jdlObject.getEnum(fieldData.fieldType).comment;
58
+ fieldData.fieldValues = jdlObject.getEnum(fieldData.fieldType)?.getValuesAsString();
59
+ const fieldTypeComment = jdlObject.getEnum(fieldData.fieldType)?.comment;
60
60
  if (fieldTypeComment) {
61
61
  fieldData.fieldTypeDocumentation = fieldTypeComment;
62
62
  }
63
- const fieldValuesJavadocs = jdlObject.getEnum(fieldData.fieldType).getValueJavadocs();
63
+ const fieldValuesJavadocs = jdlObject.getEnum(fieldData.fieldType)?.getValueJavadocs();
64
64
  if (fieldValuesJavadocs && Object.keys(fieldValuesJavadocs).length > 0) {
65
65
  fieldData.fieldValuesJavadocs = fieldValuesJavadocs;
66
66
  }
@@ -30,13 +30,13 @@ export default { convert };
30
30
  * @param {JDLObject} args.jdlObject - the JDLObject to convert to JSON
31
31
  * @returns {Map} entities that can be exported to JSON
32
32
  */
33
- export function convert(args = {}) {
34
- if (!args.jdlObject) {
33
+ export function convert(args) {
34
+ if (!args?.jdlObject) {
35
35
  throw new Error('The JDL object is mandatory.');
36
36
  }
37
37
  init(args);
38
38
  setEntitiesPerApplication();
39
- if (entitiesPerApplication.size === 0) {
39
+ if (entitiesPerApplication.size === 0 && jdlObject) {
40
40
  const applicationNames = jdlObject.getApplications().map(jdlApplication => jdlApplication.getConfigurationOptionValue('baseName'));
41
41
  return new Map(applicationNames.map(applicationName => [applicationName, []]));
42
42
  }
@@ -63,7 +63,7 @@ function resetState() {
63
63
  entities = null;
64
64
  }
65
65
  function setEntitiesPerApplication() {
66
- jdlObject.forEachApplication(jdlApplication => {
66
+ jdlObject?.forEachApplication((jdlApplication) => {
67
67
  const entityNames = jdlApplication.getEntityNames();
68
68
  if (entityNames.length === 0) {
69
69
  return;
@@ -85,15 +85,15 @@ function setFields() {
85
85
  });
86
86
  }
87
87
  function setRelationships() {
88
- const convertedRelationships = RelationshipConverter.convert(jdlObject.getRelationships(), jdlObject.getEntityNames());
88
+ const convertedRelationships = RelationshipConverter.convert(jdlObject?.getRelationships(), jdlObject?.getEntityNames());
89
89
  convertedRelationships.forEach((entityRelationships, entityName) => {
90
90
  entities[entityName].addRelationships(entityRelationships);
91
91
  });
92
92
  }
93
93
  function setApplicationToEntities() {
94
- jdlObject.forEachApplication(jdlApplication => {
94
+ jdlObject?.forEachApplication((jdlApplication) => {
95
95
  const baseName = jdlApplication.getConfigurationOptionValue('baseName');
96
- jdlApplication.forEachEntityName(entityName => {
96
+ jdlApplication.forEachEntityName((entityName) => {
97
97
  if (!entities[entityName]) {
98
98
  return;
99
99
  }
@@ -106,7 +106,7 @@ function setOptions(entitiesForEachApplication) {
106
106
  convertedOptionContents.forEach((optionContent, entityName) => {
107
107
  entities[entityName].setOptions(optionContent);
108
108
  });
109
- jdlObject.forEachApplication(jdlApplication => {
109
+ jdlObject?.forEachApplication(jdlApplication => {
110
110
  const convertedOptionContentsForApplication = OptionConverter.convert(jdlApplication);
111
111
  const applicationName = jdlApplication.getConfigurationOptionValue('baseName');
112
112
  const applicationEntities = entitiesForEachApplication.get(applicationName);
@@ -140,7 +140,7 @@ function formatEntitiesForEachApplication(entitiesForEachApplication) {
140
140
  });
141
141
  }
142
142
  function addApplicationsWithoutEntities(entitiesForEachApplication) {
143
- jdlObject.forEachApplication(jdlApplication => {
143
+ jdlObject?.forEachApplication(jdlApplication => {
144
144
  if (jdlApplication.getEntityNames().length === 0) {
145
145
  entitiesForEachApplication.set(jdlApplication.getConfigurationOptionValue('baseName'), []);
146
146
  }
@@ -34,8 +34,8 @@ export default {
34
34
  * @param {string} args.applicationType - the application's type
35
35
  * @returns {Map} entities that can be exported to JSON
36
36
  */
37
- export function convert(args = {}) {
38
- if (!args.jdlObject || !args.applicationName || !args.databaseType) {
37
+ export function convert(args) {
38
+ if (!args?.jdlObject || !args.applicationName || !args.databaseType) {
39
39
  throw new Error("The JDL object, the application's name, and its the database type are mandatory.");
40
40
  }
41
41
  init(args);
@@ -22,7 +22,7 @@ const GENERATOR_NAME = 'generator-jhipster';
22
22
  export function convertApplicationsToJDL({ applications, jdl } = {}) {
23
23
  const jsonApplications = applications || [];
24
24
  const jdlObject = jdl || new JDLObject();
25
- jsonApplications.forEach(application => {
25
+ jsonApplications.forEach((application) => {
26
26
  const convertedApplication = convertApplicationToJDL({ application });
27
27
  jdlObject.addApplication(convertedApplication);
28
28
  });
@@ -87,7 +87,7 @@ export function getJDLObjectFromSingleApplication(yoRcFileContent, entities, exi
87
87
  existingJDLObject.addApplication(jdlApplication);
88
88
  return existingJDLObject;
89
89
  }
90
- const jdlObject = convertEntitiesToJDL({ entities });
90
+ const jdlObject = convertEntitiesToJDL(entities);
91
91
  entities.forEach((entity, entityName) => jdlApplication.addEntityName(entityName));
92
92
  jdlObject.addApplication(jdlApplication);
93
93
  return mergeJDLObjects(existingJDLObject, jdlObject);
@@ -97,20 +97,21 @@ function cleanYoRcFileContent(yoRcFileContent) {
97
97
  yoRcFileContent[key] = removeFieldsWithNullishValues(yoRcFileContent[key]);
98
98
  }
99
99
  delete yoRcFileContent[GENERATOR_JHIPSTER].promptValues;
100
+ const result = structuredClone(yoRcFileContent);
100
101
  if (yoRcFileContent[GENERATOR_JHIPSTER].blueprints) {
101
- yoRcFileContent[GENERATOR_JHIPSTER].blueprints = yoRcFileContent[GENERATOR_JHIPSTER].blueprints.map(blueprint => blueprint.name);
102
+ result[GENERATOR_JHIPSTER].blueprints = yoRcFileContent[GENERATOR_JHIPSTER].blueprints.map(blueprint => blueprint.name);
102
103
  }
103
104
  if (yoRcFileContent[GENERATOR_JHIPSTER].microfrontends) {
104
- yoRcFileContent[GENERATOR_JHIPSTER].microfrontends = yoRcFileContent[GENERATOR_JHIPSTER].microfrontends.map(({ baseName }) => baseName);
105
+ result[GENERATOR_JHIPSTER].microfrontends = yoRcFileContent[GENERATOR_JHIPSTER].microfrontends.map(({ baseName }) => baseName);
105
106
  }
106
- return yoRcFileContent;
107
+ return result;
107
108
  }
108
109
  function getJSONEntityFiles(applicationDirectory) {
109
110
  const entities = new Map();
110
111
  fs.readdirSync(path.join(applicationDirectory, '.jhipster')).forEach(file => {
112
+ const entityName = file.slice(0, file.indexOf('.json'));
111
113
  const jsonFilePath = path.join(applicationDirectory, '.jhipster', file);
112
114
  if (fs.statSync(jsonFilePath).isFile() && file.endsWith('.json')) {
113
- const entityName = file.slice(0, file.indexOf('.json'));
114
115
  entities.set(entityName, readJSONFile(jsonFilePath));
115
116
  }
116
117
  });
@@ -43,17 +43,17 @@ let jdlObject;
43
43
  * @param params.entities - a Map having for keys the entity names and values the JSON entity files.
44
44
  * @return the parsed entities in the JDL form.
45
45
  */
46
- export function convertEntitiesToJDL(params) {
47
- if (!params.entities) {
46
+ export function convertEntitiesToJDL(entities) {
47
+ if (!entities) {
48
48
  throw new Error('Entities have to be passed to be converted.');
49
49
  }
50
- init(params);
50
+ init(entities);
51
51
  addEntities();
52
52
  addRelationshipsToJDL();
53
53
  return jdlObject;
54
54
  }
55
- function init(params) {
56
- entities = params.entities;
55
+ function init(ents) {
56
+ entities = ents;
57
57
  jdlObject = new JDLObject();
58
58
  }
59
59
  function addEntities() {
@@ -90,9 +90,7 @@ function convertJSONToJDLField(field) {
90
90
  if (jdlField.type === BYTES) {
91
91
  jdlField.type = getTypeForBlob(field.fieldTypeBlobContent);
92
92
  }
93
- if (field.fieldValidateRules) {
94
- addValidations(jdlField, field);
95
- }
93
+ addValidations(jdlField, field);
96
94
  return jdlField;
97
95
  }
98
96
  function getTypeForBlob(blobContentType) {
@@ -102,9 +100,11 @@ function getTypeForBlob(blobContentType) {
102
100
  throw new Error(`Unrecognised blob type: '${blobContentType}'`);
103
101
  }
104
102
  function addValidations(jdlField, field) {
105
- field.fieldValidateRules.forEach(rule => {
106
- jdlField.addValidation(convertJSONToJDLValidation(rule, field));
107
- });
103
+ if (field.fieldValidateRules) {
104
+ field.fieldValidateRules.forEach((rule) => {
105
+ jdlField.addValidation(convertJSONToJDLValidation(rule, field));
106
+ });
107
+ }
108
108
  }
109
109
  function convertJSONToJDLValidation(rule, field) {
110
110
  return new JDLValidation({
@@ -113,7 +113,7 @@ function convertJSONToJDLValidation(rule, field) {
113
113
  });
114
114
  }
115
115
  function addEnumsToJDL(entity) {
116
- entity?.fields?.forEach(field => {
116
+ entity?.fields?.forEach((field) => {
117
117
  if (field.fieldValues !== undefined) {
118
118
  jdlObject.addEnum(new JDLEnum({
119
119
  name: field.fieldType,
@@ -281,13 +281,13 @@ function addEntityOptionsToJDL(entity, entityName) {
281
281
  function addUnaryOptionToJDL(unaryOption, entityName) {
282
282
  jdlObject.addOption(new JDLUnaryOption({
283
283
  name: unaryOption,
284
- entityNames: [entityName],
284
+ entityNames: new Set([entityName]),
285
285
  }));
286
286
  }
287
287
  function addBinaryOptionToJDL(binaryOption, value, entityName) {
288
288
  jdlObject.addOption(new JDLBinaryOption({
289
289
  name: binaryOption,
290
290
  value,
291
- entityNames: [entityName],
291
+ entityNames: new Set([entityName]),
292
292
  }));
293
293
  }
@@ -17,8 +17,8 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import JDLObject from '../models/jdl-object.js';
20
- import JDLUnaryOption from '../models/jdl-unary-option.js';
21
20
  import { unaryOptions } from '../jhipster/index.js';
21
+ import JDLUnaryOption from '../models/jdl-unary-option.js';
22
22
  const { SKIP_CLIENT, SKIP_SERVER } = unaryOptions;
23
23
  export default {
24
24
  convertServerOptionsToJDL,
@@ -36,7 +36,6 @@ export function convertServerOptionsToJDL(config, jdl) {
36
36
  if (jhipsterConfig[option] === true) {
37
37
  jdlObject.addOption(new JDLUnaryOption({
38
38
  name: option,
39
- value: jhipsterConfig[option],
40
39
  }));
41
40
  }
42
41
  });
@@ -40,7 +40,7 @@ export function convertApplications(parsedApplications) {
40
40
  });
41
41
  }
42
42
  function getEntityOptionsInApplication(parsedApplication) {
43
- return convertOptions(parsedApplication.options, parsedApplication.useOptions);
43
+ return convertOptions(parsedApplication.options, parsedApplication.useOptions || []);
44
44
  }
45
45
  /**
46
46
  * Checks whether the entity names used in the options are present in the entity names declared for the application.
@@ -38,7 +38,7 @@ export function convertOptions(parsedOptions, useOptions) {
38
38
  }
39
39
  function convertUnaryOptions(parsedOptions) {
40
40
  const convertedUnaryOptions = [];
41
- unaryOptions.forEach(unaryOptionName => {
41
+ unaryOptions.forEach((unaryOptionName) => {
42
42
  const parsedUnaryOption = parsedOptions[unaryOptionName];
43
43
  if (!parsedUnaryOption || !parsedUnaryOption.list || parsedUnaryOption.list.length === 0) {
44
44
  return;
@@ -53,7 +53,7 @@ function convertUnaryOptions(parsedOptions) {
53
53
  }
54
54
  function convertBinaryOptions(parsedOptions) {
55
55
  const convertedBinaryOptions = [];
56
- binaryOptions.forEach(binaryOptionName => {
56
+ binaryOptions.forEach((binaryOptionName) => {
57
57
  if (!parsedOptions[binaryOptionName]) {
58
58
  return;
59
59
  }
@@ -61,20 +61,20 @@ function init(passedConfiguration) {
61
61
  configuration = passedConfiguration;
62
62
  jdlObject = new JDLObject();
63
63
  entityNames = parsedContent.entities.map(entity => entity.name);
64
- applicationsPerEntityName = {};
64
+ applicationsPerEntityName = new Map();
65
65
  }
66
66
  function fillApplications() {
67
67
  // TODO: Function which expects two arguments is called with three.
68
68
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
69
69
  // @ts-expect-error
70
70
  const jdlApplications = convertApplications(parsedContent.applications, configuration, entityNames);
71
- jdlApplications.forEach(jdlApplication => {
71
+ jdlApplications.forEach((jdlApplication) => {
72
72
  jdlObject.addApplication(jdlApplication);
73
73
  fillApplicationsPerEntityName(jdlApplication);
74
74
  });
75
75
  }
76
76
  function fillApplicationsPerEntityName(application) {
77
- application.forEachEntityName(entityName => {
77
+ application.forEachEntityName((entityName) => {
78
78
  applicationsPerEntityName[entityName] = applicationsPerEntityName[entityName] || [];
79
79
  applicationsPerEntityName[entityName].push(application);
80
80
  });
@@ -99,11 +99,12 @@ function fillClassesAndFields() {
99
99
  }
100
100
  function getJDLFieldsFromParsedEntity(entity) {
101
101
  const fields = [];
102
- for (let i = 0; i < entity.body.length; i++) {
103
- const field = entity.body[i];
102
+ const arr = entity.body || [];
103
+ for (let i = 0; i < arr.length; i++) {
104
+ const field = arr[i];
104
105
  const jdlField = convertField(field);
105
106
  jdlField.validations = getValidations(field);
106
- jdlField.options = convertAnnotationsToOptions(field.annotations);
107
+ jdlField.options = convertAnnotationsToOptions(field.annotations || []);
107
108
  fields.push(jdlField);
108
109
  }
109
110
  return fields;
@@ -32,7 +32,7 @@ export function convertValidations(validations, constantValueGetter) {
32
32
  }
33
33
  return validations.reduce((jdlValidations, parsedValidation) => {
34
34
  if (parsedValidation) {
35
- jdlValidations.push(convertValidation(parsedValidation, constantValueGetter));
35
+ jdlValidations = [...jdlValidations, convertValidation(parsedValidation, constantValueGetter)];
36
36
  }
37
37
  return jdlValidations;
38
38
  }, []);