generator-jhipster 8.7.2 → 8.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/README.md +4 -4
  2. package/dist/cli/environment-builder.d.mts +1 -3
  3. package/dist/cli/jhipster-command.d.mts +2 -2
  4. package/dist/cli/program.mjs +2 -1
  5. package/dist/generators/angular/files-angular.d.ts +2 -0
  6. package/dist/generators/angular/files-angular.js +39 -4
  7. package/dist/generators/angular/generator.d.ts +14 -154
  8. package/dist/generators/angular/generator.js +98 -196
  9. package/dist/generators/angular/resources/package.json +26 -22
  10. package/dist/generators/angular/support/path-utils.d.ts +1 -0
  11. package/dist/generators/angular/support/path-utils.js +1 -0
  12. package/dist/generators/angular/support/translate-angular.d.ts +3 -2
  13. package/dist/generators/angular/support/translate-angular.js +2 -10
  14. package/dist/generators/angular/support/update-languages.d.ts +1 -1
  15. package/dist/generators/angular/support/update-languages.js +3 -1
  16. package/dist/generators/angular/templates/angular.json.ejs +7 -1
  17. package/dist/generators/angular/templates/angular.json.esbuild.ejs +160 -0
  18. package/dist/generators/angular/templates/build-plugins/define-esbuild.mjs.ejs +10 -0
  19. package/dist/generators/angular/templates/build-plugins/i18n-esbuild.mjs.ejs +49 -0
  20. package/dist/generators/angular/templates/eslint.config.js.jhi.angular.ejs +1 -7
  21. package/dist/generators/angular/templates/jest.conf.js.ejs +1 -2
  22. package/dist/generators/angular/templates/package.json.ejs +2 -19
  23. package/dist/generators/angular/templates/postcss.config.json.ejs +5 -0
  24. package/dist/generators/angular/templates/proxy.conf.json.ejs +27 -0
  25. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +0 -1
  26. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +0 -1
  27. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +0 -1
  28. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +0 -1
  29. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +0 -1
  30. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +0 -1
  31. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +0 -1
  32. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +0 -1
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +1 -1
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.ts.ejs +0 -1
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/docs/docs.component.ts.ejs +0 -1
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +0 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.ts.ejs +1 -2
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.model.ts.ejs +1 -3
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +0 -1
  40. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +1 -1
  41. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.ts.ejs +0 -1
  42. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.ts.ejs +0 -1
  43. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.ts.ejs +0 -1
  44. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.ts.ejs +0 -1
  45. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.ts.ejs +0 -1
  46. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.ts.ejs +0 -1
  47. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +1 -1
  48. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.ts.ejs +0 -1
  49. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts.ejs +0 -1
  50. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.ts.ejs +0 -1
  51. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.ts.ejs +0 -1
  52. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +0 -3
  53. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.model.ts.ejs +1 -6
  54. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +0 -1
  55. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.ts.ejs +0 -1
  56. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +1 -1
  57. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.ts.ejs +0 -1
  58. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +1 -1
  59. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +1 -1
  60. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +1 -3
  61. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +1 -1
  62. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +1 -1
  63. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +0 -1
  64. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/user-management.model.ts.ejs +1 -1
  65. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +0 -1
  66. package/dist/generators/angular/templates/src/main/webapp/app/app.config.ts.ejs +2 -2
  67. package/dist/generators/angular/templates/src/main/webapp/app/config/translation.config.ts.ejs +16 -1
  68. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +2 -2
  69. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.ts.ejs +1 -1
  70. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.model.ts.ejs +1 -1
  71. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.test-samples.ts.ejs +5 -5
  72. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +1 -1
  73. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.ts.ejs +0 -1
  74. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +4 -4
  75. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +2 -2
  76. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.ts.ejs +13 -2
  77. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +5 -7
  78. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +4 -5
  79. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +27 -17
  80. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +1 -1
  81. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +7 -7
  82. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +3 -3
  83. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +12 -12
  84. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +1 -2
  85. package/dist/generators/angular/templates/src/main/webapp/app/entities/entity-navbar-items.ts.ejs +1 -1
  86. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.ts.ejs +0 -1
  87. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.ts.ejs +0 -1
  88. package/dist/generators/angular/templates/src/main/webapp/app/layouts/footer/footer.component.ts.ejs +0 -1
  89. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +7 -5
  90. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +0 -1
  91. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +0 -1
  92. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +2 -2
  93. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +0 -1
  94. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +0 -1
  95. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.ts.ejs +0 -1
  96. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.ts.ejs +0 -1
  97. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +2 -2
  98. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +7 -11
  99. package/dist/generators/angular/templates/src/main/webapp/app/shared/date/duration.pipe.ts.ejs +0 -1
  100. package/dist/generators/angular/templates/src/main/webapp/app/shared/date/format-medium-date.pipe.ts.ejs +0 -1
  101. package/dist/generators/angular/templates/src/main/webapp/app/shared/date/format-medium-datetime.pipe.ts.ejs +0 -1
  102. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +2 -2
  103. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.ts.ejs +4 -5
  104. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/find-language-from-key.pipe.ts.ejs +0 -1
  105. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translate.directive.spec.ts.ejs +2 -2
  106. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translate.directive.ts.ejs +5 -6
  107. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translation.module.ts.ejs +1 -1
  108. package/dist/generators/angular/templates/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +0 -1
  109. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.spec.ts.ejs +5 -6
  110. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +4 -5
  111. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.directive.spec.ts.ejs +1 -2
  112. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.directive.ts.ejs +8 -13
  113. package/dist/generators/angular/templates/src/main/webapp/bootstrap.ts.ejs +2 -2
  114. package/dist/generators/angular/templates/src/main/webapp/declarations.d.ts.ejs +5 -0
  115. package/dist/generators/angular/templates/src/main/webapp/{app/entities/_entityFolder_/list/pagination-template.ejs → environments/environment.development.ts.ejs} +4 -3
  116. package/dist/generators/angular/templates/src/main/webapp/environments/environment.ts.ejs +22 -0
  117. package/dist/generators/angular/templates/src/main/webapp/i18n/index.ts.ejs +14 -0
  118. package/dist/generators/angular/templates/webpack/environment.js.ejs +0 -1
  119. package/dist/generators/angular/templates/webpack/webpack.custom.js.ejs +2 -22
  120. package/dist/generators/angular/types-partial.d.ts +32 -0
  121. package/dist/generators/angular/types.d.ts +35 -1
  122. package/dist/generators/app/generator.d.ts +1 -0
  123. package/dist/generators/app/support/config.d.ts +2 -1
  124. package/dist/generators/base/shared-data.d.ts +12 -8
  125. package/dist/generators/base/shared-data.js +14 -4
  126. package/dist/generators/base/support/index.d.ts +4 -3
  127. package/dist/generators/base/support/index.js +4 -3
  128. package/dist/generators/base/support/jhipster7-context.d.ts +1 -1
  129. package/dist/generators/base/support/jhipster7-context.js +1 -1
  130. package/dist/generators/base/types.d.ts +8 -2
  131. package/dist/generators/base-application/generator.d.ts +98 -87
  132. package/dist/generators/base-application/support/prepare-entity.d.ts +6 -3
  133. package/dist/generators/base-application/support/prepare-entity.js +37 -40
  134. package/dist/generators/base-application/support/prepare-field.js +22 -23
  135. package/dist/generators/base-application/types.d.ts +8 -9
  136. package/dist/generators/base-core/generator.d.ts +5 -5
  137. package/dist/generators/base-core/generator.js +8 -7
  138. package/dist/generators/base-entity-changes/generator.d.ts +2 -4
  139. package/dist/generators/bootstrap/generator.d.ts +1 -0
  140. package/dist/generators/bootstrap/generator.js +2 -8
  141. package/dist/generators/bootstrap/support/eslint-worker.d.ts +1 -1
  142. package/dist/generators/bootstrap-application/generator.d.ts +1 -0
  143. package/dist/generators/bootstrap-application/generator.js +1 -1
  144. package/dist/generators/bootstrap-application-base/generator.d.ts +2 -1
  145. package/dist/generators/bootstrap-application-base/generator.js +10 -0
  146. package/dist/generators/bootstrap-application-base/utils.d.ts +4 -71
  147. package/dist/generators/bootstrap-application-base/utils.js +7 -6
  148. package/dist/generators/bootstrap-application-client/generator.d.ts +2 -1
  149. package/dist/generators/bootstrap-application-client/generator.js +16 -9
  150. package/dist/generators/bootstrap-application-server/generator.d.ts +2 -0
  151. package/dist/generators/bootstrap-application-server/generator.js +27 -5
  152. package/dist/generators/bootstrap-workspaces/generator.d.ts +1 -0
  153. package/dist/generators/ci-cd/generator.d.ts +1 -0
  154. package/dist/generators/ci-cd/templates/.gitlab-ci.yml.ejs +4 -6
  155. package/dist/generators/client/command.d.ts +15 -1
  156. package/dist/generators/client/command.js +15 -1
  157. package/dist/generators/client/files-common.js +1 -1
  158. package/dist/generators/client/generator.d.ts +2 -1
  159. package/dist/generators/client/generator.js +24 -11
  160. package/dist/generators/client/generators/common/generator.d.ts +1 -0
  161. package/dist/generators/client/prompts.d.ts +2 -2
  162. package/dist/generators/client/resources/package.json +5 -5
  163. package/dist/generators/client/support/config.js +4 -2
  164. package/dist/generators/client/support/entity-definition.d.ts +2 -5
  165. package/dist/generators/client/support/entity-definition.js +3 -8
  166. package/dist/generators/client/support/filter-entities.d.ts +5 -1
  167. package/dist/generators/client/support/filter-entities.js +4 -2
  168. package/dist/generators/client/support/prepare-entity.d.ts +20 -1
  169. package/dist/generators/client/support/prepare-entity.js +30 -19
  170. package/dist/generators/client/support/template-utils.d.ts +16 -12
  171. package/dist/generators/client/support/template-utils.js +45 -18
  172. package/dist/generators/client/support/update-languages.d.ts +4 -4
  173. package/dist/generators/client/types.d.ts +10 -3
  174. package/dist/generators/common/files.d.ts +1 -3
  175. package/dist/generators/common/files.js +3 -3
  176. package/dist/generators/common/generator.d.ts +2 -4
  177. package/dist/generators/common/generator.js +17 -15
  178. package/dist/generators/common/resources/package.json +2 -2
  179. package/dist/generators/common/templates/sonar-project.properties.ejs +34 -28
  180. package/dist/generators/cucumber/generator.d.ts +1 -0
  181. package/dist/generators/cypress/generator.d.ts +1 -0
  182. package/dist/generators/cypress/generator.js +12 -5
  183. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/logout.cy.ts.ejs +2 -2
  184. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/register-page.cy.ts.ejs +1 -1
  185. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +4 -1
  186. package/dist/generators/docker/generator.d.ts +1 -0
  187. package/dist/generators/docker/generator.js +1 -1
  188. package/dist/generators/docker/templates/docker/couchbase.yml.ejs +2 -2
  189. package/dist/generators/docker/templates/docker/kafka.yml.ejs +8 -16
  190. package/dist/generators/docker/templates/docker/mysql.yml.ejs +2 -2
  191. package/dist/generators/docker-compose/generator.d.ts +1 -0
  192. package/dist/generators/docker-compose/generator.js +3 -0
  193. package/dist/generators/docker-compose/templates/README-DOCKER-COMPOSE.md.ejs +0 -1
  194. package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +7 -9
  195. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +1 -3
  196. package/dist/generators/entities/generator.d.ts +1 -0
  197. package/dist/generators/entity/generator.d.ts +1 -0
  198. package/dist/generators/export-jdl/generator.d.ts +1 -0
  199. package/dist/generators/feign-client/generator.d.ts +1 -0
  200. package/dist/generators/gatling/generator.d.ts +1 -0
  201. package/dist/generators/generate-blueprint/command.d.ts +15 -0
  202. package/dist/generators/generate-blueprint/command.js +15 -0
  203. package/dist/generators/generate-blueprint/constants.d.ts +2 -2
  204. package/dist/generators/generate-blueprint/constants.js +1 -2
  205. package/dist/generators/generate-blueprint/files.js +4 -1
  206. package/dist/generators/generate-blueprint/generator.d.ts +2 -0
  207. package/dist/generators/generate-blueprint/generator.js +5 -3
  208. package/dist/generators/generate-blueprint/resources/package.json +3 -3
  209. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +10 -1
  210. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +64 -30
  211. package/dist/generators/{angular/templates/src/main/webapp/app/app.constants.ts.ejs → generate-blueprint/templates/.blueprint/github-build-matrix/command.mjs.ejs} +24 -8
  212. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +23 -7
  213. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.spec.mjs.ejs +24 -0
  214. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/index.mjs.ejs +1 -0
  215. package/dist/generators/generate-blueprint/templates/.github/workflows/samples.yml.ejs +14 -8
  216. package/dist/generators/generate-blueprint/templates/.gitignore.jhi.blueprint.ejs +22 -0
  217. package/dist/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +6 -7
  218. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -0
  219. package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +7 -0
  220. package/dist/generators/generator-constants.d.ts +1 -1
  221. package/dist/generators/generator-constants.js +1 -1
  222. package/dist/generators/git/generator.d.ts +1 -0
  223. package/dist/generators/git/templates/.gitignore.jhi.ejs +2 -2
  224. package/dist/generators/gradle/command.d.ts +31 -20
  225. package/dist/generators/gradle/generator.d.ts +1 -0
  226. package/dist/generators/gradle/generators/code-quality/generator.d.ts +1 -0
  227. package/dist/generators/gradle/generators/jib/generator.d.ts +1 -0
  228. package/dist/generators/gradle/generators/node-gradle/generator.d.ts +1 -0
  229. package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +5 -54
  230. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  231. package/dist/generators/heroku/generator.d.ts +1 -0
  232. package/dist/generators/info/generator.d.ts +1 -0
  233. package/dist/generators/info/support/extract-info.d.ts +2 -0
  234. package/dist/generators/info/support/extract-info.js +25 -12
  235. package/dist/generators/info/support/index.d.ts +1 -0
  236. package/dist/generators/info/support/index.js +1 -0
  237. package/dist/generators/info/support/markdown-content.d.ts +6 -0
  238. package/dist/generators/info/support/markdown-content.js +14 -0
  239. package/dist/generators/init/generator.d.ts +1 -0
  240. package/dist/generators/init/resources/.node-version +1 -1
  241. package/dist/generators/java/generators/bootstrap/generator.d.ts +2 -0
  242. package/dist/generators/java/generators/bootstrap/generator.js +13 -0
  243. package/dist/generators/java/generators/build-tool/generator.d.ts +1 -0
  244. package/dist/generators/java/generators/code-quality/generator.d.ts +1 -0
  245. package/dist/generators/java/generators/domain/generator.d.ts +1 -0
  246. package/dist/generators/java/generators/domain/generator.js +1 -1
  247. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/domain/AssertUtils.java.ejs +1 -1
  248. package/dist/generators/java/generators/graalvm/generator.d.ts +3 -1
  249. package/dist/generators/java/generators/graalvm/generator.js +16 -2
  250. package/dist/generators/java/generators/graalvm/internal/constants.d.ts +1 -0
  251. package/dist/generators/java/generators/graalvm/internal/constants.js +2 -0
  252. package/dist/generators/java/generators/graalvm/internal/maven-definition.d.ts +2 -1
  253. package/dist/generators/java/generators/graalvm/internal/maven-definition.js +2 -1
  254. package/dist/generators/java/generators/graalvm/templates/gradle/native.gradle.ejs +5 -1
  255. package/dist/generators/java/generators/jib/generator.d.ts +1 -0
  256. package/dist/generators/java/generators/node/generator.d.ts +3 -1
  257. package/dist/generators/java/generators/node/generator.js +22 -1
  258. package/dist/generators/java/generators/node/templates/{npmw.cmd → npmw.cmd.ejs} +11 -11
  259. package/dist/generators/java/generators/node/templates/{npmw → npmw.ejs} +5 -2
  260. package/dist/generators/java/generators/openapi-generator/generator.d.ts +1 -0
  261. package/dist/generators/java/generators/server/command.d.ts +5 -0
  262. package/dist/generators/java/generators/server/command.js +5 -0
  263. package/dist/generators/java/generators/server/generator.d.ts +24 -0
  264. package/dist/generators/java/generators/server/generator.js +107 -0
  265. package/dist/generators/java/generators/server/index.d.ts +20 -0
  266. package/dist/generators/java/generators/server/index.js +20 -0
  267. package/dist/generators/java/types.d.ts +3 -0
  268. package/dist/generators/javascript/generators/bootstrap/generator.d.ts +3 -1
  269. package/dist/generators/javascript/generators/bootstrap/generator.js +18 -3
  270. package/dist/generators/javascript/generators/eslint/command.d.ts +12 -20
  271. package/dist/generators/javascript/generators/eslint/command.js +2 -0
  272. package/dist/generators/javascript/generators/eslint/generator.d.ts +1 -0
  273. package/dist/generators/javascript/generators/husky/generator.d.ts +1 -0
  274. package/dist/generators/javascript/generators/prettier/generator.d.ts +1 -0
  275. package/dist/generators/javascript/generators/prettier/generator.js +12 -2
  276. package/dist/generators/javascript/resources/package.json +2 -2
  277. package/dist/generators/javascript/types.d.ts +24 -9
  278. package/dist/generators/jdl/generator.d.ts +1 -0
  279. package/dist/generators/kubernetes/files.js +3 -0
  280. package/dist/generators/kubernetes/generator.d.ts +49 -0
  281. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +1 -3
  282. package/dist/generators/kubernetes/templates/messagebroker/kafka.yml.ejs +16 -55
  283. package/dist/generators/kubernetes-helm/generator.d.ts +42 -0
  284. package/dist/generators/kubernetes-helm/templates/csvc/helpers.tpl.ejs +1 -12
  285. package/dist/generators/kubernetes-helm/templates/csvc/values.yml.ejs +0 -7
  286. package/dist/generators/kubernetes-knative/generator.d.ts +27 -1
  287. package/dist/generators/languages/generator.d.ts +5 -6
  288. package/dist/generators/languages/generator.js +8 -8
  289. package/dist/generators/languages/prompts.js +8 -5
  290. package/dist/generators/languages/support/translate.d.ts +4 -3
  291. package/dist/generators/languages/support/translate.js +1 -19
  292. package/dist/generators/languages/templates/src/main/webapp/i18n/fr/user-management.json +1 -1
  293. package/dist/generators/liquibase/generator.d.ts +1 -0
  294. package/dist/generators/liquibase/generator.js +11 -10
  295. package/dist/generators/liquibase/support/relationship.d.ts +3 -2
  296. package/dist/generators/liquibase/templates/src/main/java/_package_/config/LiquibaseConfiguration.java.ejs +10 -9
  297. package/dist/generators/maven/generator.d.ts +1 -0
  298. package/dist/generators/maven/generators/code-quality/generator.d.ts +1 -0
  299. package/dist/generators/maven/generators/frontend-plugin/generator.d.ts +1 -0
  300. package/dist/generators/maven/generators/frontend-plugin/generator.js +5 -31
  301. package/dist/generators/maven/generators/jib/generator.d.ts +1 -0
  302. package/dist/generators/project-name/generator.d.ts +1 -0
  303. package/dist/generators/react/files-react.js +1 -6
  304. package/dist/generators/react/generator.d.ts +3 -4
  305. package/dist/generators/react/generator.js +21 -13
  306. package/dist/generators/react/resources/package.json +28 -27
  307. package/dist/generators/react/support/translate-react.d.ts +3 -2
  308. package/dist/generators/react/support/translate-react.js +2 -2
  309. package/dist/generators/react/support/update-languages.d.ts +1 -1
  310. package/dist/generators/react/templates/eslint.config.js.jhi.react.ejs +1 -0
  311. package/dist/generators/react/templates/jest.conf.js.ejs +1 -1
  312. package/dist/generators/react/templates/package.json.ejs +1 -2
  313. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.ts.ejs +4 -4
  314. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-reducer.spec.ts.ejs +3 -3
  315. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/index.tsx.ejs +1 -1
  316. package/dist/generators/react/templates/src/main/webapp/app/entities/routes.tsx.ejs +1 -1
  317. package/dist/generators/react/templates/src/main/webapp/app/modules/account/index.tsx.ejs +1 -1
  318. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/index.tsx.ejs +1 -1
  319. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/user-management/index.tsx.ejs +1 -1
  320. package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +4 -1
  321. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +1 -1
  322. package/dist/generators/react/templates/src/main/webapp/app/shared/error/error-boundary-routes.spec.tsx.ejs +1 -1
  323. package/dist/generators/react/templates/src/main/webapp/app/shared/error/error-boundary-routes.tsx.ejs +2 -1
  324. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/header/header.spec.tsx.ejs +7 -1
  325. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +1 -1
  326. package/dist/generators/react/templates/tsconfig.test.json.ejs +0 -5
  327. package/dist/generators/react/templates/webpack/webpack.dev.js.ejs +1 -1
  328. package/dist/generators/server/generator.d.ts +2 -34
  329. package/dist/generators/server/generator.js +4 -182
  330. package/dist/generators/server/resources/Dockerfile +13 -16
  331. package/dist/generators/server/resources/gradle/libs.versions.toml +8 -8
  332. package/dist/generators/server/resources/pom.xml +9 -9
  333. package/dist/generators/server/support/config.d.ts +2 -4
  334. package/dist/generators/server/support/config.js +0 -6
  335. package/dist/generators/server/support/prepare-entity.d.ts +2 -1
  336. package/dist/generators/server/support/prepare-entity.js +3 -2
  337. package/dist/generators/server/support/prepare-field.d.ts +2 -1
  338. package/dist/generators/server/support/prepare-field.js +2 -0
  339. package/dist/generators/server/support/prepare-relationship.d.ts +2 -1
  340. package/dist/generators/server/support/templates/field-values.d.ts +2 -1
  341. package/dist/generators/server/support/templates/field-values.js +4 -3
  342. package/dist/generators/server/support/update-languages.d.ts +9 -2
  343. package/dist/generators/server/types.d.ts +10 -0
  344. package/dist/generators/spring-boot/command.d.ts +8 -1
  345. package/dist/generators/spring-boot/command.js +13 -6
  346. package/dist/generators/spring-boot/generator.d.ts +3 -12
  347. package/dist/generators/spring-boot/generator.js +22 -28
  348. package/dist/generators/spring-boot/prompts.d.ts +2 -6
  349. package/dist/generators/spring-boot/prompts.js +25 -42
  350. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +191 -252
  351. package/dist/generators/spring-boot/templates/README.md.jhi.spring-boot.ejs +1 -1
  352. package/dist/generators/spring-boot/templates/build.gradle.ejs +6 -1
  353. package/dist/generators/spring-boot/templates/gradle/profile_dev.gradle.ejs +7 -48
  354. package/dist/generators/spring-boot/templates/gradle/profile_prod.gradle.ejs +1 -1
  355. package/dist/generators/spring-boot/templates/package.json.ejs +1 -4
  356. package/dist/generators/spring-boot/templates/pom.xml.ejs +6 -2
  357. package/dist/generators/spring-boot/templates/settings.gradle.ejs +1 -1
  358. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/repository/UserRepository.java.ejs +7 -7
  359. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/UserService.java.ejs +10 -4
  360. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/PublicUserResource.java.ejs +2 -0
  361. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/UserResource.java.ejs +1 -1
  362. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +14 -40
  363. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +3 -24
  364. package/dist/generators/spring-boot/templates/src/main/java/_package_/service/MailService.java.ejs +8 -8
  365. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/LogoutResource_imperative.java.ejs +4 -4
  366. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/LogoutResource_reactive.java.ejs +4 -3
  367. package/dist/generators/spring-boot/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
  368. package/dist/generators/spring-boot/templates/src/main/resources/config/application-tls.yml.ejs +9 -1
  369. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +6 -6
  370. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/criteria/_entityClass_CriteriaTest.java.ejs +5 -4
  371. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/dto/_dtoClass_Test.java.ejs +2 -2
  372. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +19 -21
  373. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +40 -21
  374. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +3 -3
  375. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/JwtAuthenticationTestUtils.java.ejs +1 -0
  376. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/oauth2/CustomClaimConverterIT.java.ejs +2 -2
  377. package/dist/generators/spring-boot/templates/src/test/java/_package_/service/MailServiceIT.java.ejs +2 -2
  378. package/dist/generators/spring-boot/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +2 -2
  379. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +19 -19
  380. package/dist/generators/spring-cache/generator.d.ts +1 -0
  381. package/dist/generators/spring-cache/generator.js +6 -4
  382. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  383. package/dist/generators/spring-cloud/generators/gateway/generator.d.ts +1 -0
  384. package/dist/generators/spring-cloud-stream/generator.d.ts +1 -0
  385. package/dist/generators/spring-cloud-stream/generators/kafka/generator.d.ts +1 -0
  386. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaProducer.java.ejs +1 -1
  387. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/config/KafkaTestContainer.java.ejs +2 -1
  388. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/config/KafkaTestContainersSpringContextCustomizerFactory.java.ejs +1 -2
  389. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/web/rest/KafkaResourceIT_imperative.java.ejs +1 -1
  390. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +1 -1
  391. package/dist/generators/spring-cloud-stream/generators/pulsar/generator.d.ts +1 -0
  392. package/dist/generators/spring-data-cassandra/generator.d.ts +1 -0
  393. package/dist/generators/spring-data-cassandra/generator.js +1 -1
  394. package/dist/generators/spring-data-couchbase/generator.d.ts +1 -0
  395. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository.java.ejs +1 -1
  396. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +0 -21
  397. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/repository/JHipsterCouchbaseRepository.java.ejs +1 -1
  398. package/dist/generators/spring-data-elasticsearch/generator.d.ts +1 -0
  399. package/dist/generators/spring-data-mongodb/generator.d.ts +1 -0
  400. package/dist/generators/spring-data-neo4j/generator.d.ts +1 -0
  401. package/dist/generators/spring-data-relational/generator.d.ts +2 -1
  402. package/dist/generators/spring-data-relational/generator.js +6 -4
  403. package/dist/generators/spring-data-relational/support/database-data.js +0 -3
  404. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/EntityManager_reactive.java.ejs +1 -2
  405. package/dist/generators/spring-websocket/generator.d.ts +1 -0
  406. package/dist/generators/upgrade/generator.d.ts +1 -0
  407. package/dist/generators/vue/files-vue.js +0 -9
  408. package/dist/generators/vue/generator.d.ts +4 -4
  409. package/dist/generators/vue/generator.js +47 -25
  410. package/dist/generators/vue/resources/package.json +29 -30
  411. package/dist/generators/vue/support/translate-vue.d.ts +4 -4
  412. package/dist/generators/vue/support/translate-vue.js +1 -1
  413. package/dist/generators/vue/support/update-languages.d.ts +1 -1
  414. package/dist/generators/vue/templates/package.json.ejs +0 -2
  415. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-edit.component.spec.ts.ejs +1 -1
  416. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-view.component.spec.ts.ejs +1 -1
  417. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.component.spec.ts.ejs +1 -1
  418. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +7 -0
  419. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +3 -6
  420. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.component.spec.ts.ejs +1 -1
  421. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.component.spec.ts.ejs +1 -1
  422. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.component.spec.ts.ejs +1 -1
  423. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.spec.ts.ejs +3 -3
  424. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.ts.ejs +2 -2
  425. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +15 -0
  426. package/dist/generators/vue/templates/src/main/webapp/app/router/index.ts.ejs +2 -6
  427. package/dist/generators/vue/templates/vite.config.mts.ejs +1 -1
  428. package/dist/generators/vue/templates/vitest.config.mts.ejs +0 -7
  429. package/dist/generators/vue/templates/webpack/webpack.dev.js.ejs +1 -1
  430. package/dist/generators/workspaces/generator.d.ts +1 -0
  431. package/dist/lib/command/converter.d.ts +2 -2
  432. package/dist/lib/command/load.js +8 -25
  433. package/dist/lib/command/types.d.ts +9 -7
  434. package/dist/lib/internal/config-def.js +2 -8
  435. package/dist/lib/jdl/core/linters/rules.d.ts +1 -3
  436. package/dist/lib/jdl/core/models/jdl-application.d.ts +1 -1
  437. package/dist/lib/jhipster/default-application-options.d.ts +7 -4
  438. package/dist/lib/jhipster/default-application-options.js +14 -5
  439. package/dist/lib/testing/github-group.d.ts +1 -1
  440. package/dist/lib/testing/github-group.js +5 -3
  441. package/dist/lib/testing/github-matrix.js +2 -2
  442. package/dist/lib/testing/github.d.ts +5 -1
  443. package/dist/lib/testing/github.js +18 -5
  444. package/dist/lib/testing/helpers.d.ts +14 -1
  445. package/dist/lib/testing/helpers.js +34 -2
  446. package/dist/lib/testing/sample-config.js +2 -2
  447. package/dist/lib/testing/support/entity-samples.d.ts +29 -29
  448. package/dist/lib/testing/support/entity-samples.js +2 -2
  449. package/dist/lib/types/application/application.d.ts +4 -2
  450. package/dist/lib/types/application/entity.d.ts +47 -9
  451. package/dist/lib/types/application/field.d.ts +11 -2
  452. package/dist/lib/types/application/property.d.ts +10 -0
  453. package/dist/lib/types/application/relationship.d.ts +5 -1
  454. package/dist/lib/types/application/tasks.d.ts +14 -4
  455. package/dist/lib/types/base/entity.d.ts +11 -1
  456. package/dist/lib/types/base/field.d.ts +6 -2
  457. package/dist/lib/types/base/property.d.ts +6 -0
  458. package/dist/lib/types/base/relationship.d.ts +3 -1
  459. package/dist/lib/types/base/translation.d.ts +1 -0
  460. package/dist/lib/utils/derived-property.d.ts +6 -0
  461. package/dist/lib/utils/derived-property.js +27 -0
  462. package/dist/lib/utils/object.d.ts +4 -4
  463. package/dist/lib/utils/yo-rc.d.ts +22 -13
  464. package/package.json +37 -37
  465. package/dist/generators/angular/types-export.d.ts +0 -1
  466. package/dist/generators/app/types-export.d.ts +0 -1
  467. package/dist/generators/base/types-export.d.ts +0 -4
  468. package/dist/generators/base-application/types-export.d.ts +0 -6
  469. package/dist/generators/base-core/types-export.d.ts +0 -1
  470. package/dist/generators/base-entity-changes/types-export.d.ts +0 -1
  471. package/dist/generators/bootstrap/types-export.d.ts +0 -1
  472. package/dist/generators/bootstrap-application/types-export.d.ts +0 -1
  473. package/dist/generators/bootstrap-application-base/types-export.d.ts +0 -1
  474. package/dist/generators/bootstrap-application-client/types-export.d.ts +0 -1
  475. package/dist/generators/bootstrap-application-server/types-export.d.ts +0 -1
  476. package/dist/generators/ci-cd/types-export.d.ts +0 -1
  477. package/dist/generators/client/types-export.d.ts +0 -1
  478. package/dist/generators/common/types-export.d.ts +0 -1
  479. package/dist/generators/cucumber/types-export.d.ts +0 -1
  480. package/dist/generators/cypress/types-export.d.ts +0 -1
  481. package/dist/generators/docker/types-export.d.ts +0 -1
  482. package/dist/generators/docker-compose/types-export.d.ts +0 -1
  483. package/dist/generators/entities/types-export.d.ts +0 -1
  484. package/dist/generators/entity/types-export.d.ts +0 -1
  485. package/dist/generators/export-jdl/types-export.d.ts +0 -1
  486. package/dist/generators/feign-client/types-export.d.ts +0 -1
  487. package/dist/generators/gatling/types-export.d.ts +0 -1
  488. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/build-matrix.mjs.ejs +0 -22
  489. package/dist/generators/generate-blueprint/types-export.d.ts +0 -1
  490. package/dist/generators/git/types-export.d.ts +0 -1
  491. package/dist/generators/gradle/types-export.d.ts +0 -1
  492. package/dist/generators/heroku/types-export.d.ts +0 -1
  493. package/dist/generators/info/types-export.d.ts +0 -1
  494. package/dist/generators/init/types-export.d.ts +0 -1
  495. package/dist/generators/java/types-export.d.ts +0 -1
  496. package/dist/generators/jdl/types-export.d.ts +0 -1
  497. package/dist/generators/kubernetes/types-export.d.ts +0 -1
  498. package/dist/generators/kubernetes-helm/types-export.d.ts +0 -1
  499. package/dist/generators/kubernetes-knative/types-export.d.ts +0 -1
  500. package/dist/generators/languages/types-export.d.ts +0 -1
  501. package/dist/generators/liquibase/types-export.d.ts +0 -1
  502. package/dist/generators/maven/types-export.d.ts +0 -1
  503. package/dist/generators/project-name/types-export.d.ts +0 -1
  504. package/dist/generators/react/templates/src/main/webapp/microfrontends/entities-menu.tsx.ejs +0 -3
  505. package/dist/generators/react/templates/src/main/webapp/microfrontends/entities-routes.tsx.ejs +0 -3
  506. package/dist/generators/react/types-export.d.ts +0 -1
  507. package/dist/generators/server/types-export.d.ts +0 -1
  508. package/dist/generators/spring-boot/types-export.d.ts +0 -1
  509. package/dist/generators/spring-cache/types-export.d.ts +0 -1
  510. package/dist/generators/spring-cloud-stream/types-export.d.ts +0 -1
  511. package/dist/generators/spring-data-cassandra/types-export.d.ts +0 -1
  512. package/dist/generators/spring-data-couchbase/types-export.d.ts +0 -1
  513. package/dist/generators/spring-data-elasticsearch/types-export.d.ts +0 -1
  514. package/dist/generators/spring-data-mongodb/types-export.d.ts +0 -1
  515. package/dist/generators/spring-data-neo4j/types-export.d.ts +0 -1
  516. package/dist/generators/spring-data-relational/types-export.d.ts +0 -1
  517. package/dist/generators/spring-websocket/types-export.d.ts +0 -1
  518. package/dist/generators/upgrade/types-export.d.ts +0 -1
  519. package/dist/generators/vue/templates/src/main/webapp/microfrontends/entities-menu-test.vue.ejs +0 -7
  520. package/dist/generators/vue/templates/src/main/webapp/microfrontends/entities-menu.component-test.ts.ejs +0 -6
  521. package/dist/generators/vue/templates/src/main/webapp/microfrontends/entities-router-test.ts.ejs +0 -1
  522. package/dist/generators/vue/types-export.d.ts +0 -1
  523. package/dist/generators/workspaces/types-export.d.ts +0 -1
@@ -4,6 +4,7 @@ import BaseWorkspacesGenerator from '../base-workspaces/index.js';
4
4
  * @extends {import('../base/index.js')}
5
5
  */
6
6
  export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
7
+ [x: string]: any;
7
8
  existingDeployment: any;
8
9
  jwtSecretKey: string;
9
10
  beforeQueue(): Promise<void>;
@@ -173,6 +173,9 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
173
173
  if (appConfig.devServerPort !== undefined) {
174
174
  deployment.keycloakRedirectUris += `"http://localhost:${appConfig.devServerPort}/*", `;
175
175
  }
176
+ if (appConfig.devServerPortProxy !== undefined) {
177
+ deployment.keycloakRedirectUris += `"http://localhost:${appConfig.devServerPortProxy}/*", `;
178
+ }
176
179
  // Split ports by ":" and take last 2 elements to skip the hostname/IP if present
177
180
  const ports = yamlConfig.ports[0].split(':').slice(-2);
178
181
  ports[0] = appConfig.composePort;
@@ -32,7 +32,6 @@ Launch all your infrastructure by running: `docker compose up -d`.
32
32
  <%_ } _%>
33
33
  <%_ if (useKafka === true) { _%>
34
34
  - Kafka
35
- - Zookeeper
36
35
  <%_ } _%>
37
36
  <%_ if (usePulsar === true) { _%>
38
37
  - Pulsar
@@ -21,19 +21,17 @@ services:
21
21
  <%- appsYaml[i] %>
22
22
  <%_ } _%>
23
23
  <%_ if (useKafka) { _%>
24
- zookeeper:
25
- image: <%- dockerContainers.zookeeper %>
26
- environment:
27
- ZOOKEEPER_CLIENT_PORT: 2181
28
- ZOOKEEPER_TICK_TIME: 2000
29
- ZOOKEEPER_SYNC_LIMIT: 2
30
24
  kafka:
31
25
  image: <%- dockerContainers.kafka %>
32
26
  environment:
27
+ KAFKA_NODE_ID: 1
28
+ KAFKA_PROCESS_ROLES: broker,controller
33
29
  KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
34
- KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
35
- KAFKA_BROKER_ID: 2
36
- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
30
+ KAFKA_LISTENERS: PLAINTEXT://:9092,CONTROLLER://localhost:9093
31
+ KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
32
+ KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
33
+ KAFKA_CONTROLLER_QUORUM_VOTERS: 1@localhost:9093
34
+ KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
37
35
  #ports:
38
36
  # - 9092:9092 # Uncomment to make Kafka available externally
39
37
  <%_ } _%>
@@ -1074,14 +1074,12 @@
1074
1074
  <%- keycloakRedirectUris %>
1075
1075
  "http://localhost:8100/*",
1076
1076
  "http://127.0.0.1:8761/*",
1077
- "http://localhost:9000/*",
1078
1077
  "dev.localhost.ionic:*"
1079
1078
  ],
1080
1079
  "webOrigins": [
1081
1080
  <%- keycloakRedirectUris.replace(/\/\*/g, "") %>
1082
1081
  "http://localhost:8100",
1083
- "http://127.0.0.1:8761",
1084
- "http://localhost:9000"
1082
+ "http://127.0.0.1:8761"
1085
1083
  ],
1086
1084
  "notBefore": 0,
1087
1085
  "bearerOnly": false,
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../base-application/index.js';
20
20
  export default class EntitiesGenerator extends BaseApplicationGenerator {
21
+ [x: string]: any;
21
22
  entities: any;
22
23
  beforeQueue(): Promise<void>;
23
24
  get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "loadArguments">;
@@ -20,6 +20,7 @@ import type { Storage } from 'yeoman-generator';
20
20
  import BaseApplicationGenerator from '../base-application/index.js';
21
21
  import type { Entity } from '../../lib/types/application/entity.js';
22
22
  export default class EntityGenerator extends BaseApplicationGenerator {
23
+ [x: string]: any;
23
24
  name: string;
24
25
  application: any;
25
26
  entityStorage: Storage;
@@ -1,6 +1,7 @@
1
1
  import BaseGenerator from '../base/index.js';
2
2
  import type { JHipsterGeneratorFeatures, JHipsterGeneratorOptions } from '../base/api.js';
3
3
  export default class extends BaseGenerator {
4
+ [x: string]: any;
4
5
  baseName: string;
5
6
  jdlFile: string;
6
7
  jdlContent?: string;
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../base-application/index.js';
20
20
  export default class FeignClientGenerator extends BaseApplicationGenerator {
21
+ [x: string]: any;
21
22
  beforeQueue(): Promise<void>;
22
23
  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>>>, "cleanupTask" | "writeTask">;
23
24
  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>>>, "addDependencies">;
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../base-application/index.js';
20
20
  export default class GatlingGenerator extends BaseApplicationGenerator {
21
+ [x: string]: any;
21
22
  beforeQueue(): Promise<void>;
22
23
  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>>>, "cleanupTask" | "writeTask">;
23
24
  get writingEntities(): 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>>>, "cleanupEntitiesTask" | "writeEntityTask">;
@@ -7,6 +7,21 @@ declare const command: {
7
7
  };
8
8
  readonly scope: "storage";
9
9
  };
10
+ readonly gitDependency: {
11
+ readonly cli: {
12
+ readonly description: "Use git dependency";
13
+ readonly type: StringConstructor;
14
+ };
15
+ readonly default: "github:jhipster/generator-jhipster#main";
16
+ readonly scope: "generator";
17
+ };
18
+ readonly cliName: {
19
+ readonly cli: {
20
+ readonly description: "CLI name";
21
+ readonly type: StringConstructor;
22
+ };
23
+ readonly scope: "storage";
24
+ };
10
25
  readonly recreatePackageLock: {
11
26
  readonly description: "Recreate package lock";
12
27
  readonly cli: {
@@ -9,6 +9,21 @@ const command = {
9
9
  },
10
10
  scope: 'storage',
11
11
  },
12
+ gitDependency: {
13
+ cli: {
14
+ description: 'Use git dependency',
15
+ type: String,
16
+ },
17
+ default: 'github:jhipster/generator-jhipster#main',
18
+ scope: 'generator',
19
+ },
20
+ cliName: {
21
+ cli: {
22
+ description: 'CLI name',
23
+ type: String,
24
+ },
25
+ scope: 'storage',
26
+ },
12
27
  recreatePackageLock: {
13
28
  description: 'Recreate package lock',
14
29
  cli: {
@@ -37,7 +37,7 @@ export declare const defaultSubGeneratorConfig: () => {
37
37
  priorities: never[];
38
38
  };
39
39
  export declare const allGeneratorsConfig: () => {
40
- subGenerators: ("base" | "upgrade" | "info" | "angular" | "react" | "vue" | "maven" | "gradle" | "cypress" | "cucumber" | "gatling" | "spring-websocket" | "languages" | "jdl" | "bootstrap" | "bootstrap-application-base" | "common" | "server" | "client" | "git" | "workspaces" | "spring-boot" | "liquibase" | "java" | "spring-data-relational" | "app" | "base-application" | "base-core" | "base-entity-changes" | "base-workspaces" | "bootstrap-application" | "bootstrap-application-client" | "bootstrap-application-server" | "bootstrap-workspaces" | "ci-cd" | "docker" | "docker-compose" | "entities" | "entity" | "export-jdl" | "feign-client" | "generate-blueprint" | "heroku" | "init" | "kubernetes" | "kubernetes-helm" | "kubernetes-knative" | "project-name" | "spring-cache" | "spring-cloud-stream" | "spring-data-cassandra" | "spring-data-couchbase" | "spring-data-elasticsearch" | "spring-data-mongodb" | "spring-data-neo4j")[];
40
+ subGenerators: ("base" | "upgrade" | "info" | "react" | "jdl" | "angular" | "vue" | "maven" | "gradle" | "cypress" | "cucumber" | "gatling" | "spring-websocket" | "languages" | "bootstrap" | "bootstrap-application-base" | "common" | "server" | "client" | "git" | "workspaces" | "spring-boot" | "liquibase" | "java" | "spring-data-relational" | "app" | "base-application" | "base-core" | "base-entity-changes" | "base-workspaces" | "bootstrap-application" | "bootstrap-application-client" | "bootstrap-application-server" | "bootstrap-workspaces" | "ci-cd" | "docker" | "docker-compose" | "entities" | "entity" | "export-jdl" | "feign-client" | "generate-blueprint" | "heroku" | "init" | "kubernetes" | "kubernetes-helm" | "kubernetes-knative" | "project-name" | "spring-cache" | "spring-cloud-stream" | "spring-data-cassandra" | "spring-data-couchbase" | "spring-data-elasticsearch" | "spring-data-mongodb" | "spring-data-neo4j")[];
41
41
  additionalSubGenerators: string;
42
42
  dynamic: boolean;
43
43
  js: boolean;
@@ -63,7 +63,7 @@ export declare const prompts: () => ({
63
63
  type: string;
64
64
  name: string;
65
65
  message: string;
66
- choices: ("base" | "upgrade" | "info" | "angular" | "react" | "vue" | "maven" | "gradle" | "cypress" | "cucumber" | "gatling" | "spring-websocket" | "languages" | "jdl" | "bootstrap" | "bootstrap-application-base" | "common" | "server" | "client" | "git" | "workspaces" | "spring-boot" | "liquibase" | "java" | "spring-data-relational" | "app" | "base-application" | "base-core" | "base-entity-changes" | "base-workspaces" | "bootstrap-application" | "bootstrap-application-client" | "bootstrap-application-server" | "bootstrap-workspaces" | "ci-cd" | "docker" | "docker-compose" | "entities" | "entity" | "export-jdl" | "feign-client" | "generate-blueprint" | "heroku" | "init" | "kubernetes" | "kubernetes-helm" | "kubernetes-knative" | "project-name" | "spring-cache" | "spring-cloud-stream" | "spring-data-cassandra" | "spring-data-couchbase" | "spring-data-elasticsearch" | "spring-data-mongodb" | "spring-data-neo4j")[];
66
+ choices: ("base" | "upgrade" | "info" | "react" | "jdl" | "angular" | "vue" | "maven" | "gradle" | "cypress" | "cucumber" | "gatling" | "spring-websocket" | "languages" | "bootstrap" | "bootstrap-application-base" | "common" | "server" | "client" | "git" | "workspaces" | "spring-boot" | "liquibase" | "java" | "spring-data-relational" | "app" | "base-application" | "base-core" | "base-entity-changes" | "base-workspaces" | "bootstrap-application" | "bootstrap-application-client" | "bootstrap-application-server" | "bootstrap-workspaces" | "ci-cd" | "docker" | "docker-compose" | "entities" | "entity" | "export-jdl" | "feign-client" | "generate-blueprint" | "heroku" | "init" | "kubernetes" | "kubernetes-helm" | "kubernetes-knative" | "project-name" | "spring-cache" | "spring-cloud-stream" | "spring-data-cassandra" | "spring-data-couchbase" | "spring-data-elasticsearch" | "spring-data-mongodb" | "spring-data-neo4j")[];
67
67
  pageSize: number;
68
68
  loop: boolean;
69
69
  default?: undefined;
@@ -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
  *
@@ -20,7 +19,7 @@
20
19
  import chalk from 'chalk';
21
20
  import * as GENERATOR_LIST from '../generator-list.js';
22
21
  import { PRIORITY_NAMES_LIST } from '../base-application/priorities.js';
23
- const prioritiesForSub = () => PRIORITY_NAMES_LIST;
22
+ const prioritiesForSub = (_subGen) => PRIORITY_NAMES_LIST;
24
23
  export const GENERATE_SNAPSHOTS = 'generateSnapshots';
25
24
  export const LINK_JHIPSTER_DEPENDENCY = 'linkJhipsterDependency';
26
25
  export const GENERATORS = 'generators';
@@ -24,11 +24,13 @@ export const files = asWriteFilesSection({
24
24
  condition: ctx => !ctx[LOCAL_BLUEPRINT_OPTION],
25
25
  templates: [
26
26
  '.github/workflows/generator.yml',
27
+ '.gitignore.jhi.blueprint',
27
28
  '.prettierignore.jhi.blueprint',
28
29
  { sourceFile: 'eslint.config.js.jhi.blueprint', destinationFile: ctx => `${ctx.eslintConfigFile}.jhi.blueprint` },
29
30
  'README.md',
30
31
  'tsconfig.json',
31
32
  'vitest.config.ts',
33
+ 'vitest.test-setup.ts',
32
34
  '.blueprint/cli/commands.mjs',
33
35
  '.blueprint/generate-sample/command.mjs',
34
36
  '.blueprint/generate-sample/generator.mjs',
@@ -41,8 +43,9 @@ export const files = asWriteFilesSection({
41
43
  {
42
44
  condition: ctx => !ctx[LOCAL_BLUEPRINT_OPTION] && ctx.githubWorkflows,
43
45
  templates: [
44
- '.blueprint/github-build-matrix/build-matrix.mjs',
46
+ '.blueprint/github-build-matrix/command.mjs',
45
47
  '.blueprint/github-build-matrix/generator.mjs',
48
+ '.blueprint/github-build-matrix/generator.spec.mjs',
46
49
  '.blueprint/github-build-matrix/index.mjs',
47
50
  ],
48
51
  },
@@ -1,9 +1,11 @@
1
1
  import BaseGenerator from '../base-application/index.js';
2
2
  export default class extends BaseGenerator {
3
+ [x: string]: any;
3
4
  application: any;
4
5
  recreatePackageLock: boolean;
5
6
  skipWorkflows: boolean;
6
7
  ignoreExistingGenerators: boolean;
8
+ gitDependency: string;
7
9
  _beforeQueue(): Promise<void>;
8
10
  get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "loadOptions">;
9
11
  get prompting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "prompting" | "eachSubGenerator" | "eachAdditionalSubGenerator">;
@@ -34,6 +34,7 @@ export default class extends BaseGenerator {
34
34
  recreatePackageLock;
35
35
  skipWorkflows;
36
36
  ignoreExistingGenerators;
37
+ gitDependency;
37
38
  async _beforeQueue() {
38
39
  if (!this.fromBlueprint) {
39
40
  await this.composeWithBlueprints();
@@ -178,6 +179,7 @@ export default class extends BaseGenerator {
178
179
  await control.cleanupFiles({
179
180
  '8.5.1': ['.eslintrc.json'],
180
181
  '8.7.2': ['.eslintignore', 'vitest.test-setup.ts'],
182
+ '8.7.4': ['.blueprint/generate-sample/get-samples.mjs', '.blueprint/github-build-matrix/build-matrix.mjs'],
181
183
  });
182
184
  },
183
185
  async writing({ application }) {
@@ -243,7 +245,7 @@ export default class extends BaseGenerator {
243
245
  return;
244
246
  for (const generator of Object.keys(this.application[GENERATORS])) {
245
247
  const commandFile = `${this.application.blueprintsPath}${generator}/command.${application.blueprintMjsExtension}`;
246
- this.editFile(commandFile, content => content
248
+ this.editFile(commandFile, { ignoreNonExisting: true }, content => content
247
249
  .replace(`/**
248
250
  * @type {import('generator-jhipster').JHipsterCommandDefinition}
249
251
  */`, `import { asCommand } from 'generator-jhipster';
@@ -253,7 +255,7 @@ export default class extends BaseGenerator {
253
255
  };`, '});')
254
256
  .replace('export default command;', ''));
255
257
  const generatorSpec = `${this.application.blueprintsPath}${generator}/generator.spec.${application.blueprintMjsExtension}`;
256
- this.editFile(generatorSpec, content => content.replaceAll(/blueprint: '([\w-]*)'/g, "blueprint: ['$1']"));
258
+ this.editFile(generatorSpec, { ignoreNonExisting: true }, content => content.replaceAll(/blueprint: '([\w-]*)'/g, "blueprint: ['$1']"));
257
259
  }
258
260
  },
259
261
  packageJson() {
@@ -325,7 +327,7 @@ export default class extends BaseGenerator {
325
327
  }
326
328
  else {
327
329
  this.packageJson.merge({
328
- dependencies: exactDependency,
330
+ dependencies: this.gitDependency ? { 'generator-jhipster': this.gitDependency } : exactDependency,
329
331
  engines: this.jhipsterConfig.caret ? caretDependency : exactDependency,
330
332
  });
331
333
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
- "eslint": "9.13.0",
4
- "globals": "15.11.0",
5
- "vitest": "2.1.4"
3
+ "eslint": "9.17.0",
4
+ "globals": "15.14.0",
5
+ "vitest": "2.1.8"
6
6
  }
7
7
  }
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import { readdir } from 'node:fs/promises';
20
20
  import { GENERATOR_APP } from 'generator-jhipster/generators';
21
+ import { getGithubSamplesGroups } from 'generator-jhipster/testing';
21
22
 
22
23
  /**
23
24
  * @type {import('generator-jhipster').JHipsterCommandDefinition}
@@ -29,12 +30,20 @@ const command = {
29
30
  },
30
31
  },
31
32
  configs: {
33
+ samplesFolder: {
34
+ description: 'Path to the samples folder',
35
+ cli: {
36
+ type: String,
37
+ },
38
+ default: 'samples',
39
+ scope: 'generator',
40
+ },
32
41
  sampleName: {
33
42
  prompt: gen => ({
34
43
  when: !gen.all,
35
44
  type: 'list',
36
45
  message: 'which sample do you want to generate?',
37
- choices: async () => readdir(gen.templatePath('samples')),
46
+ choices: async () => getGithubSamplesGroups(gen.templatePath(gen.samplesFolder)),
38
47
  }),
39
48
  scope: 'generator',
40
49
  },
@@ -1,40 +1,58 @@
1
1
  import { readdir } from 'node:fs/promises';
2
2
  import { readFileSync } from 'node:fs';
3
+ import { extname, join } from 'node:path';
3
4
  import BaseGenerator from 'generator-jhipster/generators/base';
5
+ import { getGithubSamplesGroup } from 'generator-jhipster/testing';
4
6
 
5
7
  export default class extends BaseGenerator {
8
+ /** @type {string} */
6
9
  sampleName;
10
+ /** @type {boolean} */
7
11
  all;
12
+ /** @type {string} */
13
+ samplesFolder;
14
+ /** @type {string} */
15
+ sampleType;
16
+ /** @type {string} */
17
+ sampleFile;
18
+ /** @type {any} */
19
+ generatorOptions;
8
20
 
9
21
  constructor(args, opts, features) {
10
- super(args, opts, { ...features, jhipsterBootstrap: false });
11
- }
12
-
13
- get [BaseGenerator.INITIALIZING]() {
14
- return this.asInitializingTaskGroup({
15
- async initializeOptions() {
16
- if (this.sampleName && !this.sampleName.endsWith('.jdl')) {
17
- this.sampleName += '.jdl';
18
- }
19
- },
20
- });
21
- }
22
-
23
- get [BaseGenerator.PROMPTING]() {
24
- return this.asPromptingTaskGroup({
25
- async askForSample() {
26
- await this.promptCurrentJHipsterCommand();
27
- },
28
- });
22
+ super(args, opts, { ...features, queueCommandTasks: true, jhipsterBootstrap: false });
29
23
  }
30
24
 
31
25
  get [BaseGenerator.WRITING]() {
32
26
  return this.asWritingTaskGroup({
33
27
  async copySample() {
34
- if (this.all) {
35
- this.copyTemplate('samples/*.jdl', '');
28
+ const { samplesFolder, all, sampleName } = this;
29
+ if (all) {
30
+ this.copyTemplate(`${samplesFolder}/*.jdl`, '');
31
+ this.sampleType = 'jdl';
32
+ } else if (extname(sampleName) === '.jdl') {
33
+ this.copyTemplate(join(samplesFolder, sampleName), sampleName, { noGlob: true });
34
+ this.sampleType = 'jdl';
36
35
  } else {
37
- this.copyTemplate(`samples/${this.sampleName}`, this.sampleName, { noGlob: true });
36
+ const { samples } = await getGithubSamplesGroup(this.templatePath(), samplesFolder);
37
+ const {
38
+ 'sample-type': sampleType,
39
+ 'sample-file': sampleFile = sampleName,
40
+ 'sample-folder': sampleFolder = samplesFolder,
41
+ generatorOptions,
42
+ } = samples[sampleName];
43
+
44
+ this.generatorOptions = generatorOptions;
45
+ this.sampleType = sampleType;
46
+
47
+ if (sampleType === 'jdl') {
48
+ const jdlFile = `${sampleFile}.jdl`;
49
+ this.copyTemplate(join(sampleFolder, jdlFile), jdlFile, { noGlob: true });
50
+ } else if (sampleType === 'yo-rc') {
51
+ this.copyTemplate('**', '', {
52
+ fromBasePath: this.templatePath(sampleFolder, sampleFile),
53
+ globOptions: { dot: true },
54
+ });
55
+ }
38
56
  }
39
57
  },
40
58
  });
@@ -42,17 +60,23 @@ export default class extends BaseGenerator {
42
60
 
43
61
  get [BaseGenerator.END]() {
44
62
  return this.asEndTaskGroup({
45
- async generateSample() {
46
- const packageJson = JSON.parse(readFileSync(new URL('../../package.json', import.meta.url)));
47
- const projectVersion = `${packageJson.version}-git`;
63
+ async generateYoRcSample() {
64
+ if (this.sampleType !== 'yo-rc') return;
65
+
66
+ const generatorOptions = this.getDefaultComposeOptions();
67
+ await this.composeWithJHipster('app', { generatorOptions });
68
+ },
69
+ async generateJdlSample() {
70
+ if (this.sampleType !== 'jdl') return;
71
+
72
+ const generatorOptions = this.getDefaultComposeOptions();
73
+ const folderContent = await readdir(this.destinationPath());
74
+ const jdlFiles = folderContent.filter(file => file.endsWith('.jdl'));
48
75
 
49
76
  await this.composeWithJHipster('jdl', {
50
- generatorArgs: this.all ? await readdir(this.templatePath('samples')) : [this.sampleName],
77
+ generatorArgs: jdlFiles,
51
78
  generatorOptions: {
52
- skipJhipsterDependencies: true,
53
- insight: false,
54
- skipChecks: true,
55
- projectVersion,
79
+ ...generatorOptions,
56
80
  ...(this.all ? { workspaces: true, monorepository: true } : { skipInstall: true }),
57
81
  },
58
82
  });
@@ -62,4 +86,14 @@ export default class extends BaseGenerator {
62
86
  },
63
87
  });
64
88
  }
89
+
90
+ getDefaultComposeOptions() {
91
+ const packageJson = JSON.parse(readFileSync(new URL('../../package.json', import.meta.url)));
92
+ const projectVersion = `${packageJson.version}-git`;
93
+ return {
94
+ skipJhipsterDependencies: true,
95
+ projectVersion,
96
+ ...this.generatorOptions,
97
+ };
98
+ }
65
99
  }
@@ -16,12 +16,28 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- // These constants are injected via webpack DefinePlugin variables.
20
- // You can add more variables in webpack.common.js or in profile specific webpack.<dev|prod>.js files.
21
- // If you change the values in the webpack config files, you need to re run webpack to update the application
19
+ /**
20
+ * @type {import('generator-jhipster').JHipsterCommandDefinition}
21
+ */
22
+ const command = {
23
+ configs: {
24
+ samplesFolder: {
25
+ description: 'Samples folder',
26
+ cli: {
27
+ type: String,
28
+ },
29
+ scope: 'generator',
30
+ },
31
+ samplesGroup: {
32
+ description: 'Samples Group',
33
+ argument: {
34
+ type: String,
35
+ },
36
+ default: 'samples',
37
+ scope: 'generator',
38
+ },
39
+ },
40
+ options: {},
41
+ };
22
42
 
23
- declare const __DEBUG_INFO_ENABLED__: boolean;
24
- declare const __VERSION__: string;
25
-
26
- export const VERSION = __VERSION__;
27
- export const DEBUG_INFO_ENABLED = __DEBUG_INFO_ENABLED__;
43
+ export default command;
@@ -1,19 +1,35 @@
1
- import { existsSync, appendFileSync } from 'node:fs';
2
- import os from 'node:os';
1
+ import { join } from 'node:path';
3
2
  import BaseGenerator from 'generator-jhipster/generators/base';
4
- import { setGithubTaskOutput } from 'generator-jhipster/testing';
5
- import { buildMatrix } from './build-matrix.mjs';
3
+ import { convertToGitHubMatrix, getGithubOutputFile, getGithubSamplesGroup, setGithubTaskOutput } from 'generator-jhipster/testing';
6
4
 
7
5
  export default class extends BaseGenerator {
6
+ /** @type {string} */
7
+ samplesFolder;
8
+ /** @type {string} */
9
+ samplesGroup;
10
+ /** @type {object} */
11
+ matrix;
12
+
8
13
  constructor(args, opts, features) {
9
- super(args, opts, { ...features, jhipsterBootstrap: false });
14
+ super(args, opts, { ...features, queueCommandTasks: true, jhipsterBootstrap: false });
10
15
  }
11
16
 
12
17
  get [BaseGenerator.WRITING]() {
13
18
  return this.asWritingTaskGroup({
14
19
  async buildMatrix() {
15
- const matrix = await buildMatrix(this.templatePath('../../generate-sample/templates/samples'));
16
- setGithubTaskOutput('matrix', matrix);
20
+ const { samplesGroup = 'samples' } = this;
21
+ const templatePath = this.templatePath('../../generate-sample/templates/');
22
+ const samplesFolder = this.samplesFolder ? join(templatePath, this.samplesFolder) : templatePath;
23
+ const { samples, warnings } = await getGithubSamplesGroup(samplesFolder, samplesGroup);
24
+ if (warnings.length > 0) {
25
+ this.log.info(warnings.join('\n'));
26
+ }
27
+ this.matrix = convertToGitHubMatrix(samples);
28
+ const githubOutputFile = getGithubOutputFile();
29
+ this.log.info('matrix', this.matrix);
30
+ if (githubOutputFile) {
31
+ setGithubTaskOutput('matrix', JSON.stringify(this.matrix));
32
+ }
17
33
  },
18
34
  });
19
35
  }
@@ -0,0 +1,24 @@
1
+ import { basename, dirname, join } from 'path';
2
+ import { fileURLToPath } from 'url';
3
+ import { beforeAll, describe, expect, it } from 'vitest';
4
+ import { getGithubSamplesGroups, defaultHelpers as helpers, runResult } from 'generator-jhipster/testing';
5
+
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = dirname(__filename);
8
+
9
+ const generator = basename(__dirname);
10
+
11
+ describe(`generator - ${generator}`, async () => {
12
+ const groups = await getGithubSamplesGroups(join(__dirname, '../generate-sample/templates/'));
13
+ for (const workflow of groups.map(sample => sample.split('.')[0])) {
14
+ describe(`with ${workflow}`, () => {
15
+ beforeAll(async () => {
16
+ await helpers.runJHipster(join(__dirname, 'index.mjs'), { useEnvironmentBuilder: true }).withArguments(workflow);
17
+ });
18
+
19
+ it('should match matrix value', () => {
20
+ expect(runResult.generator.matrix).toMatchSnapshot();
21
+ });
22
+ });
23
+ }
24
+ });
@@ -1 +1,2 @@
1
1
  export { default } from './generator.mjs';
2
+ export { default as command } from './command.mjs';
@@ -1,4 +1,8 @@
1
1
  name: Verify Sample Projects
2
+ concurrency:
3
+ # Group PRs by head_ref, push to main branch by commit id, and others branch by ref.
4
+ group: ${{ github.workflow }}-${{ github.head_ref || (github.ref == 'refs/heads/main' && github.sha) || github.ref }}
5
+ cancel-in-progress: true
2
6
  on:
3
7
  push:
4
8
  branches:
@@ -11,6 +15,8 @@ on:
11
15
  - '*'
12
16
  permissions:
13
17
  contents: read
18
+ env:
19
+ FORCE_COLOR: 2
14
20
  jobs:
15
21
  build-matrix:
16
22
  runs-on: ubuntu-latest
@@ -26,8 +32,8 @@ jobs:
26
32
  npm install
27
33
  ./cli/cli.cjs github-build-matrix
28
34
  samples:
29
- name: ${{ matrix.job-name || matrix.sample-name }}
30
- runs-on: ubuntu-latest
35
+ name: ${{ matrix.job-name || matrix.sample }}
36
+ runs-on: ${{ matrix.os }}
31
37
  needs: build-matrix
32
38
  defaults:
33
39
  run:
@@ -50,7 +56,7 @@ jobs:
50
56
  binary-dir: ${{ github.workspace }}/generator-jhipster-<%= baseName %>/cli/
51
57
  - run: npm install
52
58
  working-directory: ${{ github.workspace }}/generator-jhipster-<%= baseName %>
53
- - run: cli.cjs generate-sample ${{ matrix.sample-name }} --skip-jhipster-dependencies ${{ matrix.extra-args }}
59
+ - run: cli.cjs generate-sample ${{ matrix.sample }} --skip-jhipster-dependencies --skip-install ${{ matrix.extra-args }}
54
60
  - uses: jhipster/actions/compare-sample@v0
55
61
  id: compare
56
62
  if: >-
@@ -58,14 +64,14 @@ jobs:
58
64
  !contains(github.event.pull_request.labels.*.name, 'pr: disable-compare')
59
65
  with:
60
66
  generator-path: generator-jhipster-<%= baseName %>
61
- cmd: cli.cjs generate-sample ${{ matrix.sample-name }} --skip-jhipster-dependencies --skip-install ${{ matrix.extra-args }}
67
+ cmd: cli.cjs generate-sample ${{ matrix.sample }} --skip-jhipster-dependencies --skip-install ${{ matrix.extra-args }}
62
68
  - run: npm run ci:backend:test
63
69
  if: steps.compare.outputs.equals != 'true'
64
70
  id: backend
65
- - run: npm run ci:frontend:test --if-present
66
- if: steps.compare.outputs.equals != 'true'
67
71
  - run: npm run ci:e2e:package
68
72
  if: steps.compare.outputs.equals != 'true'
73
+ - run: npm run ci:frontend:test --if-present
74
+ if: steps.compare.outputs.equals != 'true'
69
75
  - run: npm run ci:e2e:prepare
70
76
  if: steps.compare.outputs.equals != 'true'
71
77
  - run: npm run ci:e2e:run --if-present
@@ -75,7 +81,7 @@ jobs:
75
81
  uses: actions/upload-artifact@v4
76
82
  if: always() && steps.backend.outcome == 'failure'
77
83
  with:
78
- name: log-${{ matrix.sample-name }}
84
+ name: log-${{ matrix.job-name || matrix.sample }}
79
85
  path: |
80
86
  ${{ github.workspace }}/app/build/test-results/**/*.xml
81
87
  ${{ github.workspace }}/app/target/surefire-reports
@@ -83,7 +89,7 @@ jobs:
83
89
  uses: actions/upload-artifact@v4
84
90
  if: always() && steps.e2e.outcome == 'failure'
85
91
  with:
86
- name: screenshots-${{ matrix.sample-name }}
92
+ name: screenshots-${{ matrix.job-name || matrix.sample }}
87
93
  path: ${{ github.workspace }}/app/**/cypress/screenshots
88
94
  - name: Dump docker logs
89
95
  if: always()