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,3 +1,5 @@
1
+ /* eslint-disable @typescript-eslint/consistent-type-imports */
2
+ import type { ExportApplicationPropertiesFromCommand } from '../../lib/command/types.js';
1
3
  import type CoreGenerator from '../base-core/generator.ts';
2
4
  import type { ClientApplication } from '../client/types.js';
3
5
  import type { I18nApplication } from '../languages/types.js';
@@ -143,6 +145,8 @@ export type CommonClientServerApplication<Entity> = BaseApplication &
143
145
  AuthenticationProperties<Entity> &
144
146
  SpringBootApplication &
145
147
  ClientApplication &
148
+ ExportApplicationPropertiesFromCommand<typeof import('../git/command.ts').default> &
149
+ ExportApplicationPropertiesFromCommand<typeof import('../project-name/command.ts').default> &
146
150
  ApplicationProperties & {
147
151
  clientRootDir: string;
148
152
  clientSrcDir: string;
@@ -1,4 +1,5 @@
1
1
  import type { GeneratorMeta } from '@yeoman/types';
2
+ import { simpleGit } from 'simple-git';
2
3
  import type { CopyOptions } from 'mem-fs-editor';
3
4
  import type { Data as TemplateData, Options as TemplateOptions } from 'ejs';
4
5
  import YeomanGenerator, { type ComposeOptions, type Storage } from 'yeoman-generator';
@@ -63,6 +64,7 @@ export default class CoreGenerator extends YeomanGenerator<JHipsterGeneratorOpti
63
64
  * Override yeoman generator's usage function to fine tune --help message.
64
65
  */
65
66
  usage(): string;
67
+ storeCurrentJHipsterVersion(): void;
66
68
  /**
67
69
  * @deprecated
68
70
  */
@@ -129,7 +131,7 @@ export default class CoreGenerator extends YeomanGenerator<JHipsterGeneratorOpti
129
131
  * Prompts for command definition configs.
130
132
  * Blueprints with command override takes precedence.
131
133
  */
132
- promptCurrentJHipsterCommand(): Promise<any>;
134
+ promptCurrentJHipsterCommand(): Promise<import("@yeoman/types").PromptAnswers>;
133
135
  /**
134
136
  * Configure the current JHipster command.
135
137
  * Blueprints with command override takes precedence.
@@ -162,7 +164,7 @@ export default class CoreGenerator extends YeomanGenerator<JHipsterGeneratorOpti
162
164
  choices: import("../../lib/command/types.js").JHispterChoices | undefined;
163
165
  } | {
164
166
  storage: any;
165
- type?: "input" | "list" | "checkbox" | "confirm" | undefined;
167
+ type?: "input" | "checkbox" | "confirm" | "list" | undefined;
166
168
  message?: string | ((any: any) => string) | undefined;
167
169
  when?: boolean | ((any: any) => boolean);
168
170
  default?: any | ((any: any) => any);
@@ -313,7 +315,8 @@ export default class CoreGenerator extends YeomanGenerator<JHipsterGeneratorOpti
313
315
  * @param javaDependencies
314
316
  * @param gradleCatalog Gradle catalog file path, true for generator-jhipster's generator catalog of falsy for blueprint catalog
315
317
  */
316
- loadJavaDependenciesFromGradleCatalog(javaDependencies: Record<string, string>, gradleCatalog?: string | boolean): void;
318
+ loadJavaDependenciesFromGradleCatalog(javaDependencies: Record<string, string>, gradleCatalogFile?: string): void;
319
+ loadJavaDependenciesFromGradleCatalog(javaDependencies: Record<string, string>, mainGenerator: boolean): void;
317
320
  loadNodeDependenciesFromPackageJson(destination: Record<string, string>, packageJsonFile?: string): void;
318
321
  /**
319
322
  * Print ValidationResult info/warnings or throw result Error.
@@ -328,7 +331,7 @@ export default class CoreGenerator extends YeomanGenerator<JHipsterGeneratorOpti
328
331
  /**
329
332
  * Create a simple-git instance using current destinationPath as baseDir.
330
333
  */
331
- createGit(): import("simple-git").SimpleGit;
334
+ createGit(options?: Parameters<typeof simpleGit>[0]): import("simple-git").SimpleGit;
332
335
  private calculateApplicationId;
333
336
  protected getSharedApplication(applicationFolder?: string): any;
334
337
  private createSharedData;
@@ -120,7 +120,7 @@ export default class CoreGenerator extends YeomanGenerator {
120
120
  this.getFeatures().storeJHipsterVersion !== false &&
121
121
  !this.options.reproducibleTests &&
122
122
  !this.jhipsterConfig.jhipsterVersion) {
123
- this.jhipsterConfig.jhipsterVersion = packageJson.version;
123
+ this.storeCurrentJHipsterVersion();
124
124
  }
125
125
  }
126
126
  this.logger = this.log;
@@ -150,6 +150,9 @@ export default class CoreGenerator extends YeomanGenerator {
150
150
  usage() {
151
151
  return super.usage().replace('yo jhipster:', 'jhipster ');
152
152
  }
153
+ storeCurrentJHipsterVersion() {
154
+ this.jhipsterConfig.jhipsterVersion = packageJson.version;
155
+ }
153
156
  /**
154
157
  * @deprecated
155
158
  */
@@ -458,7 +461,7 @@ You can ignore this error by passing '--skip-checks' to jhipster command.`);
458
461
  throw new Error(`Scope ${optionDesc.scope} not supported`);
459
462
  }
460
463
  }
461
- else if (optionDesc.default && optionDesc.scope === 'generator' && this[optionName] === undefined) {
464
+ else if (optionDesc.default !== undefined && optionDesc.scope === 'generator' && this[optionName] === undefined) {
462
465
  this[optionName] = optionDesc.default;
463
466
  }
464
467
  });
@@ -482,6 +485,8 @@ You can ignore this error by passing '--skip-checks' to jhipster command.`);
482
485
  argument = positionalArguments;
483
486
  positionalArguments = [];
484
487
  }
488
+ // Replace varargs empty array with undefined.
489
+ argument = Array.isArray(argument) && argument.length === 0 ? undefined : argument;
485
490
  if (argument !== undefined) {
486
491
  const convertedValue = !argumentDef.type || argumentDef.type === Array ? argument : argumentDef.type(argument);
487
492
  if (argumentDef.scope === undefined || argumentDef.scope === 'generator') {
@@ -629,15 +634,7 @@ You can ignore this error by passing '--skip-checks' to jhipster command.`);
629
634
  generator = namespace;
630
635
  }
631
636
  else {
632
- // Keep test compatibility were jhipster lookup does not run.
633
- const found = ['/index.js', '/index.cjs', '/index.mjs', '/index.ts', '/index.cts', '/index.mts'].find(extension => {
634
- const pathToLook = join(__dirname, `../${generator}${extension}`);
635
- return existsSync(pathToLook) ? pathToLook : undefined;
636
- });
637
- if (!found) {
638
- throw new Error(`Generator ${generator} was not found`);
639
- }
640
- generator = join(__dirname, `../${generator}${found}`);
637
+ throw new Error(`Generator ${generator} was not found`);
641
638
  }
642
639
  }
643
640
  return this.composeWith(generator, {
@@ -765,22 +762,25 @@ You can ignore this error by passing '--skip-checks' to jhipster command.`);
765
762
  .flat();
766
763
  }
767
764
  const normalizeEjs = file => file.replace('.ejs', '');
768
- const resolveCallback = (val, fallback) => {
769
- if (val === undefined) {
765
+ const resolveCallback = (maybeCallback, fallback) => {
766
+ if (maybeCallback === undefined) {
770
767
  if (typeof fallback === 'function') {
771
768
  return resolveCallback(fallback);
772
769
  }
773
770
  return fallback;
774
771
  }
775
- if (typeof val === 'boolean' || typeof val === 'string') {
776
- return val;
772
+ if (typeof maybeCallback === 'boolean' || typeof maybeCallback === 'string') {
773
+ return maybeCallback;
777
774
  }
778
- if (typeof val === 'function') {
779
- return val.call(this, templateData) || false;
775
+ if (typeof maybeCallback === 'function') {
776
+ return maybeCallback.call(this, templateData) || false;
780
777
  }
781
- throw new Error(`Type not supported ${val}`);
778
+ throw new Error(`Type not supported ${maybeCallback}`);
782
779
  };
783
- const renderTemplate = async ({ sourceFile, destinationFile, options, noEjs, transform, binary }) => {
780
+ const renderTemplate = async ({ condition, sourceFile, destinationFile, options, noEjs, transform, binary }) => {
781
+ if (condition !== undefined && !resolveCallback(condition, true)) {
782
+ return undefined;
783
+ }
784
784
  const extension = extname(sourceFile);
785
785
  const isBinary = binary || ['.png', '.jpg', '.gif', '.svg', '.ico'].includes(extension);
786
786
  const appendEjs = noEjs === undefined ? !isBinary && extension !== '.ejs' : !noEjs;
@@ -953,7 +953,7 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
953
953
  }
954
954
  return { sourceFile, destinationFile, noEjs, transform: derivedTransform };
955
955
  }
956
- const { options, file, renameTo, transform: fileTransform = [], binary } = fileSpec;
956
+ const { condition, options, file, renameTo, transform: fileTransform = [], binary } = fileSpec;
957
957
  let { sourceFile, destinationFile } = fileSpec;
958
958
  if (typeof fileTransform === 'boolean') {
959
959
  noEjs = !fileTransform;
@@ -974,7 +974,7 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
974
974
  destinationFile = this.destinationPath(blockTo, destinationFile);
975
975
  }
976
976
  const override = resolveCallback(fileSpec.override);
977
- if (override !== undefined && !override && this.fs.exists(destinationFile)) {
977
+ if (override !== undefined && !override && this.fs.exists(destinationFile.replace(/\.jhi$/, ''))) {
978
978
  this.log.debug(`skipping file ${destinationFile}`);
979
979
  return undefined;
980
980
  }
@@ -986,6 +986,7 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
986
986
  }
987
987
  }
988
988
  return {
989
+ condition,
989
990
  sourceFile,
990
991
  destinationFile,
991
992
  options,
@@ -1006,7 +1007,7 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
1006
1007
  return template;
1007
1008
  });
1008
1009
  }
1009
- const files = await Promise.all(parsedTemplates.map(template => renderTemplate(template)));
1010
+ const files = await Promise.all(parsedTemplates.map(template => renderTemplate(template)).filter(Boolean));
1010
1011
  this.log.debug(`Time taken to write files: ${new Date().getMilliseconds() - startTime}ms`);
1011
1012
  return files.filter(file => file);
1012
1013
  }
@@ -1036,13 +1037,13 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
1036
1037
  if (!originalContent) {
1037
1038
  const { ignoreNonExisting, create } = actualOptions;
1038
1039
  const errorMessage = typeof ignoreNonExisting === 'string' ? ` ${ignoreNonExisting}.` : '';
1039
- if (ignoreNonExisting || (!create && this.ignoreNeedlesError)) {
1040
- this.log(`${chalk.yellow('\nUnable to find ')}${filePath}.${chalk.yellow(errorMessage)}\n`);
1041
- // return a noop.
1042
- const noop = () => noop;
1043
- return noop;
1044
- }
1045
1040
  if (!create || transformCallbacks.length === 0) {
1041
+ if (ignoreNonExisting || this.ignoreNeedlesError) {
1042
+ this.log(`${chalk.yellow('\nUnable to find ')}${filePath}.${chalk.yellow(errorMessage)}\n`);
1043
+ // return a noop.
1044
+ const noop = () => noop;
1045
+ return noop;
1046
+ }
1046
1047
  throw new Error(`Unable to find ${filePath}. ${errorMessage}`);
1047
1048
  }
1048
1049
  // allow to edit non existing files
@@ -1129,11 +1130,6 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
1129
1130
  loadNodeDependencies(destination, source) {
1130
1131
  Object.assign(destination, this.prepareDependencies(source));
1131
1132
  }
1132
- /**
1133
- * Load Java dependencies from a gradle catalog file.
1134
- * @param javaDependencies
1135
- * @param gradleCatalog Gradle catalog file path, true for generator-jhipster's generator catalog of falsy for blueprint catalog
1136
- */
1137
1133
  loadJavaDependenciesFromGradleCatalog(javaDependencies, gradleCatalog) {
1138
1134
  if (typeof gradleCatalog !== 'string') {
1139
1135
  const tomlFile = '../resources/gradle/libs.versions.toml';
@@ -1222,8 +1218,8 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
1222
1218
  /**
1223
1219
  * Create a simple-git instance using current destinationPath as baseDir.
1224
1220
  */
1225
- createGit() {
1226
- return simpleGit({ baseDir: this.destinationPath() }).env({
1221
+ createGit(options) {
1222
+ return simpleGit({ baseDir: this.destinationPath(), ...options }).env({
1227
1223
  ...process.env,
1228
1224
  LANG: 'en',
1229
1225
  });
@@ -17,10 +17,42 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import BaseGenerator from '../base/index.js';
20
+ import type { TaskTypes } from '../../lib/types/base/tasks.js';
21
+ import type { Entity } from '../../lib/types/application/entity.js';
22
+ import type { ApplicationType } from '../../lib/types/application/application.js';
23
+ type WorkspacesTypes<E extends Entity = Entity, A extends ApplicationType<E> = ApplicationType<E>> = TaskTypes & {
24
+ LoadingTaskParam: TaskTypes['LoadingTaskParam'] & {
25
+ applications: A[];
26
+ };
27
+ PreparingTaskParam: TaskTypes['PreparingTaskParam'] & {
28
+ applications: A[];
29
+ };
30
+ PostPreparingTaskParam: TaskTypes['PostPreparingTaskParam'] & {
31
+ applications: A[];
32
+ };
33
+ DefaultTaskParam: TaskTypes['DefaultTaskParam'] & {
34
+ applications: A[];
35
+ };
36
+ WritingTaskParam: TaskTypes['WritingTaskParam'] & {
37
+ applications: A[];
38
+ };
39
+ PostWritingTaskParam: TaskTypes['PostWritingTaskParam'] & {
40
+ applications: A[];
41
+ };
42
+ InstallTaskParam: TaskTypes['InstallTaskParam'] & {
43
+ applications: A[];
44
+ };
45
+ PostInstallTaskParam: TaskTypes['PostInstallTaskParam'] & {
46
+ applications: A[];
47
+ };
48
+ EndTaskParam: TaskTypes['EndTaskParam'] & {
49
+ applications: A[];
50
+ };
51
+ };
20
52
  /**
21
53
  * This is the base class for a generator that generates entities.
22
54
  */
23
- export default abstract class BaseWorkspacesGenerator extends BaseGenerator {
55
+ export default abstract class BaseWorkspacesGenerator extends BaseGenerator<WorkspacesTypes> {
24
56
  static PROMPTING_WORKSPACES: string;
25
57
  static CONFIGURING_WORKSPACES: string;
26
58
  static LOADING_WORKSPACES: string;
@@ -36,3 +68,4 @@ export default abstract class BaseWorkspacesGenerator extends BaseGenerator {
36
68
  bootstrapApplications(): Promise<void>;
37
69
  getArgsForPriority(priorityName: any): any;
38
70
  }
71
+ export {};
@@ -23,8 +23,8 @@ import BaseGenerator from '../base/index.js';
23
23
  import { YO_RC_FILE } from '../generator-constants.js';
24
24
  import { GENERATOR_BOOTSTRAP_APPLICATION } from '../generator-list.js';
25
25
  import { normalizePathEnd } from '../base/support/path.js';
26
- import command from './command.js';
27
26
  import { CUSTOM_PRIORITIES, PRIORITY_NAMES } from './priorities.js';
27
+ import command from './command.js';
28
28
  const { PROMPTING_WORKSPACES, CONFIGURING_WORKSPACES, LOADING_WORKSPACES, PREPARING_WORKSPACES, DEFAULT, WRITING, POST_WRITING, PRE_CONFLICTS, INSTALL, END, } = PRIORITY_NAMES;
29
29
  /**
30
30
  * This is the base class for a generator that generates entities.
@@ -59,9 +59,7 @@ export function checkImages() {
59
59
  * Generate Jwt Secret
60
60
  */
61
61
  export function generateJwtSecret() {
62
- if (this.jwtSecretKey === undefined) {
63
- this.jwtSecretKey = this.jhipsterConfig.jwtSecretKey = createBase64Secret(this.options.reproducibleTests);
64
- }
62
+ this.jwtSecretKey = this.jhipsterConfig.jwtSecretKey = this.jwtSecretKey ?? createBase64Secret(this.options.reproducibleTests);
65
63
  }
66
64
  /**
67
65
  * Configure Image Names
@@ -59,7 +59,7 @@ export const createESLintTransform = function (transformOptions = {}) {
59
59
  }
60
60
  this?.log?.warn?.(errorMessage);
61
61
  }
62
- }, () => {
63
- pool.destroy();
62
+ }, async () => {
63
+ await pool.destroy();
64
64
  });
65
65
  };
@@ -30,7 +30,7 @@ export const createRemoveUnusedImportsTransform = function (options = {}) {
30
30
  }
31
31
  }
32
32
  }
33
- }, () => {
34
- pool.destroy();
33
+ }, async () => {
34
+ await pool.destroy();
35
35
  });
36
36
  };
@@ -70,7 +70,7 @@ export const createPrettierTransform = async function (options = {}) {
70
70
  }
71
71
  this?.log?.warn?.(errorMessage);
72
72
  }
73
- }, () => {
74
- pool?.destroy();
73
+ }, async () => {
74
+ await pool?.destroy();
75
75
  });
76
76
  };
@@ -5,13 +5,13 @@ export default class BootstrapApplicationBase extends BaseApplicationGenerator {
5
5
  get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "jdlStore" | "displayLogo">;
6
6
  get configuring(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "configuring">;
7
7
  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>>>, "loadApplication" | "loadNodeDependencies">;
8
- 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>>>, "syncUserWithIdp" | "userManagement" | "prepareApplication" | "loadApplicationKeys" | "userRelationship">;
8
+ 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>>>, "syncUserWithIdp" | "userManagement" | "loadApplicationKeys" | "prepareApplication" | "userRelationship">;
9
9
  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>>>, "configureEntity" | "configureRelationships">;
10
10
  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>>>, "loadingEntities" | "loadUser" | "loadUserManagement" | "loadAuthority">;
11
11
  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>>>, "preparingEachEntity">;
12
12
  get preparingEachEntityField(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingEachEntityFieldTaskParam<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>>>, "prepareFieldsForTemplates">;
13
13
  get preparingEachEntityRelationship(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingEachEntityRelationshipTaskParam<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>>>, "prepareRelationshipsForTemplates">;
14
- 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>>>, "checkForCircularRelationships" | "hasRequiredRelationship">;
14
+ 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>>>, "hasRequiredRelationship" | "checkForCircularRelationships">;
15
15
  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>>>, "loadApplicationKeys" | "task">;
16
16
  /**
17
17
  * Return the user home
@@ -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
  *
@@ -68,8 +67,8 @@ export default class BootstrapApplicationBase extends BaseApplicationGenerator {
68
67
  const destinationPath = this.destinationPath();
69
68
  const jdlStorePath = this.destinationPath(this.jhipsterConfig.jdlStore);
70
69
  const { jdlDefinition } = this.options;
71
- this.features.commitTransformFactory = () => exportJDLTransform({ destinationPath, jdlStorePath, jdlDefinition });
72
- await this.pipeline({ refresh: true, pendingFiles: false }, importJDLTransform({ destinationPath, jdlStorePath, jdlDefinition }));
70
+ this.features.commitTransformFactory = () => exportJDLTransform({ destinationPath, jdlStorePath, jdlDefinition: jdlDefinition });
71
+ await this.pipeline({ refresh: true, pendingFiles: false }, importJDLTransform({ destinationPath, jdlStorePath, jdlDefinition: jdlDefinition }));
73
72
  }
74
73
  },
75
74
  });
@@ -101,6 +100,7 @@ export default class BootstrapApplicationBase extends BaseApplicationGenerator {
101
100
  applicationDefaults({
102
101
  backendType: this.jhipsterConfig.backendType ?? 'Java',
103
102
  syncUserWithIdp: this.jhipsterConfig.syncUserWithIdp,
103
+ packageJsonScripts: {},
104
104
  });
105
105
  },
106
106
  loadNodeDependencies({ application }) {
@@ -152,6 +152,7 @@ export default class BootstrapApplicationBase extends BaseApplicationGenerator {
152
152
  hipsterChatLink: 'https://gitter.im/jhipster/generator-jhipster',
153
153
  backendTypeSpringBoot: ({ backendType }) => backendType === 'Java',
154
154
  backendTypeJavaAny: ({ backendTypeSpringBoot }) => backendTypeSpringBoot,
155
+ clientFrameworkBuiltIn: ({ clientFramework }) => ['angular', 'vue', 'react'].includes(clientFramework),
155
156
  });
156
157
  },
157
158
  userRelationship({ applicationDefaults }) {
@@ -209,7 +210,9 @@ export default class BootstrapApplicationBase extends BaseApplicationGenerator {
209
210
  assert(relationshipType, `relationshipType is missing in .jhipster/${entityName}.json for relationship ${stringifyApplicationData(relationship)}`);
210
211
  if (!relationship.relationshipSide) {
211
212
  // Try to create relationshipSide based on best bet.
213
+ // @ts-ignore deprecated property
212
214
  if (relationship.ownerSide !== undefined) {
215
+ // @ts-ignore deprecated property
213
216
  relationship.relationshipSide = relationship.ownerSide ? 'left' : 'right';
214
217
  }
215
218
  else {
@@ -288,8 +291,11 @@ export default class BootstrapApplicationBase extends BaseApplicationGenerator {
288
291
  for (const entity of entities) {
289
292
  for (const field of entity.fields) {
290
293
  if (isFieldBinaryType(field)) {
291
- field.fieldTypeBlobContent ??= getBlobContentType(field.fieldType);
294
+ if (isFieldBlobType(field)) {
295
+ field.fieldTypeBlobContent ??= getBlobContentType(field.fieldType);
296
+ }
292
297
  if (application.databaseTypeCassandra || entity.databaseType === 'cassandra') {
298
+ // @ts-expect-error set another type
293
299
  field.fieldType = 'ByteBuffer';
294
300
  }
295
301
  else if (isFieldBlobType(field)) {
@@ -370,9 +376,17 @@ export default class BootstrapApplicationBase extends BaseApplicationGenerator {
370
376
  * Avoid having undefined keys in the application object when redering ejs templates
371
377
  */
372
378
  async loadApplicationKeys({ application }) {
379
+ if (this.options.commandsConfigs) {
380
+ // Load keys passed from cli
381
+ loadCommandConfigsKeysIntoTemplatesContext({
382
+ templatesContext: application,
383
+ commandsConfigs: this.options.commandsConfigs,
384
+ });
385
+ }
386
+ // Load keys from main generators
373
387
  loadCommandConfigsKeysIntoTemplatesContext({
374
388
  templatesContext: application,
375
- commandsConfigs: this.options.commandsConfigs ?? (await lookupCommandsConfigs()),
389
+ commandsConfigs: await lookupCommandsConfigs(),
376
390
  });
377
391
  },
378
392
  task({ application }) {
@@ -24,7 +24,7 @@ export declare function createUserEntity(this: BaseApplicationGenerator, customU
24
24
  changelogDate: string;
25
25
  entityTableName: string;
26
26
  relationships: never[];
27
- fields: any;
27
+ fields: string | number | true | import("json-schema").JSONSchema7Object | import("json-schema").JSONSchema7Array;
28
28
  dto: boolean;
29
29
  adminUserDto: string;
30
30
  builtInUser: boolean;
@@ -55,7 +55,7 @@ export declare function createUserManagementEntity(this: BaseApplicationGenerato
55
55
  builtIn: boolean;
56
56
  entityTableName: string;
57
57
  relationships: never[];
58
- fields: any;
58
+ fields: string | number | true | import("json-schema").JSONSchema7Object | import("json-schema").JSONSchema7Array;
59
59
  dto: boolean;
60
60
  adminUserDto: string;
61
61
  skipDbChangelog: boolean;
@@ -77,7 +77,7 @@ export declare function createAuthorityEntity(this: BaseApplicationGenerator, cu
77
77
  adminEntity: boolean;
78
78
  entityTableName: string;
79
79
  relationships: never[];
80
- fields: any;
80
+ fields: string | number | true | import("json-schema").JSONSchema7Object | import("json-schema").JSONSchema7Array;
81
81
  builtInAuthority: boolean;
82
82
  skipClient: any;
83
83
  searchEngine: string;
@@ -23,6 +23,7 @@ import { loadRequiredConfigIntoEntity } from '../base-application/support/index.
23
23
  import { PaginationTypes } from '../../lib/jhipster/entity-options.js';
24
24
  import { LOGIN_REGEX, LOGIN_REGEX_JS } from '../generator-constants.js';
25
25
  import { getDatabaseTypeData } from '../server/support/database.js';
26
+ import { formatDateForChangelog } from '../base/support/timestamp.js';
26
27
  const { CASSANDRA } = databaseTypes;
27
28
  const { OAUTH2 } = authenticationTypes;
28
29
  const { CommonDBTypes } = fieldTypes;
@@ -76,12 +77,13 @@ export function createUserEntity(customUserData = {}, application) {
76
77
  this.log.warn('Fields on the User entity side (other than id) will be disregarded');
77
78
  }
78
79
  }
80
+ const creationTimestamp = new Date(this.jhipsterConfig.creationTimestamp ?? Date.now());
79
81
  const cassandraOrNoDatabase = application.databaseTypeNo || application.databaseTypeCassandra;
80
82
  // Create entity definition for built-in entity to make easier to deal with relationships.
81
83
  const user = {
82
84
  name: 'User',
83
85
  builtIn: true,
84
- changelogDate: '00000000000100',
86
+ changelogDate: formatDateForChangelog(creationTimestamp),
85
87
  entityTableName: `${application.jhiTablePrefix}_user`,
86
88
  relationships: [],
87
89
  fields: userEntityDefinition ? userEntityDefinition.fields || [] : [],
@@ -194,12 +196,14 @@ export function createUserManagementEntity(customUserManagementData = {}, applic
194
196
  field.fieldType = field.fieldType ?? getDatabaseTypeData(application.databaseType).defaultPrimaryKeyType;
195
197
  }
196
198
  }
199
+ const creationTimestamp = new Date(this.jhipsterConfig.creationTimestamp ?? Date.now());
200
+ creationTimestamp.setMinutes(creationTimestamp.getMinutes() + 1);
197
201
  const userManagement = {
198
202
  ...user,
199
203
  name: 'UserManagement',
200
204
  skipClient: true,
201
205
  skipServer: true,
202
- changelogDate: '00000000000150',
206
+ changelogDate: formatDateForChangelog(creationTimestamp),
203
207
  clientRootFolder: 'admin',
204
208
  entityAngularName: 'UserManagement',
205
209
  entityApiUrl: 'admin/users',
@@ -232,13 +236,15 @@ export function createAuthorityEntity(customAuthorityData = {}, application) {
232
236
  this.log.warn(`Fields on the ${authorityEntityName} entity side (other than name) will be disregarded`);
233
237
  }
234
238
  }
239
+ const creationTimestamp = new Date(this.jhipsterConfig.creationTimestamp ?? Date.now());
240
+ creationTimestamp.setMinutes(creationTimestamp.getMinutes() + 2);
235
241
  // Create entity definition for built-in entity to make easier to deal with relationships.
236
242
  const authorityEntity = {
237
243
  name: authorityEntityName,
238
244
  entitySuffix: '',
239
245
  clientRootFolder: 'admin',
240
246
  builtIn: true,
241
- changelogDate: '00000000000200',
247
+ changelogDate: formatDateForChangelog(creationTimestamp),
242
248
  adminEntity: true,
243
249
  entityTableName: `${application.jhiTablePrefix}_authority`,
244
250
  relationships: [],
@@ -1,3 +1,13 @@
1
- import type { JHipsterCommandDefinition } from '../../lib/command/index.js';
2
- declare const command: JHipsterCommandDefinition;
1
+ declare const command: {
2
+ readonly configs: {
3
+ readonly customWorkspacesConfig: {
4
+ readonly cli: {
5
+ readonly type: BooleanConstructor;
6
+ readonly hide: true;
7
+ };
8
+ readonly description: "Use custom configuration";
9
+ readonly scope: "generator";
10
+ };
11
+ };
12
+ };
3
13
  export default command;
@@ -1,10 +1,12 @@
1
1
  const command = {
2
- options: {
2
+ configs: {
3
3
  customWorkspacesConfig: {
4
- type: Boolean,
4
+ cli: {
5
+ type: Boolean,
6
+ hide: true,
7
+ },
5
8
  description: 'Use custom configuration',
6
9
  scope: 'generator',
7
- hide: true,
8
10
  },
9
11
  },
10
12
  };
@@ -23,8 +23,14 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
23
23
  beforeQueue(): Promise<void>;
24
24
  get prompting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "askForOptions">;
25
25
  get configuring(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "configureWorkspaces">;
26
- get loading(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "loadWorkspacesConfig">;
27
- get preparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithSource<any>, "bootstrapApplications">;
26
+ get loading(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl & {
27
+ applications: import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>[];
28
+ }, "loadWorkspacesConfig">;
29
+ get preparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl & {
30
+ source: any;
31
+ } & {
32
+ applications: import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>[];
33
+ }, "bootstrapApplications">;
28
34
  get loadingWorkspaces(): {
29
35
  loadWorkspacesConfig({ workspaces }: {
30
36
  workspaces: any;
@@ -17,14 +17,12 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import BaseWorkspacesGenerator from '../base-workspaces/index.js';
20
- import command from './command.js';
21
20
  export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
22
21
  sharedWorkspaces;
23
22
  customWorkspacesConfig;
24
23
  async beforeQueue() {
25
24
  this.sharedWorkspaces = this.getSharedApplication().sharedWorkspaces;
26
25
  this.sharedWorkspaces.existingWorkspaces = this.sharedWorkspaces.existingWorkspaces ?? Boolean(this.jhipsterConfig.appsFolders);
27
- this.parseJHipsterOptions(command.options);
28
26
  if (!this.fromBlueprint) {
29
27
  await this.composeWithBlueprints();
30
28
  }
@@ -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';
@@ -25,6 +25,28 @@ declare const command: {
25
25
  }];
26
26
  readonly scope: "storage";
27
27
  };
28
+ readonly clientTheme: {
29
+ readonly cli: {
30
+ readonly type: StringConstructor;
31
+ readonly hide: true;
32
+ };
33
+ readonly scope: "storage";
34
+ };
35
+ readonly clientThemeVariant: {
36
+ readonly cli: {
37
+ readonly type: StringConstructor;
38
+ readonly hide: true;
39
+ };
40
+ readonly scope: "storage";
41
+ };
42
+ readonly clientBundler: {
43
+ readonly cli: {
44
+ readonly type: StringConstructor;
45
+ readonly hide: true;
46
+ };
47
+ readonly choices: readonly ["webpack", "vite"];
48
+ readonly scope: "storage";
49
+ };
28
50
  readonly microfrontend: {
29
51
  readonly description: "Enable microfrontend support";
30
52
  readonly cli: {