generator-jhipster 8.9.0 → 8.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/cli.mjs +0 -13
  3. package/dist/cli/download.mjs +2 -3
  4. package/dist/cli/environment-builder.mjs +5 -3
  5. package/dist/generators/angular/generator.d.ts +10 -1
  6. package/dist/generators/angular/resources/package.json +27 -27
  7. package/dist/generators/angular/templates/README.md.jhi.client.angular.ejs +1 -1
  8. package/dist/generators/angular/templates/eslint.config.js.jhi.angular.ejs +4 -6
  9. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +1 -1
  10. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +3 -3
  11. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.spec.ts.ejs +1 -1
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +6 -4
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +1 -1
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +1 -1
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +1 -1
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +1 -1
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +1 -1
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +1 -1
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +1 -1
  20. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +1 -1
  21. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +1 -1
  22. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +1 -1
  23. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +8 -13
  24. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +1 -1
  25. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +1 -1
  26. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +1 -1
  27. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +3 -3
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +2 -2
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +1 -1
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +3 -3
  31. package/dist/generators/angular/templates/src/main/webapp/app/app-page-title-strategy.ts.ejs +1 -3
  32. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +1 -1
  33. package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +1 -1
  34. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.ts.ejs +1 -2
  35. package/dist/generators/angular/templates/src/main/webapp/app/core/util/data-util.service.spec.ts.ejs +0 -1
  36. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +1 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +2 -2
  38. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +2 -2
  39. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +4 -5
  40. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +4 -4
  41. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +2 -2
  42. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +4 -4
  43. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +2 -2
  44. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +7 -7
  45. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +4 -4
  46. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.html.ejs +4 -4
  47. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +3 -3
  48. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +1 -1
  49. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +8 -6
  50. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +3 -3
  51. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +8 -8
  52. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +2 -2
  53. package/dist/generators/angular/templates/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
  54. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.service.ts.ejs +3 -3
  55. package/dist/generators/app/generator.d.ts +4 -1
  56. package/dist/generators/base/api.d.ts +3 -1
  57. package/dist/generators/base/shared-data.js +1 -0
  58. package/dist/generators/base/support/contents.d.ts +10 -1
  59. package/dist/generators/base/support/contents.js +9 -0
  60. package/dist/generators/base/support/index.d.ts +1 -0
  61. package/dist/generators/base/support/index.js +1 -0
  62. package/dist/generators/base/support/needles.d.ts +14 -5
  63. package/dist/generators/base/support/needles.js +21 -17
  64. package/dist/generators/base/support/os.d.ts +1 -0
  65. package/dist/generators/base/support/os.js +20 -0
  66. package/dist/generators/base/support/write-files.d.ts +18 -0
  67. package/dist/generators/base/support/write-files.js +0 -26
  68. package/dist/generators/base-application/support/prepare-entity.js +14 -26
  69. package/dist/generators/base-application/support/update-application-entities-transform.js +3 -2
  70. package/dist/generators/base-application/types.d.ts +5 -0
  71. package/dist/generators/base-core/generator.js +7 -4
  72. package/dist/generators/bootstrap/generator.d.ts +6 -1
  73. package/dist/generators/bootstrap/generator.js +31 -2
  74. package/dist/generators/bootstrap/support/auto-crlf-transform.js +2 -2
  75. package/dist/generators/bootstrap/support/eslint-worker.js +5 -2
  76. package/dist/generators/bootstrap-application/generator.d.ts +4 -1
  77. package/dist/generators/bootstrap-application-base/generator.d.ts +12 -2
  78. package/dist/generators/bootstrap-application-base/generator.js +4 -3
  79. package/dist/generators/bootstrap-application-client/generator.d.ts +3 -1
  80. package/dist/generators/bootstrap-application-server/generator.d.ts +8 -1
  81. package/dist/generators/bootstrap-workspaces/generator.d.ts +9 -1
  82. package/dist/generators/ci-cd/generator.d.ts +6 -1
  83. package/dist/generators/client/generator.d.ts +13 -1
  84. package/dist/generators/client/generators/common/generator.d.ts +1 -1
  85. package/dist/generators/client/resources/package.json +5 -5
  86. package/dist/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs +8 -6
  87. package/dist/generators/common/generator.d.ts +8 -1
  88. package/dist/generators/common/resources/package.json +2 -2
  89. package/dist/generators/cucumber/generator.d.ts +2 -1
  90. package/dist/generators/cypress/generator.d.ts +7 -1
  91. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/logout.cy.ts.ejs +11 -3
  92. package/dist/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +4 -4
  93. package/dist/generators/docker/generator.d.ts +4 -1
  94. package/dist/generators/docker-compose/generator.d.ts +23 -1
  95. package/dist/generators/entities/generator.d.ts +4 -1
  96. package/dist/generators/entity/generator.d.ts +5 -1
  97. package/dist/generators/export-jdl/generator.d.ts +3 -1
  98. package/dist/generators/feign-client/generator.d.ts +2 -1
  99. package/dist/generators/feign-client/templates/src/test/java/_package_/client/AuthorizationHeaderUtilTest.java.ejs +1 -1
  100. package/dist/generators/gatling/generator.d.ts +3 -1
  101. package/dist/generators/generate-blueprint/constants.d.ts +1 -1
  102. package/dist/generators/generate-blueprint/constants.js +1 -1
  103. package/dist/generators/generate-blueprint/files.js +2 -2
  104. package/dist/generators/generate-blueprint/generator.d.ts +10 -1
  105. package/dist/generators/generate-blueprint/generator.js +16 -16
  106. package/dist/generators/generate-blueprint/resources/package.json +3 -3
  107. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +1 -1
  108. package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +1 -0
  109. package/dist/generators/generator-constants.d.ts +1 -1
  110. package/dist/generators/generator-constants.js +2 -2
  111. package/dist/generators/git/generator.d.ts +5 -1
  112. package/dist/generators/gradle/generator.d.ts +5 -1
  113. package/dist/generators/gradle/generators/code-quality/generator.d.ts +2 -1
  114. package/dist/generators/gradle/generators/jib/generator.d.ts +2 -1
  115. package/dist/generators/gradle/generators/node-gradle/generator.d.ts +2 -1
  116. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  117. package/dist/generators/heroku/generator.d.ts +6 -1
  118. package/dist/generators/info/generator.d.ts +1 -1
  119. package/dist/generators/init/generator.d.ts +2 -1
  120. package/dist/generators/init/resources/.node-version +1 -1
  121. package/dist/generators/java/generators/bootstrap/generator.d.ts +8 -2
  122. package/dist/generators/java/generators/bootstrap/generator.js +17 -3
  123. package/dist/generators/java/generators/build-tool/generator.d.ts +2 -1
  124. package/dist/generators/java/generators/code-quality/generator.d.ts +2 -1
  125. package/dist/generators/java/generators/domain/generator.d.ts +6 -1
  126. package/dist/generators/java/generators/graalvm/generator.d.ts +6 -1
  127. package/dist/generators/java/generators/graalvm/internal/constants.d.ts +1 -1
  128. package/dist/generators/java/generators/graalvm/internal/constants.js +2 -2
  129. package/dist/generators/java/generators/graalvm/resources/gradle/libs.versions.toml +1 -1
  130. package/dist/generators/java/generators/jib/generator.d.ts +2 -1
  131. package/dist/generators/java/generators/node/generator.d.ts +4 -1
  132. package/dist/generators/java/generators/node/generator.js +2 -1
  133. package/dist/generators/java/generators/openapi-generator/generator.d.ts +2 -1
  134. package/dist/generators/java/generators/server/generator.d.ts +1 -1
  135. package/dist/generators/java/support/index.d.ts +2 -0
  136. package/dist/generators/java/support/index.js +2 -0
  137. package/dist/generators/java/support/java-enum.d.ts +8 -0
  138. package/dist/generators/java/support/java-enum.js +20 -0
  139. package/dist/generators/java/support/java-file-edit.d.ts +18 -0
  140. package/dist/generators/java/support/java-file-edit.js +94 -0
  141. package/dist/generators/java/types.d.ts +37 -1
  142. package/dist/generators/javascript/generators/bootstrap/generator.d.ts +4 -1
  143. package/dist/generators/javascript/generators/eslint/generator.d.ts +4 -1
  144. package/dist/generators/javascript/generators/eslint/templates/eslint.config.js.jhi.ejs +8 -0
  145. package/dist/generators/javascript/generators/husky/generator.d.ts +3 -1
  146. package/dist/generators/javascript/generators/prettier/generator.d.ts +4 -1
  147. package/dist/generators/javascript/resources/package.json +3 -3
  148. package/dist/generators/jdl/generator.d.ts +3 -1
  149. package/dist/generators/kubernetes/generator.d.ts +25 -19
  150. package/dist/generators/kubernetes-helm/generator.d.ts +18 -12
  151. package/dist/generators/kubernetes-knative/generator.d.ts +14 -8
  152. package/dist/generators/languages/generator.d.ts +9 -1
  153. package/dist/generators/languages/support/languages.js +1 -0
  154. package/dist/generators/languages/templates/entity/i18n/entity_he.json.ejs +78 -0
  155. package/dist/generators/languages/templates/src/main/resources/i18n/messages_he.properties.ejs +41 -0
  156. package/dist/generators/languages/templates/src/main/webapp/i18n/he/activate.json.ejs +27 -0
  157. package/dist/generators/languages/templates/src/main/webapp/i18n/he/configuration.json +11 -0
  158. package/dist/generators/languages/templates/src/main/webapp/i18n/he/error.json +15 -0
  159. package/dist/generators/languages/templates/src/main/webapp/i18n/he/gateway.json +16 -0
  160. package/dist/generators/languages/templates/src/main/webapp/i18n/he/global.json.ejs +172 -0
  161. package/dist/generators/languages/templates/src/main/webapp/i18n/he/health.json.ejs +75 -0
  162. package/dist/generators/languages/templates/src/main/webapp/i18n/he/home.json.ejs +20 -0
  163. package/dist/generators/languages/templates/src/main/webapp/i18n/he/login.json +20 -0
  164. package/dist/generators/languages/templates/src/main/webapp/i18n/he/logs.json +12 -0
  165. package/dist/generators/languages/templates/src/main/webapp/i18n/he/metrics.json +103 -0
  166. package/dist/generators/languages/templates/src/main/webapp/i18n/he/password.json +13 -0
  167. package/dist/generators/languages/templates/src/main/webapp/i18n/he/register.json +25 -0
  168. package/dist/generators/languages/templates/src/main/webapp/i18n/he/reset.json.ejs +45 -0
  169. package/dist/generators/languages/templates/src/main/webapp/i18n/he/sessions.json +16 -0
  170. package/dist/generators/languages/templates/src/main/webapp/i18n/he/settings.json +33 -0
  171. package/dist/generators/languages/templates/src/main/webapp/i18n/he/tracker.json +13 -0
  172. package/dist/generators/languages/templates/src/main/webapp/i18n/he/user-management.json +32 -0
  173. package/dist/generators/languages/templates/src/test/resources/i18n/messages_he.properties.ejs +4 -0
  174. package/dist/generators/liquibase/generator.d.ts +9 -1
  175. package/dist/generators/liquibase/generator.js +3 -19
  176. package/dist/generators/maven/generator.d.ts +6 -1
  177. package/dist/generators/maven/generators/code-quality/generator.d.ts +1 -1
  178. package/dist/generators/maven/generators/frontend-plugin/generator.d.ts +1 -1
  179. package/dist/generators/maven/generators/jib/generator.d.ts +1 -1
  180. package/dist/generators/project-name/generator.d.ts +3 -1
  181. package/dist/generators/react/generator.d.ts +15 -1
  182. package/dist/generators/react/resources/package.json +34 -34
  183. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-delete-dialog.tsx.ejs +2 -1
  184. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +4 -4
  185. package/dist/generators/react/templates/src/main/webapp/app/entities/menu.tsx.ejs +2 -2
  186. package/dist/generators/react/templates/src/main/webapp/app/entities/routes.tsx.ejs +1 -1
  187. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/administration.reducer.spec.ts.ejs +0 -6
  188. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/application-profile.spec.ts.ejs +0 -6
  189. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +0 -47
  190. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +1 -1
  191. package/dist/generators/react/templates/src/main/webapp/app/shared/util/entity-utils.ts.ejs +1 -1
  192. package/dist/generators/server/generator.d.ts +7 -1
  193. package/dist/generators/server/resources/Dockerfile +17 -17
  194. package/dist/generators/server/resources/gradle/libs.versions.toml +15 -15
  195. package/dist/generators/server/resources/pom.xml +16 -16
  196. package/dist/generators/server/types.d.ts +22 -0
  197. package/dist/generators/spring-boot/generator.d.ts +14 -2
  198. package/dist/generators/spring-boot/generator.js +35 -4
  199. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +158 -148
  200. package/dist/generators/spring-boot/templates/src/main/java/_package_/Application.java.ejs +11 -0
  201. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +12 -23
  202. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +0 -1
  203. package/dist/generators/spring-boot/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +61 -5
  204. package/dist/generators/spring-boot/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +29 -1
  205. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +7 -6
  206. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +8 -6
  207. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +8 -6
  208. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +17 -11
  209. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/errors/ExceptionTranslator.java.ejs +8 -3
  210. package/dist/generators/spring-boot/templates/src/main/resources/config/application.yml.ejs +3 -0
  211. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +3 -3
  212. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +4 -4
  213. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +4 -4
  214. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +3 -3
  215. package/dist/generators/spring-boot/templates/src/test/java/_package_/config/JHipsterBlockHoundIntegration.java.ejs +0 -2
  216. package/dist/generators/spring-boot/templates/src/test/java/_package_/config/WebConfigurerTest.java.ejs +1 -1
  217. package/dist/generators/spring-boot/templates/src/test/java/_package_/management/SecurityMetersServiceTests.java.ejs +1 -1
  218. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +2 -2
  219. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_imperative.java.ejs +35 -11
  220. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_reactive.java.ejs +35 -6
  221. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/JwtAuthenticationTestUtils.java.ejs +3 -2
  222. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TestAuthenticationResource.java.ejs +5 -5
  223. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TokenAuthenticationIT.java.ejs +2 -2
  224. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.java.ejs +1 -4
  225. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/oauth2/CustomClaimConverterIT.java.ejs +1 -1
  226. package/dist/generators/spring-boot/templates/src/test/java/_package_/service/MailServiceIT.java.ejs +1 -1
  227. package/dist/generators/spring-boot/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +1 -1
  228. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_imperative.java.ejs +1 -1
  229. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_reactive.java.ejs +1 -2
  230. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +9 -15
  231. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +8 -17
  232. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT_skipUserManagement.java.ejs +6 -15
  233. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/LogoutResourceIT.java.ejs +1 -1
  234. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +1 -1
  235. package/dist/generators/spring-cache/cleanup.d.ts +2 -20
  236. package/dist/generators/spring-cache/cleanup.js +24 -2
  237. package/dist/generators/spring-cache/files.js +0 -6
  238. package/dist/generators/spring-cache/generator.d.ts +5 -1
  239. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  240. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +0 -14
  241. package/dist/generators/spring-cloud/generators/gateway/generator.d.ts +5 -1
  242. package/dist/generators/spring-cloud-stream/generator.d.ts +2 -1
  243. package/dist/generators/spring-cloud-stream/generators/kafka/generator.d.ts +2 -1
  244. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +1 -1
  245. package/dist/generators/spring-cloud-stream/generators/pulsar/generator.d.ts +2 -1
  246. package/dist/generators/spring-data-cassandra/generator.d.ts +4 -1
  247. package/dist/generators/spring-data-couchbase/generator.d.ts +9 -1
  248. package/dist/generators/spring-data-elasticsearch/generator.d.ts +10 -1
  249. package/dist/generators/spring-data-mongodb/generator.d.ts +9 -1
  250. package/dist/generators/spring-data-neo4j/generator.d.ts +11 -1
  251. package/dist/generators/spring-data-relational/generator.d.ts +11 -1
  252. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/timezone/HibernateTimeZoneIT.java.ejs +2 -2
  253. package/dist/generators/spring-websocket/generator.d.ts +2 -1
  254. package/dist/generators/upgrade/generator.d.ts +3 -1
  255. package/dist/generators/vue/cleanup.js +7 -1
  256. package/dist/generators/vue/files-vue.js +3 -8
  257. package/dist/generators/vue/generator.d.ts +9 -1
  258. package/dist/generators/vue/resources/package.json +31 -31
  259. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +9 -9
  260. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +21 -7
  261. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +23 -9
  262. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.service.ts.ejs +1 -1
  263. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.vue.ejs +1 -1
  264. package/dist/generators/vue/templates/src/main/webapp/app/account/change-password/change-password.vue.ejs +1 -1
  265. package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.component.spec.ts.ejs +22 -10
  266. package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +24 -5
  267. package/dist/generators/vue/templates/src/main/webapp/app/account/login-modal.ts.ejs +38 -0
  268. package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.spec.ts.ejs +0 -4
  269. package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.ts.ejs +3 -25
  270. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.spec.ts.ejs +24 -8
  271. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.ts.ejs +23 -9
  272. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.service.ts.ejs +1 -1
  273. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.vue.ejs +1 -1
  274. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.spec.ts.ejs +20 -4
  275. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.ts.ejs +23 -13
  276. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.vue.ejs +1 -1
  277. package/dist/generators/vue/templates/src/main/webapp/app/account/settings/settings.vue.ejs +1 -1
  278. package/dist/generators/vue/templates/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +2 -2
  279. package/dist/generators/vue/templates/src/main/webapp/app/admin/gateway/gateway.service.ts.ejs +1 -1
  280. package/dist/generators/vue/templates/src/main/webapp/app/admin/health/health.service.ts.ejs +10 -10
  281. package/dist/generators/vue/templates/src/main/webapp/app/admin/logs/logs.service.ts.ejs +2 -2
  282. package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics-modal.vue.ejs +2 -2
  283. package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +2 -2
  284. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +5 -5
  285. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.service.ts.ejs +6 -6
  286. package/dist/generators/vue/templates/src/main/webapp/app/app.component.ts.ejs +29 -7
  287. package/dist/generators/vue/templates/src/main/webapp/app/app.vue.ejs +19 -1
  288. package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.spec.ts.ejs +66 -51
  289. package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.ts.ejs +30 -8
  290. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.spec.ts.ejs +41 -11
  291. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.ts.ejs +10 -11
  292. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.vue.ejs +2 -2
  293. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +43 -16
  294. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +14 -9
  295. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +1 -1
  296. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.ts.ejs +7 -7
  297. package/dist/generators/vue/templates/src/main/webapp/app/entities/user/user.service.ts.ejs +1 -1
  298. package/dist/generators/vue/templates/src/main/webapp/app/locale/translation.service.ts.ejs +5 -5
  299. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +18 -14
  300. package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.ts.ejs +4 -4
  301. package/dist/generators/workspaces/generator.d.ts +7 -1
  302. package/dist/generators/workspaces/support/applications-lookup.js +2 -2
  303. package/dist/lib/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +1 -1
  304. package/dist/lib/jdl/core/built-in-options/binary-options.d.ts +12 -1
  305. package/dist/lib/testing/apply-patch-to-template.d.ts +13 -0
  306. package/dist/lib/testing/apply-patch-to-template.js +90 -0
  307. package/dist/lib/testing/github.js +6 -3
  308. package/dist/lib/testing/helpers.d.ts +1 -0
  309. package/dist/lib/testing/helpers.js +15 -0
  310. package/dist/lib/utils/yo-rc.d.ts +3 -219
  311. package/package.json +36 -37
  312. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheFactoryConfiguration.java.ejs +0 -49
@@ -1,6 +1,7 @@
1
1
  import BaseApplicationGenerator from '../../../base-application/index.js';
2
2
  export default class BuildToolGenerator extends BaseApplicationGenerator {
3
- [x: string]: any;
3
+ [BaseApplicationGenerator.COMPOSING]: any;
4
+ [BaseApplicationGenerator.PREPARING]: any;
4
5
  beforeQueue(): Promise<void>;
5
6
  get composing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/base/tasks.js").TaskParamWithControl, "composing">;
6
7
  get preparing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").PreparingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "prepareJavaApplication" | "executable">;
@@ -18,7 +18,8 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../../../base-application/index.js';
20
20
  export default class CodeQualityGenerator extends BaseApplicationGenerator {
21
- [x: string]: any;
21
+ [BaseApplicationGenerator.COMPOSING]: any;
22
+ [BaseApplicationGenerator.WRITING]: any;
22
23
  beforeQueue(): Promise<void>;
23
24
  get composing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/base/tasks.js").TaskParamWithControl, "compose">;
24
25
  get writing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").WritingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "writing">;
@@ -18,7 +18,12 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../../../base-application/index.js';
20
20
  export default class DomainGenerator extends BaseApplicationGenerator {
21
- [x: string]: any;
21
+ [BaseApplicationGenerator.PREPARING_EACH_ENTITY]: any;
22
+ [BaseApplicationGenerator.PREPARING_EACH_ENTITY_FIELD]: any;
23
+ [BaseApplicationGenerator.PREPARING_EACH_ENTITY_RELATIONSHIP]: any;
24
+ [BaseApplicationGenerator.POST_PREPARING_EACH_ENTITY]: any;
25
+ [BaseApplicationGenerator.WRITING]: any;
26
+ [BaseApplicationGenerator.WRITING_ENTITIES]: any;
22
27
  generateEntities: boolean;
23
28
  useJakartaValidation: boolean;
24
29
  useJacksonIdentityInfo: boolean;
@@ -1,6 +1,11 @@
1
1
  import BaseApplicationGenerator from '../../../base-application/index.js';
2
2
  export default class GraalvmGenerator extends BaseApplicationGenerator {
3
- [x: string]: any;
3
+ [BaseApplicationGenerator.INITIALIZING]: any;
4
+ [BaseApplicationGenerator.LOADING]: any;
5
+ [BaseApplicationGenerator.PREPARING]: any;
6
+ [BaseApplicationGenerator.DEFAULT]: any;
7
+ [BaseApplicationGenerator.WRITING]: any;
8
+ [BaseApplicationGenerator.POST_WRITING]: any;
4
9
  beforeQueue(): Promise<void>;
5
10
  get initializing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/base/tasks.js").TaskParamWithControl, "forceConfig">;
6
11
  get loading(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").TaskParamWithApplicationDefaults<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "loading">;
@@ -1 +1 @@
1
- export declare const GRAALVM_REACHABILITY_METADATA = "0.3.14";
1
+ export declare const GRAALVM_REACHABILITY_METADATA = "0.3.20";
@@ -1,2 +1,2 @@
1
- // renovate: datasource=github-releases depName=graalvm-reachability-metadata oracle/graalvm-reachability-metadata
2
- export const GRAALVM_REACHABILITY_METADATA = '0.3.14';
1
+ // renovate: datasource=github-releases depName=graalvm-reachability-metadata packageName=oracle/graalvm-reachability-metadata
2
+ export const GRAALVM_REACHABILITY_METADATA = '0.3.20';
@@ -1,5 +1,5 @@
1
1
  [versions]
2
- nativeBuildTools = '0.10.5'
2
+ nativeBuildTools = '0.10.6'
3
3
 
4
4
  [libraries]
5
5
  nativeGradlePlugin = { module = 'org.graalvm.buildtools:native-gradle-plugin', version.ref = 'nativeBuildTools' }
@@ -18,7 +18,8 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../../../base-application/index.js';
20
20
  export default class JibGenerator extends BaseApplicationGenerator {
21
- [x: string]: any;
21
+ [BaseApplicationGenerator.COMPOSING]: any;
22
+ [BaseApplicationGenerator.WRITING]: any;
22
23
  beforeQueue(): Promise<void>;
23
24
  get composing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/base/tasks.js").TaskParamWithControl, "compose">;
24
25
  get writing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").WritingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "write">;
@@ -1,6 +1,9 @@
1
1
  import BaseApplicationGenerator from '../../../base-application/index.js';
2
2
  export default class NodeGenerator extends BaseApplicationGenerator {
3
- [x: string]: any;
3
+ [BaseApplicationGenerator.COMPOSING]: any;
4
+ [BaseApplicationGenerator.PREPARING]: any;
5
+ [BaseApplicationGenerator.POST_PREPARING]: any;
6
+ [BaseApplicationGenerator.WRITING]: any;
4
7
  beforeQueue(): Promise<void>;
5
8
  get composing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/base/tasks.js").TaskParamWithControl, "compose">;
6
9
  get preparing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").PreparingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "javaNodeBuildPaths">;
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import chalk from 'chalk';
20
20
  import BaseApplicationGenerator from '../../../base-application/index.js';
21
+ import { isWin32 } from '../../../base/support/os.js';
21
22
  export default class NodeGenerator extends BaseApplicationGenerator {
22
23
  async beforeQueue() {
23
24
  if (!this.fromBlueprint) {
@@ -104,7 +105,7 @@ export default class NodeGenerator extends BaseApplicationGenerator {
104
105
  await defaultInstallTask();
105
106
  return;
106
107
  }
107
- const npmCommand = process.platform === 'win32' ? 'npmw' : './npmw';
108
+ const npmCommand = isWin32 ? 'npmw' : './npmw';
108
109
  try {
109
110
  await this.spawn(npmCommand, ['install'], { preferLocal: true });
110
111
  }
@@ -18,7 +18,8 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../../../base-application/index.js';
20
20
  export default class OpenapiGeneratorGenerator extends BaseApplicationGenerator {
21
- [x: string]: any;
21
+ [BaseApplicationGenerator.WRITING]: any;
22
+ [BaseApplicationGenerator.POST_WRITING]: any;
22
23
  beforeQueue(): Promise<void>;
23
24
  get writing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").WritingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "writing" | "cleanup">;
24
25
  get postWriting(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").PostWritingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "addDependencies">;
@@ -18,7 +18,7 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../../../base-application/index.js';
20
20
  export default class ServerGenerator extends BaseApplicationGenerator {
21
- [x: string]: any;
21
+ [BaseApplicationGenerator.POST_WRITING]: any;
22
22
  beforeQueue(): Promise<void>;
23
23
  get postWriting(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").PostWritingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "packageJsonScripts" | "packageJsonBackendScripts" | "packageJsonE2eScripts">;
24
24
  }
@@ -22,6 +22,8 @@ export * from './checks/index.js';
22
22
  export * from './doc.js';
23
23
  export * from './files.js';
24
24
  export { default as generatedAnnotationTransform } from './generated-annotation-transform.js';
25
+ export * from './java-enum.js';
26
+ export * from './java-file-edit.js';
25
27
  export * from './java-formatting.js';
26
28
  export * from './key-store.js';
27
29
  export { default as packageInfoTransform } from './package-info-transform.js';
@@ -22,6 +22,8 @@ export * from './checks/index.js';
22
22
  export * from './doc.js';
23
23
  export * from './files.js';
24
24
  export { default as generatedAnnotationTransform } from './generated-annotation-transform.js';
25
+ export * from './java-enum.js';
26
+ export * from './java-file-edit.js';
25
27
  export * from './java-formatting.js';
26
28
  export * from './key-store.js';
27
29
  export { default as packageInfoTransform } from './package-info-transform.js';
@@ -0,0 +1,8 @@
1
+ type EnumNeedleOptions = {
2
+ enumName: string;
3
+ enumValues: string[];
4
+ needle?: string;
5
+ needleValuePrefix?: string;
6
+ };
7
+ export declare const createEnumNeedleCallback: ({ enumName, enumValues, needle, needleValuePrefix, }: EnumNeedleOptions) => import("../../base/api.js").EditFileCallback<import("../../index.js").GeneratorBaseCore>;
8
+ export {};
@@ -0,0 +1,20 @@
1
+ import { createNeedleCallback } from '../../base/support/needles.js';
2
+ export const createEnumNeedleCallback = ({ enumName, enumValues, needle = 'add-item-to-enum', needleValuePrefix = `${enumName} {\n`, }) => createNeedleCallback({
3
+ needle,
4
+ contentToAdd: (content, needleData) => {
5
+ const needleValueSuffix = `;\n`;
6
+ const needleValueSeparator = `,\n`;
7
+ let beforeContent = content.slice(0, needleData.needleLineIndex);
8
+ const afterContent = content.slice(needleData.needleLineIndex);
9
+ // Drop extra line ending if it exists, can be caused by prettier formatting
10
+ beforeContent = beforeContent.endsWith('/n/n') ? beforeContent.slice(0, -1) : beforeContent;
11
+ if (!beforeContent.includes(needleValuePrefix) || !beforeContent.endsWith(needleValueSuffix)) {
12
+ throw new Error(`Invalid file content ${beforeContent}, expected to contain ${needleValuePrefix}`);
13
+ }
14
+ const beforeNeedleContentIndex = beforeContent.lastIndexOf(needleValuePrefix) + needleValuePrefix.length;
15
+ const beforeNeedleContent = beforeContent.substring(0, beforeNeedleContentIndex);
16
+ let needleContent = beforeContent.substring(beforeNeedleContentIndex).slice(0, -needleValueSuffix.length);
17
+ needleContent = needleContent.trim() ? needleContent : '';
18
+ return `${beforeNeedleContent}${needleContent}${needleContent ? needleValueSeparator : ''}${enumValues.map(value => `${needleData.indentPrefix}${value}`).join(needleValueSeparator)}${needleValueSuffix}${afterContent}`;
19
+ },
20
+ });
@@ -0,0 +1,18 @@
1
+ export type JavaClassName = {
2
+ className: string;
3
+ };
4
+ export type JavaContructorParam = JavaClassName & {
5
+ param: string | string[];
6
+ };
7
+ export type JavaField = JavaClassName & {
8
+ field: string | string[];
9
+ };
10
+ export type JavaContructorSetter = JavaClassName & {
11
+ setter: string | string[];
12
+ };
13
+ export declare function injectJavaConstructorParam(options: JavaContructorParam): (content: string) => string;
14
+ export declare function injectJavaConstructorParam(content: string, options: JavaContructorParam): string;
15
+ export declare function injectJavaField(options: JavaField): (content: string) => string;
16
+ export declare function injectJavaField(content: string, options: JavaField): string;
17
+ export declare function injectJavaConstructorSetter(options: JavaContructorSetter): (content: string) => string;
18
+ export declare function injectJavaConstructorSetter(content: string, options: JavaContructorSetter): string;
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Copyright 2013-2025 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 assert from 'assert';
20
+ import { escapeRegExp } from 'lodash-es';
21
+ const findJavaConstructor = (content, className) => {
22
+ const regex = `(?<before>\\n(?<ident>[^\\S\\r\\n]*)(?:public|protect|private)?\\s*${className}\\s*\\()(?<params>[^(]*)(?<after>\\))\\s*\\{`;
23
+ const result = new RegExp(regex, 'g').exec(content);
24
+ if (!result || result.length === 1) {
25
+ throw new Error(`Constructor not found for ${className}`);
26
+ }
27
+ const paramStartIndex = result.index + result.groups.before.length;
28
+ const { params, ident } = result.groups;
29
+ return {
30
+ newLineIndex: result?.index,
31
+ params,
32
+ ident,
33
+ paramStartIndex,
34
+ paramEndIndex: paramStartIndex + params.length,
35
+ blockStartIndex: result.index + result[0].length,
36
+ };
37
+ };
38
+ export function injectJavaConstructorParam(paramOrAnnotation, options) {
39
+ const injectJavaConstructorParamToContent = (content, opts) => {
40
+ const { className } = opts;
41
+ const paramSpec = Array.isArray(opts.param) ? opts.param : [opts.param];
42
+ const { params: constructorParams, paramStartIndex, paramEndIndex } = findJavaConstructor(content, className);
43
+ const paramsToAdd = paramSpec.filter(param => !constructorParams.split(',').find(existing => existing.trim() === param.trim()));
44
+ if (paramsToAdd.length === 0) {
45
+ return content;
46
+ }
47
+ const newParams = constructorParams ? `${constructorParams}, ${paramsToAdd.join(', ')}` : paramSpec.join(', ');
48
+ return `${content.slice(0, paramStartIndex)}${newParams}${content.slice(paramEndIndex)}`;
49
+ };
50
+ if (typeof paramOrAnnotation === 'string') {
51
+ return injectJavaConstructorParamToContent(paramOrAnnotation, options);
52
+ }
53
+ return (content) => injectJavaConstructorParamToContent(content, paramOrAnnotation);
54
+ }
55
+ export function injectJavaField(paramOrOptions, options) {
56
+ const injectJavaFieldToContent = (content, opts) => {
57
+ assert(opts.className, 'className is required');
58
+ assert(opts.field, 'field is required');
59
+ const { className } = opts;
60
+ let fieldsToAdd = Array.isArray(opts.field) ? opts.field : [opts.field];
61
+ const { newLineIndex, ident } = findJavaConstructor(content, className);
62
+ fieldsToAdd = fieldsToAdd
63
+ .map(field => (field.trim() === field ? `${ident}${field}` : field))
64
+ .filter(field => !new RegExp(escapeRegExp(field)).test(content));
65
+ if (fieldsToAdd.length === 0) {
66
+ return content;
67
+ }
68
+ return `${content.slice(0, newLineIndex)}\n${fieldsToAdd.join('\n')}\n${content.slice(newLineIndex)}`;
69
+ };
70
+ if (typeof paramOrOptions === 'string') {
71
+ return injectJavaFieldToContent(paramOrOptions, options);
72
+ }
73
+ return (content) => injectJavaFieldToContent(content, paramOrOptions);
74
+ }
75
+ export function injectJavaConstructorSetter(paramOrAnnotation, options) {
76
+ const injectJavaConstructorParamToContent = (content, opts) => {
77
+ assert(opts.className, 'className is required');
78
+ assert(opts.setter, 'setter is required');
79
+ const { className } = opts;
80
+ let setterSpec = Array.isArray(opts.setter) ? opts.setter : [opts.setter];
81
+ const { ident, blockStartIndex } = findJavaConstructor(content, className);
82
+ setterSpec = setterSpec
83
+ .map(setter => (setter.trim() === setter ? `${ident.repeat(2)}${setter}` : setter))
84
+ .filter(setter => !new RegExp(escapeRegExp(setter)).test(content));
85
+ if (setterSpec.length === 0) {
86
+ return content;
87
+ }
88
+ return `${content.slice(0, blockStartIndex)}\n${setterSpec.join('\n')}\n${content.slice(blockStartIndex)}`;
89
+ };
90
+ if (typeof paramOrAnnotation === 'string') {
91
+ return injectJavaConstructorParamToContent(paramOrAnnotation, options);
92
+ }
93
+ return (content) => injectJavaConstructorParamToContent(content, paramOrAnnotation);
94
+ }
@@ -80,6 +80,8 @@ export type JavaApplication = JavaBootstrapStorageProperties &
80
80
 
81
81
  export type ConditionalJavaDefinition = JavaDefinition & { condition?: boolean };
82
82
 
83
+ export type SpringBean = { package: string; beanClass: string; beanName: string };
84
+
83
85
  export type JavaSourceType = {
84
86
  /**
85
87
  * Add a JavaDefinition to the application.
@@ -101,7 +103,41 @@ export type JavaSourceType = {
101
103
  */
102
104
  editJavaFile?: (
103
105
  file: string,
104
- { staticImports, imports, annotations }: { staticImports?: string[]; imports?: string[]; annotations?: JavaAnnotation[] },
106
+ options: {
107
+ staticImports?: string[];
108
+ imports?: string[];
109
+ annotations?: JavaAnnotation[];
110
+ /**
111
+ * Constructor parameters to add to the class.
112
+ */
113
+ constructorParams?: string[];
114
+ /**
115
+ * Fields to add to the class.
116
+ * Requires a valid constructor.
117
+ */
118
+ fields?: string[];
119
+ /**
120
+ * Spring beans to add to the class.
121
+ */
122
+ springBeans?: SpringBean[];
123
+ },
105
124
  ...editFileCallback: EditFileCallback[]
106
125
  ) => void;
126
+ /**
127
+ * Add enum values to a Java enum.
128
+ *
129
+ * @example
130
+ * ```js
131
+ * addItemsToJavaEnumFile('src/main/java/my/package/MyEnum.java', {
132
+ * enumValues: ['VALUE1', 'VALUE2'],
133
+ * });
134
+ * ```
135
+ */
136
+ addItemsToJavaEnumFile?: (
137
+ file: string,
138
+ options: {
139
+ enumName?: string;
140
+ enumValues: string[];
141
+ },
142
+ ) => void;
107
143
  };
@@ -1,6 +1,9 @@
1
1
  import BaseApplicationGenerator from '../../../base-application/index.js';
2
2
  export default class BootstrapGenerator extends BaseApplicationGenerator {
3
- [x: string]: any;
3
+ [BaseApplicationGenerator.LOADING]: any;
4
+ [BaseApplicationGenerator.PREPARING]: any;
5
+ [BaseApplicationGenerator.WRITING]: any;
6
+ [BaseApplicationGenerator.POST_WRITING]: any;
4
7
  beforeQueue(): Promise<void>;
5
8
  get loading(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").TaskParamWithApplicationDefaults<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "loadNodeDependencies" | "jsExtensions">;
6
9
  get preparing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").PreparingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "addSource">;
@@ -18,7 +18,10 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../../../base-application/index.js';
20
20
  export default class EslintGenerator extends BaseApplicationGenerator {
21
- [x: string]: any;
21
+ [BaseApplicationGenerator.LOADING]: any;
22
+ [BaseApplicationGenerator.PREPARING]: any;
23
+ [BaseApplicationGenerator.WRITING]: any;
24
+ [BaseApplicationGenerator.POST_WRITING]: any;
22
25
  beforeQueue(): Promise<void>;
23
26
  get loading(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").TaskParamWithApplicationDefaults<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "loadNodeDependencies">;
24
27
  get preparing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").PreparingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "source">;
@@ -50,7 +50,15 @@ export default [
50
50
  },
51
51
  <&- fragments.configSection() -&>
52
52
  // jhipster-needle-eslint-add-config - JHipster will add additional config here
53
+ <%_ if (locals.clientFrameworkAngular) { _%>
54
+ {
55
+ // Html templates require some work
56
+ ignores: ['**/*.html'],
57
+ extends: [prettier],
58
+ },
59
+ <%_ } else { _%>
53
60
  prettier,
61
+ <%_ } _%>
54
62
  <&- fragments.endConfigSection() -&>
55
63
  <%_ if (typescriptEslint) { _%>
56
64
  );
@@ -18,7 +18,9 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../../../base-application/index.js';
20
20
  export default class HuskyGenerator extends BaseApplicationGenerator {
21
- [x: string]: any;
21
+ [BaseApplicationGenerator.CONFIGURING]: any;
22
+ [BaseApplicationGenerator.WRITING]: any;
23
+ [BaseApplicationGenerator.POST_WRITING]: any;
22
24
  constructor(args: any, options: any, features: any);
23
25
  beforeQueue(): Promise<void>;
24
26
  get configuring(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/base/tasks.js").TaskParamWithControl, "configureNodeOptions">;
@@ -1,6 +1,9 @@
1
1
  import BaseApplicationGenerator from '../../../base-application/index.js';
2
2
  export default class PrettierGenerator extends BaseApplicationGenerator {
3
- [x: string]: any;
3
+ [BaseApplicationGenerator.LOADING]: any;
4
+ [BaseApplicationGenerator.PREPARING]: any;
5
+ [BaseApplicationGenerator.WRITING]: any;
6
+ [BaseApplicationGenerator.POST_WRITING]: any;
4
7
  fromInit?: boolean;
5
8
  prettierConfigFile: string;
6
9
  monorepositoryRoot?: boolean;
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "dependencies": {
3
- "eslint-config-prettier": "10.0.1",
4
- "eslint-plugin-prettier": "5.2.3",
3
+ "eslint-config-prettier": "10.1.2",
4
+ "eslint-plugin-prettier": "5.4.0",
5
5
  "husky": "9.1.7",
6
- "lint-staged": "15.4.3"
6
+ "lint-staged": "15.5.2"
7
7
  },
8
8
  "packageManager": "npm@11"
9
9
  }
@@ -7,7 +7,9 @@ type ApplicationWithEntitiesAndPath = ApplicationWithEntities & {
7
7
  sharedFs?: MemFs;
8
8
  };
9
9
  export default class JdlGenerator extends BaseGenerator {
10
- [x: string]: any;
10
+ [BaseGenerator.INITIALIZING]: any;
11
+ [BaseGenerator.CONFIGURING]: any;
12
+ [BaseGenerator.END]: any;
11
13
  jdlFiles?: string[];
12
14
  inline?: string;
13
15
  jdlContents: string[];
@@ -25,19 +25,7 @@ import { loadConfig, setupKubernetesConstants } from './kubernetes-base.js';
25
25
  * @extends {BaseWorkspacesGenerator}
26
26
  */
27
27
  export default class KubernetesGenerator extends BaseWorkspacesGenerator {
28
- [x: string]: {
29
- writeDeployments(): void;
30
- writeReadme(): void;
31
- writeNamespace(): void;
32
- writeMessagingBroker(): void;
33
- writeKeycloak(): void;
34
- writePrometheusGrafanaFiles(): void;
35
- writeRegistryFiles(): void;
36
- writeConfigRunFile(): void;
37
- writeObservabilityGatewayFiles(): void;
38
- writeKustomize(): void;
39
- writeSkaffold(): void;
40
- } | {
28
+ [BaseWorkspacesGenerator.INITIALIZING]: {
41
29
  sayHello(): void;
42
30
  existingDeployment(): void;
43
31
  loadDockerDependenciesTask: typeof loadDockerDependenciesTask;
@@ -45,7 +33,8 @@ export default class KubernetesGenerator extends BaseWorkspacesGenerator {
45
33
  checkKubernetes: () => Promise<void>;
46
34
  loadConfig: typeof loadConfig;
47
35
  setupKubernetesConstants: typeof setupKubernetesConstants;
48
- } | {
36
+ };
37
+ [BaseWorkspacesGenerator.PROMPTING]: {
49
38
  askForApplicationType: () => Promise<void>;
50
39
  askForPath: () => Promise<void>;
51
40
  askForApps: () => Promise<void>;
@@ -62,18 +51,35 @@ export default class KubernetesGenerator extends BaseWorkspacesGenerator {
62
51
  askForIngressDomain: typeof import("./prompts.js").askForIngressDomain;
63
52
  askForPersistentStorage: typeof import("./prompts.js").askForPersistentStorage;
64
53
  askForStorageClassName: typeof import("./prompts.js").askForStorageClassName;
65
- } | {
54
+ };
55
+ [BaseWorkspacesGenerator.CONFIGURING]: {
66
56
  generateJwtSecret: typeof generateJwtSecret;
67
- } | {
57
+ };
58
+ [BaseWorkspacesGenerator.LOADING]: {
68
59
  loadFromYoRc: typeof loadFromYoRc;
69
60
  loadSharedConfig(): void;
70
- } | {
61
+ };
62
+ [BaseWorkspacesGenerator.PREPARING]: {
71
63
  configureImageNames: typeof configureImageNames;
72
64
  setPostPromptProp(): void;
73
- } | {
65
+ };
66
+ [BaseWorkspacesGenerator.WRITING]: {
67
+ writeDeployments(): void;
68
+ writeReadme(): void;
69
+ writeNamespace(): void;
70
+ writeMessagingBroker(): void;
71
+ writeKeycloak(): void;
72
+ writePrometheusGrafanaFiles(): void;
73
+ writeRegistryFiles(): void;
74
+ writeConfigRunFile(): void;
75
+ writeObservabilityGatewayFiles(): void;
76
+ writeKustomize(): void;
77
+ writeSkaffold(): void;
78
+ };
79
+ [BaseWorkspacesGenerator.END]: {
74
80
  checkImages: typeof checkImages;
75
81
  deploy(): void;
76
- } | (() => Promise<void>) | ((databaseType: any, options?: {}) => string);
82
+ };
77
83
  beforeQueue(): Promise<void>;
78
84
  get initializing(): {
79
85
  sayHello(): void;
@@ -25,12 +25,7 @@ import { loadDockerDependenciesTask } from '../base-workspaces/internal/index.js
25
25
  * @extends {BaseWorkspacesGenerator}
26
26
  */
27
27
  export default class KubernetesHelmGenerator extends BaseWorkspacesGenerator {
28
- [x: string]: {
29
- writeAppChart(): void;
30
- writeCommonServiceChart(): void;
31
- writeReadme(): void;
32
- writeConfigRunFile(): void;
33
- } | {
28
+ [BaseWorkspacesGenerator.INITIALIZING]: {
34
29
  sayHello(): void;
35
30
  existingDeployment(): void;
36
31
  loadDockerDependenciesTask: typeof loadDockerDependenciesTask;
@@ -40,7 +35,8 @@ export default class KubernetesHelmGenerator extends BaseWorkspacesGenerator {
40
35
  loadConfig: typeof loadConfig;
41
36
  setupKubernetesConstants: typeof setupKubernetesConstants;
42
37
  setupHelmConstants: typeof setupHelmConstants;
43
- } | {
38
+ };
39
+ [BaseWorkspacesGenerator.PROMPTING]: {
44
40
  askForApplicationType: () => Promise<void>;
45
41
  askForPath: () => Promise<void>;
46
42
  askForApps: () => Promise<void>;
@@ -55,18 +51,28 @@ export default class KubernetesHelmGenerator extends BaseWorkspacesGenerator {
55
51
  askForKubernetesServiceType: typeof import("../kubernetes/prompts.js").askForKubernetesServiceType;
56
52
  askForIngressType: typeof import("../kubernetes/prompts.js").askForIngressType;
57
53
  askForIngressDomain: typeof import("../kubernetes/prompts.js").askForIngressDomain;
58
- } | {
54
+ };
55
+ [BaseWorkspacesGenerator.CONFIGURING]: {
59
56
  generateJwtSecret: typeof generateJwtSecret;
60
- } | {
57
+ };
58
+ [BaseWorkspacesGenerator.LOADING]: {
61
59
  loadFromYoRc: typeof loadFromYoRc;
62
60
  loadSharedConfig(): void;
63
- } | {
61
+ };
62
+ [BaseWorkspacesGenerator.PREPARING]: {
64
63
  configureImageNames: typeof configureImageNames;
65
64
  setPostPromptProp(): void;
66
- } | {
65
+ };
66
+ [BaseWorkspacesGenerator.WRITING]: {
67
+ writeAppChart(): void;
68
+ writeCommonServiceChart(): void;
69
+ writeReadme(): void;
70
+ writeConfigRunFile(): void;
71
+ };
72
+ [BaseWorkspacesGenerator.END]: {
67
73
  checkImages: typeof checkImages;
68
74
  deploy(): void;
69
- } | (() => Promise<void>) | ((databaseType: any, options?: {}) => string);
75
+ };
70
76
  beforeQueue(): Promise<void>;
71
77
  get initializing(): {
72
78
  sayHello(): void;
@@ -23,9 +23,8 @@ import { checkImages, configureImageNames, generateJwtSecret, loadFromYoRc } fro
23
23
  * @extends {BaseWorkspacesGenerator}
24
24
  */
25
25
  export default class KubernetesKnativeGenerator extends BaseWorkspacesGenerator {
26
- [x: string]: {
27
- writeGeneratorFiles(): void;
28
- } | import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "loadConfig" | "checkDocker" | "sayHello" | "loadDockerDependenciesTask" | "checkKubernetes" | "checkHelm" | "setupKubernetesConstants" | "setupHelmConstants" | "existingDeployment" | "checkKnative" | "localInit"> | {
26
+ [BaseWorkspacesGenerator.INITIALIZING]: import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "loadConfig" | "checkDocker" | "sayHello" | "loadDockerDependenciesTask" | "checkKubernetes" | "checkHelm" | "setupKubernetesConstants" | "setupHelmConstants" | "existingDeployment" | "checkKnative" | "localInit">;
27
+ [BaseWorkspacesGenerator.PROMPTING]: {
29
28
  askForPath: () => Promise<void>;
30
29
  askForApps: () => Promise<void>;
31
30
  askForGeneratorType: () => Promise<void>;
@@ -37,18 +36,25 @@ export default class KubernetesKnativeGenerator extends BaseWorkspacesGenerator
37
36
  askForDockerRepositoryName: () => Promise<void>;
38
37
  askForDockerPushCommand: () => Promise<void>;
39
38
  askForIngressDomain: typeof import("../kubernetes/prompts.js").askForIngressDomain;
40
- } | {
39
+ };
40
+ [BaseWorkspacesGenerator.CONFIGURING]: {
41
41
  generateJwtSecret: typeof generateJwtSecret;
42
- } | {
42
+ };
43
+ [BaseWorkspacesGenerator.LOADING]: {
43
44
  loadFromYoRc: typeof loadFromYoRc;
44
45
  loadSharedConfig(): void;
45
- } | {
46
+ };
47
+ [BaseWorkspacesGenerator.PREPARING]: {
46
48
  configureImageNames: typeof configureImageNames;
47
49
  setPostPromptProp(): void;
48
- } | {
50
+ };
51
+ [BaseWorkspacesGenerator.WRITING]: {
52
+ writeGeneratorFiles(): void;
53
+ };
54
+ [BaseWorkspacesGenerator.END]: {
49
55
  checkImages: typeof checkImages;
50
56
  deploy(): void;
51
- } | (() => Promise<void>) | ((databaseType: any, options?: {}) => string);
57
+ };
52
58
  beforeQueue(): Promise<void>;
53
59
  get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "loadConfig" | "checkDocker" | "sayHello" | "loadDockerDependenciesTask" | "checkKubernetes" | "checkHelm" | "setupKubernetesConstants" | "setupHelmConstants" | "existingDeployment" | "checkKnative" | "localInit">;
54
60
  get prompting(): {