generator-jhipster 8.7.1 → 8.7.2

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 (296) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/commands.d.mts +89 -89
  3. package/dist/cli/environment-builder.d.mts +7 -6
  4. package/dist/cli/environment-builder.mjs +5 -3
  5. package/dist/cli/jhipster-command.d.mts +2 -2
  6. package/dist/cli/jhipster-command.mjs +13 -4
  7. package/dist/cli/program.d.mts +53 -36
  8. package/dist/cli/program.mjs +41 -32
  9. package/dist/cli/utils.d.mts +2 -3
  10. package/dist/cli/utils.mjs +11 -21
  11. package/dist/generators/angular/generator.js +2 -2
  12. package/dist/generators/angular/resources/package.json +13 -13
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +2 -2
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.service.ts.ejs +2 -2
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +2 -2
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +2 -2
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.service.ts.ejs +2 -2
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +2 -2
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.ts.ejs +2 -2
  20. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +2 -2
  21. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.service.ts.ejs +2 -2
  22. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +2 -2
  23. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.service.ts.ejs +2 -2
  24. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +2 -2
  25. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.service.ts.ejs +2 -2
  26. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +2 -2
  27. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.ts.ejs +2 -2
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +2 -2
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway-routes.service.ts.ejs +2 -2
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +1 -1
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.ts.ejs +2 -2
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.service.ts.ejs +2 -2
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +1 -1
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.ts.ejs +3 -3
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.service.ts.ejs +2 -2
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts.ejs +1 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +2 -2
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +2 -2
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +1 -1
  40. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.ts.ejs +2 -2
  41. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +5 -5
  42. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/service/user-management.service.ts.ejs +3 -3
  43. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +2 -2
  44. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +4 -4
  45. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.ts.ejs +7 -7
  46. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-jwt.service.ts.ejs +3 -3
  47. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-session.service.ts.ejs +2 -2
  48. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/csrf.service.ts.ejs +1 -1
  49. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/state-storage.service.ts.ejs +3 -3
  50. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/notification.interceptor.ts.ejs +1 -1
  51. package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +5 -5
  52. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.ts.ejs +2 -2
  53. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +4 -4
  54. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.ts.ejs +2 -2
  55. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.ts.ejs +3 -3
  56. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +7 -7
  57. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +7 -7
  58. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  59. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/profile.service.ts.ejs +3 -3
  60. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -3
  61. package/dist/generators/angular/templates/src/main/webapp/app/login/login.service.ts.ejs +4 -4
  62. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.ts.ejs +3 -3
  63. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.ts.ejs +1 -1
  64. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +2 -2
  65. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translate.directive.ts.ejs +2 -2
  66. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translation.module.ts.ejs +3 -3
  67. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +1 -1
  68. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.service.ts.ejs +1 -1
  69. package/dist/generators/base/api.d.ts +10 -4
  70. package/dist/generators/base/generator.d.ts +4 -0
  71. package/dist/generators/base/generator.js +10 -1
  72. package/dist/generators/base/shared-data.js +2 -0
  73. package/dist/generators/base/support/faker.d.ts +1 -1
  74. package/dist/generators/base/support/faker.js +1 -1
  75. package/dist/generators/base/support/timestamp.js +10 -2
  76. package/dist/generators/base-application/support/prepare-entity.js +6 -1
  77. package/dist/generators/base-application/support/prepare-field.js +40 -16
  78. package/dist/generators/base-application/support/prepare-relationship.d.ts +1 -1
  79. package/dist/generators/base-application/support/task-type-inference.d.ts +18 -18
  80. package/dist/generators/base-application/types.d.ts +4 -0
  81. package/dist/generators/base-core/generator.d.ts +7 -4
  82. package/dist/generators/base-core/generator.js +31 -35
  83. package/dist/generators/base-workspaces/generator.d.ts +34 -1
  84. package/dist/generators/base-workspaces/generator.js +1 -1
  85. package/dist/generators/base-workspaces/internal/docker-base.js +1 -3
  86. package/dist/generators/bootstrap/support/eslint-transform.js +2 -2
  87. package/dist/generators/bootstrap/support/java-unused-imports-transform.js +2 -2
  88. package/dist/generators/bootstrap/support/prettier-support.js +2 -2
  89. package/dist/generators/bootstrap-application-base/generator.d.ts +2 -2
  90. package/dist/generators/bootstrap-application-base/generator.js +19 -5
  91. package/dist/generators/bootstrap-application-base/utils.d.ts +3 -3
  92. package/dist/generators/bootstrap-application-base/utils.js +9 -3
  93. package/dist/generators/bootstrap-workspaces/command.d.ts +12 -2
  94. package/dist/generators/bootstrap-workspaces/command.js +5 -3
  95. package/dist/generators/bootstrap-workspaces/generator.d.ts +8 -2
  96. package/dist/generators/bootstrap-workspaces/generator.js +0 -2
  97. package/dist/generators/bootstrap-workspaces/index.d.ts +1 -0
  98. package/dist/generators/bootstrap-workspaces/index.js +1 -0
  99. package/dist/generators/client/command.d.ts +22 -0
  100. package/dist/generators/client/command.js +22 -0
  101. package/dist/generators/client/files-common.js +1 -1
  102. package/dist/generators/client/generator.js +4 -5
  103. package/dist/generators/client/prompts.js +10 -9
  104. package/dist/generators/client/resources/package.json +3 -3
  105. package/dist/generators/client/templates/webpack/webpack.microfrontend.js.jhi.ejs +16 -5
  106. package/dist/generators/common/generator.js +2 -2
  107. package/dist/generators/common/resources/package.json +1 -1
  108. package/dist/generators/cypress/files.js +6 -0
  109. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +2 -2
  110. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/logout.cy.ts.ejs +39 -0
  111. package/dist/generators/docker/generator.d.ts +1 -1
  112. package/dist/generators/docker/templates/docker/keycloak.yml.ejs +2 -1
  113. package/dist/generators/docker-compose/command.js +9 -1
  114. package/dist/generators/docker-compose/generator.d.ts +11 -53
  115. package/dist/generators/docker-compose/generator.js +24 -23
  116. package/dist/generators/generate-blueprint/command.d.ts +97 -20
  117. package/dist/generators/generate-blueprint/command.js +28 -0
  118. package/dist/generators/generate-blueprint/constants.d.ts +2 -2
  119. package/dist/generators/generate-blueprint/files.d.ts +1 -42
  120. package/dist/generators/generate-blueprint/files.js +27 -29
  121. package/dist/generators/generate-blueprint/generator.d.ts +5 -2
  122. package/dist/generators/generate-blueprint/generator.js +78 -22
  123. package/dist/generators/generate-blueprint/resources/package.json +3 -3
  124. package/dist/generators/generate-blueprint/templates/.github/workflows/samples.yml.ejs +6 -8
  125. package/dist/generators/generate-blueprint/templates/README.md.ejs +12 -2
  126. package/dist/generators/generate-blueprint/templates/cli/cli-customizations.cjs.ejs +2 -0
  127. package/dist/generators/generate-blueprint/templates/cli/cli.cjs.ejs +2 -1
  128. package/dist/generators/generate-blueprint/templates/cli/commands.cjs.ejs +1 -1
  129. package/dist/generators/generate-blueprint/templates/eslint.config.js.jhi.blueprint.ejs +3 -2
  130. package/dist/generators/generate-blueprint/templates/generators/generator/command.mjs.ejs +8 -12
  131. package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +8 -11
  132. package/dist/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +2 -2
  133. package/dist/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +2 -4
  134. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +0 -1
  135. package/dist/generators/generator-constants.d.ts +2 -2
  136. package/dist/generators/generator-constants.js +3 -3
  137. package/dist/generators/git/command.d.ts +10 -0
  138. package/dist/generators/git/command.js +10 -0
  139. package/dist/generators/git/generator.d.ts +5 -4
  140. package/dist/generators/git/generator.js +6 -4
  141. package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +16 -10
  142. package/dist/generators/gradle/internal/needles.d.ts +3 -1
  143. package/dist/generators/gradle/internal/needles.js +10 -5
  144. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  145. package/dist/generators/gradle/types.d.ts +3 -2
  146. package/dist/generators/init/command.d.ts +4 -20
  147. package/dist/generators/init/command.js +1 -1
  148. package/dist/generators/init/resources/.node-version +1 -1
  149. package/dist/generators/java/command.d.ts +3 -5
  150. package/dist/generators/java/command.js +1 -20
  151. package/dist/generators/java/generators/bootstrap/command.d.ts +7 -0
  152. package/dist/generators/java/generators/bootstrap/command.js +7 -0
  153. package/dist/generators/java/generators/build-tool/generator.js +37 -13
  154. package/dist/generators/java/generators/graalvm/command.d.ts +5 -0
  155. package/dist/generators/java/generators/graalvm/command.js +5 -0
  156. package/dist/generators/java/generators/graalvm/generator.d.ts +9 -0
  157. package/dist/generators/java/generators/graalvm/generator.js +222 -0
  158. package/dist/generators/java/generators/graalvm/index.d.ts +20 -0
  159. package/dist/generators/java/generators/graalvm/index.js +20 -0
  160. package/dist/generators/java/generators/graalvm/internal/maven-definition.d.ts +8 -0
  161. package/dist/generators/java/generators/graalvm/internal/maven-definition.js +130 -0
  162. package/dist/generators/java/generators/graalvm/resources/build.gradle +1 -0
  163. package/dist/generators/java/generators/graalvm/resources/gradle/libs.versions.toml +5 -0
  164. package/dist/generators/java/generators/graalvm/templates/README.md.jhi.native.ejs +53 -0
  165. package/dist/generators/java/generators/graalvm/templates/gradle/native.gradle.ejs +44 -0
  166. package/dist/generators/java/generators/graalvm/templates/src/main/java/_package_/config/NativeConfiguration.java.ejs +14 -0
  167. package/dist/generators/java/generators/node/generator.d.ts +6 -18
  168. package/dist/generators/java/generators/node/generator.js +31 -0
  169. package/dist/generators/java/generators/openapi-generator/generator.js +2 -2
  170. package/dist/generators/java/support/util.d.ts +1 -1
  171. package/dist/generators/java/types.d.ts +4 -1
  172. package/dist/generators/javascript/generators/bootstrap/command.d.ts +21 -20
  173. package/dist/generators/javascript/generators/bootstrap/generator.d.ts +1 -2
  174. package/dist/generators/javascript/generators/bootstrap/generator.js +9 -5
  175. package/dist/generators/javascript/types.d.ts +9 -2
  176. package/dist/generators/kubernetes/command.d.ts +12 -0
  177. package/dist/generators/kubernetes/command.js +12 -0
  178. package/dist/generators/kubernetes/index.d.ts +1 -0
  179. package/dist/generators/kubernetes/index.js +1 -0
  180. package/dist/generators/kubernetes-helm/index.d.ts +1 -0
  181. package/dist/generators/kubernetes-helm/index.js +1 -0
  182. package/dist/generators/kubernetes-knative/generator.d.ts +1 -1
  183. package/dist/generators/kubernetes-knative/index.d.ts +1 -0
  184. package/dist/generators/kubernetes-knative/index.js +1 -0
  185. package/dist/generators/languages/entity-files.d.ts +3 -2
  186. package/dist/generators/languages/entity-files.js +0 -1
  187. package/dist/generators/languages/generator.d.ts +1 -0
  188. package/dist/generators/languages/generator.js +1 -0
  189. package/dist/generators/liquibase/files.js +8 -0
  190. package/dist/generators/liquibase/generator.d.ts +1 -1
  191. package/dist/generators/liquibase/generator.js +15 -0
  192. package/dist/generators/liquibase/templates/src/main/resources/META-INF/native-image/liquibase/reflect-config.json +145 -0
  193. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/add_relationship_constraints.ejs +81 -0
  194. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs +2 -62
  195. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +3 -60
  196. package/dist/generators/maven/generators/frontend-plugin/generator.js +10 -5
  197. package/dist/generators/maven/types.d.ts +3 -6
  198. package/dist/generators/project-name/command.d.ts +25 -20
  199. package/dist/generators/project-name/command.js +20 -4
  200. package/dist/generators/project-name/generator.d.ts +3 -12
  201. package/dist/generators/project-name/generator.js +6 -38
  202. package/dist/generators/react/generator.d.ts +1 -1
  203. package/dist/generators/react/generator.js +15 -2
  204. package/dist/generators/react/resources/package.json +25 -24
  205. package/dist/generators/react/templates/package.json.ejs +0 -3
  206. package/dist/generators/server/generator.d.ts +1 -7
  207. package/dist/generators/server/generator.js +22 -50
  208. package/dist/generators/server/resources/Dockerfile +12 -12
  209. package/dist/generators/server/resources/gradle/libs.versions.toml +10 -7
  210. package/dist/generators/server/resources/pom.xml +11 -11
  211. package/dist/generators/server/types.d.ts +8 -0
  212. package/dist/generators/spring-boot/cleanup.js +2 -2
  213. package/dist/generators/spring-boot/command.d.ts +19 -0
  214. package/dist/generators/spring-boot/command.js +19 -0
  215. package/dist/generators/spring-boot/generator.d.ts +1 -1
  216. package/dist/generators/spring-boot/generator.js +4 -1
  217. package/dist/generators/spring-boot/prompts.js +12 -12
  218. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +107 -106
  219. package/dist/generators/spring-boot/templates/README.md.jhi.spring-boot.ejs +22 -16
  220. package/dist/generators/spring-boot/templates/gradle/profile_dev.gradle.ejs +2 -46
  221. package/dist/generators/spring-boot/templates/gradle/profile_prod.gradle.ejs +1 -47
  222. package/dist/generators/spring-boot/templates/src/main/java/_package_/Application.java.ejs +4 -1
  223. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +29 -6
  224. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +32 -6
  225. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +13 -8
  226. package/dist/generators/spring-boot/templates/src/main/java/_package_/domain/User.java.ejs +2 -3
  227. package/dist/generators/spring-boot/templates/src/main/resources/config/application-dev.yml.ejs +8 -3
  228. package/dist/generators/spring-boot/templates/src/main/resources/config/application.yml.ejs +4 -2
  229. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +8 -7
  230. package/dist/generators/spring-cache/generator.d.ts +2 -1
  231. package/dist/generators/spring-cache/generator.js +18 -0
  232. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  233. package/dist/generators/spring-cloud/generators/gateway/generator.js +2 -2
  234. package/dist/generators/spring-data-couchbase/generator.js +2 -2
  235. package/dist/generators/spring-data-mongodb/generator.d.ts +1 -1
  236. package/dist/generators/spring-data-relational/files.d.ts +1 -0
  237. package/dist/generators/spring-data-relational/files.js +6 -0
  238. package/dist/generators/spring-data-relational/generator.d.ts +2 -1
  239. package/dist/generators/spring-data-relational/generator.js +63 -2
  240. package/dist/generators/spring-data-relational/internal/dependencies.d.ts +87 -7
  241. package/dist/generators/spring-data-relational/internal/dependencies.js +30 -18
  242. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_persistable.ejs +6 -0
  243. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_reactive.ejs +1 -2
  244. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +8 -3
  245. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/JacksonNativeConfiguration.java.ejs +98 -0
  246. package/dist/generators/vue/files-vue.js +4 -1
  247. package/dist/generators/vue/generator.d.ts +1 -1
  248. package/dist/generators/vue/generator.js +84 -3
  249. package/dist/generators/vue/resources/package.json +20 -19
  250. package/dist/generators/vue/support/update-languages.js +1 -1
  251. package/dist/generators/vue/templates/module-federation.config.cjs.ejs +55 -0
  252. package/dist/generators/vue/templates/package.json.ejs +11 -62
  253. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +1 -1
  254. package/dist/generators/vue/templates/vite.config.mts.ejs +15 -21
  255. package/dist/generators/workspaces/generator.d.ts +20 -9
  256. package/dist/generators/workspaces/generator.js +3 -3
  257. package/dist/lib/application/field-types.d.ts +2 -1
  258. package/dist/lib/command/converter.d.ts +6 -2
  259. package/dist/lib/command/converter.js +4 -1
  260. package/dist/lib/command/load.js +1 -0
  261. package/dist/lib/command/lookup-commands-configs.js +9 -12
  262. package/dist/lib/command/support/merge-union.d.ts +17 -6
  263. package/dist/lib/command/types.d.ts +38 -11
  264. package/dist/lib/eslint/index.d.ts +6 -14
  265. package/dist/lib/eslint/index.js +1 -2
  266. package/dist/lib/index.d.ts +1 -0
  267. package/dist/lib/index.js +7 -3
  268. package/dist/lib/jdl/core/parsing/validator.js +2 -2
  269. package/dist/lib/jhipster/default-application-options.d.ts +83 -15
  270. package/dist/lib/jhipster/default-application-options.js +26 -27
  271. package/dist/lib/testing/get-generator.d.ts +1 -0
  272. package/dist/lib/testing/get-generator.js +6 -2
  273. package/dist/lib/testing/github-group.d.ts +6 -0
  274. package/dist/lib/testing/github-group.js +56 -0
  275. package/dist/lib/testing/github-matrix.d.ts +38 -0
  276. package/dist/lib/testing/github-matrix.js +72 -0
  277. package/dist/lib/testing/github.d.ts +1 -0
  278. package/dist/lib/testing/github.js +6 -2
  279. package/dist/lib/testing/helpers.d.ts +41 -3
  280. package/dist/lib/testing/helpers.js +74 -12
  281. package/dist/lib/testing/index.d.ts +2 -0
  282. package/dist/lib/testing/index.js +2 -0
  283. package/dist/lib/testing/support/matcher.d.ts +2 -2
  284. package/dist/lib/testing/support/matcher.js +3 -3
  285. package/dist/lib/types/application/application.d.ts +6 -1
  286. package/dist/lib/types/application/entity.d.ts +3 -1
  287. package/dist/lib/types/application/field.d.ts +16 -4
  288. package/dist/lib/types/application/options.d.ts +4 -0
  289. package/dist/lib/types/application/relationship.d.ts +1 -0
  290. package/dist/lib/types/application/yo-rc.d.ts +4 -0
  291. package/dist/lib/types/base/entity.d.ts +1 -0
  292. package/dist/lib/utils/logger.d.ts +1 -1
  293. package/dist/lib/utils/yo-rc.d.ts +27 -3
  294. package/package.json +33 -31
  295. package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +0 -6
  296. package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +0 -45
@@ -105,66 +105,9 @@ if (hasFieldConstraint) { _%>
105
105
  Added the relationship constraints for entity <%= entityClass %>.
106
106
  -->
107
107
  <changeSet id="<%= changelogDate %>-relationship-foreign-keys" author="jhipster">
108
- <%_ for (idx in addedRelationships) {
109
- const relationship = addedRelationships[idx];
110
- onDelete = relationship.onDelete,
111
- onUpdate = relationship.onUpdate;
112
-
113
- if (relationship.shouldWriteRelationship) {
114
- const constraintName = this.getFKConstraintName(entityTableName, relationship.columnName, prodDatabaseType);
115
- let baseColumnName = relationship.columnName + '_id';
116
- if (relationship.relationshipType === 'one-to-one' && relationship.id === true) {
117
- baseColumnName = 'id';
118
- }
119
- _%>
120
- <addForeignKeyConstraint baseColumnNames="<%= baseColumnName %>"
121
- baseTableName="<%= entityTableName %>"
122
- constraintName="<%= constraintName %>"
123
- referencedColumnNames="id"
124
- referencedTableName="<%= relationship.otherEntityTableName %>"
125
- <%_ if (onDelete) { _%>
126
- onDelete="<%= onDelete %>"
127
- <%_ } _%>
128
- <%_ if (onUpdate) { _%>
129
- onUpdate="<%= onUpdate %>"
130
- <%_ } _%>
131
- />
132
- <%_ } else if (relationship.shouldWriteJoinTable) {
133
- const constraintName = this.getFKConstraintName(relationship.joinTable.name, entityTableName, prodDatabaseType);
134
- const otherEntityConstraintName = this.getFKConstraintName(relationship.joinTable.name, relationship.columnName, prodDatabaseType);
135
- _%>
136
-
137
- <addForeignKeyConstraint baseColumnNames="<%= entity.primaryKey.fields.map(field => entity.entityTableName + '_' + field.columnName).join(', ') %>"
138
- baseTableName="<%= relationship.joinTable.name %>"
139
- constraintName="<%= constraintName %>"
140
- referencedColumnNames="<%= entity.primaryKey.fields.map(field => field.columnName).join(', ') %>"
141
- referencedTableName="<%= entityTableName %>"
142
- <%_ if (onDelete) { _%>
143
- onDelete="<%= onDelete %>"
144
- <%_ } _%>
145
- <%_ if (onUpdate) { _%>
146
- onUpdate="<%= onUpdate %>"
147
- <%_ } _%>
148
- />
149
-
150
- <addForeignKeyConstraint baseColumnNames="<%= relationship.otherEntity.primaryKey.fields.map(field => relationship.columnName + '_' + field.columnName).join(', ') %>"
151
- baseTableName="<%= relationship.joinTable.name %>"
152
- constraintName="<%= otherEntityConstraintName %>"
153
- referencedColumnNames="<%= relationship.otherEntity.primaryKey.fields.map(field => field.columnName).join(', ') %>"
154
- referencedTableName="<%= relationship.otherEntityTableName %>"
155
- <%_ if (relationship.otherRelationship) {
156
- // User object is not supporting this right now
157
- _%>
158
- <%_ if (relationship.otherRelationship.onDelete) { _%>
159
- onDelete="<%= relationship.otherRelationship.onDelete %>"
160
- <%_ } _%>
161
- <%_ if (relationship.otherRelationship.onUpdate) { _%>
162
- onUpdate="<%= relationship.otherRelationship.onUpdate %>"
163
- <%_ } _%>
164
- <%_ } _%>
165
- />
166
- <%_ }
167
- } _%>
108
+ <%_ for (relationship of addedRelationships) { _%>
109
+ <%- include('./add_relationship_constraints', { entity, relationship, prodDatabaseType }) -%>
110
+ <%_ } _%>
168
111
  </changeSet>
169
112
  <%_ } _%>
170
113
  </databaseChangeLog>
@@ -30,7 +30,7 @@ export default class FrontendPluginGenerator extends BaseApplicationGenerator {
30
30
  get postWriting() {
31
31
  return this.asPostWritingTaskGroup({
32
32
  customize({ application, source }) {
33
- const { javaDependencies, nodeDependencies, nodeVersion, clientFrameworkAngular, clientFrameworkReact, clientFrameworkVue, microfrontend, srcMainWebapp, } = application;
33
+ const { javaDependencies, nodeDependencies, nodeVersion, clientFrameworkAngular, clientFrameworkReact, clientFrameworkVue, clientFrameworkBuiltIn, clientBundlerVite, clientBundlerWebpack, microfrontend, srcMainWebapp, } = application;
34
34
  const checksumIncludedFiles = [
35
35
  `${srcMainWebapp}**/*.*`,
36
36
  'target/classes/static/**/*.*',
@@ -39,18 +39,23 @@ export default class FrontendPluginGenerator extends BaseApplicationGenerator {
39
39
  'tsconfig.json',
40
40
  ];
41
41
  if (clientFrameworkAngular) {
42
- checksumIncludedFiles.push('tsconfig.app.json', 'webpack/*.*');
42
+ checksumIncludedFiles.push('tsconfig.app.json');
43
43
  }
44
44
  else if (clientFrameworkReact) {
45
- checksumIncludedFiles.push('.postcss.config.js', 'webpack/*.*');
45
+ checksumIncludedFiles.push('.postcss.config.js');
46
46
  }
47
47
  else if (clientFrameworkVue) {
48
48
  checksumIncludedFiles.push('.postcssrc.js', 'tsconfig.app.json');
49
49
  if (microfrontend) {
50
+ checksumIncludedFiles.push('module-federation.config.cjs');
51
+ }
52
+ }
53
+ if (clientFrameworkBuiltIn) {
54
+ if (clientBundlerWebpack) {
50
55
  checksumIncludedFiles.push('webpack/*.*');
51
56
  }
52
- else {
53
- checksumIncludedFiles.push('vite.config.ts');
57
+ else if (clientBundlerVite) {
58
+ checksumIncludedFiles.push('vite.config.mts');
54
59
  }
55
60
  }
56
61
  source.addMavenDefinition({
@@ -17,9 +17,9 @@
17
17
  * limitations under the License.
18
18
  */
19
19
 
20
- export type MavenArtifact = {
21
- groupId?: string;
22
- artifactId: string;
20
+ import type { JavaArtifact } from '../java/types.js';
21
+
22
+ export type MavenArtifact = JavaArtifact & {
23
23
  version?: string;
24
24
  inProfile?: string;
25
25
  };
@@ -40,9 +40,6 @@ export type MavenRepository = {
40
40
  };
41
41
 
42
42
  export type MavenDependency = MavenArtifact & {
43
- type?: string;
44
- scope?: string;
45
- classifier?: string;
46
43
  optional?: boolean;
47
44
  additionalContent?: string;
48
45
  };
@@ -1,21 +1,26 @@
1
- /**
2
- * Copyright 2013-2024 the original author or authors from the JHipster project.
3
- *
4
- * This file is part of the JHipster project, see https://www.jhipster.tech/
5
- * for more information.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * https://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- import type { JHipsterCommandDefinition } from '../../lib/command/index.js';
20
- declare const command: JHipsterCommandDefinition;
1
+ declare const command: {
2
+ readonly configs: {
3
+ readonly defaultBaseName: {
4
+ readonly internal: true;
5
+ readonly scope: "generator";
6
+ };
7
+ readonly validateBaseName: {
8
+ readonly internal: true;
9
+ readonly scope: "generator";
10
+ };
11
+ readonly baseName: {
12
+ readonly description: "Application base name";
13
+ readonly cli: {
14
+ readonly type: StringConstructor;
15
+ };
16
+ readonly prompt: (gen: any) => {
17
+ type: "input";
18
+ validate: (input: any) => any;
19
+ message: string;
20
+ default: () => any;
21
+ };
22
+ readonly scope: "storage";
23
+ };
24
+ };
25
+ };
21
26
  export default command;
@@ -1,9 +1,25 @@
1
- import { BASE_NAME, BASE_NAME_DESCRIPTION } from './constants.js';
1
+ import { BASE_NAME_DESCRIPTION } from './constants.js';
2
2
  const command = {
3
- options: {
4
- [BASE_NAME]: {
3
+ configs: {
4
+ defaultBaseName: {
5
+ internal: true,
6
+ scope: 'generator',
7
+ },
8
+ validateBaseName: {
9
+ internal: true,
10
+ scope: 'generator',
11
+ },
12
+ baseName: {
5
13
  description: BASE_NAME_DESCRIPTION,
6
- type: String,
14
+ cli: {
15
+ type: String,
16
+ },
17
+ prompt: gen => ({
18
+ type: 'input',
19
+ validate: input => gen.validateBaseName(input),
20
+ message: 'What is the base name of your application?',
21
+ default: () => gen.defaultBaseName(),
22
+ }),
7
23
  scope: 'storage',
8
24
  },
9
25
  },
@@ -17,21 +17,12 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import BaseApplicationGenerator from '../base-application/index.js';
20
- /**
21
- * @class
22
- * @extends {BaseApplicationGenerator<import('../base-application/types.js').BaseApplication>}
23
- */
24
20
  export default class ProjectNameGenerator extends BaseApplicationGenerator {
25
- javaApplication: any;
21
+ javaApplication?: boolean;
22
+ defaultBaseName: () => string;
23
+ validateBaseName: (input: string) => boolean | string;
26
24
  beforeQueue(): Promise<void>;
27
25
  get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "parseOptions">;
28
- get prompting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "showPrompts">;
29
26
  get loading(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").TaskParamWithApplicationDefaults<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "load">;
30
27
  get preparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "preparing">;
31
- /**
32
- * Validates baseName
33
- * @param {String} input - Base name to be checked
34
- * @returns Boolean
35
- */
36
- validateBaseName(input: any): true | "Your base name cannot contain special characters or a blank space" | "Your base name cannot contain underscores as this does not meet the URI spec" | "Your base name cannot be named 'application' as this is a reserved name for Spring Boot";
37
28
  }
@@ -20,14 +20,14 @@ import { camelCase, defaults, kebabCase, startCase, upperFirst } from 'lodash-es
20
20
  import BaseApplicationGenerator from '../base-application/index.js';
21
21
  import { getHipster } from '../base/support/index.js';
22
22
  import { getDefaultAppName } from './support/index.js';
23
- import { BASE_NAME } from './constants.js';
24
23
  import { validateProjectName } from './support/name-resolver.js';
25
- /**
26
- * @class
27
- * @extends {BaseApplicationGenerator<import('../base-application/types.js').BaseApplication>}
28
- */
29
24
  export default class ProjectNameGenerator extends BaseApplicationGenerator {
30
25
  javaApplication;
26
+ defaultBaseName = () => getDefaultAppName({
27
+ reproducible: this.options.reproducible,
28
+ javaApplication: this.javaApplication,
29
+ });
30
+ validateBaseName = (input) => validateProjectName(input, { javaApplication: this.javaApplication });
31
31
  async beforeQueue() {
32
32
  this.sharedData.getControl().existingProject = Boolean(this.options.defaults || this.options.applicationWithConfig || (this.jhipsterConfig.baseName !== undefined && this.config.existed));
33
33
  if (!this.fromBlueprint) {
@@ -39,10 +39,7 @@ export default class ProjectNameGenerator extends BaseApplicationGenerator {
39
39
  parseOptions() {
40
40
  if (this.options.defaults) {
41
41
  if (!this.jhipsterConfig.baseName) {
42
- this.jhipsterConfig.baseName = getDefaultAppName({
43
- reproducible: this.options.reproducible,
44
- javaApplication: this.javaApplication,
45
- });
42
+ this.jhipsterConfig.baseName = this.defaultBaseName();
46
43
  }
47
44
  }
48
45
  },
@@ -51,24 +48,6 @@ export default class ProjectNameGenerator extends BaseApplicationGenerator {
51
48
  get [BaseApplicationGenerator.INITIALIZING]() {
52
49
  return this.delegateTasksToBlueprint(() => this.initializing);
53
50
  }
54
- get prompting() {
55
- return this.asPromptingTaskGroup({
56
- async showPrompts() {
57
- await this.prompt([
58
- {
59
- name: BASE_NAME,
60
- type: 'input',
61
- validate: input => this.validateBaseName(input),
62
- message: 'What is the base name of your application?',
63
- default: () => getDefaultAppName({ reproducible: this.options.reproducible, javaApplication: this.javaApplication }),
64
- },
65
- ], this.config);
66
- },
67
- });
68
- }
69
- get [BaseApplicationGenerator.PROMPTING]() {
70
- return this.delegateTasksToBlueprint(() => this.prompting);
71
- }
72
51
  get loading() {
73
52
  return this.asLoadingTaskGroup({
74
53
  load({ application }) {
@@ -102,15 +81,4 @@ export default class ProjectNameGenerator extends BaseApplicationGenerator {
102
81
  get [BaseApplicationGenerator.PREPARING]() {
103
82
  return this.delegateTasksToBlueprint(() => this.preparing);
104
83
  }
105
- /*
106
- * Start of local public API, blueprints may override to customize the generator behavior.
107
- */
108
- /**
109
- * Validates baseName
110
- * @param {String} input - Base name to be checked
111
- * @returns Boolean
112
- */
113
- validateBaseName(input) {
114
- return validateProjectName(input, { javaApplication: this.javaApplication });
115
- }
116
84
  }
@@ -14,7 +14,7 @@ export default class ReactGenerator extends BaseApplicationGenerator {
14
14
  get postWritingEntities(): {
15
15
  postWriteEntitiesFiles: (this: import("../index.js").GeneratorBaseCore, params: import("../../lib/types/application/tasks.js").PostWritingEntitiesTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>) => void;
16
16
  };
17
- get postWriting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PostWritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "addWebsocketDependencies">;
17
+ get postWriting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PostWritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "addWebsocketDependencies" | "addMicrofrontendDependencies">;
18
18
  get end(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").TaskParamWithApplication<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "end">;
19
19
  /**
20
20
  * @private
@@ -123,8 +123,8 @@ export default class ReactGenerator extends BaseApplicationGenerator {
123
123
  }
124
124
  get writing() {
125
125
  return this.asWritingTaskGroup({
126
- cleanup({ control }) {
127
- control.cleanupFiles({
126
+ async cleanup({ control }) {
127
+ await control.cleanupFiles({
128
128
  '8.6.1': ['.eslintrc.json', '.eslintignore'],
129
129
  });
130
130
  },
@@ -152,6 +152,19 @@ export default class ReactGenerator extends BaseApplicationGenerator {
152
152
  }
153
153
  get postWriting() {
154
154
  return this.asPostWritingTaskGroup({
155
+ addMicrofrontendDependencies({ application }) {
156
+ if (!application.microfrontend)
157
+ return;
158
+ const { applicationTypeGateway } = application;
159
+ if (applicationTypeGateway) {
160
+ this.packageJson.merge({
161
+ devDependencies: { '@module-federation/utilities': null },
162
+ });
163
+ }
164
+ this.packageJson.merge({
165
+ devDependencies: { '@module-federation/enhanced': null },
166
+ });
167
+ },
155
168
  addWebsocketDependencies({ application }) {
156
169
  const { communicationSpringWebsocket, nodeDependencies } = application;
157
170
  if (communicationSpringWebsocket) {
@@ -3,7 +3,7 @@
3
3
  "@fortawesome/fontawesome-svg-core": "6.6.0",
4
4
  "@fortawesome/free-solid-svg-icons": "6.6.0",
5
5
  "@fortawesome/react-fontawesome": "0.2.2",
6
- "@reduxjs/toolkit": "2.2.7",
6
+ "@reduxjs/toolkit": "2.3.0",
7
7
  "axios": "1.7.7",
8
8
  "bootstrap": "5.3.3",
9
9
  "bootswatch": "5.3.3",
@@ -11,33 +11,34 @@
11
11
  "path-browserify": "1.0.1",
12
12
  "react": "18.3.1",
13
13
  "react-dom": "18.3.1",
14
- "react-hook-form": "7.53.0",
14
+ "react-hook-form": "7.53.1",
15
15
  "react-jhipster": "0.25.3",
16
16
  "react-loadable": "5.5.0",
17
17
  "react-redux": "9.1.2",
18
18
  "react-redux-loading-bar": "5.0.8",
19
- "react-router-dom": "6.26.2",
20
- "react-toastify": "10.0.5",
19
+ "react-router-dom": "6.27.0",
20
+ "react-toastify": "10.0.6",
21
21
  "react-transition-group": "4.4.5",
22
- "reactstrap": "9.2.2",
22
+ "reactstrap": "9.2.3",
23
23
  "redux": "5.0.1",
24
24
  "rxjs": "7.8.1",
25
25
  "sockjs-client": "1.6.1",
26
26
  "sonar-scanner": "3.1.0",
27
- "tslib": "2.7.0",
28
- "uuid": "10.0.0",
27
+ "tslib": "2.8.0",
28
+ "uuid": "11.0.1",
29
29
  "webstomp-client": "1.2.6"
30
30
  },
31
31
  "devDependencies": {
32
- "@eslint/js": "9.10.0",
33
- "@module-federation/utilities": "3.1.12",
32
+ "@eslint/js": "9.13.0",
33
+ "@module-federation/enhanced": "0.6.13",
34
+ "@module-federation/utilities": "3.1.19",
34
35
  "@testing-library/react": "16.0.1",
35
- "@types/jest": "29.5.13",
36
- "@types/lodash": "4.17.7",
36
+ "@types/jest": "29.5.14",
37
+ "@types/lodash": "4.17.12",
37
38
  "@types/node": "20.11.25",
38
- "@types/react": "18.3.8",
39
- "@types/react-dom": "18.3.0",
40
- "@types/react-redux": "7.1.33",
39
+ "@types/react": "18.3.12",
40
+ "@types/react-dom": "18.3.1",
41
+ "@types/react-redux": "7.1.34",
41
42
  "@types/redux": "3.6.31",
42
43
  "@types/webpack-env": "1.18.5",
43
44
  "autoprefixer": "10.4.20",
@@ -48,14 +49,14 @@
48
49
  "cross-env": "7.0.3",
49
50
  "css-loader": "7.1.2",
50
51
  "css-minimizer-webpack-plugin": "7.0.0",
51
- "eslint": "9.10.0",
52
+ "eslint": "9.13.0",
52
53
  "eslint-config-prettier": "9.1.0",
53
54
  "eslint-plugin-prettier": "5.2.1",
54
- "eslint-plugin-react": "7.36.1",
55
+ "eslint-plugin-react": "7.37.2",
55
56
  "eslint-webpack-plugin": "4.2.0",
56
57
  "folder-hash": "4.0.4",
57
58
  "fork-ts-checker-webpack-plugin": "9.0.2",
58
- "html-webpack-plugin": "5.6.0",
59
+ "html-webpack-plugin": "5.6.3",
59
60
  "identity-obj-proxy": "3.0.0",
60
61
  "jest": "29.7.0",
61
62
  "jest-environment-jsdom": "29.7.0",
@@ -65,12 +66,12 @@
65
66
  "merge-jsons-webpack-plugin": "2.0.1",
66
67
  "mini-css-extract-plugin": "2.9.1",
67
68
  "postcss-loader": "8.1.1",
68
- "postcss-rtlcss": "5.4.0",
69
+ "postcss-rtlcss": "5.5.0",
69
70
  "react-infinite-scroll-component": "6.1.0",
70
- "redux-mock-store": "1.5.4",
71
+ "redux-mock-store": "1.5.5",
71
72
  "rimraf": "5.0.8",
72
- "sass": "1.79.2",
73
- "sass-loader": "16.0.1",
73
+ "sass": "1.77.6",
74
+ "sass-loader": "16.0.2",
74
75
  "simple-progress-webpack-plugin": "2.0.0",
75
76
  "sinon": "19.0.2",
76
77
  "source-map-loader": "5.0.0",
@@ -80,9 +81,9 @@
80
81
  "thread-loader": "4.0.4",
81
82
  "ts-jest": "29.2.5",
82
83
  "ts-loader": "9.5.1",
83
- "typescript": "5.6.2",
84
- "typescript-eslint": "8.6.0",
85
- "webpack": "5.94.0",
84
+ "typescript": "5.6.3",
85
+ "typescript-eslint": "8.11.0",
86
+ "webpack": "5.95.0",
86
87
  "webpack-cli": "5.1.4",
87
88
  "webpack-dev-server": "5.1.0",
88
89
  "webpack-merge": "6.0.1",
@@ -59,9 +59,6 @@
59
59
  "uuid": "<%= nodeDependencies['uuid'] %>"
60
60
  },
61
61
  "devDependencies": {
62
- <%_ if (applicationTypeGateway && microfrontend) { _%>
63
- "@module-federation/utilities": "<%= nodeDependencies['@module-federation/utilities'] %>",
64
- <%_ } _%>
65
62
  "@testing-library/react": "<%= nodeDependencies['@testing-library/react'] %>",
66
63
  "@types/jest": "<%= nodeDependencies['@types/jest'] %>",
67
64
  "@types/lodash": "<%= nodeDependencies['@types/lodash'] %>",
@@ -26,25 +26,19 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
26
26
  get composing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "composeBackendType">;
27
27
  get loading(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").TaskParamWithApplicationDefaults<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "loadEnvironmentVariables" | "setupServerconsts">;
28
28
  get preparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "blockhound">;
29
- get postPreparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl & {
30
- source: import("../../lib/types/application/application.js").BaseApplicationSource;
31
- } & {
32
- application: import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>;
33
- }, "useNpmWrapper">;
34
29
  get configuringEachEntity(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").ConfiguringEachEntityTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "configureFields" | "configureRelationships" | "configureMicroservice" | "configureGateway" | "configureEntitySearchEngine" | "configureModelFiltering" | "configurePagination" | "configureEntityTable">;
35
30
  get loadingEntities(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").LoadingEntitiesTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "loadEntityConfig">;
36
31
  get preparingEachEntity(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingEachEntityTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "prepareEntity">;
37
32
  get postPreparingEachEntity(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingEachEntityTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "checkForTableName">;
38
33
  /** @inheritdoc */
39
34
  get default(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").TaskParamWithEntities<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "checkCompositeIds">;
40
- get postWriting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PostWritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "packageJsonE2eScripts" | "packageJsonScripts" | "packageJsonBackendScripts">;
35
+ get postWriting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PostWritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "packageJsonScripts" | "packageJsonBackendScripts" | "packageJsonE2eScripts">;
41
36
  /**
42
37
  * Validate the entityTableName
43
38
  * @return {true|string} true for a valid value or error message.
44
39
  */
45
40
  _validateTableName(entityTableName: any, prodDatabaseType: any, entity: any): string | true;
46
41
  _validateField(entityName: any, field: any): void;
47
- useNpmWrapperInstallTask(): void;
48
42
  _validateRelationship(entityName: any, relationship: any): void;
49
43
  /**
50
44
  * @private
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  /**
3
2
  * Copyright 2013-2024 the original author or authors from the JHipster project.
4
3
  *
@@ -18,7 +17,6 @@
18
17
  * limitations under the License.
19
18
  */
20
19
  import { existsSync } from 'fs';
21
- import chalk from 'chalk';
22
20
  import { GENERATOR_COMMON, GENERATOR_SPRING_BOOT } from '../generator-list.js';
23
21
  import BaseApplicationGenerator from '../base-application/index.js';
24
22
  import { packageJson } from '../../lib/index.js';
@@ -82,19 +80,24 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
82
80
  this.log.info(`Using ${application.defaultPackaging} as default packaging`);
83
81
  }
84
82
  },
85
- setupServerconsts({ application }) {
83
+ setupServerconsts({ application, applicationDefaults }) {
86
84
  // Make constants available in templates
87
- application.MAIN_DIR = MAIN_DIR;
88
- application.TEST_DIR = TEST_DIR;
89
- application.LOGIN_REGEX = LOGIN_REGEX;
90
- application.CLIENT_WEBPACK_DIR = CLIENT_WEBPACK_DIR;
91
- application.SERVER_MAIN_SRC_DIR = SERVER_MAIN_SRC_DIR;
92
- application.SERVER_MAIN_RES_DIR = SERVER_MAIN_RES_DIR;
93
- application.SERVER_TEST_SRC_DIR = SERVER_TEST_SRC_DIR;
94
- application.SERVER_TEST_RES_DIR = SERVER_TEST_RES_DIR;
95
- application.JAVA_VERSION = this.useVersionPlaceholders ? 'JAVA_VERSION' : JAVA_VERSION;
96
- application.JAVA_COMPATIBLE_VERSIONS = JAVA_COMPATIBLE_VERSIONS;
97
- application.javaCompatibleVersions = JAVA_COMPATIBLE_VERSIONS;
85
+ applicationDefaults({
86
+ MAIN_DIR,
87
+ TEST_DIR,
88
+ LOGIN_REGEX,
89
+ CLIENT_WEBPACK_DIR,
90
+ SERVER_MAIN_SRC_DIR,
91
+ SERVER_MAIN_RES_DIR,
92
+ SERVER_TEST_SRC_DIR,
93
+ SERVER_TEST_RES_DIR,
94
+ JAVA_VERSION: this.useVersionPlaceholders ? 'JAVA_VERSION' : JAVA_VERSION,
95
+ JAVA_COMPATIBLE_VERSIONS,
96
+ javaCompatibleVersions: JAVA_COMPATIBLE_VERSIONS,
97
+ ANGULAR,
98
+ VUE,
99
+ REACT,
100
+ });
98
101
  if (this.projectVersion) {
99
102
  application.projectVersion = this.projectVersion;
100
103
  this.log.info(`Using projectVersion: ${application.projectVersion}`);
@@ -112,10 +115,6 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
112
115
  else {
113
116
  application.jhipsterDependenciesVersion = JHIPSTER_DEPENDENCIES_VERSION;
114
117
  }
115
- application.ANGULAR = ANGULAR;
116
- application.VUE = VUE;
117
- application.REACT = REACT;
118
- this.packagejs = packageJson;
119
118
  application.jhipsterPackageJson = packageJson;
120
119
  },
121
120
  });
@@ -140,18 +139,6 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
140
139
  get [BaseApplicationGenerator.PREPARING]() {
141
140
  return this.delegateTasksToBlueprint(() => this.preparing);
142
141
  }
143
- get postPreparing() {
144
- return this.asPostPreparingTaskGroup({
145
- useNpmWrapper({ application }) {
146
- if (application.useNpmWrapper) {
147
- this.useNpmWrapperInstallTask();
148
- }
149
- },
150
- });
151
- }
152
- get [BaseApplicationGenerator.POST_PREPARING]() {
153
- return this.delegateTasksToBlueprint(() => this.postPreparing);
154
- }
155
142
  get configuringEachEntity() {
156
143
  return this.asConfiguringEachEntityTaskGroup({
157
144
  configureMicroservice({ application, entityConfig }) {
@@ -273,9 +260,11 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
273
260
  relationship.relationshipName = relationship.otherEntityName;
274
261
  this.log.warn(`relationshipName is missing in .jhipster/${entityName}.json for relationship ${stringifyApplicationData(relationship)}, using ${relationship.otherEntityName} as fallback`);
275
262
  }
263
+ // @ts-ignore deprecated property
276
264
  if (relationship.useJPADerivedIdentifier) {
277
265
  this.log.verboseInfo('Option useJPADerivedIdentifier is deprecated, use id instead');
278
- relationship.id = true;
266
+ relationship.options ??= {};
267
+ relationship.options.id = true;
279
268
  }
280
269
  });
281
270
  entityConfig.relationships = relationships;
@@ -408,7 +397,8 @@ export default class JHipsterServerGenerator extends BaseApplicationGenerator {
408
397
  packageJsonE2eScripts({ application }) {
409
398
  const scriptsStorage = this.packageJson.createStorage('scripts');
410
399
  const buildCmd = application.buildToolGradle ? 'gradlew' : 'mvnw -ntp';
411
- const applicationWaitTimeout = WAIT_TIMEOUT * (application.applicationTypeGateway ? 2 : 1);
400
+ let applicationWaitTimeout = WAIT_TIMEOUT * (application.applicationTypeGateway ? 2 : 1);
401
+ applicationWaitTimeout = application.authenticationTypeOauth2 ? applicationWaitTimeout * 2 : applicationWaitTimeout;
412
402
  const applicationEndpoint = application.applicationTypeMicroservice
413
403
  ? `http-get://127.0.0.1:${application.gatewayServerPort}/${application.endpointPrefix}/management/health/readiness`
414
404
  : 'http-get://127.0.0.1:$npm_package_config_backend_port/management/health';
@@ -497,24 +487,6 @@ ${instructions}`);
497
487
  }
498
488
  }
499
489
  }
500
- useNpmWrapperInstallTask() {
501
- this.setFeatures({
502
- customInstallTask: async function customInstallTask(preferredPm, defaultInstallTask) {
503
- const buildTool = this.jhipsterConfigWithDefaults.buildTool;
504
- if ((preferredPm && preferredPm !== 'npm') || this.jhipsterConfig.skipClient || (buildTool !== GRADLE && buildTool !== MAVEN)) {
505
- return defaultInstallTask();
506
- }
507
- const npmCommand = process.platform === 'win32' ? 'npmw' : './npmw';
508
- try {
509
- await this.spawnCommand(npmCommand, ['install'], { preferLocal: true });
510
- }
511
- catch (error) {
512
- this.log.error(chalk.red(`Error executing '${npmCommand} install', please execute it yourself. (${error.shortMessage})`));
513
- }
514
- return true;
515
- }.bind(this),
516
- });
517
- }
518
490
  _validateRelationship(entityName, relationship) {
519
491
  if (relationship.otherEntityName === undefined) {
520
492
  throw new Error(`otherEntityName is missing in .jhipster/${entityName}.json for relationship ${stringifyApplicationData(relationship)}`);