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
@@ -1,21 +1,22 @@
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 packageJsonNodeEngine: {
4
+ readonly cli: {
5
+ readonly type: (val: any) => any;
6
+ readonly hide: true;
7
+ };
8
+ readonly scope: "storage";
9
+ };
10
+ readonly packageJsonType: {
11
+ readonly cli: {
12
+ readonly type: StringConstructor;
13
+ readonly hide: true;
14
+ };
15
+ readonly choices: readonly ["commonjs", "module"];
16
+ readonly default: "commonjs";
17
+ readonly scope: "storage";
18
+ };
19
+ };
20
+ readonly import: readonly [];
21
+ };
21
22
  export default command;
@@ -1,8 +1,7 @@
1
1
  import BaseApplicationGenerator from '../../../base-application/index.js';
2
2
  export default class BootstrapGenerator extends BaseApplicationGenerator {
3
- constructor(args: any, options: any, features: any);
4
3
  beforeQueue(): Promise<void>;
5
- 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>>>, "loadNodeDependencies">;
4
+ 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>>>, "loadNodeDependencies" | "jsExtensions">;
6
5
  get writing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").WritingTaskParam<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>>>, "writing">;
7
6
  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>>>, "addPrettierDependencies">;
8
7
  }
@@ -20,9 +20,6 @@ import { packageJson } from '../../../../lib/index.js';
20
20
  import BaseApplicationGenerator from '../../../base-application/index.js';
21
21
  import { GENERATOR_PROJECT_NAME } from '../../../generator-list.js';
22
22
  export default class BootstrapGenerator extends BaseApplicationGenerator {
23
- constructor(args, options, features) {
24
- super(args, options, { queueCommandTasks: true, ...features });
25
- }
26
23
  async beforeQueue() {
27
24
  if (!this.fromBlueprint) {
28
25
  await this.composeWithBlueprints();
@@ -36,6 +33,12 @@ export default class BootstrapGenerator extends BaseApplicationGenerator {
36
33
  loadNodeDependencies({ application }) {
37
34
  this.loadNodeDependenciesFromPackageJson(application.nodeDependencies, this.fetchFromInstalledJHipster('javascript', 'resources', 'package.json'));
38
35
  },
36
+ jsExtensions({ applicationDefaults, application }) {
37
+ applicationDefaults({
38
+ cjsExtension: application.packageJsonTypeCommonjs ? '.js' : '.cjs',
39
+ mjsExtension: application.packageJsonTypeCommonjs ? '.js' : '.mjs',
40
+ });
41
+ },
39
42
  });
40
43
  }
41
44
  get [BaseApplicationGenerator.LOADING]() {
@@ -57,14 +60,15 @@ export default class BootstrapGenerator extends BaseApplicationGenerator {
57
60
  get postWriting() {
58
61
  return this.asPostWritingTaskGroup({
59
62
  addPrettierDependencies({ application }) {
60
- const { packageJsonNodeEngine, packageJsonType, dasherizedBaseName, projectDescription } = application;
63
+ const { packageJsonNodeEngine, packageJsonType, dasherizedBaseName, projectDescription, packageJsonScripts } = application;
64
+ this.packageJson.merge({ scripts: packageJsonScripts });
61
65
  this.packageJson.defaults({
62
66
  name: dasherizedBaseName,
63
67
  version: '0.0.0',
64
68
  description: projectDescription,
65
69
  license: 'UNLICENSED',
66
70
  });
67
- if (packageJsonType) {
71
+ if (packageJsonType === 'module') {
68
72
  this.packageJson.merge({ type: packageJsonType });
69
73
  }
70
74
  if (packageJsonNodeEngine) {
@@ -1,3 +1,8 @@
1
+ import type { ExportApplicationPropertiesFromCommand } from '../../lib/command/types.js';
2
+ import type JavascriptBootstrapCommand from './generators/bootstrap/command.ts';
3
+
4
+ type JavascriptBootstrapProperties = ExportApplicationPropertiesFromCommand<typeof JavascriptBootstrapCommand>;
5
+
1
6
  export type JavaScriptSourceType = {
2
7
  mergePrettierConfig?: (config: Record<string, unknown>) => void;
3
8
  addPrettierIgnore?: (newContent: string) => void;
@@ -6,10 +11,12 @@ export type JavaScriptSourceType = {
6
11
  addEslintConfig?: (opts: { import?: string | string[]; config?: string | string[] }) => void;
7
12
  };
8
13
 
9
- export type JavaScriptApplication = {
14
+ export type JavaScriptApplication = JavascriptBootstrapProperties & {
10
15
  packageJsonNodeEngine?: boolean | string;
11
- packageJsonType?: string;
12
16
  eslintConfigFile?: string;
17
+ cjsExtension?: string;
18
+ mjsExtension?: string;
19
+ packageJsonScripts: Record<string, string>;
13
20
 
14
21
  addPrettierExtensions?: (extensions: string[]) => void;
15
22
  };
@@ -0,0 +1,12 @@
1
+ declare const command: {
2
+ readonly configs: {
3
+ readonly jwtSecretKey: {
4
+ readonly cli: {
5
+ readonly type: StringConstructor;
6
+ readonly env: "JHI_JWT_SECRET_KEY";
7
+ };
8
+ readonly scope: "generator";
9
+ };
10
+ };
11
+ };
12
+ export default command;
@@ -0,0 +1,12 @@
1
+ const command = {
2
+ configs: {
3
+ jwtSecretKey: {
4
+ cli: {
5
+ type: String,
6
+ env: 'JHI_JWT_SECRET_KEY',
7
+ },
8
+ scope: 'generator',
9
+ },
10
+ },
11
+ };
12
+ export default command;
@@ -16,4 +16,5 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ export { default as command } from './command.js';
19
20
  export { default } from './generator.js';
@@ -16,4 +16,5 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ export { default as command } from './command.js';
19
20
  export { default } from './generator.js';
@@ -16,4 +16,5 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ export { default as command } from '../kubernetes/command.js';
19
20
  export { default } from './generator.js';
@@ -16,4 +16,5 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ export { default as command } from '../kubernetes/command.js';
19
20
  export { default } from './generator.js';
@@ -24,7 +24,7 @@ import { checkImages, configureImageNames, generateJwtSecret, loadFromYoRc } fro
24
24
  */
25
25
  export default class KubernetesKnativeGenerator extends BaseWorkspacesGenerator {
26
26
  beforeQueue(): Promise<void>;
27
- get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "sayHello" | "checkDocker" | "loadConfig" | "loadDockerDependenciesTask" | "checkKubernetes" | "checkHelm" | "setupKubernetesConstants" | "setupHelmConstants" | "existingDeployment" | "checkKnative" | "localInit">;
27
+ get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "checkDocker" | "sayHello" | "loadConfig" | "loadDockerDependenciesTask" | "checkKubernetes" | "checkHelm" | "setupKubernetesConstants" | "setupHelmConstants" | "existingDeployment" | "checkKnative" | "localInit">;
28
28
  get prompting(): {
29
29
  askForPath: () => Promise<void>;
30
30
  askForApps: () => Promise<void>;
@@ -16,4 +16,5 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ export { default as command } from '../kubernetes/command.js';
19
20
  export { default } from './generator.js';
@@ -16,4 +16,5 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ export { default as command } from '../kubernetes/command.js';
19
20
  export { default } from './generator.js';
@@ -1,3 +1,4 @@
1
+ import type LanguagesGenerator from './generator.js';
1
2
  /**
2
3
  * The default is to use a file path string. It implies use of the template method.
3
4
  * For any other config an object { file:.., method:.., template:.. } can be used
@@ -27,6 +28,6 @@ export declare const enumClientI18nFiles: {
27
28
  }[];
28
29
  };
29
30
  export declare function writeEntityFiles(): {
30
- writeEnumFiles: (this: import("../index.js").GeneratorBaseCore, params: 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>>>) => void;
31
- writeClientFiles: (this: import("../index.js").GeneratorBaseCore, params: 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>>>) => void;
31
+ writeEnumFiles: (this: LanguagesGenerator, params: 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>>>) => void;
32
+ writeClientFiles: (this: LanguagesGenerator, params: 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>>>) => void;
32
33
  };
@@ -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
  *
@@ -25,6 +25,7 @@ import BaseApplicationGenerator from '../base-application/index.js';
25
25
  */
26
26
  export default class LanguagesGenerator extends BaseApplicationGenerator {
27
27
  askForMoreLanguages: boolean;
28
+ askForNativeLanguage: boolean;
28
29
  translationData: any;
29
30
  supportedLanguages: any;
30
31
  languages: any;
@@ -42,6 +42,7 @@ const { NO: NO_CLIENT_FRAMEWORK, ANGULAR } = clientFrameworkTypes;
42
42
  */
43
43
  export default class LanguagesGenerator extends BaseApplicationGenerator {
44
44
  askForMoreLanguages;
45
+ askForNativeLanguage;
45
46
  translationData;
46
47
  supportedLanguages;
47
48
  languages;
@@ -41,4 +41,12 @@ export const liquibaseFiles = {
41
41
  templates: ['config/liquibase/data/authority.csv'],
42
42
  },
43
43
  ],
44
+ graalvm: [
45
+ {
46
+ condition: ctx => ctx.graalvmSupport,
47
+ transform: false,
48
+ path: SERVER_MAIN_RES_DIR,
49
+ templates: ['META-INF/native-image/liquibase/reflect-config.json'],
50
+ },
51
+ ],
44
52
  };
@@ -26,7 +26,7 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
26
26
  } & {
27
27
  entityChanges?: import("../base-entity-changes/types.js").BaseChangelog[];
28
28
  }, "writeChangelogs">;
29
- 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>>>, "customizeSpringLogs" | "customizeApplicationProperties" | "customizeMaven" | "injectGradle">;
29
+ 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>>>, "customizeMaven" | "nativeHints" | "customizeSpringLogs" | "customizeApplicationProperties" | "injectGradle">;
30
30
  get postWritingEntities(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl & {
31
31
  application: import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>;
32
32
  } & {
@@ -436,6 +436,21 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
436
436
  }, { gradleFile: 'gradle/liquibase.gradle' });
437
437
  }
438
438
  },
439
+ nativeHints({ source, application }) {
440
+ if (!application.graalvmSupport)
441
+ return;
442
+ // Latest liquibase version supported by Reachability Repository is 4.23.0
443
+ // Hints may be dropped if newer version is supported
444
+ // https://github.com/oracle/graalvm-reachability-metadata/blob/master/metadata/org.liquibase/liquibase-core/index.json
445
+ source.addNativeHint({
446
+ resources: ['config/liquibase/*'],
447
+ declaredConstructors: [
448
+ 'liquibase.database.LiquibaseTableNamesFactory.class',
449
+ 'liquibase.report.ShowSummaryGeneratorFactory.class',
450
+ ],
451
+ publicConstructors: ['liquibase.ui.LoggerUIService.class'],
452
+ });
453
+ },
439
454
  });
440
455
  }
441
456
  get [BaseEntityChangesGenerator.POST_WRITING]() {
@@ -0,0 +1,145 @@
1
+ [
2
+ {
3
+ "name": "liquibase.logging.mdc.MdcManagerFactory",
4
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
5
+ },
6
+ {
7
+ "name": "liquibase.change.core.LoadDataColumnConfig",
8
+ "queryAllPublicMethods": true,
9
+ "allDeclaredMethods": true,
10
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
11
+ },
12
+ {
13
+ "name": "liquibase.command.CommandFactory",
14
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
15
+ },
16
+ {
17
+ "name": "liquibase.changelog.ChangeLogHistoryServiceFactory",
18
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
19
+ },
20
+ {
21
+ "name": "liquibase.datatype.core.BigIntType",
22
+ "allPublicMethods": true,
23
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
24
+ },
25
+ {
26
+ "name": "liquibase.datatype.core.BlobType",
27
+ "allPublicMethods": true,
28
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
29
+ },
30
+ {
31
+ "name": "liquibase.datatype.core.BooleanType",
32
+ "allPublicMethods": true,
33
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
34
+ },
35
+ {
36
+ "name": "liquibase.datatype.core.CharType",
37
+ "allPublicMethods": true,
38
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
39
+ },
40
+ {
41
+ "name": "liquibase.datatype.core.ClobType",
42
+ "allPublicMethods": true,
43
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
44
+ },
45
+ {
46
+ "name": "liquibase.datatype.core.CurrencyType",
47
+ "allPublicMethods": true,
48
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
49
+ },
50
+ {
51
+ "name": "liquibase.datatype.core.DatabaseFunctionType",
52
+ "allPublicMethods": true,
53
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
54
+ },
55
+ {
56
+ "name": "liquibase.datatype.core.DateTimeType",
57
+ "allPublicMethods": true,
58
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
59
+ },
60
+ {
61
+ "name": "liquibase.datatype.core.DateType",
62
+ "allPublicMethods": true,
63
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
64
+ },
65
+ {
66
+ "name": "liquibase.datatype.core.DecimalType",
67
+ "allPublicMethods": true,
68
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
69
+ },
70
+ {
71
+ "name": "liquibase.datatype.core.DoubleType",
72
+ "allPublicMethods": true,
73
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
74
+ },
75
+ {
76
+ "name": "liquibase.datatype.core.FloatType",
77
+ "allPublicMethods": true,
78
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
79
+ },
80
+ {
81
+ "name": "liquibase.datatype.core.IntType",
82
+ "allPublicMethods": true,
83
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
84
+ },
85
+ {
86
+ "name": "liquibase.datatype.core.MediumIntType",
87
+ "allPublicMethods": true,
88
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
89
+ },
90
+ {
91
+ "name": "liquibase.datatype.core.NCharType",
92
+ "allPublicMethods": true,
93
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
94
+ },
95
+ {
96
+ "name": "liquibase.datatype.core.NumberType",
97
+ "allPublicMethods": true,
98
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
99
+ },
100
+ {
101
+ "name": "liquibase.datatype.core.NVarcharType",
102
+ "allPublicMethods": true,
103
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
104
+ },
105
+ {
106
+ "name": "liquibase.datatype.core.SmallIntType",
107
+ "allPublicMethods": true,
108
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
109
+ },
110
+ {
111
+ "name": "liquibase.datatype.core.TimestampType",
112
+ "allPublicMethods": true,
113
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
114
+ },
115
+ {
116
+ "name": "liquibase.datatype.core.TimeType",
117
+ "allPublicMethods": true,
118
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
119
+ },
120
+ {
121
+ "name": "liquibase.datatype.core.TinyIntType",
122
+ "allPublicMethods": true,
123
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
124
+ },
125
+ {
126
+ "name": "liquibase.datatype.core.UnknownType",
127
+ "allPublicMethods": true,
128
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
129
+ },
130
+ {
131
+ "name": "liquibase.datatype.core.UUIDType",
132
+ "allPublicMethods": true,
133
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
134
+ },
135
+ {
136
+ "name": "liquibase.datatype.core.VarcharType",
137
+ "allPublicMethods": true,
138
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
139
+ },
140
+ {
141
+ "name": "liquibase.datatype.core.XMLType",
142
+ "allPublicMethods": true,
143
+ "methods": [{ "name": "<init>", "parameterTypes": [] }]
144
+ }
145
+ ]
@@ -0,0 +1,81 @@
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
+ <%_
20
+ const relationshipType = relationship.relationshipType,
21
+ relationshipName = relationship.relationshipName,
22
+ ownerSide = relationship.ownerSide,
23
+ otherEntityTableName = relationship.otherEntityTableName,
24
+ onDelete = relationship.onDelete,
25
+ onUpdate = relationship.onUpdate;
26
+ if (relationshipType === 'many-to-one' || (relationshipType === 'one-to-one' && ownerSide)) {
27
+ const constraintName = this.getFKConstraintName(entity.entityTableName, relationshipName, prodDatabaseType);
28
+ let baseColumnNames;
29
+ let referencedColumnNames;
30
+ if (relationshipType === 'one-to-one' && ownerSide && relationship.id === true) {
31
+ baseColumnNames = relationship.otherEntity.primaryKey.fields.map(field => field.columnName).join(',');
32
+ referencedColumnNames = relationship.otherEntity.primaryKey.fields.map(field => field.columnName).join(',');
33
+ } else if (relationship.otherEntity) {
34
+ baseColumnNames = relationship.otherEntity.primaryKey.fields.map(field => relationship.columnName + '_' + field.columnName).join(',');
35
+ referencedColumnNames = relationship.otherEntity.primaryKey.fields.map(field => field.columnName).join(',');
36
+ } _%>
37
+
38
+ <addForeignKeyConstraint baseColumnNames="<%= baseColumnNames %>"
39
+ baseTableName="<%= entity.entityTableName %>"
40
+ constraintName="<%= constraintName %>"
41
+ referencedColumnNames="<%= referencedColumnNames %>"
42
+ referencedTableName="<%= otherEntityTableName %>"
43
+ <%_ if (onDelete) { _%>
44
+ onDelete="<%= onDelete %>"
45
+ <%_ } _%>
46
+ <%_ if (onUpdate) { _%>
47
+ onUpdate="<%= onUpdate %>"
48
+ <%_ } _%>
49
+ />
50
+ <%_ } else if (relationship.shouldWriteJoinTable) { _%>
51
+
52
+ <addForeignKeyConstraint baseColumnNames="<%= entity.primaryKey.fields.map(field => entity.entityTableName + '_' + field.columnName).join(', ') %>"
53
+ baseTableName="<%= relationship.joinTable.name %>"
54
+ constraintName="<%= relationship.joinTable.constraintName %>"
55
+ referencedColumnNames="<%= entity.primaryKey.fields.map(field => field.columnName).join(', ') %>"
56
+ referencedTableName="<%= entity.entityTableName %>"
57
+ <%_ if (onDelete) { _%>
58
+ onDelete="<%= onDelete %>"
59
+ <%_ } _%>
60
+ <%_ if (onUpdate) { _%>
61
+ onUpdate="<%= onUpdate %>"
62
+ <%_ } _%>
63
+ />
64
+
65
+ <addForeignKeyConstraint baseColumnNames="<%= relationship.otherEntity.primaryKey.fields.map(field => relationship.columnName + '_' + field.columnName).join(', ') %>"
66
+ baseTableName="<%= relationship.joinTable.name %>"
67
+ constraintName="<%= relationship.joinTable.otherConstraintName %>"
68
+ referencedColumnNames="<%= relationship.otherEntity.primaryKey.fields.map(field => field.columnName).join(', ') %>"
69
+ referencedTableName="<%= relationship.otherEntity.entityTableName %>"
70
+ <%_ if (relationship.otherRelationship) {
71
+ // User object is not supporting this right now
72
+ _%>
73
+ <%_ if (relationship.otherRelationship.onDelete) { _%>
74
+ onDelete="<%= relationship.otherRelationship.onDelete %>"
75
+ <%_ } _%>
76
+ <%_ if (relationship.otherRelationship.onUpdate) { _%>
77
+ onUpdate="<%= relationship.otherRelationship.onUpdate %>"
78
+ <%_ } _%>
79
+ <%_ } _%>
80
+ />
81
+ <%_ } _%>
@@ -21,68 +21,8 @@
21
21
  Added the constraints for entity <%= entity.entityClass %>.
22
22
  -->
23
23
  <changeSet id="<%= changelogDate %>-2" author="jhipster">
24
- <% for (relationship of relationships) {
25
- const relationshipType = relationship.relationshipType,
26
- relationshipName = relationship.relationshipName,
27
- ownerSide = relationship.ownerSide,
28
- otherEntityTableName = relationship.otherEntityTableName,
29
- onDelete = relationship.onDelete,
30
- onUpdate = relationship.onUpdate;
31
- if (relationshipType === 'many-to-one' || (relationshipType === 'one-to-one' && ownerSide)) {
32
- const constraintName = this.getFKConstraintName(entity.entityTableName, relationshipName, prodDatabaseType);
33
- let baseColumnNames;
34
- let referencedColumnNames;
35
- if (relationshipType === 'one-to-one' && ownerSide && relationship.id === true) {
36
- baseColumnNames = relationship.otherEntity.primaryKey.fields.map(field => field.columnName).join(',');
37
- referencedColumnNames = relationship.otherEntity.primaryKey.fields.map(field => field.columnName).join(',');
38
- } else if (relationship.otherEntity) {
39
- baseColumnNames = relationship.otherEntity.primaryKey.fields.map(field => relationship.columnName + '_' + field.columnName).join(',');
40
- referencedColumnNames = relationship.otherEntity.primaryKey.fields.map(field => field.columnName).join(',');
41
- } %>
42
- <addForeignKeyConstraint baseColumnNames="<%= baseColumnNames %>"
43
- baseTableName="<%= entity.entityTableName %>"
44
- constraintName="<%= constraintName %>"
45
- referencedColumnNames="<%= referencedColumnNames %>"
46
- referencedTableName="<%= otherEntityTableName %>"
47
- <%_ if (onDelete) { _%>
48
- onDelete="<%= onDelete %>"
49
- <%_ } _%>
50
- <%_ if (onUpdate) { _%>
51
- onUpdate="<%= onUpdate %>"
52
- <%_ } _%>
53
- />
54
- <%_ } else if (relationship.shouldWriteJoinTable) { _%>
55
-
56
- <addForeignKeyConstraint baseColumnNames="<%= entity.primaryKey.fields.map(field => entity.entityTableName + '_' + field.columnName).join(', ') %>"
57
- baseTableName="<%= relationship.joinTable.name %>"
58
- constraintName="<%= relationship.joinTable.constraintName %>"
59
- referencedColumnNames="<%= entity.primaryKey.fields.map(field => field.columnName).join(', ') %>"
60
- referencedTableName="<%= entity.entityTableName %>"
61
- <%_ if (onDelete) { _%>
62
- onDelete="<%= onDelete %>"
63
- <%_ } _%>
64
- <%_ if (onUpdate) { _%>
65
- onUpdate="<%= onUpdate %>"
66
- <%_ } _%>
67
- />
68
-
69
- <addForeignKeyConstraint baseColumnNames="<%= relationship.otherEntity.primaryKey.fields.map(field => relationship.columnName + '_' + field.columnName).join(', ') %>"
70
- baseTableName="<%= relationship.joinTable.name %>"
71
- constraintName="<%= relationship.joinTable.otherConstraintName %>"
72
- referencedColumnNames="<%= relationship.otherEntity.primaryKey.fields.map(field => field.columnName).join(', ') %>"
73
- referencedTableName="<%= relationship.otherEntity.entityTableName %>"
74
- <%_ if (relationship.otherRelationship) {
75
- // User object is not supporting this right now
76
- _%>
77
- <%_ if (relationship.otherRelationship.onDelete) { _%>
78
- onDelete="<%= relationship.otherRelationship.onDelete %>"
79
- <%_ } _%>
80
- <%_ if (relationship.otherRelationship.onUpdate) { _%>
81
- onUpdate="<%= relationship.otherRelationship.onUpdate %>"
82
- <%_ } _%>
83
- <%_ } _%>
84
- />
85
- <%_ } _%>
24
+ <%_ for (relationship of relationships) { _%>
25
+ <%- include('./add_relationship_constraints', { entity, relationship, prodDatabaseType }) -%>
86
26
  <%_ } _%>
87
27
  </changeSet>
88
28
  </databaseChangeLog>