generator-jhipster 8.0.0-beta.2 → 8.0.0-rc.1

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 (1313) hide show
  1. package/README.md +0 -14
  2. package/dist/cli/cli.mjs +12 -6
  3. package/dist/cli/commands.mjs +15 -3
  4. package/dist/cli/environment-builder.mjs +41 -27
  5. package/dist/cli/jhipster-command.mjs +14 -4
  6. package/dist/cli/program.mjs +56 -36
  7. package/dist/cli/utils.mjs +1 -2
  8. package/dist/generators/angular/entity-files-angular.mjs +26 -27
  9. package/dist/generators/angular/files-angular.mjs +50 -50
  10. package/dist/generators/angular/generator.mjs +39 -20
  11. package/dist/generators/angular/needle-api/needle-client-angular.mjs +1 -1
  12. package/dist/generators/angular/resources/package.json +25 -24
  13. package/dist/generators/angular/support/needles.mjs +32 -3
  14. package/dist/generators/angular/support/translate-angular.mjs +40 -23
  15. package/dist/generators/angular/support/update-languages.mjs +4 -3
  16. package/dist/generators/angular/templates/.eslintrc.json.ejs +2 -2
  17. package/dist/generators/angular/templates/angular.json.ejs +16 -12
  18. package/dist/generators/angular/templates/jest.conf.js.ejs +5 -5
  19. package/dist/generators/angular/templates/package.json.ejs +3 -8
  20. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -6
  21. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
  22. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +15 -39
  23. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +16 -34
  24. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +9 -19
  25. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +27 -67
  26. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -13
  27. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +17 -43
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +4 -4
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -9
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.html.ejs +6 -6
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +3 -3
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +1 -1
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +10 -10
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +10 -10
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +9 -9
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.spec.ts.ejs +350 -0
  40. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +5 -5
  41. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
  42. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +108 -2
  43. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +5 -5
  44. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -6
  45. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +14 -14
  46. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -20
  47. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +1 -2
  48. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +20 -38
  49. package/dist/generators/angular/templates/src/main/webapp/app/core/util/event-manager.service.spec.ts.ejs +1 -1
  50. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder/route/_entityFile-routing-resolve.service.spec.ts.ejs +1 -1
  51. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder/service/_entityFile.service.spec.ts.ejs +1 -2
  52. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder/service/_entityFile.service.ts.ejs +2 -2
  53. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder/update/_entityFile-form.service.spec.ts.ejs +0 -1
  54. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.model.ts.ejs +53 -0
  55. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.routes.ts.ejs +67 -0
  56. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.test-samples.ts.ejs +45 -0
  57. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +41 -0
  58. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +84 -0
  59. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.ts.ejs +47 -0
  60. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +118 -0
  61. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +112 -0
  62. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.ts.ejs +59 -0
  63. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +224 -0
  64. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +173 -0
  65. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +411 -0
  66. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/infinite-scroll-template.ejs +23 -0
  67. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/pagination-template.ejs +21 -0
  68. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +120 -0
  69. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.ts.ejs +47 -0
  70. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +255 -0
  71. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.ts.ejs +203 -0
  72. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.spec.ts.ejs +110 -0
  73. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.ts.ejs +263 -0
  74. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +195 -0
  75. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +273 -0
  76. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +263 -0
  77. package/dist/generators/angular/templates/src/main/webapp/app/entities/user/user.service.spec.ts.ejs +1 -1
  78. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +14 -16
  79. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.scss.ejs +2 -2
  80. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
  81. package/dist/generators/angular/templates/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
  82. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
  83. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs +1 -1
  84. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  85. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.html.ejs +9 -11
  86. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +1 -1
  87. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +3 -3
  88. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +1 -1
  89. package/dist/generators/angular/templates/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
  90. package/dist/generators/angular/templates/tsconfig.app.json.ejs +4 -4
  91. package/dist/generators/angular/templates/tsconfig.json.ejs +3 -3
  92. package/dist/generators/angular/templates/tsconfig.spec.json.ejs +2 -2
  93. package/dist/generators/angular/templates/webpack/proxy.conf.js.ejs +14 -13
  94. package/dist/generators/angular/templates/webpack/webpack.custom.js.ejs +4 -4
  95. package/dist/generators/app/command.mjs +68 -4
  96. package/dist/generators/app/generator.mjs +39 -248
  97. package/dist/generators/app/prompts.mjs +0 -102
  98. package/dist/generators/app/support/config.mjs +167 -0
  99. package/dist/generators/app/support/index.mjs +1 -1
  100. package/dist/generators/aws/USAGE +0 -0
  101. package/dist/generators/aws/generator.mjs +2 -1
  102. package/dist/generators/azure-app-service/USAGE +0 -0
  103. package/dist/generators/azure-app-service/generator.mjs +42 -12
  104. package/dist/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +0 -0
  105. package/dist/generators/azure-spring-cloud/USAGE +0 -0
  106. package/dist/generators/azure-spring-cloud/generator.mjs +17 -13
  107. package/dist/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +0 -0
  108. package/dist/generators/base/command.mjs +20 -0
  109. package/dist/generators/base/{generator-base-blueprint.mjs → generator.mjs} +47 -10
  110. package/dist/generators/base/index.mjs +1 -1
  111. package/dist/generators/base/priorities.mjs +15 -3
  112. package/dist/generators/base/shared-data.mjs +31 -7
  113. package/dist/generators/base/support/basename.mjs +12 -0
  114. package/dist/generators/base/support/config.mjs +32 -0
  115. package/dist/generators/base/support/constants.mjs +1 -0
  116. package/dist/generators/base/support/faker.mjs +2 -2
  117. package/dist/generators/base/support/index.mjs +1 -0
  118. package/dist/generators/base/support/jhipster7-context.mjs +32 -4
  119. package/dist/generators/base/support/needles.mjs +2 -2
  120. package/dist/generators/base/support/string.mjs +1 -1
  121. package/dist/generators/base-application/command.mjs +10 -0
  122. package/dist/generators/base-application/generator.mjs +25 -9
  123. package/dist/generators/base-application/priorities.mjs +10 -0
  124. package/dist/generators/base-application/support/entity.mjs +1 -1
  125. package/dist/generators/base-application/support/enum.mjs +2 -2
  126. package/dist/generators/base-application/support/prepare-entity.mjs +23 -6
  127. package/dist/generators/base-application/support/prepare-field.mjs +27 -14
  128. package/dist/generators/base-application/support/prepare-relationship.mjs +8 -2
  129. package/dist/generators/base-application/support/relationship.mjs +1 -1
  130. package/dist/generators/base-core/generator.mjs +959 -0
  131. package/dist/generators/base-core/index.mjs +1 -1
  132. package/dist/generators/base-entity-changes/generator.mjs +141 -0
  133. package/dist/generators/{liquibase-changelogs → base-entity-changes}/index.mjs +0 -1
  134. package/dist/generators/base-workspaces/command.mjs +4 -0
  135. package/dist/generators/base-workspaces/generator.mjs +141 -0
  136. package/dist/generators/{liquibase-changelogs/support → base-workspaces}/index.mjs +2 -2
  137. package/dist/generators/base-workspaces/internal/deployments.mjs +36 -0
  138. package/dist/generators/{base-docker → base-workspaces/internal}/docker-base.mjs +24 -43
  139. package/dist/generators/base-workspaces/internal/docker-dependencies.mjs +27 -0
  140. package/dist/generators/{base-docker → base-workspaces/internal}/docker-prompts.mjs +65 -53
  141. package/dist/generators/base-workspaces/internal/index.mjs +20 -0
  142. package/dist/generators/base-workspaces/priorities.mjs +96 -0
  143. package/dist/generators/bootstrap/generator.mjs +54 -27
  144. package/dist/generators/bootstrap/support/auto-crlf-transform.mjs +1 -1
  145. package/dist/generators/bootstrap/support/eslint-transform.mjs +72 -0
  146. package/dist/generators/bootstrap/support/index.mjs +2 -0
  147. package/dist/generators/bootstrap/support/java-unused-imports-transform.mjs +25 -0
  148. package/dist/generators/bootstrap/support/multi-step-transform/template-file-fs.mjs +1 -1
  149. package/dist/generators/bootstrap/support/multi-step-transform/template-file.mjs +1 -1
  150. package/dist/generators/bootstrap/support/prettier-support.mjs +22 -15
  151. package/dist/generators/bootstrap-application/generator.mjs +34 -5
  152. package/dist/generators/bootstrap-application-base/generator.mjs +63 -16
  153. package/dist/generators/bootstrap-application-base/utils.mjs +1 -1
  154. package/dist/generators/bootstrap-application-client/generator.mjs +17 -7
  155. package/dist/generators/bootstrap-application-server/generator.mjs +53 -10
  156. package/dist/generators/bootstrap-workspaces/command.mjs +11 -0
  157. package/dist/generators/bootstrap-workspaces/generator.mjs +85 -0
  158. package/dist/generators/{base-docker → bootstrap-workspaces}/index.mjs +1 -5
  159. package/dist/generators/ci-cd/command.mjs +174 -0
  160. package/dist/generators/ci-cd/generator.mjs +106 -180
  161. package/dist/generators/ci-cd/templates/.circleci/config.yml.ejs +123 -0
  162. package/dist/generators/ci-cd/templates/.github/workflows/main.yml.ejs +167 -0
  163. package/dist/generators/ci-cd/templates/.gitlab-ci.yml.ejs +9 -9
  164. package/dist/generators/ci-cd/templates/.travis.yml.ejs +108 -0
  165. package/dist/generators/ci-cd/templates/azure-pipelines.yml.ejs +2 -2
  166. package/dist/generators/ci-cd/templates/jenkins/Jenkinsfile.ejs +7 -7
  167. package/dist/generators/client/command.mjs +116 -0
  168. package/dist/generators/client/entity-files.mjs +2 -11
  169. package/dist/generators/client/files-common.mjs +15 -7
  170. package/dist/generators/client/generator.mjs +65 -22
  171. package/dist/generators/client/needle-api/needle-client-vue.mjs +1 -1
  172. package/dist/generators/client/prompts.mjs +2 -53
  173. package/dist/generators/client/resources/package.json +6 -6
  174. package/dist/generators/client/support/config.mjs +35 -0
  175. package/dist/generators/client/support/entity-definition.mjs +1 -1
  176. package/dist/generators/client/support/files.mjs +47 -0
  177. package/dist/generators/client/support/index.mjs +2 -0
  178. package/dist/generators/client/support/prepare-entity.mjs +1 -1
  179. package/dist/generators/client/support/prepare-field.mjs +1 -1
  180. package/dist/generators/client/support/template-utils.mjs +1 -2
  181. package/dist/generators/client/support/update-languages.mjs +2 -1
  182. package/dist/generators/client/templates/.eslintignore.ejs +1 -0
  183. package/dist/generators/client/templates/.prettierignore.jhi.client.ejs +22 -0
  184. package/dist/generators/client/templates/src/main/webapp/content/css/loading.css.ejs +1 -1
  185. package/dist/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs +29 -20
  186. package/dist/generators/cloudfoundry/USAGE +0 -0
  187. package/dist/generators/cloudfoundry/generator.mjs +15 -10
  188. package/dist/generators/cloudfoundry/prompts.mjs +3 -3
  189. package/dist/generators/common/command.mjs +2 -2
  190. package/dist/generators/common/files.mjs +1 -1
  191. package/dist/generators/common/generator.mjs +80 -19
  192. package/dist/generators/common/resources/package.json +3 -3
  193. package/dist/generators/common/templates/.husky/pre-commit.ejs +3 -3
  194. package/dist/generators/common/templates/.prettierignore.ejs +0 -0
  195. package/dist/generators/common/templates/.prettierignore.jhi.ejs +24 -0
  196. package/dist/generators/common/templates/.prettierrc.ejs +5 -1
  197. package/dist/generators/common/templates/README.md.jhi.ejs +15 -393
  198. package/dist/generators/common/templates/sonar-project.properties.ejs +15 -2
  199. package/dist/generators/cucumber/files.mjs +4 -4
  200. package/dist/generators/cucumber/generator.mjs +7 -1
  201. package/dist/generators/cucumber/templates/src/test/java/_package_/cucumber/CucumberIT.java.ejs +28 -0
  202. package/dist/generators/cucumber/templates/src/test/java/_package_/cucumber/CucumberTestContextConfiguration.java.ejs +30 -0
  203. package/dist/generators/cucumber/templates/src/test/java/_package_/cucumber/stepdefs/StepDefs.java.ejs +35 -0
  204. package/dist/generators/cucumber/templates/src/test/java/_package_/cucumber/stepdefs/UserStepDefs.java.ejs +114 -0
  205. package/dist/generators/cucumber/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +1 -1
  206. package/dist/generators/cucumber/templates/src/test/resources/_package_/cucumber/gitkeep.ejs +0 -0
  207. package/dist/generators/cucumber/templates/src/test/resources/_package_/cucumber/user.feature.ejs +6 -0
  208. package/dist/generators/cypress/command.mjs +15 -0
  209. package/dist/generators/cypress/files.mjs +7 -3
  210. package/dist/generators/cypress/generator.mjs +36 -18
  211. package/dist/generators/cypress/index.mjs +1 -0
  212. package/dist/generators/cypress/templates/cypress.config.ts.ejs +8 -7
  213. package/dist/generators/cypress/templates/src/test/javascript/cypress/.eslintrc.json.ejs +2 -1
  214. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +7 -0
  215. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/administration/administration.cy.ts.ejs +6 -1
  216. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +7 -6
  217. package/dist/generators/cypress/templates/src/test/javascript/cypress/tsconfig.json.ejs +7 -3
  218. package/dist/generators/docker/files.mjs +92 -71
  219. package/dist/generators/docker/generator.mjs +86 -23
  220. package/dist/generators/docker/support/check-docker.mjs +56 -0
  221. package/dist/generators/{base-docker/utils.mjs → docker/support/docker-compose-file.mjs} +18 -0
  222. package/dist/generators/docker/support/index.mjs +20 -0
  223. package/dist/generators/docker/templates/docker/app.yml.ejs +108 -0
  224. package/dist/generators/docker/templates/docker/cassandra/Cassandra-Migration.Dockerfile.ejs +29 -0
  225. package/dist/generators/docker/templates/docker/cassandra/scripts/autoMigrate.sh.ejs +85 -0
  226. package/dist/generators/docker/templates/docker/cassandra/scripts/execute-cql.sh.ejs +142 -0
  227. package/dist/generators/docker/templates/docker/cassandra-cluster.yml.ejs +49 -0
  228. package/dist/generators/docker/templates/docker/cassandra-migration.yml.ejs +31 -0
  229. package/dist/generators/docker/templates/docker/cassandra.yml.ejs +50 -0
  230. package/dist/generators/docker/templates/docker/central-server-config/README.md.ejs +33 -0
  231. package/dist/generators/docker/templates/docker/central-server-config/_consul_/application.yml.ejs +28 -0
  232. package/dist/generators/docker/templates/docker/central-server-config/_eureka_/docker-config/application.yml.ejs +34 -0
  233. package/dist/generators/docker/templates/docker/central-server-config/_eureka_/localhost-config/application.yml.ejs +34 -0
  234. package/dist/generators/docker/templates/docker/config/git2consul.json.ejs +14 -0
  235. package/dist/generators/docker/templates/docker/config/mariadb/my.cnf +49 -0
  236. package/dist/generators/docker/templates/docker/config/mysql/my.cnf +82 -0
  237. package/dist/generators/docker/templates/docker/consul.yml.ejs +43 -0
  238. package/dist/generators/docker/templates/docker/couchbase/Couchbase.Dockerfile.ejs +9 -0
  239. package/dist/generators/docker/templates/docker/couchbase/scripts/configure-node.sh.ejs +53 -0
  240. package/dist/generators/docker/templates/docker/couchbase-cluster.yml.ejs +45 -0
  241. package/dist/generators/docker/templates/docker/couchbase.yml.ejs +42 -0
  242. package/dist/generators/docker/templates/docker/elasticsearch.yml.ejs +39 -0
  243. package/dist/generators/docker/templates/docker/grafana/provisioning/dashboards/JVM.json.ejs +3796 -0
  244. package/dist/generators/docker/templates/docker/grafana/provisioning/dashboards/dashboard.yml.ejs +29 -0
  245. package/dist/generators/docker/templates/docker/grafana/provisioning/datasources/datasource.yml.ejs +68 -0
  246. package/dist/generators/docker/templates/docker/hazelcast-management-center.yml.ejs +27 -0
  247. package/dist/generators/docker/templates/docker/jhipster-control-center.yml.ejs +86 -0
  248. package/dist/generators/docker/templates/docker/jhipster-registry.yml.ejs +54 -0
  249. package/dist/generators/docker/templates/docker/kafka.yml.ejs +40 -0
  250. package/dist/generators/docker/templates/docker/keycloak.yml.ejs +46 -0
  251. package/dist/generators/docker/templates/docker/mariadb.yml.ejs +40 -0
  252. package/dist/generators/docker/templates/docker/memcached.yml.ejs +27 -0
  253. package/dist/generators/docker/templates/docker/mongodb/MongoDB.Dockerfile.ejs +2 -0
  254. package/dist/generators/docker/templates/docker/mongodb/scripts/init_replicaset.js.ejs +11 -0
  255. package/dist/generators/docker/templates/docker/mongodb-cluster.yml.ejs +37 -0
  256. package/dist/generators/docker/templates/docker/mongodb.yml.ejs +34 -0
  257. package/dist/generators/docker/templates/docker/monitoring.yml.ejs +49 -0
  258. package/dist/generators/docker/templates/docker/mssql.yml.ejs +42 -0
  259. package/dist/generators/docker/templates/docker/mysql.yml.ejs +39 -0
  260. package/dist/generators/docker/templates/docker/neo4j.yml.ejs +37 -0
  261. package/dist/generators/docker/templates/docker/postgresql.yml.ejs +38 -0
  262. package/dist/generators/docker/templates/docker/prometheus/prometheus.yml.ejs +49 -0
  263. package/dist/generators/docker/templates/docker/pulsar.yml.ejs +31 -0
  264. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +2645 -0
  265. package/dist/generators/docker/templates/docker/realm-config/keycloak-health-check.sh +12 -0
  266. package/dist/generators/docker/templates/docker/redis/Redis-Cluster.Dockerfile.ejs +6 -0
  267. package/dist/generators/docker/templates/docker/redis/connectRedisCluster.sh.ejs +20 -0
  268. package/dist/generators/docker/templates/docker/redis-cluster.yml.ejs +91 -0
  269. package/dist/generators/docker/templates/docker/redis.yml.ejs +27 -0
  270. package/dist/generators/docker/templates/docker/sonar.yml.ejs +33 -0
  271. package/dist/generators/docker/templates/docker/swagger-editor.yml.ejs +25 -0
  272. package/dist/generators/docker/templates/docker/zipkin.yml.ejs +25 -0
  273. package/dist/generators/docker/templates/src/main/docker/config/keycloak-health-check.sh +0 -0
  274. package/dist/generators/docker/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +1 -1
  275. package/dist/generators/docker/utils.mjs +1 -1
  276. package/dist/generators/docker-compose/command.mjs +10 -0
  277. package/dist/generators/docker-compose/files.mjs +15 -22
  278. package/dist/generators/docker-compose/generator.mjs +292 -129
  279. package/dist/generators/docker-compose/index.mjs +1 -0
  280. package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +1 -1
  281. package/dist/generators/docker-compose/templates/prometheus-conf/prometheus.yml.ejs +3 -1
  282. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +1 -1
  283. package/dist/generators/docker-compose/templates/realm-config/keycloak-health-check.sh +0 -0
  284. package/dist/generators/entities/command.mjs +14 -0
  285. package/dist/generators/entities/generator.mjs +31 -71
  286. package/dist/generators/entities/index.mjs +1 -0
  287. package/dist/generators/entity/command.mjs +45 -0
  288. package/dist/generators/entity/generator.mjs +93 -157
  289. package/dist/generators/entity/index.mjs +1 -0
  290. package/dist/generators/entity/prompts.mjs +18 -18
  291. package/dist/generators/gae/USAGE +0 -0
  292. package/dist/generators/gae/generator.mjs +16 -12
  293. package/dist/generators/gae/templates.mjs +3 -3
  294. package/dist/generators/gatling/cleanup.mjs +19 -1
  295. package/dist/generators/gatling/entity-files.mjs +2 -2
  296. package/dist/generators/gatling/files.mjs +3 -0
  297. package/dist/generators/gatling/generator.mjs +3 -1
  298. package/dist/generators/gatling/templates/README.md.jhi.gatling.ejs +19 -0
  299. package/dist/generators/gatling/templates/src/test/java/gatling/simulations/_entityClass_GatlingTest.java.ejs +200 -0
  300. package/dist/generators/generate-blueprint/constants.mjs +1 -1
  301. package/dist/generators/generate-blueprint/files.mjs +18 -7
  302. package/dist/generators/generate-blueprint/generator.mjs +37 -31
  303. package/dist/generators/generate-blueprint/resources/package.json +5 -0
  304. package/dist/generators/generate-blueprint/templates/.blueprint/cli/commands.mjs.ejs +27 -0
  305. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +33 -0
  306. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +62 -0
  307. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/index.mjs.ejs +2 -0
  308. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/templates/samples/sample.jdl.ejs +33 -0
  309. package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +2 -6
  310. package/dist/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +3 -2
  311. package/dist/generators/generate-blueprint/templates/cli/cli.cjs.ejs +36 -0
  312. package/dist/generators/generate-blueprint/templates/cli/cli.mjs.ejs +0 -0
  313. package/dist/generators/generate-blueprint/templates/{.mocharc.cjs.ejs → generators/generator/command.mjs.ejs} +7 -9
  314. package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +33 -22
  315. package/dist/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +8 -11
  316. package/dist/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +4 -1
  317. package/dist/generators/generate-blueprint/templates/test/utils.mjs.ejs +1 -1
  318. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +9 -0
  319. package/dist/generators/generator-constants.mjs +10 -8
  320. package/dist/generators/generator-list.mjs +4 -12
  321. package/dist/generators/git/generator.mjs +3 -1
  322. package/dist/generators/gradle/constants.mjs +1 -1
  323. package/dist/generators/gradle/files.mjs +5 -6
  324. package/dist/generators/gradle/generator.mjs +17 -9
  325. package/dist/generators/gradle/templates/.prettierignore.jhi.gradle.ejs +24 -0
  326. package/dist/generators/gradle/templates/gradlew +0 -0
  327. package/dist/generators/heroku/generator.mjs +27 -32
  328. package/dist/generators/heroku/templates/application-heroku.yml.ejs +1 -1
  329. package/dist/generators/index.js +4 -0
  330. package/dist/generators/info/generator.mjs +29 -15
  331. package/dist/generators/info/support/index.mjs +19 -0
  332. package/dist/generators/info/support/utils.mjs +23 -0
  333. package/dist/generators/init/generator.mjs +20 -3
  334. package/dist/generators/init/templates/.husky/pre-commit +0 -0
  335. package/dist/generators/init/templates/package.json.ejs +2 -9
  336. package/dist/generators/java/cleanup.mjs +19 -1
  337. package/dist/generators/java/command.mjs +19 -0
  338. package/dist/generators/java/entity-files.mjs +27 -0
  339. package/dist/generators/java/generator.mjs +48 -3
  340. package/dist/generators/java/support/files.mjs +49 -7
  341. package/dist/generators/java/support/index.mjs +1 -0
  342. package/dist/generators/java/support/util.mjs +11 -0
  343. package/dist/generators/java/templates/_global_partials_entity_/field_validators.ejs +73 -0
  344. package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +383 -0
  345. package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_validation.ejs +51 -0
  346. package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/enumeration/_enumName_.java.ejs +63 -0
  347. package/dist/generators/java/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +45 -0
  348. package/dist/generators/jdl/command.mjs +0 -10
  349. package/dist/generators/jdl/generator.mjs +21 -20
  350. package/dist/generators/kubernetes/files.mjs +1 -1
  351. package/dist/generators/kubernetes/generator.mjs +66 -33
  352. package/dist/generators/kubernetes/kubernetes-base.mjs +34 -34
  353. package/dist/generators/kubernetes/prompts.mjs +17 -19
  354. package/dist/generators/kubernetes/templates/README-KUBERNETES.md.ejs +1 -1
  355. package/dist/generators/kubernetes/templates/deployment.yml.ejs +2 -2
  356. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +1 -1
  357. package/dist/generators/kubernetes/templates/kubectl-apply.sh.ejs +0 -0
  358. package/dist/generators/kubernetes-helm/generator.mjs +64 -31
  359. package/dist/generators/kubernetes-helm/templates/app/Chart.yml.ejs +1 -1
  360. package/dist/generators/kubernetes-helm/templates/app/helpers.tpl.ejs +1 -1
  361. package/dist/generators/kubernetes-helm/templates/app/requirements.yml.ejs +1 -1
  362. package/dist/generators/kubernetes-helm/templates/app/values.yml.ejs +1 -1
  363. package/dist/generators/kubernetes-knative/generator.mjs +65 -45
  364. package/dist/generators/kubernetes-knative/prompts.mjs +2 -2
  365. package/dist/generators/kubernetes-knative/templates/kubectl-apply.sh.ejs +0 -0
  366. package/dist/generators/kubernetes-knative/templates/service.yml.ejs +1 -1
  367. package/dist/generators/languages/command.mjs +29 -0
  368. package/dist/generators/languages/entity-files.mjs +3 -5
  369. package/dist/generators/languages/files.mjs +6 -0
  370. package/dist/generators/languages/generator.mjs +133 -104
  371. package/dist/generators/languages/index.mjs +1 -1
  372. package/dist/generators/languages/prompts.mjs +1 -1
  373. package/dist/generators/languages/support/index.mjs +1 -0
  374. package/dist/generators/languages/support/load-config.mjs +2 -4
  375. package/dist/generators/languages/support/translate.mjs +78 -0
  376. package/dist/generators/languages/templates/entity/i18n/entity_al.json.ejs +3 -3
  377. package/dist/generators/languages/templates/entity/i18n/entity_ar-ly.json.ejs +3 -3
  378. package/dist/generators/languages/templates/entity/i18n/entity_az-Latn-az.json.ejs +3 -3
  379. package/dist/generators/languages/templates/entity/i18n/entity_bg.json.ejs +3 -3
  380. package/dist/generators/languages/templates/entity/i18n/entity_bn.json.ejs +3 -3
  381. package/dist/generators/languages/templates/entity/i18n/entity_by.json.ejs +3 -3
  382. package/dist/generators/languages/templates/entity/i18n/entity_ca.json.ejs +3 -3
  383. package/dist/generators/languages/templates/entity/i18n/entity_cs.json.ejs +3 -3
  384. package/dist/generators/languages/templates/entity/i18n/entity_da.json.ejs +3 -3
  385. package/dist/generators/languages/templates/entity/i18n/entity_de.json.ejs +3 -3
  386. package/dist/generators/languages/templates/entity/i18n/entity_el.json.ejs +3 -3
  387. package/dist/generators/languages/templates/entity/i18n/entity_en.json.ejs +2 -2
  388. package/dist/generators/languages/templates/entity/i18n/entity_es.json.ejs +3 -3
  389. package/dist/generators/languages/templates/entity/i18n/entity_et.json.ejs +3 -3
  390. package/dist/generators/languages/templates/entity/i18n/entity_fa.json.ejs +3 -3
  391. package/dist/generators/languages/templates/entity/i18n/entity_fi.json.ejs +3 -3
  392. package/dist/generators/languages/templates/entity/i18n/entity_fr.json.ejs +3 -3
  393. package/dist/generators/languages/templates/entity/i18n/entity_gl.json.ejs +3 -3
  394. package/dist/generators/languages/templates/entity/i18n/entity_hi.json.ejs +3 -3
  395. package/dist/generators/languages/templates/entity/i18n/entity_hr.json.ejs +3 -3
  396. package/dist/generators/languages/templates/entity/i18n/entity_hu.json.ejs +3 -3
  397. package/dist/generators/languages/templates/entity/i18n/entity_hy.json.ejs +3 -3
  398. package/dist/generators/languages/templates/entity/i18n/entity_id.json.ejs +3 -3
  399. package/dist/generators/languages/templates/entity/i18n/entity_it.json.ejs +3 -3
  400. package/dist/generators/languages/templates/entity/i18n/entity_ja.json.ejs +3 -3
  401. package/dist/generators/languages/templates/entity/i18n/entity_ko.json.ejs +3 -3
  402. package/dist/generators/languages/templates/entity/i18n/entity_kr-Latn-kr.json.ejs +3 -3
  403. package/dist/generators/languages/templates/entity/i18n/entity_mr.json.ejs +3 -3
  404. package/dist/generators/languages/templates/entity/i18n/entity_my.json.ejs +3 -3
  405. package/dist/generators/languages/templates/entity/i18n/entity_nl.json.ejs +3 -3
  406. package/dist/generators/languages/templates/entity/i18n/entity_pa.json.ejs +3 -3
  407. package/dist/generators/languages/templates/entity/i18n/entity_pl.json.ejs +3 -3
  408. package/dist/generators/languages/templates/entity/i18n/entity_pt-br.json.ejs +3 -3
  409. package/dist/generators/languages/templates/entity/i18n/entity_pt-pt.json.ejs +3 -3
  410. package/dist/generators/languages/templates/entity/i18n/entity_ro.json.ejs +3 -3
  411. package/dist/generators/languages/templates/entity/i18n/entity_ru.json.ejs +3 -3
  412. package/dist/generators/languages/templates/entity/i18n/entity_si.json.ejs +3 -3
  413. package/dist/generators/languages/templates/entity/i18n/entity_sk.json.ejs +3 -3
  414. package/dist/generators/languages/templates/entity/i18n/entity_sr.json.ejs +3 -3
  415. package/dist/generators/languages/templates/entity/i18n/entity_sv.json.ejs +3 -3
  416. package/dist/generators/languages/templates/entity/i18n/entity_ta.json.ejs +3 -3
  417. package/dist/generators/languages/templates/entity/i18n/entity_te.json.ejs +3 -3
  418. package/dist/generators/languages/templates/entity/i18n/entity_th.json.ejs +3 -3
  419. package/dist/generators/languages/templates/entity/i18n/entity_tr.json.ejs +3 -3
  420. package/dist/generators/languages/templates/entity/i18n/entity_ua.json.ejs +3 -3
  421. package/dist/generators/languages/templates/entity/i18n/entity_uz-Cyrl-uz.json.ejs +3 -3
  422. package/dist/generators/languages/templates/entity/i18n/entity_uz-Latn-uz.json.ejs +3 -3
  423. package/dist/generators/languages/templates/entity/i18n/entity_vi.json.ejs +3 -3
  424. package/dist/generators/languages/templates/entity/i18n/entity_zh-cn.json.ejs +3 -3
  425. package/dist/generators/languages/templates/entity/i18n/entity_zh-tw.json.ejs +3 -3
  426. package/dist/generators/languages/templates/src/main/webapp/i18n/bn/reset.json.ejs +1 -1
  427. package/dist/generators/languages/templates/src/main/webapp/i18n/da/reset.json.ejs +1 -1
  428. package/dist/generators/languages/templates/src/main/webapp/i18n/en/reset.json.ejs +1 -1
  429. package/dist/generators/languages/templates/src/main/webapp/i18n/index.js.ejs +3 -0
  430. package/dist/generators/languages/templates/src/main/webapp/i18n/pl/global.json.ejs +12 -9
  431. package/dist/generators/languages/templates/src/main/webapp/i18n/pl/health.json.ejs +7 -3
  432. package/dist/generators/languages/templates/src/main/webapp/i18n/pl/register.json +1 -1
  433. package/dist/generators/languages/templates/src/main/webapp/i18n/pl/user-management.json +1 -1
  434. package/dist/generators/languages/translation-data.mjs +41 -62
  435. package/dist/generators/liquibase/command.mjs +10 -0
  436. package/dist/generators/liquibase/files.mjs +2 -1
  437. package/dist/generators/liquibase/generator.mjs +351 -137
  438. package/dist/generators/liquibase/index.mjs +1 -0
  439. package/dist/generators/liquibase/internal/needles.mjs +8 -3
  440. package/dist/generators/liquibase/support/index.mjs +1 -1
  441. package/dist/generators/liquibase/support/maven-plugin.mjs +4 -4
  442. package/dist/generators/liquibase/support/post-prepare-entity.mjs +3 -3
  443. package/dist/generators/liquibase/support/prepare-field.mjs +1 -1
  444. package/dist/generators/liquibase/support/relationship.mjs +1 -1
  445. package/dist/generators/liquibase/templates/gradle/liquibase.gradle.ejs +4 -2
  446. package/dist/generators/liquibase/templates/src/main/java/_package_/config/LiquibaseConfiguration.java.ejs +127 -0
  447. package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +8 -2
  448. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/initial_schema_sql.xml.ejs +15 -2
  449. package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +1 -1
  450. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/master.xml.ejs +8 -8
  451. package/dist/generators/maven/files.mjs +5 -7
  452. package/dist/generators/maven/generator.mjs +27 -10
  453. package/dist/generators/maven/internal/xml-store.mjs +7 -4
  454. package/dist/generators/maven/support/pom-store.mjs +13 -4
  455. package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
  456. package/dist/generators/maven/templates/.prettierignore.jhi.maven.ejs +23 -0
  457. package/dist/generators/maven/templates/mvnw +0 -0
  458. package/dist/generators/needle-api.mjs +0 -4
  459. package/dist/generators/openapi-client/USAGE +0 -0
  460. package/dist/generators/openapi-client/files.mjs +3 -2
  461. package/dist/generators/openapi-client/generator.mjs +24 -7
  462. package/dist/generators/openapi-client/templates/java/.openapi-generator-ignore +0 -0
  463. package/dist/generators/openapi-client/templates/spring/.openapi-generator-ignore +0 -0
  464. package/dist/generators/openshift/USAGE +0 -0
  465. package/dist/generators/openshift/generator.mjs +30 -17
  466. package/dist/generators/openshift/prompts.mjs +2 -2
  467. package/dist/generators/page/generator.mjs +0 -1
  468. package/dist/generators/page/templates/vue/src/main/webapp/app/pages/page.service.ts.ejs +0 -0
  469. package/dist/generators/page/templates/vue/src/main/webapp/app/pages/page.vue.ejs +0 -0
  470. package/dist/generators/project-name/generator.mjs +2 -5
  471. package/dist/generators/project-name/support/name-resolver.mjs +1 -1
  472. package/dist/generators/react/entity-files-react.mjs +14 -17
  473. package/dist/generators/react/files-react.mjs +39 -42
  474. package/dist/generators/react/generator.mjs +22 -16
  475. package/dist/generators/react/needle-api/needle-client-react.mjs +1 -1
  476. package/dist/generators/react/resources/package.json +36 -36
  477. package/dist/generators/react/support/update-languages.mjs +4 -4
  478. package/dist/generators/react/templates/.eslintrc.json.ejs +1 -5
  479. package/dist/generators/react/templates/jest.conf.js.ejs +9 -8
  480. package/dist/generators/react/templates/package.json.ejs +2 -8
  481. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-delete-dialog.tsx.ejs +82 -0
  482. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-detail.tsx.ejs +171 -0
  483. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-reducer.spec.ts.ejs +430 -0
  484. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +401 -0
  485. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +233 -0
  486. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.tsx.ejs +544 -0
  487. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityModel_.model.ts.ejs +45 -0
  488. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/index.tsx.ejs +47 -0
  489. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/react_validators.ejs +44 -0
  490. package/dist/generators/react/templates/src/main/webapp/app/modules/account/password-reset/password-reset.reducer.ts.ejs +1 -1
  491. package/dist/generators/react/templates/src/main/webapp/app/modules/account/register/register.tsx.ejs +12 -2
  492. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +6 -6
  493. package/dist/generators/react/templates/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +2 -2
  494. package/dist/generators/react/templates/src/main/webapp/app/modules/login/login.tsx.ejs +2 -2
  495. package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +3 -3
  496. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.tsx.ejs +3 -3
  497. package/dist/generators/react/templates/tsconfig.json.ejs +3 -3
  498. package/dist/generators/react/templates/tsconfig.test.json.ejs +3 -3
  499. package/dist/generators/react/templates/webpack/webpack.common.js.ejs +9 -9
  500. package/dist/generators/react/templates/webpack/webpack.dev.js.ejs +3 -3
  501. package/dist/generators/react/templates/webpack/webpack.microfrontend.js.jhi.react.ejs +2 -2
  502. package/dist/generators/react/templates/webpack/webpack.prod.js.ejs +2 -2
  503. package/dist/generators/server/cleanup.mjs +4 -4
  504. package/dist/generators/server/command.mjs +130 -10
  505. package/dist/generators/server/entity-files.mjs +42 -108
  506. package/dist/generators/server/files.mjs +67 -62
  507. package/dist/generators/server/generator.mjs +62 -102
  508. package/dist/generators/server/internal/build-application.mjs +55 -0
  509. package/dist/generators/server/internal/index.mjs +19 -0
  510. package/dist/generators/server/jdl/application-definition.mjs +1 -1
  511. package/dist/generators/server/prompts.mjs +23 -4
  512. package/dist/generators/server/resources/Dockerfile +17 -17
  513. package/dist/generators/server/resources/gradle/libs.versions.toml +7 -7
  514. package/dist/generators/server/resources/pom.xml +18 -18
  515. package/dist/generators/server/support/config.mjs +137 -0
  516. package/dist/generators/server/support/dependabot-gradle.mjs +1 -1
  517. package/dist/generators/server/support/doc.mjs +1 -2
  518. package/dist/generators/server/support/index.mjs +2 -0
  519. package/dist/generators/server/support/java-formatting.mjs +1 -1
  520. package/dist/generators/server/support/key-store.mjs +1 -1
  521. package/dist/generators/server/support/needles.mjs +1 -1
  522. package/dist/generators/server/support/prepare-entity.mjs +10 -5
  523. package/dist/generators/server/support/prepare-field.mjs +17 -5
  524. package/dist/generators/server/support/prepare-relationship.mjs +7 -0
  525. package/dist/generators/server/support/relationship.mjs +1 -1
  526. package/dist/generators/server/support/templates/field-values.mjs +2 -2
  527. package/dist/generators/server/templates/README.md.jhi.spring-boot.ejs +405 -0
  528. package/dist/generators/server/templates/_global_partials_entity_/it_patch_update.partial.java.ejs +74 -0
  529. package/dist/generators/server/templates/_global_partials_entity_/save_template.ejs +71 -0
  530. package/dist/generators/server/templates/_global_partials_entity_/update_template.ejs +77 -0
  531. package/dist/generators/server/templates/build.gradle.ejs +20 -2
  532. package/dist/generators/server/templates/entity/src/main/java/package/common/inject_template.ejs +3 -1
  533. package/dist/generators/server/templates/entity/src/main/java/package/common/patch_template.ejs +2 -0
  534. package/dist/generators/server/templates/entity/src/main/java/package/service/_EntityClass_Service.java.ejs +1 -1
  535. package/dist/generators/server/templates/entity/src/main/java/package/service/criteria/_EntityClass_Criteria.java.ejs +1 -1
  536. package/dist/generators/server/templates/entity/src/main/java/package/service/impl/_EntityClass_ServiceImpl.java.ejs +3 -7
  537. package/dist/generators/server/templates/entity/src/main/java/package/web/rest/_EntityClass_Resource.java.ejs +2 -6
  538. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +21 -4
  539. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +1 -1
  540. package/dist/generators/server/templates/gradle/swagger.gradle.ejs +1 -1
  541. package/dist/generators/server/templates/npmw +0 -0
  542. package/dist/generators/server/templates/package.json.ejs +0 -6
  543. package/dist/generators/server/templates/pom.xml.ejs +9 -2
  544. package/dist/generators/server/templates/reactive/_global_partials_entity_/save_template.ejs +36 -0
  545. package/dist/generators/server/templates/reactive/_global_partials_entity_/update_template.ejs +41 -0
  546. package/dist/generators/server/templates/src/main/java/_package_/Application.java.ejs +134 -0
  547. package/dist/generators/server/templates/src/main/java/_package_/ApplicationWebXml.java.ejs +38 -0
  548. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/delete_template.ejs +32 -0
  549. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_all_stream_template.ejs +75 -0
  550. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_all_template.ejs +129 -0
  551. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_filtered_template.ejs +57 -0
  552. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_template.ejs +31 -0
  553. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/inject_template.ejs +67 -0
  554. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/patch_template.ejs +69 -0
  555. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/search_stream_template.ejs +50 -0
  556. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/search_template.ejs +57 -0
  557. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository.java.ejs +131 -0
  558. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository_reactive.java.ejs +168 -0
  559. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +155 -0
  560. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_Service.java.ejs +181 -0
  561. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/criteria/_entityClass_Criteria.java.ejs +167 -0
  562. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +184 -0
  563. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.java.ejs +318 -0
  564. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/mapper/EntityMapper.java.ejs +48 -0
  565. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/mapper/_entityClass_Mapper.java.ejs +145 -0
  566. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/web/rest/_entityClass_Resource.java.ejs +449 -0
  567. package/dist/generators/server/templates/src/main/java/_package_/aop/logging/LoggingAspect.java.ejs +131 -0
  568. package/dist/generators/server/templates/src/main/java/_package_/client/AuthorizedFeignClient.java.ejs +72 -0
  569. package/dist/generators/server/templates/src/main/java/_package_/client/OAuth2InterceptedFeignConfiguration.java.ejs +35 -0
  570. package/dist/generators/server/templates/src/main/java/_package_/client/TokenRelayRequestInterceptor.java.ejs +44 -0
  571. package/dist/generators/server/templates/src/main/java/_package_/client/UserFeignClientInterceptor_jwt.java.ejs +36 -0
  572. package/dist/generators/server/templates/src/main/java/_package_/config/ApplicationProperties.java.ejs +34 -0
  573. package/dist/generators/server/templates/src/main/java/_package_/config/AsyncConfiguration.java.ejs +67 -0
  574. package/dist/generators/server/templates/src/main/java/_package_/config/CRLFLogConverter.java.ejs +70 -0
  575. package/dist/generators/server/templates/src/main/java/_package_/config/Constants.java.ejs +43 -0
  576. package/dist/generators/server/templates/src/main/java/_package_/config/DateTimeFormatConfiguration.java.ejs +42 -0
  577. package/dist/generators/server/templates/src/main/java/_package_/config/EurekaWorkaroundConfiguration.java.ejs +49 -0
  578. package/dist/generators/server/templates/src/main/java/_package_/config/FeignConfiguration.java.ejs +45 -0
  579. package/dist/generators/server/templates/src/main/java/_package_/config/JacksonConfiguration.java.ejs +56 -0
  580. package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_imperative.java.ejs +43 -0
  581. package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_reactive.java.ejs +184 -0
  582. package/dist/generators/server/templates/src/main/java/_package_/config/LoggingAspectConfiguration.java.ejs +37 -0
  583. package/dist/generators/server/templates/src/main/java/_package_/config/LoggingConfiguration.java.ejs +92 -0
  584. package/dist/generators/server/templates/src/main/java/_package_/config/OAuth2Configuration.java.ejs +37 -0
  585. package/dist/generators/server/templates/src/main/java/_package_/config/OpenApiConfiguration.java.ejs +52 -0
  586. package/dist/generators/server/templates/src/main/java/_package_/config/ReactorConfiguration.java.ejs +14 -0
  587. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +337 -0
  588. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +467 -0
  589. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityInMemoryConfiguration.java.ejs +51 -0
  590. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +127 -0
  591. package/dist/generators/server/templates/src/main/java/_package_/config/StaticResourcesWebConfiguration.java.ejs +67 -0
  592. package/dist/generators/server/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +243 -0
  593. package/dist/generators/server/templates/src/main/java/_package_/domain/AbstractAuditingEntity.java.ejs +163 -0
  594. package/dist/generators/server/templates/src/main/java/_package_/domain/Authority.java.ejs +143 -0
  595. package/dist/generators/server/templates/src/main/java/_package_/domain/PersistentToken.java.ejs +288 -0
  596. package/dist/generators/server/templates/src/main/java/_package_/domain/User.java.ejs +588 -0
  597. package/dist/generators/server/templates/src/main/java/_package_/management/SecurityMetersService.java.ejs +68 -0
  598. package/dist/generators/server/templates/src/main/java/_package_/repository/AuthorityRepository.java.ejs +78 -0
  599. package/dist/generators/server/templates/src/main/java/_package_/repository/PersistentTokenRepository.java.ejs +190 -0
  600. package/dist/generators/server/templates/src/main/java/_package_/repository/UserRepository.java.ejs +815 -0
  601. package/dist/generators/server/templates/src/main/java/_package_/security/AuthoritiesConstants.java.ejs +34 -0
  602. package/dist/generators/server/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +100 -0
  603. package/dist/generators/server/templates/src/main/java/_package_/security/PersistentTokenRememberMeServices.java.ejs +301 -0
  604. package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +233 -0
  605. package/dist/generators/server/templates/src/main/java/_package_/security/SpringSecurityAuditorAware.java.ejs +38 -0
  606. package/dist/generators/server/templates/src/main/java/_package_/security/UserNotActivatedException.java.ejs +37 -0
  607. package/dist/generators/server/templates/src/main/java/_package_/security/jwt/JWTRelayGatewayFilterFactory.java.ejs +64 -0
  608. package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/AudienceValidator.java.ejs +51 -0
  609. package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/AuthorizationHeaderUtil.java.ejs +175 -0
  610. package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/CustomClaimConverter.java.ejs +133 -0
  611. package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/JwtGrantedAuthorityConverter.java.ejs +40 -0
  612. package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/OAuthIdpTokenResponseDTO.java.ejs +161 -0
  613. package/dist/generators/server/templates/src/main/java/_package_/service/EmailAlreadyUsedException.java.ejs +29 -0
  614. package/dist/generators/server/templates/src/main/java/_package_/service/InvalidPasswordException.java.ejs +29 -0
  615. package/dist/generators/server/templates/src/main/java/_package_/service/MailService.java.ejs +126 -0
  616. package/dist/generators/server/templates/src/main/java/_package_/service/UserService.java.ejs +1099 -0
  617. package/dist/generators/server/templates/src/main/java/_package_/service/UsernameAlreadyUsedException.java.ejs +29 -0
  618. package/dist/generators/server/templates/src/main/java/_package_/service/dto/AdminUserDTO.java.ejs +244 -0
  619. package/dist/generators/server/templates/src/main/java/_package_/service/dto/PasswordChangeDTO.java.ejs +57 -0
  620. package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +96 -0
  621. package/dist/generators/server/templates/src/main/java/_package_/service/mapper/UserMapper.java.ejs +200 -0
  622. package/dist/generators/server/templates/src/main/java/_package_/web/filter/ModifyServersOpenApiFilter.java.ejs +179 -0
  623. package/dist/generators/server/templates/src/main/java/_package_/web/filter/OAuth2ReactiveRefreshTokensWebFilter.java.ejs +70 -0
  624. package/dist/generators/server/templates/src/main/java/_package_/web/filter/OAuth2RefreshTokensWebFilter.java.ejs +103 -0
  625. package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_imperative.java.ejs +61 -0
  626. package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_reactive.java.ejs +52 -0
  627. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +347 -0
  628. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +100 -0
  629. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +198 -0
  630. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AuthInfoResource.java.ejs +69 -0
  631. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +179 -0
  632. package/dist/generators/server/templates/src/main/java/_package_/web/rest/GatewayResource.java.ejs +81 -0
  633. package/dist/generators/server/templates/src/main/java/_package_/web/rest/LogoutResource_imperative.java.ejs +74 -0
  634. package/dist/generators/server/templates/src/main/java/_package_/web/rest/LogoutResource_reactive.java.ejs +77 -0
  635. package/dist/generators/server/templates/src/main/java/_package_/web/rest/PublicUserResource.java.ejs +208 -0
  636. package/dist/generators/server/templates/src/main/java/_package_/web/rest/UserResource.java.ejs +345 -0
  637. package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/BadRequestAlertException.java.ejs +64 -0
  638. package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/EmailAlreadyUsedException.java.ejs +29 -0
  639. package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/ErrorConstants.java.ejs +40 -0
  640. package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/ExceptionTranslator.java.ejs +355 -0
  641. package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/FieldErrorVM.java.ejs +51 -0
  642. package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/InvalidPasswordException.java.ejs +37 -0
  643. package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/LoginAlreadyUsedException.java.ejs +29 -0
  644. package/dist/generators/server/templates/src/main/java/_package_/web/rest/vm/KeyAndPasswordVM.java.ejs +45 -0
  645. package/dist/generators/server/templates/src/main/java/_package_/web/rest/vm/LoginVM.java.ejs +71 -0
  646. package/dist/generators/server/templates/src/main/java/_package_/web/rest/vm/ManagedUserVM.java.ejs +59 -0
  647. package/dist/generators/server/templates/src/main/java/_package_/web/rest/vm/RouteVM.java.ejs +59 -0
  648. package/dist/generators/server/templates/src/main/java/package/Application.java.ejs +2 -1
  649. package/dist/generators/server/templates/src/main/java/package/client/AuthorizedFeignClient.java.ejs +1 -2
  650. package/dist/generators/server/templates/src/main/java/package/config/CRLFLogConverter.java.ejs +3 -1
  651. package/dist/generators/server/templates/src/main/java/package/config/OAuth2Configuration.java.ejs +0 -1
  652. package/dist/generators/server/templates/src/main/java/package/config/ReactorConfiguration.java.ejs +0 -0
  653. package/dist/generators/server/templates/src/main/java/package/config/SecurityConfiguration_imperative.java.ejs +62 -36
  654. package/dist/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +13 -8
  655. package/dist/generators/server/templates/src/main/java/package/config/SecurityJwtConfiguration.java.ejs +2 -0
  656. package/dist/generators/server/templates/src/main/java/package/domain/User.java.ejs +1 -1
  657. package/dist/generators/server/templates/src/main/java/package/repository/PersistentTokenRepository.java.ejs +1 -1
  658. package/dist/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +2 -2
  659. package/dist/generators/server/templates/src/main/java/package/security/DomainUserDetailsService.java.ejs +1 -1
  660. package/dist/generators/server/templates/src/main/java/package/service/MailService.java.ejs +1 -1
  661. package/dist/generators/server/templates/src/main/java/package/service/UserService.java.ejs +1 -1
  662. package/dist/generators/server/templates/src/main/java/package/service/dto/AdminUserDTO.java.ejs +1 -1
  663. package/dist/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +1 -1
  664. package/dist/generators/server/templates/src/main/java/package/service/mapper/UserMapper.java.ejs +1 -1
  665. package/dist/generators/server/templates/src/main/java/package/web/filter/ModifyServersOpenApiFilter.java.ejs +0 -0
  666. package/dist/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter_imperative.java.ejs +6 -3
  667. package/dist/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs +1 -1
  668. package/dist/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -2
  669. package/dist/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +6 -4
  670. package/dist/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +2 -2
  671. package/dist/generators/server/templates/src/main/java/package/web/rest/errors/ExceptionTranslator.java.ejs +17 -15
  672. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +3 -2
  673. package/dist/generators/server/templates/src/main/resources/logback-spring.xml.ejs +1 -1
  674. package/dist/generators/server/templates/src/test/java/_package_/IntegrationTest.java.ejs +102 -0
  675. package/dist/generators/server/templates/src/test/java/_package_/TechnicalStructureTest.java.ejs +73 -0
  676. package/dist/generators/server/templates/src/test/java/_package_/_entityPackage_/service/dto/_dtoClass_Test.java.ejs +53 -0
  677. package/dist/generators/server/templates/src/test/java/_package_/_entityPackage_/service/mapper/_entityClass_MapperTest.java.ejs +36 -0
  678. package/dist/generators/server/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +1848 -0
  679. package/dist/generators/server/templates/src/test/java/_package_/config/AsyncSyncConfiguration.java.ejs +36 -0
  680. package/dist/generators/server/templates/src/test/java/_package_/config/JHipsterBlockHoundIntegration.java.ejs +62 -0
  681. package/dist/generators/server/templates/src/test/java/_package_/config/SpringBootTestClassOrderer.java.ejs +42 -0
  682. package/dist/generators/server/templates/src/test/java/_package_/config/StaticResourcesWebConfigurerTest.java.ejs +98 -0
  683. package/dist/generators/server/templates/src/test/java/_package_/config/TestContainersSpringContextCustomizerFactory.java.ejs +104 -0
  684. package/dist/generators/server/templates/src/test/java/_package_/config/TestSecurityConfiguration.java.ejs +89 -0
  685. package/dist/generators/server/templates/src/test/java/_package_/config/WebConfigurerTest.java.ejs +166 -0
  686. package/dist/generators/server/templates/src/test/java/_package_/config/WebConfigurerTestController.java.ejs +34 -0
  687. package/dist/generators/server/templates/src/test/java/_package_/management/SecurityMetersServiceTests.java.ejs +113 -0
  688. package/dist/generators/server/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +180 -0
  689. package/dist/generators/server/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_imperative.java.ejs +184 -0
  690. package/dist/generators/server/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_reactive.java.ejs +153 -0
  691. package/dist/generators/server/templates/src/test/java/_package_/security/jwt/AuthenticationIntegrationTest.java.ejs +78 -0
  692. package/dist/generators/server/templates/src/test/java/_package_/security/jwt/JwtAuthenticationTestUtils.java.ejs +134 -0
  693. package/dist/generators/server/templates/src/test/java/_package_/security/jwt/TestAuthenticationResource.java.ejs +20 -0
  694. package/dist/generators/server/templates/src/test/java/_package_/security/jwt/TokenAuthenticationIT.java.ejs +84 -0
  695. package/dist/generators/server/templates/src/test/java/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.java.ejs +114 -0
  696. package/dist/generators/server/templates/src/test/java/_package_/security/oauth2/AudienceValidatorTest.java.ejs +59 -0
  697. package/dist/generators/server/templates/src/test/java/_package_/security/oauth2/AuthorizationHeaderUtilTest.java.ejs +263 -0
  698. package/dist/generators/server/templates/src/test/java/_package_/security/oauth2/CustomClaimConverterIT.java.ejs +227 -0
  699. package/dist/generators/server/templates/src/test/java/_package_/service/MailServiceIT.java.ejs +255 -0
  700. package/dist/generators/server/templates/src/test/java/_package_/service/UserServiceIT.java.ejs +521 -0
  701. package/dist/generators/server/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +182 -0
  702. package/dist/generators/server/templates/src/test/java/_package_/test/util/OAuth2TestUtil.java.ejs +104 -0
  703. package/dist/generators/server/templates/src/test/java/_package_/web/filter/ModifyServersOpenApiFilterTest.java.ejs +150 -0
  704. package/dist/generators/server/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_imperative.java.ejs +107 -0
  705. package/dist/generators/server/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_reactive.java.ejs +159 -0
  706. package/dist/generators/server/templates/src/test/java/_package_/web/filter/SpaWebFilterTestController_reactive.java.ejs +17 -0
  707. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +1461 -0
  708. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +196 -0
  709. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_skipUserManagement.java.ejs +149 -0
  710. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AuthenticateControllerIT.java.ejs +213 -0
  711. package/dist/generators/server/templates/src/test/java/_package_/web/rest/LogoutResourceIT.java.ejs +130 -0
  712. package/dist/generators/server/templates/src/test/java/_package_/web/rest/PublicUserResourceIT.java.ejs +257 -0
  713. package/dist/generators/server/templates/src/test/java/_package_/web/rest/TestUtil.java.ejs +275 -0
  714. package/dist/generators/server/templates/src/test/java/_package_/web/rest/UserResourceIT.java.ejs +1062 -0
  715. package/dist/generators/server/templates/src/test/java/_package_/web/rest/WithUnauthenticatedMockUser.java.ejs +42 -0
  716. package/dist/generators/server/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorIT_imperative.java.ejs +134 -0
  717. package/dist/generators/server/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +161 -0
  718. package/dist/generators/server/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorTestController.java.ejs +94 -0
  719. package/dist/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs +1 -1
  720. package/dist/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +3 -2
  721. package/dist/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +1 -1
  722. package/dist/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +1 -1
  723. package/dist/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +1 -1
  724. package/dist/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
  725. package/dist/generators/server/templates/src/test/java/package/web/filter/ModifyServersOpenApiFilterTest.java.ejs +0 -0
  726. package/dist/generators/server/templates/src/test/java/package/web/filter/SpaWebFilterIT_reactive.java.ejs +9 -3
  727. package/dist/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +10 -10
  728. package/dist/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_oauth2.java.ejs +4 -7
  729. package/dist/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +3 -7
  730. package/dist/generators/server/templates/src/test/java/package/web/rest/AuthenticateControllerIT.java.ejs +1 -1
  731. package/dist/generators/server/templates/src/test/java/package/web/rest/PublicUserResourceIT.java.ejs +1 -1
  732. package/dist/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +1 -1
  733. package/dist/generators/server/templates/src/test/resources/logback.xml.ejs +1 -1
  734. package/dist/generators/spring-cache/files.mjs +3 -3
  735. package/dist/generators/spring-cache/generator.mjs +5 -3
  736. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +820 -0
  737. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheFactoryConfiguration.java.ejs +49 -0
  738. package/dist/generators/spring-cache/templates/src/main/java/package/config/CacheConfiguration.java.ejs +6 -6
  739. package/dist/generators/spring-cache/templates/src/test/java/_package_/config/EmbeddedRedis.java.ejs +30 -0
  740. package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainer.java.ejs +57 -0
  741. package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainersSpringContextCustomizerFactory.java.ejs +61 -0
  742. package/dist/generators/spring-cloud-stream/cleanup.mjs +1 -1
  743. package/dist/generators/spring-cloud-stream/files.mjs +5 -5
  744. package/dist/generators/spring-cloud-stream/generator.mjs +21 -1
  745. package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/broker/KafkaConsumer_imperative.java.ejs +69 -0
  746. package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/broker/KafkaConsumer_reactive.java.ejs +45 -0
  747. package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/broker/KafkaProducer.java.ejs +31 -0
  748. package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/web/rest/KafkaResource_imperative.java.ejs +60 -0
  749. package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/web/rest/KafkaResource_reactive.java.ejs +58 -0
  750. package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/broker/PulsarIT.java.ejs +49 -0
  751. package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/BrokerConfiguration.java.ejs +51 -0
  752. package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/EmbeddedKafka.java.ejs +30 -0
  753. package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/EmbeddedPulsar.java.ejs +30 -0
  754. package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/KafkaTestContainer.java.ejs +56 -0
  755. package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/KafkaTestContainersSpringContextCustomizerFactory.java.ejs +57 -0
  756. package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/PulsarTestContainer.java.ejs +56 -0
  757. package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/PulsarTestContainersSpringContextCustomizerFactory.java.ejs +65 -0
  758. package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/web/rest/KafkaResourceIT_imperative.java.ejs +96 -0
  759. package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +109 -0
  760. package/dist/generators/spring-controller/USAGE +0 -0
  761. package/dist/generators/spring-controller/generator.mjs +12 -7
  762. package/dist/generators/spring-data-cassandra/entity-files.mjs +5 -6
  763. package/dist/generators/spring-data-cassandra/files.mjs +2 -2
  764. package/dist/generators/spring-data-cassandra/generator.mjs +3 -2
  765. package/dist/generators/spring-data-cassandra/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_cassandra.ejs +50 -0
  766. package/dist/generators/spring-data-cassandra/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +72 -0
  767. package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/CassandraKeyspaceIT.java.ejs +40 -0
  768. package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainer.java.ejs +97 -0
  769. package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainersSpringContextCustomizerFactory.java.ejs +67 -0
  770. package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/EmbeddedCassandra.java.ejs +30 -0
  771. package/dist/generators/spring-data-couchbase/entity-files.mjs +6 -8
  772. package/dist/generators/spring-data-couchbase/files.mjs +5 -5
  773. package/dist/generators/spring-data-couchbase/generator.mjs +3 -2
  774. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_couchbase.ejs +210 -0
  775. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository.java.ejs +125 -0
  776. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +324 -0
  777. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/repository/CouchbaseSearchRepository.java.ejs +91 -0
  778. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/repository/JHipsterCouchbaseRepository.java.ejs +115 -0
  779. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/repository/PersistentTokenRepository_couchbase.java.ejs +49 -0
  780. package/dist/generators/spring-data-couchbase/templates/src/main/java/package/domain/_PersistClass_.java.jhi.spring_data_couchbase.ejs +1 -1
  781. package/dist/generators/spring-data-couchbase/templates/src/main/java/package/repository/PersistentTokenRepository_couchbase.java.ejs +1 -1
  782. package/dist/generators/spring-data-couchbase/templates/src/main/java/package/repository/_EntityClass_Repository.java.ejs +1 -1
  783. package/dist/generators/spring-data-couchbase/templates/src/test/java/_package_/config/CouchbaseTestContainer.java.ejs +67 -0
  784. package/dist/generators/spring-data-couchbase/templates/src/test/java/_package_/config/EmbeddedCouchbase.java.ejs +30 -0
  785. package/dist/generators/spring-data-couchbase/templates/src/test/java/_package_/repository/CouchbaseSearchRepositoryTest.java.ejs +48 -0
  786. package/dist/generators/spring-data-elasticsearch/entity-files.mjs +5 -8
  787. package/dist/generators/spring-data-elasticsearch/files.mjs +3 -3
  788. package/dist/generators/spring-data-elasticsearch/generator.mjs +3 -2
  789. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.elastic_search.ejs +53 -0
  790. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/_entityPackage_/repository/search/_entityClass_SearchRepository.java.ejs +169 -0
  791. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/config/ElasticsearchConfiguration.java.ejs +165 -0
  792. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/repository/search/UserSearchRepository.java.ejs +123 -0
  793. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/web/rest/errors/ElasticsearchExceptionMapper.java.ejs +49 -0
  794. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/web/rest/errors/QuerySyntaxException.java.ejs +30 -0
  795. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/web/web/rest/errors/ElasticsearchExceptionMapper.java.ejs +49 -0
  796. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/web/web/rest/errors/QuerySyntaxException.java.ejs +30 -0
  797. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/package/repository/search/UserSearchRepository.java.ejs +2 -2
  798. package/dist/generators/spring-data-elasticsearch/templates/src/main/java/package/repository/search/_EntityClass_SearchRepository.java.ejs +0 -1
  799. package/dist/generators/spring-data-elasticsearch/templates/src/test/java/_package_/config/ElasticsearchTestConfiguration.java.ejs +37 -0
  800. package/dist/generators/spring-data-elasticsearch/templates/src/test/java/_package_/config/ElasticsearchTestContainer.java.ejs +69 -0
  801. package/dist/generators/spring-data-elasticsearch/templates/src/test/java/_package_/config/EmbeddedElasticsearch.java.ejs +30 -0
  802. package/dist/generators/spring-data-elasticsearch/templates/src/test/java/_package_/web/rest/errors/ElasticsearchExceptionMapperTest.java.ejs +45 -0
  803. package/dist/generators/spring-data-mongodb/entity-files.mjs +4 -6
  804. package/dist/generators/spring-data-mongodb/files.mjs +3 -3
  805. package/dist/generators/spring-data-mongodb/generator.mjs +3 -3
  806. package/dist/generators/spring-data-mongodb/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_mongodb.ejs +79 -0
  807. package/dist/generators/spring-data-mongodb/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +90 -0
  808. package/dist/generators/spring-data-mongodb/templates/src/main/java/_package_/config/dbmigrations/InitialSetupMigration.java.ejs +117 -0
  809. package/dist/generators/spring-data-mongodb/templates/src/main/java/package/config/dbmigrations/InitialSetupMigration.java.ejs +1 -1
  810. package/dist/generators/spring-data-mongodb/templates/src/test/java/_package_/config/EmbeddedMongo.java.ejs +30 -0
  811. package/dist/generators/spring-data-mongodb/templates/src/test/java/_package_/config/MongoDbTestContainer.java.ejs +67 -0
  812. package/dist/generators/spring-data-neo4j/entity-files.mjs +4 -6
  813. package/dist/generators/spring-data-neo4j/files.mjs +3 -3
  814. package/dist/generators/spring-data-neo4j/generator.mjs +21 -1
  815. package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_neo4j.ejs +97 -0
  816. package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/config/DatabaseConfiguration.java_neo4j.ejs +56 -0
  817. package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/config/neo4j/Neo4jMigrations.java.ejs +97 -0
  818. package/dist/generators/spring-data-neo4j/templates/src/main/resources/config/neo4j/migrations/user__admin.json.ejs +1 -1
  819. package/dist/generators/spring-data-neo4j/templates/src/main/resources/config/neo4j/migrations/user__user.json.ejs +1 -1
  820. package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/EmbeddedNeo4j.java.ejs +29 -0
  821. package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainer.java.ejs +66 -0
  822. package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainersSpringContextCustomizerFactory.java.ejs +63 -0
  823. package/dist/generators/spring-data-relational/cleanup.mjs +1 -1
  824. package/dist/generators/spring-data-relational/command.mjs +10 -0
  825. package/dist/generators/spring-data-relational/entity-files.mjs +23 -33
  826. package/dist/generators/spring-data-relational/files.mjs +14 -24
  827. package/dist/generators/spring-data-relational/generator.mjs +53 -2
  828. package/dist/generators/spring-data-relational/index.mjs +1 -0
  829. package/dist/generators/spring-data-relational/internal/dependencies.mjs +1 -1
  830. package/dist/generators/spring-data-relational/support/application-properties.mjs +72 -34
  831. package/dist/generators/spring-data-relational/support/database-data.mjs +2 -2
  832. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_persistence.ejs +128 -0
  833. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_RepositoryInternalImpl_reactive.java.ejs +280 -0
  834. package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/config/DatabaseConfiguration.java.ejs +1 -1
  835. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_.java.jhi.hibernate_cache.ejs +41 -0
  836. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_.java.jhi.jakarta_lifecycle_events.ejs +31 -0
  837. package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/domain/_PersistClass_.java.jhi.jakarta_persistence.ejs +2 -2
  838. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_.java.jhi.spring_data_persistable.ejs +61 -0
  839. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_.java.jhi.spring_data_reactive.ejs +114 -0
  840. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_Callback.java.ejs +43 -0
  841. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/_EntityClass_RepositoryWithBagRelationships.java.ejs +37 -0
  842. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/_EntityClass_RepositoryWithBagRelationshipsImpl.java.ejs +95 -0
  843. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/_EntityClass_SqlHelper_reactive.java.ejs +46 -0
  844. package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/rowmapper/UserRowMapper_reactive.java.ejs +4 -1
  845. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/rowmapper/_EntityClass_RowMapper_reactive.java.ejs +81 -0
  846. package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +1 -1
  847. package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/timezone/HibernateTimeZoneIT.java.ejs +51 -54
  848. package/dist/generators/spring-data-relational/templates/src/test/resources/config/application-testdev.yml.ejs +1 -0
  849. package/dist/generators/spring-data-relational/templates/src/test/resources/config/application-testprod.yml.ejs +1 -0
  850. package/dist/generators/spring-service/USAGE +0 -0
  851. package/dist/generators/spring-service/generator.mjs +6 -4
  852. package/dist/generators/spring-websocket/cleanup.mjs +19 -1
  853. package/dist/generators/spring-websocket/files.mjs +1 -1
  854. package/dist/generators/spring-websocket/generator.mjs +3 -1
  855. package/dist/generators/spring-websocket/templates/src/main/java/_package_/config/WebsocketConfiguration.java.ejs +100 -0
  856. package/dist/generators/spring-websocket/templates/src/main/java/_package_/config/WebsocketSecurityConfiguration.java.ejs +55 -0
  857. package/dist/generators/spring-websocket/templates/src/main/java/_package_/web/websocket/ActivityService.java.ejs +66 -0
  858. package/dist/generators/spring-websocket/templates/src/main/java/_package_/web/websocket/dto/ActivityDTO.java.ejs +89 -0
  859. package/dist/generators/statistics.mjs +3 -3
  860. package/dist/generators/upgrade/command.mjs +21 -0
  861. package/dist/generators/upgrade/generator.mjs +95 -156
  862. package/dist/generators/vue/cleanup.mjs +46 -0
  863. package/dist/generators/vue/entity-files-vue.mjs +29 -28
  864. package/dist/generators/vue/files-vue.mjs +86 -115
  865. package/dist/generators/vue/generator.mjs +37 -18
  866. package/dist/generators/vue/resources/package.json +37 -30
  867. package/dist/generators/vue/support/update-languages.mjs +3 -1
  868. package/dist/generators/vue/templates/.eslintrc.cjs.ejs +58 -0
  869. package/dist/generators/vue/templates/.eslintrc.js.ejs +1 -1
  870. package/dist/generators/vue/templates/package.json.ejs +51 -32
  871. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/account.service.spec.ts.ejs +2 -2
  872. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +4 -2
  873. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/activate/activate.component.spec.ts.ejs +3 -3
  874. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +2 -2
  875. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.service.ts.ejs +1 -1
  876. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/change-password/change-password.component.spec.ts.ejs +2 -2
  877. package/dist/generators/vue/templates/src/main/webapp/app/account/change-password/change-password.component.ts.ejs +1 -1
  878. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/login-form/login-form.component.spec.ts.ejs +6 -6
  879. package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +3 -3
  880. package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.vue.ejs +2 -4
  881. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/login.service.spec.ts.ejs +1 -1
  882. package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.ts.ejs +1 -1
  883. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/register/register.component.spec.ts.ejs +4 -4
  884. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.ts.ejs +2 -2
  885. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/reset-password/finish/reset-password-finish.component.spec.ts.ejs +2 -2
  886. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.ts.ejs +2 -2
  887. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/reset-password/init/reset-password-init.component.spec.ts.ejs +1 -1
  888. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/init/reset-password-init.component.ts.ejs +1 -1
  889. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/init/reset-password-init.vue.ejs +1 -1
  890. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/sessions/sessions.component.spec.ts.ejs +4 -4
  891. package/dist/generators/vue/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +1 -1
  892. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/settings/settings.component.spec.ts.ejs +3 -3
  893. package/dist/generators/vue/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +1 -1
  894. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/configuration/configuration.component.spec.ts.ejs +1 -1
  895. package/dist/generators/vue/templates/src/main/webapp/app/admin/configuration/configuration.component.ts.ejs +1 -1
  896. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/gateway/gateway.component.spec.ts.ejs +2 -2
  897. package/dist/generators/vue/templates/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +1 -1
  898. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/health/health-modal.component.spec.ts.ejs +1 -1
  899. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/health/health.component.spec.ts.ejs +2 -2
  900. package/dist/generators/vue/templates/src/main/webapp/app/admin/health/health.component.ts.ejs +1 -1
  901. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/health/health.service.spec.ts.ejs +1 -1
  902. package/dist/generators/vue/templates/src/main/webapp/app/admin/health/health.service.ts.ejs +1 -1
  903. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/logs/logs.component.spec.ts.ejs +2 -2
  904. package/dist/generators/vue/templates/src/main/webapp/app/admin/logs/logs.component.ts.ejs +1 -1
  905. package/dist/generators/vue/templates/src/main/webapp/app/admin/logs/logs.service.ts.ejs +1 -1
  906. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/metrics/metrics-modal.component.spec.ts.ejs +2 -2
  907. package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics-modal.component.ts.ejs +1 -1
  908. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/metrics/metrics.component.spec.ts.ejs +2 -2
  909. package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +1 -1
  910. package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +1 -1
  911. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/tracker/tracker.component.spec.ts.ejs +4 -4
  912. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +3 -3
  913. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/tracker/tracker.service.spec.ts.ejs +4 -3
  914. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +1 -1
  915. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/user-management/user-management-edit.component.spec.ts.ejs +4 -4
  916. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +2 -2
  917. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/user-management/user-management-view.component.spec.ts.ejs +4 -4
  918. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-view.component.ts.ejs +1 -1
  919. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/user-management/user-management.component.spec.ts.ejs +2 -2
  920. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.component.ts.ejs +1 -1
  921. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.service.ts.ejs +1 -1
  922. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/core/error/error.component.spec.ts.ejs +4 -4
  923. package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.ts.ejs +2 -2
  924. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/core/home/home.component.spec.ts.ejs +1 -1
  925. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.ts.ejs +2 -2
  926. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +5 -5
  927. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +3 -3
  928. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/core/ribbon/ribbon.component.spec.ts.ejs +2 -2
  929. package/dist/generators/vue/templates/src/main/webapp/app/declarations.d.ts.ejs +1 -1
  930. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/_entityFolder/_entityFile-details.component.spec.ts.ejs +3 -3
  931. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/_entityFolder/_entityFile-update.component.spec.ts.ejs +6 -6
  932. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/_entityFolder/_entityFile.component.spec.ts.ejs +3 -3
  933. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/_entityFolder/_entityFile.service.spec.ts.ejs +3 -3
  934. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.component.spec.ts.ejs +113 -0
  935. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.component.ts.ejs +64 -0
  936. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +93 -0
  937. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.component.spec.ts.ejs +207 -0
  938. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.component.ts.ejs +251 -0
  939. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +190 -0
  940. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.component.spec.ts.ejs +200 -0
  941. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.component.ts.ejs +267 -0
  942. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.spec.ts.ejs +323 -0
  943. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.ts.ejs +72 -0
  944. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +195 -0
  945. package/dist/generators/vue/templates/src/main/webapp/app/entities/entities-menu.component.ts.ejs +5 -4
  946. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/entities-menu.spec.ts.ejs +13 -7
  947. package/dist/generators/vue/templates/src/main/webapp/app/locale/translation.service.ts.ejs +7 -3
  948. package/dist/generators/vue/templates/src/main/webapp/app/router/index.ts.ejs +3 -3
  949. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/shared/alert/alert.service.spec.ts.ejs +1 -1
  950. package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.ts.ejs +1 -1
  951. package/dist/generators/vue/templates/src/main/webapp/app/shared/composables/date-format.ts.ejs +1 -1
  952. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/shared/config/axios-interceptor.spec.ts.ejs +2 -2
  953. package/dist/generators/vue/templates/src/main/webapp/app/shared/config/config.ts.ejs +1 -1
  954. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/shared/data/data-utils.service.spec.ts.ejs +1 -1
  955. package/dist/generators/vue/templates/src/main/webapp/app/shared/jhi-item-count.component.ts.ejs +1 -1
  956. package/dist/generators/vue/templates/src/main/webapp/app/shared/model/_entityModel_.model.ts.ejs +49 -0
  957. package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/shared/sort/sorts.spec.ts.ejs +1 -1
  958. package/dist/generators/vue/templates/src/main/webapp/app/shims-vue.d.ts.ejs +1 -1
  959. package/dist/generators/vue/templates/src/main/webapp/content/scss/vendor.scss.ejs +1 -1
  960. package/dist/generators/vue/templates/src/{test/javascript/spec/app/microfrontends/entities-menu.vue.ejs → main/webapp/microfrontends/entities-menu-test.vue.ejs} +1 -1
  961. package/dist/generators/vue/templates/tsconfig.app.json.ejs +13 -0
  962. package/dist/generators/vue/templates/tsconfig.json.ejs +11 -25
  963. package/dist/generators/vue/templates/tsconfig.node.json.ejs +13 -0
  964. package/dist/generators/vue/templates/{src/test/javascript/spec/tsconfig.json.ejs → tsconfig.test.json.ejs} +4 -4
  965. package/dist/generators/vue/templates/tsconfig.vitest.json.ejs +9 -0
  966. package/dist/generators/vue/templates/vite.config.ts.ejs +175 -0
  967. package/dist/generators/vue/templates/vitest.config.ts.ejs +30 -32
  968. package/dist/generators/vue/templates/webpack/webpack.common.js.ejs +14 -13
  969. package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +2 -2
  970. package/dist/generators/workspaces/command.mjs +2 -1
  971. package/dist/generators/workspaces/generator.mjs +55 -117
  972. package/dist/jdl/basic-types/relationships.js +14 -0
  973. package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -1
  974. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +3 -3
  975. package/dist/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +3 -3
  976. package/dist/jdl/converters/json-to-jdl-converter.js +10 -8
  977. package/dist/jdl/converters/json-to-jdl-entity-converter.js +6 -6
  978. package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -2
  979. package/dist/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.js +1 -1
  980. package/dist/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.js +1 -1
  981. package/dist/jdl/converters/parsed-jdl-to-jdl-object/field-converter.js +2 -2
  982. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +1 -1
  983. package/dist/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.js +4 -6
  984. package/dist/jdl/exporters/jhipster-entity-exporter.js +1 -35
  985. package/dist/jdl/index.js +3 -0
  986. package/dist/jdl/jdl-importer.js +1 -25
  987. package/dist/jdl/jhipster/default-application-options.js +6 -5
  988. package/dist/jdl/jhipster/deployment-options.js +6 -6
  989. package/dist/jdl/jhipster/entity-table-name-creator.js +1 -1
  990. package/dist/jdl/jhipster/field-types.js +1 -1
  991. package/dist/jdl/jhipster/index.mjs +1 -0
  992. package/dist/jdl/jhipster/json-entity.js +2 -2
  993. package/dist/jdl/jhipster/relationship-types.js +5 -8
  994. package/dist/jdl/jhipster/validations.js +1 -0
  995. package/dist/jdl/models/jdl-application-configuration-factory.js +0 -3
  996. package/dist/jdl/models/jdl-application-configuration.js +1 -1
  997. package/dist/jdl/models/jdl-deployment.js +1 -1
  998. package/dist/jdl/models/jdl-enum.js +3 -3
  999. package/dist/jdl/models/jdl-relationship.js +2 -24
  1000. package/dist/jdl/parsing/api.js +1 -1
  1001. package/dist/jdl/parsing/generated/generated-serialized-grammar.js +1 -1
  1002. package/dist/jdl/parsing/jdl-ast-builder-visitor.js +9 -9
  1003. package/dist/jdl/parsing/lexer/relationship-type-tokens.js +1 -1
  1004. package/dist/jdl/parsing/lexer/token-creator.js +1 -1
  1005. package/dist/jdl/parsing/self-checks/parsing-system-checker.js +1 -1
  1006. package/dist/jdl/parsing/self-checks/token-collector-visitor.js +7 -7
  1007. package/dist/jdl/parsing/validator.js +1 -1
  1008. package/dist/jdl/readers/json-reader.js +0 -2
  1009. package/dist/jdl/utils/object-utils.js +1 -1
  1010. package/dist/jdl/validators/jdl-with-application-validator.js +3 -3
  1011. package/dist/jdl/validators/relationship-validator.js +1 -2
  1012. package/dist/lib/index.mjs +5 -3
  1013. package/dist/lib/internal/config-def.mjs +55 -0
  1014. package/dist/lib/internal/index.mjs +1 -0
  1015. package/dist/test/support/deployment-samples.mjs +80 -0
  1016. package/dist/testing/get-generator.mjs +17 -0
  1017. package/dist/testing/helpers.mjs +274 -0
  1018. package/dist/testing/index.mjs +2 -0
  1019. package/dist/types/cli/cli.d.mts +2 -0
  1020. package/dist/types/cli/commands.d.mts +123 -0
  1021. package/dist/types/cli/download.d.mts +17 -0
  1022. package/dist/types/cli/environment-builder.d.mts +142 -0
  1023. package/dist/types/cli/export-utils.d.mts +7 -0
  1024. package/dist/types/cli/index.d.mts +21 -0
  1025. package/dist/types/cli/jhipster-command.d.mts +72 -0
  1026. package/dist/types/cli/jhipster.d.cts +2 -0
  1027. package/dist/types/cli/logo.d.mts +2 -0
  1028. package/dist/types/cli/program.d.mts +36 -0
  1029. package/dist/types/cli/utils.d.mts +55 -0
  1030. package/dist/types/generators/angular/support/needles.d.mts +22 -4
  1031. package/dist/types/generators/angular/support/translate-angular.d.mts +1 -1
  1032. package/dist/types/generators/angular/types-export.d.ts +1 -1
  1033. package/dist/types/generators/app/support/config.d.mts +27 -0
  1034. package/dist/types/generators/app/support/index.d.mts +1 -0
  1035. package/dist/types/generators/app/types-export.d.ts +1 -1
  1036. package/dist/types/generators/aws/types-export.d.ts +1 -1
  1037. package/dist/types/generators/azure-app-service/types-export.d.ts +1 -1
  1038. package/dist/types/generators/azure-spring-cloud/types-export.d.ts +1 -1
  1039. package/dist/types/generators/base/api.d.mts +101 -18
  1040. package/dist/types/generators/base/{generator-base-blueprint.d.mts → generator.d.mts} +16 -2
  1041. package/dist/types/generators/base/index.d.mts +1 -1
  1042. package/dist/types/generators/base/priorities.d.mts +11 -7
  1043. package/dist/types/generators/base/shared-data.d.mts +0 -18
  1044. package/dist/types/generators/base/support/basename.d.mts +9 -0
  1045. package/dist/types/generators/base/support/config.d.mts +23 -0
  1046. package/dist/types/generators/base/support/constants.d.mts +1 -0
  1047. package/dist/types/generators/base/support/index.d.mts +1 -0
  1048. package/dist/types/generators/base/support/needles.d.mts +2 -2
  1049. package/dist/types/generators/base/tasks.d.mts +1 -2
  1050. package/dist/types/generators/base/types.d.mts +6 -2
  1051. package/dist/types/generators/base-application/application-options.d.mts +2 -5
  1052. package/dist/types/generators/base-application/command.d.mts +21 -0
  1053. package/dist/types/generators/base-application/generator.d.mts +15 -8
  1054. package/dist/types/generators/base-application/priorities.d.mts +3 -0
  1055. package/dist/types/generators/base-application/support/prepare-entity.d.mts +2 -1
  1056. package/dist/types/generators/base-application/support/prepare-field.d.mts +2 -0
  1057. package/dist/types/generators/base-application/tasks.d.mts +27 -7
  1058. package/dist/types/generators/base-application/types-export.d.ts +3 -1
  1059. package/dist/types/generators/base-application/types.d.mts +5 -0
  1060. package/dist/types/generators/base-core/{generator-base.d.mts → generator.d.mts} +39 -9
  1061. package/dist/types/generators/base-core/index.d.mts +1 -1
  1062. package/dist/types/generators/base-entity-changes/types-export.d.ts +1 -0
  1063. package/dist/types/generators/base-entity-changes/types.d.ts +18 -0
  1064. package/dist/types/generators/bootstrap/support/eslint-transform.d.mts +5 -0
  1065. package/dist/types/generators/bootstrap/support/index.d.mts +2 -0
  1066. package/dist/types/generators/bootstrap/support/java-unused-imports-transform.d.mts +5 -0
  1067. package/dist/types/generators/bootstrap/support/prettier-support.d.mts +13 -2
  1068. package/dist/types/generators/bootstrap/types-export.d.ts +1 -1
  1069. package/dist/types/generators/bootstrap-application/types-export.d.ts +1 -1
  1070. package/dist/types/generators/bootstrap-application-base/types-export.d.ts +1 -1
  1071. package/dist/types/generators/bootstrap-application-client/types-export.d.ts +1 -1
  1072. package/dist/types/generators/bootstrap-application-server/types-export.d.ts +1 -1
  1073. package/dist/types/generators/ci-cd/types-export.d.ts +1 -1
  1074. package/dist/types/generators/client/support/config.d.mts +13 -0
  1075. package/dist/types/generators/client/support/files.d.mts +14 -0
  1076. package/dist/types/generators/client/support/index.d.mts +2 -0
  1077. package/dist/types/generators/client/support/prepare-entity.d.mts +1 -1
  1078. package/dist/types/generators/client/support/prepare-field.d.mts +1 -1
  1079. package/dist/types/generators/client/types-export.d.ts +1 -1
  1080. package/dist/types/generators/client/types.d.mts +8 -0
  1081. package/dist/types/generators/cloudfoundry/types-export.d.ts +1 -1
  1082. package/dist/types/generators/common/types-export.d.ts +1 -1
  1083. package/dist/types/generators/cucumber/types-export.d.ts +1 -1
  1084. package/dist/types/generators/cypress/types-export.d.ts +1 -1
  1085. package/dist/types/generators/docker/support/check-docker.d.mts +5 -0
  1086. package/dist/types/generators/docker/support/docker-compose-file.d.mts +4 -0
  1087. package/dist/types/generators/docker/support/index.d.mts +20 -0
  1088. package/dist/types/generators/docker/types-export.d.ts +1 -1
  1089. package/dist/types/generators/docker-compose/types-export.d.ts +1 -1
  1090. package/dist/types/generators/entities/types-export.d.ts +1 -1
  1091. package/dist/types/generators/entity/types-export.d.ts +1 -1
  1092. package/dist/types/generators/export-jdl/types-export.d.ts +1 -1
  1093. package/dist/types/generators/gae/types-export.d.ts +1 -1
  1094. package/dist/types/generators/gatling/types-export.d.ts +1 -1
  1095. package/dist/types/generators/generate-blueprint/types-export.d.ts +1 -1
  1096. package/dist/types/generators/generator-constants.d.mts +13 -10
  1097. package/dist/types/generators/generator-list.d.mts +4 -12
  1098. package/dist/types/generators/git/types-export.d.ts +1 -1
  1099. package/dist/types/generators/gradle/types-export.d.ts +1 -1
  1100. package/dist/types/generators/heroku/types-export.d.ts +1 -1
  1101. package/dist/types/generators/index.d.ts +5 -0
  1102. package/dist/types/generators/{liquibase-changelogs → info}/support/index.d.mts +1 -1
  1103. package/dist/types/generators/info/support/utils.d.mts +1 -0
  1104. package/dist/types/generators/info/types-export.d.ts +1 -1
  1105. package/dist/types/generators/init/types-export.d.ts +1 -1
  1106. package/dist/types/generators/java/support/files.d.mts +13 -1
  1107. package/dist/types/generators/java/support/index.d.mts +1 -0
  1108. package/dist/types/generators/java/support/util.d.mts +6 -0
  1109. package/dist/types/generators/java/types-export.d.ts +1 -1
  1110. package/dist/types/generators/jdl/types-export.d.ts +1 -1
  1111. package/dist/types/generators/kubernetes/types-export.d.ts +1 -1
  1112. package/dist/types/generators/kubernetes-helm/types-export.d.ts +1 -1
  1113. package/dist/types/generators/kubernetes-knative/types-export.d.ts +1 -1
  1114. package/dist/types/generators/languages/support/index.d.mts +1 -0
  1115. package/dist/types/generators/languages/support/load-config.d.mts +6 -4
  1116. package/dist/types/generators/languages/support/translate.d.mts +28 -0
  1117. package/dist/types/generators/languages/types-export.d.ts +1 -1
  1118. package/dist/types/generators/languages/types.d.ts +7 -0
  1119. package/dist/types/generators/liquibase/support/index.d.mts +1 -0
  1120. package/dist/types/generators/liquibase/support/maven-plugin.d.mts +2 -1
  1121. package/dist/types/generators/liquibase/types-export.d.ts +1 -1
  1122. package/dist/types/generators/liquibase/types.d.mts +2 -1
  1123. package/dist/types/generators/maven/internal/xml-store.d.mts +2 -1
  1124. package/dist/types/generators/maven/types-export.d.ts +1 -1
  1125. package/dist/types/generators/maven/types.d.mts +3 -3
  1126. package/dist/types/generators/needle-api.d.mts +0 -4
  1127. package/dist/types/generators/openapi-client/types-export.d.ts +1 -1
  1128. package/dist/types/generators/openshift/types-export.d.ts +1 -1
  1129. package/dist/types/generators/page/types-export.d.ts +1 -1
  1130. package/dist/types/generators/project-name/types-export.d.ts +1 -1
  1131. package/dist/types/generators/react/types-export.d.ts +1 -1
  1132. package/dist/types/generators/server/command.d.mts +3 -0
  1133. package/dist/types/generators/server/jdl/application-definition.d.mts +1 -1
  1134. package/dist/types/generators/server/options/database-migration.d.mts +1 -1
  1135. package/dist/types/generators/server/options/message-broker.d.mts +1 -1
  1136. package/dist/types/generators/server/support/config.d.mts +34 -0
  1137. package/dist/types/generators/server/support/index.d.mts +2 -0
  1138. package/dist/types/generators/server/support/needles.d.mts +1 -1
  1139. package/dist/types/generators/server/support/prepare-relationship.d.mts +4 -0
  1140. package/dist/types/generators/server/types-export.d.ts +1 -1
  1141. package/dist/types/generators/server/types.d.mts +4 -3
  1142. package/dist/types/generators/spring-cache/types-export.d.ts +1 -1
  1143. package/dist/types/generators/spring-cloud-stream/types-export.d.ts +1 -1
  1144. package/dist/types/generators/spring-controller/types-export.d.ts +1 -1
  1145. package/dist/types/generators/spring-data-cassandra/types-export.d.ts +1 -1
  1146. package/dist/types/generators/spring-data-couchbase/types-export.d.ts +1 -1
  1147. package/dist/types/generators/spring-data-elasticsearch/types-export.d.ts +1 -1
  1148. package/dist/types/generators/spring-data-mongodb/types-export.d.ts +1 -1
  1149. package/dist/types/generators/spring-data-neo4j/types-export.d.ts +1 -1
  1150. package/dist/types/generators/spring-data-relational/support/application-properties.d.mts +3 -1
  1151. package/dist/types/generators/spring-data-relational/types-export.d.ts +1 -1
  1152. package/dist/types/generators/spring-service/types-export.d.ts +1 -1
  1153. package/dist/types/generators/spring-websocket/types-export.d.ts +1 -1
  1154. package/dist/types/generators/upgrade/types-export.d.ts +1 -1
  1155. package/dist/types/generators/vue/types-export.d.ts +1 -1
  1156. package/dist/types/generators/workspaces/types-export.d.ts +1 -1
  1157. package/dist/types/jdl/basic-types/relationships.d.ts +12 -0
  1158. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.d.ts +30 -0
  1159. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +30 -0
  1160. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-option-converter.d.ts +35 -0
  1161. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.d.ts +31 -0
  1162. package/dist/types/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.d.ts +29 -0
  1163. package/dist/types/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.d.ts +32 -0
  1164. package/dist/types/jdl/converters/json-to-jdl-application-converter.d.ts +20 -0
  1165. package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +32 -0
  1166. package/dist/types/jdl/converters/json-to-jdl-entity-converter.d.ts +33 -0
  1167. package/dist/types/jdl/converters/json-to-jdl-option-converter.d.ts +30 -0
  1168. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/application-converter.d.ts +28 -0
  1169. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/deployment-converter.d.ts +29 -0
  1170. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.d.ts +30 -0
  1171. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.d.ts +29 -0
  1172. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/field-converter.d.ts +29 -0
  1173. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +31 -0
  1174. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.d.ts +16 -0
  1175. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.d.ts +1 -3
  1176. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.d.ts +30 -0
  1177. package/dist/types/jdl/converters/types.d.ts +2 -3
  1178. package/dist/types/jdl/exporters/applications/jhipster-application-formatter.d.ts +32 -0
  1179. package/dist/types/jdl/exporters/export-utils.d.ts +25 -0
  1180. package/dist/types/jdl/exporters/jdl-exporter.d.ts +25 -0
  1181. package/dist/types/jdl/exporters/jhipster-deployment-exporter.d.ts +24 -0
  1182. package/dist/types/jdl/exporters/jhipster-entity-exporter.d.ts +30 -0
  1183. package/dist/types/jdl/index.d.ts +3 -0
  1184. package/dist/types/jdl/jdl-importer.d.ts +64 -0
  1185. package/dist/types/jdl/jhipster/index.d.mts +1 -0
  1186. package/dist/types/jdl/jhipster/json-entity.d.ts +1 -1
  1187. package/dist/types/jdl/jhipster/relationship-types.d.ts +3 -21
  1188. package/dist/types/jdl/jhipster/validations.d.ts +3 -0
  1189. package/dist/types/jdl/linters/entity-linter.d.ts +33 -0
  1190. package/dist/types/jdl/linters/enum-linter.d.ts +33 -0
  1191. package/dist/types/jdl/linters/field-linter.d.ts +33 -0
  1192. package/dist/types/jdl/linters/issues/abstract-issue.d.ts +25 -0
  1193. package/dist/types/jdl/linters/issues/entity-issue.d.ts +27 -0
  1194. package/dist/types/jdl/linters/issues/enum-issue.d.ts +27 -0
  1195. package/dist/types/jdl/linters/issues/field-issue.d.ts +29 -0
  1196. package/dist/types/jdl/linters/issues/issues.d.ts +44 -0
  1197. package/dist/types/jdl/linters/issues/relationship-issue.d.ts +31 -0
  1198. package/dist/types/jdl/linters/jdl-linter.d.ts +38 -0
  1199. package/dist/types/jdl/linters/relationship-linter.d.ts +35 -0
  1200. package/dist/types/jdl/linters/rule-levels.d.ts +28 -0
  1201. package/dist/types/jdl/linters/rule.d.ts +45 -0
  1202. package/dist/types/jdl/linters/rules.d.ts +41 -0
  1203. package/dist/types/jdl/matchers/entity-matcher.d.ts +1 -0
  1204. package/dist/types/jdl/matchers/field-matcher.d.ts +1 -0
  1205. package/dist/types/jdl/models/abstract-jdl-option.d.ts +35 -0
  1206. package/dist/types/jdl/models/boolean-jdl-application-configuration-option.d.ts +21 -0
  1207. package/dist/types/jdl/models/index.d.mts +20 -0
  1208. package/dist/types/jdl/models/integer-jdl-application-configuration-option.d.ts +21 -0
  1209. package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +20 -0
  1210. package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +30 -0
  1211. package/dist/types/jdl/models/jdl-application-configuration.d.ts +27 -0
  1212. package/dist/types/jdl/models/jdl-application-entities.d.ts +33 -0
  1213. package/dist/types/{generators/client/needle-api/needle-client-webpack.d.mts → jdl/models/jdl-application-factory.d.ts} +7 -6
  1214. package/dist/types/jdl/models/jdl-application.d.ts +37 -0
  1215. package/dist/types/jdl/models/jdl-binary-option.d.ts +28 -0
  1216. package/dist/types/jdl/models/jdl-deployment.d.ts +4 -0
  1217. package/dist/types/jdl/models/jdl-entity.d.ts +34 -0
  1218. package/dist/types/jdl/models/jdl-enums.d.ts +28 -0
  1219. package/dist/types/jdl/models/jdl-field.d.ts +32 -0
  1220. package/dist/types/jdl/models/jdl-object-merger.d.ts +26 -0
  1221. package/dist/types/jdl/models/jdl-object.d.ts +82 -0
  1222. package/dist/types/jdl/models/jdl-options.d.ts +30 -0
  1223. package/dist/types/jdl/models/jdl-relationship.d.ts +21 -8
  1224. package/dist/types/jdl/models/jdl-relationships.d.ts +38 -0
  1225. package/dist/types/jdl/models/jdl-unary-option.d.ts +26 -0
  1226. package/dist/types/jdl/models/jdl-validation.d.ts +24 -0
  1227. package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +24 -0
  1228. package/dist/types/jdl/models/string-jdl-application-configuration-option.d.ts +24 -0
  1229. package/dist/types/jdl/parsing/api.d.ts +21 -0
  1230. package/dist/types/jdl/parsing/exports.d.ts +26 -0
  1231. package/dist/types/jdl/parsing/generated/generated-serialized-grammar.d.ts +1 -0
  1232. package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +128 -0
  1233. package/dist/types/jdl/parsing/jdl-post-parsing-tasks.d.ts +19 -0
  1234. package/dist/types/jdl/parsing/self-checks/token-collector-visitor.d.ts +7 -7
  1235. package/dist/types/jdl/readers/file-reader.d.ts +30 -0
  1236. package/dist/types/jdl/readers/jdl-reader.d.ts +39 -0
  1237. package/dist/types/jdl/readers/json-file-reader.d.ts +30 -0
  1238. package/dist/types/jdl/readers/json-reader.d.ts +20 -0
  1239. package/dist/types/jdl/types/types.d.mts +44 -0
  1240. package/dist/types/jdl/utils/array-utils.d.ts +19 -0
  1241. package/dist/types/jdl/utils/deprecation-utils.d.ts +34 -0
  1242. package/dist/types/jdl/utils/file-utils.d.ts +36 -0
  1243. package/dist/types/jdl/utils/objects/logger.d.ts +20 -0
  1244. package/dist/types/jdl/utils/set-utils.d.ts +20 -0
  1245. package/dist/types/jdl/validators/binary-option-validator.d.ts +23 -0
  1246. package/dist/types/jdl/validators/deployment-validator.d.ts +23 -0
  1247. package/dist/types/jdl/validators/entity-validator.d.ts +23 -0
  1248. package/dist/types/jdl/validators/enum-validator.d.ts +23 -0
  1249. package/dist/types/jdl/validators/field-validator.d.ts +23 -0
  1250. package/dist/types/jdl/validators/jdl-with-application-validator.d.ts +28 -0
  1251. package/dist/types/jdl/validators/jdl-without-application-validator.d.ts +33 -0
  1252. package/dist/types/jdl/validators/option-validator.d.ts +23 -0
  1253. package/dist/types/jdl/validators/relationship-validator.d.ts +24 -0
  1254. package/dist/types/jdl/validators/unary-option-validator.d.ts +22 -0
  1255. package/dist/types/jdl/validators/validation-validator.d.ts +23 -0
  1256. package/dist/types/jdl/validators/validator.d.ts +24 -0
  1257. package/dist/types/lib/index.d.mts +2 -0
  1258. package/dist/types/lib/internal/config-def.d.mts +10 -0
  1259. package/dist/types/lib/internal/index.d.mts +1 -0
  1260. package/dist/types/test/support/deployment-samples.d.mts +80 -0
  1261. package/dist/types/testing/get-generator.d.mts +3 -0
  1262. package/dist/types/testing/helpers.d.mts +69 -0
  1263. package/dist/types/testing/index.d.mts +2 -0
  1264. package/package.json +83 -63
  1265. package/dist/generators/base/generator-base-todo.mjs +0 -1126
  1266. package/dist/generators/base/generator-base.mjs +0 -564
  1267. package/dist/generators/base-core/generator-base.mjs +0 -565
  1268. package/dist/generators/base-docker/docker-cli.mjs +0 -121
  1269. package/dist/generators/base-docker/docker-utils.mjs +0 -61
  1270. package/dist/generators/base-docker/generator.mjs +0 -94
  1271. package/dist/generators/client/needle-api/needle-client-i18n.mjs +0 -40
  1272. package/dist/generators/client/needle-api/needle-client-webpack.mjs +0 -42
  1273. package/dist/generators/client/utils.mjs +0 -29
  1274. package/dist/generators/liquibase-changelogs/generator.mjs +0 -311
  1275. package/dist/jdl/exporters/applications/jhipster-application-exporter.js +0 -52
  1276. package/dist/jdl/index.mjs +0 -3
  1277. package/dist/types/generators/base/generator-base-todo.d.mts +0 -281
  1278. package/dist/types/generators/base/generator-base.d.mts +0 -166
  1279. package/dist/types/generators/client/needle-api/needle-client-i18n.d.mts +0 -7
  1280. package/dist/types/generators/liquibase-changelogs/types-export.d.ts +0 -1
  1281. /package/dist/generators/{liquibase-changelogs/files.mjs → liquibase/changelog-files.mjs} +0 -0
  1282. /package/dist/generators/{liquibase-changelogs → liquibase}/support/formatting.mjs +0 -0
  1283. /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs +0 -0
  1284. /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +0 -0
  1285. /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/updated_entity_migrate.xml.ejs +0 -0
  1286. /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/fake-data/blob/hipster.png +0 -0
  1287. /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/fake-data/blob/hipster.txt.ejs +0 -0
  1288. /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +0 -0
  1289. /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_.java.jhi.hibernate_cache.ejs → _package_/_entityPackage_/domain/_persistClass_.java.jhi.hibernate_cache.ejs} +0 -0
  1290. /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_.java.jhi.jakarta_lifecycle_events.ejs → _package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_lifecycle_events.ejs} +0 -0
  1291. /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_.java.jhi.spring_data_persistable.ejs → _package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_persistable.ejs} +0 -0
  1292. /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_.java.jhi.spring_data_reactive.ejs → _package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_reactive.ejs} +0 -0
  1293. /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_Callback.java.ejs → _package_/_entityPackage_/domain/_persistClass_Callback.java.ejs} +0 -0
  1294. /package/dist/generators/spring-data-relational/templates/src/main/java/{package/repository/_EntityClass_RepositoryWithBagRelationships.java.ejs → _package_/_entityPackage_/repository/_entityClass_RepositoryWithBagRelationships.java.ejs} +0 -0
  1295. /package/dist/generators/spring-data-relational/templates/src/main/java/{package/repository/_EntityClass_RepositoryWithBagRelationshipsImpl.java.ejs → _package_/_entityPackage_/repository/_entityClass_RepositoryWithBagRelationshipsImpl.java.ejs} +0 -0
  1296. /package/dist/generators/spring-data-relational/templates/src/main/java/{package/repository/_EntityClass_SqlHelper_reactive.java.ejs → _package_/_entityPackage_/repository/_entityClass_SqlHelper_reactive.java.ejs} +0 -0
  1297. /package/dist/generators/spring-data-relational/templates/src/main/java/{package/repository/rowmapper/_EntityClass_RowMapper_reactive.java.ejs → _package_/_entityPackage_/repository/rowmapper/_entityClass_RowMapper_reactive.java.ejs} +0 -0
  1298. /package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/EntityManager_reactive.java.ejs +0 -0
  1299. /package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/UserSqlHelper_reactive.java.ejs +0 -0
  1300. /package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/_EntityClass_RepositoryInternalImpl_reactive.java.ejs +0 -0
  1301. /package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/rowmapper/ColumnConverter_reactive.java.ejs +0 -0
  1302. /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/EmbeddedSQL.java.ejs +0 -0
  1303. /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/MariadbTestContainer.java.ejs +0 -0
  1304. /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/MsSqlTestContainer.java.ejs +0 -0
  1305. /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/MysqlTestContainer.java.ejs +0 -0
  1306. /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/PostgreSqlTestContainer.java.ejs +0 -0
  1307. /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/SqlTestContainer.java.ejs +0 -0
  1308. /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/repository/timezone/DateTimeWrapper.java.ejs +0 -0
  1309. /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/repository/timezone/DateTimeWrapperRepository.java.ejs +0 -0
  1310. /package/dist/generators/vue/templates/src/{test/javascript/spec/setup.ts.ejs → main/webapp/app/test-setup.ts.ejs} +0 -0
  1311. /package/dist/generators/vue/templates/src/{test/javascript/spec/app/microfrontends/entities-menu.component.ts.ejs → main/webapp/microfrontends/entities-menu.component-test.ts.ejs} +0 -0
  1312. /package/dist/generators/vue/templates/src/{test/javascript/spec/app/microfrontends/entities-router.ts.ejs → main/webapp/microfrontends/entities-router-test.ts.ejs} +0 -0
  1313. /package/dist/types/generators/{liquibase-changelogs → liquibase}/support/formatting.d.mts +0 -0
@@ -0,0 +1,959 @@
1
+ /**
2
+ * Copyright 2013-2023 the original author or authors from the JHipster project.
3
+ *
4
+ * This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ * for more information.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * https://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ import { basename, join as joinPath, dirname, relative, isAbsolute, join, extname } from 'path';
20
+ import { relative as posixRelative } from 'path/posix';
21
+ import { createHash } from 'crypto';
22
+ import { fileURLToPath } from 'url';
23
+ import { statSync, rmSync, existsSync, readFileSync } from 'fs';
24
+ import assert from 'assert';
25
+ import { requireNamespace } from '@yeoman/namespace';
26
+ import chalk from 'chalk';
27
+ import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
28
+ import * as _ from 'lodash-es';
29
+ import { simpleGit } from 'simple-git';
30
+ import semver, { lt as semverLessThan } from 'semver';
31
+ import YeomanGenerator from 'yeoman-generator';
32
+ import latestVersion from 'latest-version';
33
+ import SharedData from '../base/shared-data.mjs';
34
+ import { CUSTOM_PRIORITIES, PRIORITY_NAMES, PRIORITY_PREFIX } from '../base/priorities.mjs';
35
+ import { createJHipster7Context, formatDateForChangelog, joinCallbacks } from '../base/support/index.mjs';
36
+ import { packageJson } from '../../lib/index.mjs';
37
+ import { GENERATOR_BOOTSTRAP } from '../generator-list.mjs';
38
+ import NeedleApi from '../needle-api.mjs';
39
+ import command from '../base/command.mjs';
40
+ import { GENERATOR_JHIPSTER, YO_RC_FILE } from '../generator-constants.mjs';
41
+ import { convertConfigToOption } from '../../lib/internal/index.mjs';
42
+ const { merge, get, set } = _;
43
+ const { INITIALIZING, PROMPTING, CONFIGURING, COMPOSING, LOADING, PREPARING, POST_PREPARING, DEFAULT, WRITING, POST_WRITING, INSTALL, POST_INSTALL, END, } = PRIORITY_NAMES;
44
+ const __filename = fileURLToPath(import.meta.url);
45
+ const __dirname = dirname(__filename);
46
+ const asPriority = (priorityName) => `${PRIORITY_PREFIX}${priorityName}`;
47
+ const relativeDir = (from, to) => {
48
+ const rel = posixRelative(from, to);
49
+ return rel ? `${rel}/` : '';
50
+ };
51
+ /**
52
+ * This is the base class for a generator for every generator.
53
+ */
54
+ export default class CoreGenerator extends YeomanGenerator {
55
+ static asPriority = asPriority;
56
+ static INITIALIZING = asPriority(INITIALIZING);
57
+ static PROMPTING = asPriority(PROMPTING);
58
+ static CONFIGURING = asPriority(CONFIGURING);
59
+ static COMPOSING = asPriority(COMPOSING);
60
+ static LOADING = asPriority(LOADING);
61
+ static PREPARING = asPriority(PREPARING);
62
+ static POST_PREPARING = asPriority(POST_PREPARING);
63
+ static DEFAULT = asPriority(DEFAULT);
64
+ static WRITING = asPriority(WRITING);
65
+ static POST_WRITING = asPriority(POST_WRITING);
66
+ static INSTALL = asPriority(INSTALL);
67
+ static POST_INSTALL = asPriority(POST_INSTALL);
68
+ static END = asPriority(END);
69
+ useVersionPlaceholders;
70
+ skipChecks;
71
+ experimental;
72
+ debugEnabled;
73
+ jhipster7Migration;
74
+ relativeDir = relativeDir;
75
+ relative = posixRelative;
76
+ sharedData;
77
+ logger;
78
+ jhipsterConfig;
79
+ /**
80
+ * @deprecated
81
+ */
82
+ jhipsterTemplatesFolders;
83
+ blueprintStorage;
84
+ _jhipsterGenerator;
85
+ _needleApi;
86
+ constructor(args, options, features) {
87
+ super(args, options, {
88
+ skipParseOptions: true,
89
+ tasksMatchingPriority: true,
90
+ taskPrefix: PRIORITY_PREFIX,
91
+ unique: 'namespace',
92
+ ...features,
93
+ });
94
+ let jhipsterOldVersion = null;
95
+ if (!this.options.help) {
96
+ /* Force config to use 'generator-jhipster' namespace. */
97
+ this._config = this._getStorage('generator-jhipster');
98
+ /* JHipster config using proxy mode used as a plain object instead of using get/set. */
99
+ this.jhipsterConfig = this.config.createProxy();
100
+ jhipsterOldVersion = this.jhipsterConfig.jhipsterVersion ?? null;
101
+ this.sharedData = this.createSharedData({ jhipsterOldVersion, help: this.options.help });
102
+ /* Options parsing must be executed after forcing jhipster storage namespace and after sharedData have been populated */
103
+ this.parseJHipsterOptions(command.options);
104
+ // Don't write jhipsterVersion to .yo-rc.json when reproducible
105
+ if (this.options.namespace.startsWith('jhipster:') &&
106
+ !this.options.namespace.startsWith('jhipster:bootstrap') &&
107
+ this.getFeatures().storeJHipsterVersion !== false &&
108
+ !this.options.reproducible &&
109
+ !this.jhipsterConfig.jhipsterVersion) {
110
+ this.jhipsterConfig.jhipsterVersion = packageJson.version;
111
+ }
112
+ }
113
+ this.logger = this.log;
114
+ if (this.options.help) {
115
+ return;
116
+ }
117
+ this.registerPriorities(CUSTOM_PRIORITIES);
118
+ if (this.getFeatures().jhipsterBootstrap ?? true) {
119
+ // jhipster:bootstrap is always required. Run it once the enviroment starts.
120
+ this.env.queueTask('environment:run', async () => this.composeWithJHipster(GENERATOR_BOOTSTRAP).then(), {
121
+ once: 'queueJhipsterBootstrap',
122
+ startQueue: false,
123
+ });
124
+ }
125
+ // Add base template folder.
126
+ this.jhipsterTemplatesFolders = [this.templatePath()];
127
+ this.jhipster7Migration = this.features.jhipster7Migration ?? false;
128
+ }
129
+ /**
130
+ * Override yeoman generator's usage function to fine tune --help message.
131
+ */
132
+ usage() {
133
+ return super.usage().replace('yo jhipster:', 'jhipster ');
134
+ }
135
+ /**
136
+ * @deprecated
137
+ */
138
+ get needleApi() {
139
+ if (this._needleApi === undefined || this._needleApi === null) {
140
+ this._needleApi = new NeedleApi(this);
141
+ }
142
+ return this._needleApi;
143
+ }
144
+ /**
145
+ * Check if the JHipster version used to generate an existing project is less than the passed version argument
146
+ *
147
+ * @param {string} version - A valid semver version string
148
+ */
149
+ isJhipsterVersionLessThan(version) {
150
+ const jhipsterOldVersion = this.sharedData.getControl().jhipsterOldVersion;
151
+ if (!jhipsterOldVersion) {
152
+ // if old version is unknown then can't compare (the project may be null) and return false
153
+ return false;
154
+ }
155
+ return semverLessThan(jhipsterOldVersion, version);
156
+ }
157
+ /**
158
+ * Get arguments for the priority
159
+ */
160
+ getArgsForPriority(priorityName) {
161
+ const control = this.sharedData.getControl();
162
+ if (priorityName === POST_WRITING || priorityName === PREPARING || priorityName === POST_PREPARING) {
163
+ const source = this.sharedData.getSource();
164
+ return [{ control, source }];
165
+ }
166
+ if (priorityName === WRITING) {
167
+ if (existsSync(this.destinationPath(YO_RC_FILE))) {
168
+ try {
169
+ const oldConfig = JSON.parse(readFileSync(this.destinationPath(YO_RC_FILE)).toString())[GENERATOR_JHIPSTER];
170
+ const newConfig = this.config.getAll();
171
+ const keys = [...new Set([...Object.keys(oldConfig), ...Object.keys(newConfig)])];
172
+ const configChanges = Object.fromEntries(keys
173
+ .filter(key => Array.isArray(newConfig[key])
174
+ ? newConfig[key].length === oldConfig[key].length &&
175
+ newConfig[key].find((element, index) => element !== oldConfig[key][index])
176
+ : newConfig[key] !== oldConfig[key])
177
+ .map(key => [key, { newValue: newConfig[key], oldValue: oldConfig[key] }]));
178
+ return [{ control, configChanges }];
179
+ }
180
+ catch {
181
+ // Fail to parse
182
+ }
183
+ }
184
+ }
185
+ return [{ control }];
186
+ }
187
+ /**
188
+ * Override yeoman-generator method that gets methods to be queued, filtering the result.
189
+ */
190
+ getTaskNames() {
191
+ let priorities = super.getTaskNames();
192
+ if (this.options.skipPriorities) {
193
+ // Make sure yeoman-generator will not throw on empty tasks due to filtered priorities.
194
+ this.customLifecycle = priorities.length > 0;
195
+ priorities = priorities.filter(priorityName => !this.options.skipPriorities.includes(priorityName));
196
+ }
197
+ return priorities;
198
+ }
199
+ parseJHipsterCommand(commandDef) {
200
+ if (commandDef.arguments) {
201
+ this.parseJHipsterArguments(commandDef.arguments);
202
+ }
203
+ else if (commandDef.configs) {
204
+ this.parseJHipsterArguments(Object.fromEntries(Object.entries(commandDef.configs)
205
+ .filter(([_name, def]) => def.argument)
206
+ .map(([name, def]) => [
207
+ name,
208
+ {
209
+ description: def.description,
210
+ ...def.argument,
211
+ },
212
+ ])));
213
+ }
214
+ if (commandDef.options || commandDef.configs) {
215
+ this.parseJHipsterOptions(commandDef.options, commandDef.configs);
216
+ }
217
+ }
218
+ parseJHipsterOptions(options, configs = {}, common = false) {
219
+ if (typeof configs === 'boolean') {
220
+ common = configs;
221
+ configs = {};
222
+ }
223
+ Object.entries(options ?? {})
224
+ .concat(Object.entries(configs).map(([name, def]) => [name, convertConfigToOption(name, def)]))
225
+ .forEach(([optionName, optionDesc]) => {
226
+ if (!optionDesc?.type || !optionDesc.scope || (common && optionDesc.scope === 'generator'))
227
+ return;
228
+ let optionValue;
229
+ // Hidden options are test options, which doesn't rely on commoander for options parsing.
230
+ // We must parse environment variables manually
231
+ if (this.options[optionDesc.name ?? optionName] === undefined && optionDesc.env && process.env[optionDesc.env]) {
232
+ optionValue = process.env[optionDesc.env];
233
+ }
234
+ else {
235
+ optionValue = this.options[optionDesc.name ?? optionName];
236
+ }
237
+ if (optionValue !== undefined) {
238
+ optionValue = optionDesc.type !== Array && optionDesc.type !== Function ? optionDesc.type(optionValue) : optionValue;
239
+ if (optionDesc.scope === 'storage') {
240
+ this.config.set(optionName, optionValue);
241
+ }
242
+ else if (optionDesc.scope === 'blueprint') {
243
+ this.blueprintStorage.set(optionName, optionValue);
244
+ }
245
+ else if (optionDesc.scope === 'control') {
246
+ this.sharedData.getControl()[optionName] = optionValue;
247
+ }
248
+ else if (optionDesc.scope === 'generator') {
249
+ this[optionName] = optionValue;
250
+ }
251
+ else {
252
+ throw new Error(`Scope ${optionDesc.scope} not supported`);
253
+ }
254
+ }
255
+ else if (optionDesc.default && optionDesc.scope === 'generator' && this[optionName] === undefined) {
256
+ this[optionName] = optionDesc.default;
257
+ }
258
+ });
259
+ }
260
+ parseJHipsterArguments(jhipsterArguments = {}) {
261
+ const hasPositionalArguments = Boolean(this.options.positionalArguments);
262
+ let positionalArguments = hasPositionalArguments ? this.options.positionalArguments : this._args;
263
+ const argumentEntries = Object.entries(jhipsterArguments);
264
+ if (hasPositionalArguments && positionalArguments.length > argumentEntries.length) {
265
+ throw new Error('More arguments than allowed');
266
+ }
267
+ argumentEntries.find(([argumentName, argumentDef]) => {
268
+ if (positionalArguments.length > 0) {
269
+ let argument;
270
+ if (hasPositionalArguments || argumentDef.type !== Array) {
271
+ // Positional arguments already parsed or a single argument.
272
+ argument = positionalArguments.shift();
273
+ }
274
+ else {
275
+ // Varags argument.
276
+ argument = positionalArguments;
277
+ positionalArguments = [];
278
+ }
279
+ if (argument !== undefined) {
280
+ const convertedValue = !argumentDef.type || argumentDef.type === Array ? argument : argumentDef.type(argument);
281
+ if ((argumentDef.scope ?? 'generator') === 'generator') {
282
+ this[argumentName] = convertedValue;
283
+ }
284
+ else if (argumentDef.scope === 'storage') {
285
+ this.config.set(argumentName, convertedValue);
286
+ }
287
+ else if (argumentDef.scope === 'blueprint') {
288
+ this.blueprintStorage.set(argumentName, convertedValue);
289
+ }
290
+ }
291
+ }
292
+ else {
293
+ if (argumentDef.required) {
294
+ throw new Error(`Missing required argument ${argumentName}`);
295
+ }
296
+ return true;
297
+ }
298
+ return false;
299
+ });
300
+ // Arguments should only be parsed by the root generator, cleanup to don't be forwarded.
301
+ this.options.positionalArguments = [];
302
+ }
303
+ prepareQuestions(configs = {}) {
304
+ return Object.entries(configs)
305
+ .filter(([_name, def]) => def?.prompt)
306
+ .map(([name, def]) => {
307
+ const promptSpec = typeof def.prompt === 'function' ? def.prompt(this) : { ...def.prompt };
308
+ let storage;
309
+ if ((def.scope ?? 'storage') === 'storage') {
310
+ storage = this.config;
311
+ if (promptSpec.default === undefined) {
312
+ promptSpec.default = () => this.jhipsterConfigWithDefaults?.[name];
313
+ }
314
+ }
315
+ else if (def.scope === 'blueprint') {
316
+ storage = this.blueprintStorage;
317
+ }
318
+ else if (def.scope === 'generator') {
319
+ storage = {
320
+ getPath: path => get(this, path),
321
+ setPath: (path, value) => set(this, path, value),
322
+ };
323
+ }
324
+ return {
325
+ name,
326
+ choices: def.choices,
327
+ ...promptSpec,
328
+ storage,
329
+ };
330
+ });
331
+ }
332
+ /**
333
+ * Generate a date to be used by Liquibase changelogs.
334
+ *
335
+ * @param {Boolean} [reproducible=true] - Set true if the changelog date can be reproducible.
336
+ * Set false to create a changelog date incrementing the last one.
337
+ * @return {String} Changelog date.
338
+ */
339
+ dateFormatForLiquibase(reproducible) {
340
+ const control = this.sharedData.getControl();
341
+ reproducible = reproducible ?? control.reproducible;
342
+ // Use started counter or use stored creationTimestamp if creationTimestamp option is passed
343
+ const creationTimestamp = this.options.creationTimestamp ? this.config.get('creationTimestamp') : undefined;
344
+ let now = new Date();
345
+ // Miliseconds is ignored for changelogDate.
346
+ now.setMilliseconds(0);
347
+ // Run reproducible timestamp when regenerating the project with reproducible option or an specific timestamp.
348
+ if (reproducible || creationTimestamp) {
349
+ if (control.reproducibleLiquibaseTimestamp) {
350
+ // Counter already started.
351
+ now = control.reproducibleLiquibaseTimestamp;
352
+ }
353
+ else {
354
+ // Create a new counter
355
+ const newCreationTimestamp = creationTimestamp ?? this.config.get('creationTimestamp');
356
+ now = newCreationTimestamp ? new Date(newCreationTimestamp) : now;
357
+ now.setMilliseconds(0);
358
+ }
359
+ now.setMinutes(now.getMinutes() + 1);
360
+ control.reproducibleLiquibaseTimestamp = now;
361
+ // Reproducible build can create future timestamp, save it.
362
+ const lastLiquibaseTimestamp = this.jhipsterConfig.lastLiquibaseTimestamp;
363
+ if (!lastLiquibaseTimestamp || now.getTime() > lastLiquibaseTimestamp) {
364
+ this.config.set('lastLiquibaseTimestamp', now.getTime());
365
+ }
366
+ }
367
+ else {
368
+ // Get and store lastLiquibaseTimestamp, a future timestamp can be used
369
+ let lastLiquibaseTimestamp = this.jhipsterConfig.lastLiquibaseTimestamp;
370
+ if (lastLiquibaseTimestamp) {
371
+ lastLiquibaseTimestamp = new Date(lastLiquibaseTimestamp);
372
+ if (lastLiquibaseTimestamp >= now) {
373
+ now = lastLiquibaseTimestamp;
374
+ now.setSeconds(now.getSeconds() + 1);
375
+ now.setMilliseconds(0);
376
+ }
377
+ }
378
+ this.jhipsterConfig.lastLiquibaseTimestamp = now.getTime();
379
+ }
380
+ return formatDateForChangelog(now);
381
+ }
382
+ /**
383
+ * Alternative templatePath that fetches from the blueprinted generator, instead of the blueprint.
384
+ */
385
+ jhipsterTemplatePath(...path) {
386
+ let existingGenerator;
387
+ try {
388
+ existingGenerator = this._jhipsterGenerator ?? requireNamespace(this.options.namespace).generator;
389
+ }
390
+ catch (error) {
391
+ if (this.options.namespace) {
392
+ const split = this.options.namespace.split(':', 2);
393
+ existingGenerator = split.length === 1 ? split[0] : split[1];
394
+ }
395
+ else {
396
+ throw new Error('Could not determine the generator name');
397
+ }
398
+ }
399
+ this._jhipsterGenerator = existingGenerator;
400
+ return this._jhipsterGenerator
401
+ ? this.fetchFromInstalledJHipster(this._jhipsterGenerator, 'templates', ...path)
402
+ : this.templatePath(...path);
403
+ }
404
+ /**
405
+ * Compose with a jhipster generator using default jhipster config.
406
+ * @return {object} the composed generator
407
+ */
408
+ async composeWithJHipster(generator, options) {
409
+ assert(typeof generator === 'string', 'generator should to be a string');
410
+ if (!isAbsolute(generator)) {
411
+ const namespace = generator.includes(':') ? generator : `jhipster:${generator}`;
412
+ if (await this.env.get(namespace)) {
413
+ generator = namespace;
414
+ }
415
+ else {
416
+ // Keep test compatibily were jhipster lookup does not run.
417
+ const found = ['/index.js', '/index.cjs', '/index.mjs', '/index.ts', '/index.cts', '/index.mts'].find(extension => {
418
+ const pathToLook = join(__dirname, `../${generator}${extension}`);
419
+ return existsSync(pathToLook) ? pathToLook : undefined;
420
+ });
421
+ if (!found) {
422
+ throw new Error(`Generator ${generator} was not found`);
423
+ }
424
+ generator = join(__dirname, `../${generator}${found}`);
425
+ }
426
+ }
427
+ return this.composeWith(generator, {
428
+ forwardOptions: false,
429
+ ...options,
430
+ generatorOptions: {
431
+ ...this.options,
432
+ positionalArguments: undefined,
433
+ ...options?.generatorOptions,
434
+ },
435
+ });
436
+ }
437
+ /**
438
+ * Compose with a jhipster generator using default jhipster config, but queue it immediately.
439
+ */
440
+ async dependsOnJHipster(generator, options) {
441
+ return this.composeWithJHipster(generator, {
442
+ ...options,
443
+ schedule: false,
444
+ });
445
+ }
446
+ /**
447
+ * Remove File
448
+ * @param file
449
+ */
450
+ removeFile(...path) {
451
+ const destinationFile = this.destinationPath(...path);
452
+ const relativePath = relative(this.env.logCwd, destinationFile);
453
+ // Delete from memory fs to keep updated.
454
+ this.fs.delete(destinationFile);
455
+ try {
456
+ if (destinationFile && statSync(destinationFile).isFile()) {
457
+ this.log.info(`Removing legacy file ${relativePath}`);
458
+ rmSync(destinationFile, { force: true });
459
+ }
460
+ }
461
+ catch {
462
+ this.log.info(`Could not remove legacy file ${relativePath}`);
463
+ }
464
+ return destinationFile;
465
+ }
466
+ /**
467
+ * Remove Folder
468
+ * @param path
469
+ */
470
+ removeFolder(...path) {
471
+ const destinationFolder = this.destinationPath(...path);
472
+ const relativePath = relative(this.env.logCwd, destinationFolder);
473
+ // Delete from memory fs to keep updated.
474
+ this.fs.delete(`${destinationFolder}/**`);
475
+ try {
476
+ if (statSync(destinationFolder).isDirectory()) {
477
+ this.log.info(`Removing legacy folder ${relativePath}`);
478
+ rmSync(destinationFolder, { recursive: true });
479
+ }
480
+ }
481
+ catch (error) {
482
+ this.log.log(`Could not remove folder ${destinationFolder}`);
483
+ }
484
+ }
485
+ /**
486
+ * Fetch files from the generator-jhipster instance installed
487
+ */
488
+ fetchFromInstalledJHipster(...path) {
489
+ if (path) {
490
+ return joinPath(__dirname, '..', ...path);
491
+ }
492
+ return path;
493
+ }
494
+ /**
495
+ * Utility function to write file.
496
+ *
497
+ * @param source
498
+ * @param destination - destination
499
+ * @param data - template data
500
+ * @param options - options passed to ejs render
501
+ * @param copyOptions
502
+ */
503
+ writeFile(source, destination, data = this, options, copyOptions = {}) {
504
+ // Convert to any because ejs types doesn't support string[] https://github.com/DefinitelyTyped/DefinitelyTyped/pull/63315
505
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
506
+ const root = this.jhipsterTemplatesFolders ?? this.templatePath();
507
+ return this.renderTemplate(source, destination, data, { root, ...options }, { noGlob: true, ...copyOptions });
508
+ }
509
+ /**
510
+ * write the given files using provided options.
511
+ */
512
+ async writeFiles(options) {
513
+ const paramCount = Object.keys(options).filter(key => ['sections', 'blocks', 'templates'].includes(key)).length;
514
+ assert(paramCount > 0, 'One of sections, blocks or templates is required');
515
+ assert(paramCount === 1, 'Only one of sections, blocks or templates must be provided');
516
+ const { sections, blocks, templates, rootTemplatesPath, context = this, transform: methodTransform = [] } = options;
517
+ const { _: commonSpec = {} } = sections || {};
518
+ const { transform: sectionTransform = [] } = commonSpec;
519
+ const startTime = new Date().getMilliseconds();
520
+ /* Build lookup order first has preference.
521
+ * Example
522
+ * rootTemplatesPath = ['reactive', 'common']
523
+ * jhipsterTemplatesFolders = ['/.../generator-jhispter-blueprint/server/templates', '/.../generator-jhispter/server/templates']
524
+ *
525
+ * /.../generator-jhispter-blueprint/server/templates/reactive/templatePath
526
+ * /.../generator-jhispter-blueprint/server/templates/common/templatePath
527
+ * /.../generator-jhispter/server/templates/reactive/templatePath
528
+ * /.../generator-jhispter/server/templates/common/templatePath
529
+ */
530
+ let rootTemplatesAbsolutePath;
531
+ if (!rootTemplatesPath) {
532
+ rootTemplatesAbsolutePath = this.jhipsterTemplatesFolders;
533
+ }
534
+ else if (typeof rootTemplatesPath === 'string' && isAbsolute(rootTemplatesPath)) {
535
+ rootTemplatesAbsolutePath = rootTemplatesPath;
536
+ }
537
+ else {
538
+ rootTemplatesAbsolutePath = this.jhipsterTemplatesFolders
539
+ .map(templateFolder => [].concat(rootTemplatesPath).map(relativePath => join(templateFolder, relativePath)))
540
+ .flat();
541
+ }
542
+ const normalizeEjs = file => file.replace('.ejs', '');
543
+ const resolveCallback = (val, fallback) => {
544
+ if (val === undefined) {
545
+ if (typeof fallback === 'function') {
546
+ return resolveCallback(fallback);
547
+ }
548
+ return fallback;
549
+ }
550
+ if (typeof val === 'boolean' || typeof val === 'string') {
551
+ return val;
552
+ }
553
+ if (typeof val === 'function') {
554
+ return val.call(this, context) || false;
555
+ }
556
+ throw new Error(`Type not supported ${val}`);
557
+ };
558
+ const renderTemplate = async ({ sourceFile, destinationFile, options, noEjs, transform, binary }) => {
559
+ const extension = extname(sourceFile);
560
+ const isBinary = binary || ['.png', '.jpg', '.gif', '.svg', '.ico'].includes(extension);
561
+ const appendEjs = noEjs === undefined ? !isBinary && extension !== '.ejs' : !noEjs;
562
+ const ejsFile = appendEjs || extension === '.ejs';
563
+ let targetFile;
564
+ if (typeof destinationFile === 'function') {
565
+ targetFile = resolveCallback(destinationFile);
566
+ }
567
+ else {
568
+ targetFile = appendEjs ? normalizeEjs(destinationFile) : destinationFile;
569
+ }
570
+ let sourceFileFrom;
571
+ if (Array.isArray(rootTemplatesAbsolutePath)) {
572
+ // Look for existing templates
573
+ const existingTemplates = rootTemplatesAbsolutePath
574
+ .map(rootPath => this.templatePath(rootPath, sourceFile))
575
+ .filter(templateFile => existsSync(appendEjs ? `${templateFile}.ejs` : templateFile));
576
+ if (existingTemplates.length > 1) {
577
+ const moreThanOneMessage = `Multiples templates were found for file ${sourceFile}, using the first
578
+ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
579
+ if (existingTemplates.length > 2) {
580
+ this.log.warn(`Possible blueprint conflict detected: ${moreThanOneMessage}`);
581
+ }
582
+ else {
583
+ this.log.debug(moreThanOneMessage);
584
+ }
585
+ }
586
+ sourceFileFrom = existingTemplates.shift();
587
+ if (sourceFileFrom === undefined) {
588
+ throw new Error(`Template file ${sourceFile} was not found at ${rootTemplatesAbsolutePath}`);
589
+ }
590
+ }
591
+ else if (typeof rootTemplatesAbsolutePath === 'string') {
592
+ sourceFileFrom = this.templatePath(rootTemplatesAbsolutePath, sourceFile);
593
+ }
594
+ else {
595
+ sourceFileFrom = this.templatePath(sourceFile);
596
+ }
597
+ if (appendEjs) {
598
+ sourceFileFrom = `${sourceFileFrom}.ejs`;
599
+ }
600
+ if (!ejsFile) {
601
+ await this.copyTemplateAsync(sourceFileFrom, targetFile);
602
+ }
603
+ else {
604
+ let useAsync = true;
605
+ if (context.entityClass) {
606
+ if (!context.baseName) {
607
+ throw new Error('baseName is require at templates context');
608
+ }
609
+ const sourceBasename = basename(sourceFileFrom);
610
+ const seed = `${context.entityClass}-${sourceBasename}${context.fakerSeed ?? ''}`;
611
+ Object.values(this.sharedData.getApplication()?.sharedEntities ?? {}).forEach((entity) => {
612
+ entity.resetFakerSeed(seed);
613
+ });
614
+ // Async calls will make the render method to be scheduled, allowing the faker key to change in the meantime.
615
+ useAsync = false;
616
+ }
617
+ const renderOptions = {
618
+ ...(options?.renderOptions ?? {}),
619
+ // Set root for ejs to lookup for partials.
620
+ root: rootTemplatesAbsolutePath,
621
+ // ejs caching cause problem https://github.com/jhipster/generator-jhipster/pull/20757
622
+ cache: false,
623
+ };
624
+ const copyOptions = { noGlob: true };
625
+ // TODO drop for v8 final release
626
+ const data = this.jhipster7Migration ? createJHipster7Context(this, context, { ignoreWarnings: true }) : context;
627
+ if (useAsync) {
628
+ await this.renderTemplateAsync(sourceFileFrom, targetFile, data, renderOptions, copyOptions);
629
+ }
630
+ else {
631
+ this.renderTemplate(sourceFileFrom, targetFile, data, renderOptions, copyOptions);
632
+ }
633
+ }
634
+ if (!isBinary && transform && transform.length) {
635
+ this.editFile(targetFile, ...transform);
636
+ }
637
+ return targetFile;
638
+ };
639
+ let parsedBlocks = blocks;
640
+ if (sections) {
641
+ assert(typeof sections === 'object', 'sections must be an object');
642
+ const parsedSections = Object.entries(sections)
643
+ .map(([sectionName, sectionBlocks]) => {
644
+ if (sectionName.startsWith('_'))
645
+ return undefined;
646
+ assert(Array.isArray(sectionBlocks), `Section must be an array for ${sectionName}`);
647
+ return { sectionName, sectionBlocks };
648
+ })
649
+ .filter(Boolean);
650
+ parsedBlocks = parsedSections
651
+ .map(({ sectionName, sectionBlocks }) => {
652
+ return sectionBlocks.map((block, blockIdx) => {
653
+ const blockSpecPath = `${sectionName}[${blockIdx}]`;
654
+ assert(typeof block === 'object', `Block must be an object for ${blockSpecPath}`);
655
+ return { blockSpecPath, ...block };
656
+ });
657
+ })
658
+ .flat();
659
+ }
660
+ let parsedTemplates;
661
+ if (parsedBlocks) {
662
+ parsedTemplates = parsedBlocks
663
+ .map((block, blockIdx) => {
664
+ const { blockSpecPath = `${blockIdx}`, path: blockPathValue = './', from: blockFromCallback, to: blockToCallback, condition: blockConditionCallback, transform: blockTransform = [], renameTo: blockRenameTo, } = block;
665
+ assert(typeof block === 'object', `Block must be an object for ${blockSpecPath}`);
666
+ assert(Array.isArray(block.templates), `Block templates must be an array for ${blockSpecPath}`);
667
+ const condition = resolveCallback(blockConditionCallback);
668
+ if (condition !== undefined && !condition) {
669
+ return undefined;
670
+ }
671
+ if (typeof blockPathValue === 'function') {
672
+ throw new Error(`Block path should be static for ${blockSpecPath}`);
673
+ }
674
+ const blockPath = resolveCallback(blockFromCallback, blockPathValue);
675
+ const blockTo = resolveCallback(blockToCallback, blockPath) || blockPath;
676
+ return block.templates.map((fileSpec, fileIdx) => {
677
+ const fileSpecPath = `${blockSpecPath}[${fileIdx}]`;
678
+ assert(typeof fileSpec === 'object' || typeof fileSpec === 'string' || typeof fileSpec === 'function', `File must be an object, a string or a function for ${fileSpecPath}`);
679
+ if (typeof fileSpec === 'function') {
680
+ fileSpec = fileSpec.call(this, context);
681
+ }
682
+ let { noEjs } = fileSpec;
683
+ let derivedTransform;
684
+ if (typeof blockTransform === 'boolean') {
685
+ noEjs = !blockTransform;
686
+ derivedTransform = [...methodTransform, ...sectionTransform];
687
+ }
688
+ else {
689
+ derivedTransform = [...methodTransform, ...sectionTransform, ...blockTransform];
690
+ }
691
+ if (typeof fileSpec === 'string') {
692
+ const sourceFile = join(blockPath, fileSpec);
693
+ let destinationFile;
694
+ if (blockRenameTo) {
695
+ destinationFile = this.destinationPath(blockRenameTo.call(this, context, fileSpec, this));
696
+ }
697
+ else {
698
+ destinationFile = this.destinationPath(blockTo, fileSpec);
699
+ }
700
+ return { sourceFile, destinationFile, noEjs, transform: derivedTransform };
701
+ }
702
+ const { options, file, renameTo, transform: fileTransform = [], binary } = fileSpec;
703
+ let { sourceFile, destinationFile } = fileSpec;
704
+ if (typeof fileTransform === 'boolean') {
705
+ noEjs = !fileTransform;
706
+ }
707
+ else if (Array.isArray(fileTransform)) {
708
+ derivedTransform = [...derivedTransform, ...fileTransform];
709
+ }
710
+ else if (fileTransform !== undefined) {
711
+ throw new Error(`Transform ${fileTransform} value is not supported`);
712
+ }
713
+ const normalizedFile = resolveCallback(sourceFile || file);
714
+ sourceFile = join(blockPath, normalizedFile);
715
+ destinationFile = this.destinationPath(blockTo, join(resolveCallback(destinationFile || renameTo, normalizedFile)));
716
+ const override = resolveCallback(fileSpec.override);
717
+ if (override !== undefined && !override && this.fs.exists(destinationFile)) {
718
+ this.log.debug(`skipping file ${destinationFile}`);
719
+ return undefined;
720
+ }
721
+ // TODO remove for jhipster 8
722
+ if (noEjs === undefined) {
723
+ const { method } = fileSpec;
724
+ if (method === 'copy') {
725
+ noEjs = true;
726
+ }
727
+ }
728
+ return {
729
+ sourceFile,
730
+ destinationFile,
731
+ options,
732
+ transform: derivedTransform,
733
+ noEjs,
734
+ binary,
735
+ };
736
+ });
737
+ })
738
+ .flat()
739
+ .filter(template => template);
740
+ }
741
+ else {
742
+ parsedTemplates = templates.map(template => {
743
+ if (typeof template === 'string') {
744
+ return { sourceFile: template, destinationFile: template };
745
+ }
746
+ return template;
747
+ });
748
+ }
749
+ const files = await Promise.all(parsedTemplates.map(template => renderTemplate(template)));
750
+ this.log.debug(`Time taken to write files: ${new Date().getMilliseconds() - startTime}ms`);
751
+ return files.filter(file => file);
752
+ }
753
+ editFile(file, options, ...transformCallbacks) {
754
+ let actualOptions;
755
+ if (typeof options === 'function') {
756
+ transformCallbacks = [options, ...transformCallbacks];
757
+ actualOptions = {};
758
+ }
759
+ else if (options === undefined) {
760
+ actualOptions = {};
761
+ }
762
+ else {
763
+ actualOptions = options;
764
+ }
765
+ let filePath = this.destinationPath(file);
766
+ if (!this.env.sharedFs.existsInMemory(filePath) && this.env.sharedFs.existsInMemory(`${filePath}.jhi`)) {
767
+ filePath = `${filePath}.jhi`;
768
+ }
769
+ let originalContent;
770
+ try {
771
+ originalContent = this.readDestination(filePath);
772
+ }
773
+ catch (_error) {
774
+ // null return should be treated like an error.
775
+ }
776
+ if (!originalContent) {
777
+ const { ignoreNonExisting, create } = actualOptions;
778
+ const errorMessage = typeof ignoreNonExisting === 'string' ? ` ${ignoreNonExisting}.` : '';
779
+ if (ignoreNonExisting) {
780
+ this.log(`${chalk.yellow('\nUnable to find ')}${filePath}.${chalk.yellow(errorMessage)}\n`);
781
+ // return a noop.
782
+ const noop = () => noop;
783
+ return noop;
784
+ }
785
+ if (!create || transformCallbacks.length === 0) {
786
+ throw new Error(`Unable to find ${filePath}. ${errorMessage}`);
787
+ }
788
+ // allow to edit non existing files
789
+ originalContent = '';
790
+ }
791
+ let newContent = originalContent;
792
+ const writeCallback = (...callbacks) => {
793
+ try {
794
+ newContent = joinCallbacks(...callbacks).call(this, newContent, filePath);
795
+ if (actualOptions.assertModified && originalContent === newContent) {
796
+ throw new Error(`Fail to edit file '${file}'.`);
797
+ }
798
+ this.writeDestination(filePath, newContent);
799
+ }
800
+ catch (error) {
801
+ if (error instanceof Error) {
802
+ throw new Error(`Error editing file ${filePath}: ${error.message} at ${error.stack}`);
803
+ }
804
+ throw new Error(`Unknown Error ${error}`);
805
+ }
806
+ return writeCallback;
807
+ };
808
+ return writeCallback(...transformCallbacks);
809
+ }
810
+ /**
811
+ * Convert value to a yaml and write to destination
812
+ */
813
+ writeDestinationYaml(filepath, value) {
814
+ this.writeDestination(filepath, stringifyYaml(value));
815
+ }
816
+ /**
817
+ * Merge value to an existing yaml and write to destination
818
+ * Removes every comment (due to parsing/merging process) except the at the top of the file.
819
+ */
820
+ mergeDestinationYaml(filepath, value) {
821
+ this.editFile(filepath, content => {
822
+ const lines = content.split('\n');
823
+ const headerComments = [];
824
+ lines.find(line => {
825
+ if (line.startsWith('#')) {
826
+ headerComments.push(line);
827
+ return false;
828
+ }
829
+ return true;
830
+ });
831
+ return headerComments.join('\n').concat('\n', stringifyYaml(merge(parseYaml(content), value)));
832
+ });
833
+ }
834
+ /**
835
+ * Merge value to an existing json and write to destination
836
+ */
837
+ mergeDestinationJson(filepath, value) {
838
+ this.editFile(filepath, { create: true }, content => {
839
+ return JSON.stringify(merge(content ? JSON.parse(content) : {}, value), null, 2);
840
+ });
841
+ }
842
+ /**
843
+ * Shallow clone or convert dependencies to placeholder if needed.
844
+ */
845
+ prepareDependencies(map, valuePlaceholder = value => `${_.snakeCase(value).toUpperCase()}_VERSION`) {
846
+ if (this.useVersionPlaceholders) {
847
+ return Object.fromEntries(Object.keys(map).map(dep => [dep, valuePlaceholder(dep)]));
848
+ }
849
+ return {
850
+ ...map,
851
+ };
852
+ }
853
+ loadNodeDependencies(destination, source) {
854
+ Object.assign(destination, this.prepareDependencies(source));
855
+ }
856
+ loadNodeDependenciesFromPackageJson(destination, packageJsonFile = this.templatePath('../resources/package.json')) {
857
+ const { devDependencies, dependencies } = this.fs.readJSON(packageJsonFile, {});
858
+ this.loadNodeDependencies(destination, { ...devDependencies, ...dependencies });
859
+ }
860
+ /**
861
+ * Print ValidationResult info/warnings or throw result Error.
862
+ */
863
+ validateResult(result, { throwOnError = true } = {}) {
864
+ // Don't print check info by default for cleaner outputs.
865
+ if (result.debug) {
866
+ if (Array.isArray(result.debug)) {
867
+ for (const debug of result.debug) {
868
+ this.log.debug(debug);
869
+ }
870
+ }
871
+ else {
872
+ this.log.debug(result.debug);
873
+ }
874
+ }
875
+ if (result.info) {
876
+ if (Array.isArray(result.info)) {
877
+ for (const info of result.info) {
878
+ this.log.info(info);
879
+ }
880
+ }
881
+ else {
882
+ this.log.info(result.info);
883
+ }
884
+ }
885
+ if (result.warning) {
886
+ if (Array.isArray(result.warning)) {
887
+ for (const warning of result.warning) {
888
+ this.log.warn(warning);
889
+ }
890
+ }
891
+ else {
892
+ this.log.warn(result.warning);
893
+ }
894
+ }
895
+ if (result.error) {
896
+ if (Array.isArray(result.error)) {
897
+ if (throwOnError && result.error.length > 0) {
898
+ throw new Error(result.error[0]);
899
+ }
900
+ for (const error of result.error) {
901
+ this.log.warn(error);
902
+ }
903
+ }
904
+ else if (throwOnError) {
905
+ throw new Error(result.error);
906
+ }
907
+ else {
908
+ this.log.warn(result.error);
909
+ }
910
+ }
911
+ }
912
+ /**
913
+ * Checks if there is a newer JHipster version available.
914
+ */
915
+ async checkForNewVersion() {
916
+ try {
917
+ const latestJhipster = await latestVersion(GENERATOR_JHIPSTER);
918
+ if (semver.lt(packageJson.version, latestJhipster)) {
919
+ this.log.warn(`${chalk.yellow(' ______________________________________________________________________________\n\n') +
920
+ chalk.yellow(' JHipster update available: ') +
921
+ chalk.green.bold(latestJhipster) +
922
+ chalk.gray(` (current: ${packageJson.version})`)}\n`);
923
+ this.log.log(chalk.yellow(` Run ${chalk.magenta(`npm install -g ${GENERATOR_JHIPSTER}`)} to update.\n`));
924
+ this.log.log(chalk.yellow(' ______________________________________________________________________________\n'));
925
+ }
926
+ }
927
+ catch {
928
+ // Ignore error
929
+ }
930
+ }
931
+ /**
932
+ * Create a simple-git instance using current destinationPath as baseDir.
933
+ */
934
+ createGit() {
935
+ return simpleGit({ baseDir: this.destinationPath() }).env({
936
+ ...process.env,
937
+ LANG: 'en',
938
+ });
939
+ }
940
+ calculateApplicationId(applicationPath) {
941
+ const dirname = basename(applicationPath);
942
+ return `${createHash('shake256', { outputLength: 1 }).update(applicationPath, 'utf8').digest('hex')}-${dirname}`;
943
+ }
944
+ getSharedApplication(applicationFolder = this.destinationPath()) {
945
+ return this.options.sharedData.applications?.[this.calculateApplicationId(applicationFolder)];
946
+ }
947
+ createSharedData({ jhipsterOldVersion, help, }) {
948
+ const applicationId = this.options.applicationId ?? this.calculateApplicationId(this.destinationPath());
949
+ if (this.options.sharedData.applications === undefined) {
950
+ this.options.sharedData.applications = {};
951
+ }
952
+ const sharedApplications = help ? {} : this.options.sharedData.applications;
953
+ if (!sharedApplications[applicationId]) {
954
+ sharedApplications[applicationId] = {};
955
+ }
956
+ const { ignoreNeedlesError } = this.options;
957
+ return new SharedData(sharedApplications[applicationId], { jhipsterOldVersion, ignoreNeedlesError });
958
+ }
959
+ }