generator-jhipster 8.2.1 → 8.3.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 (339) hide show
  1. package/dist/cli/environment-builder.mjs +3 -3
  2. package/dist/cli/jhipster-command.mjs +1 -2
  3. package/dist/cli/jhipster.cjs +0 -0
  4. package/dist/generators/angular/command.js +5 -0
  5. package/dist/generators/angular/generator.js +36 -9
  6. package/dist/generators/angular/index.js +1 -0
  7. package/dist/generators/angular/needle-api/needle-client-angular.js +3 -3
  8. package/dist/generators/angular/resources/package.json +13 -10
  9. package/dist/generators/angular/support/index.js +0 -1
  10. package/dist/generators/angular/support/translate-angular.js +142 -8
  11. package/dist/generators/angular/templates/package.json.ejs +0 -10
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -4
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +1 -1
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +1 -1
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +18 -26
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +1 -1
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +18 -25
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +1 -1
  20. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +10 -15
  21. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +1 -1
  22. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +31 -46
  23. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +1 -1
  24. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -8
  25. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +1 -1
  26. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +20 -31
  27. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +1 -1
  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/configuration/configuration.service.ts.ejs +1 -1
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -7
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.html.ejs +7 -12
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.model.ts.ejs +9 -5
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +5 -9
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +3 -3
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.ts.ejs +3 -3
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +12 -12
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.ts.ejs +4 -4
  40. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +36 -36
  41. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.ts.ejs +4 -4
  42. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +2 -2
  43. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.ts.ejs +3 -3
  44. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +33 -33
  45. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.ts.ejs +3 -3
  46. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
  47. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +8 -8
  48. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.ts.ejs +4 -4
  49. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +13 -13
  50. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.ts.ejs +3 -3
  51. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
  52. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +6 -6
  53. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +2 -1
  54. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -4
  55. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +26 -26
  56. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +3 -3
  57. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.ts.ejs +2 -2
  58. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -18
  59. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +1 -2
  60. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +20 -34
  61. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +1 -1
  62. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +0 -2
  63. package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +7 -7
  64. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +4 -4
  65. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +25 -25
  66. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +3 -3
  67. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.ts.ejs +2 -2
  68. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +14 -14
  69. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +0 -2
  70. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +1 -2
  71. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +17 -24
  72. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +0 -2
  73. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +14 -15
  74. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +1 -5
  75. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
  76. package/dist/generators/angular/templates/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
  77. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +11 -18
  78. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +1 -1
  79. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
  80. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +0 -2
  81. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  82. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.html.ejs +11 -12
  83. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +1 -2
  84. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +1 -1
  85. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +3 -3
  86. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.ts.ejs +1 -1
  87. package/dist/generators/app/generator.js +4 -4
  88. package/dist/generators/base/generator.js +21 -2
  89. package/dist/generators/base/shared-data.js +1 -2
  90. package/dist/generators/base/support/basename.js +1 -2
  91. package/dist/generators/base/support/needles.js +3 -5
  92. package/dist/generators/base/support/string.js +2 -2
  93. package/dist/generators/base-application/generator.js +4 -4
  94. package/dist/generators/base-application/support/entity.js +1 -2
  95. package/dist/generators/base-application/support/enum.js +2 -2
  96. package/dist/generators/base-application/support/prepare-entity.js +1 -1
  97. package/dist/generators/base-application/support/prepare-field.js +5 -6
  98. package/dist/generators/base-application/support/relationship.js +1 -2
  99. package/dist/generators/base-application/support/task-type-inference.js +6 -0
  100. package/dist/generators/base-core/generator.js +83 -14
  101. package/dist/generators/base-workspaces/internal/deployments.js +2 -2
  102. package/dist/generators/base-workspaces/internal/docker-dependencies.js +2 -2
  103. package/dist/generators/bootstrap/generator.js +4 -5
  104. package/dist/generators/bootstrap/internal/transform-utils.js +4 -0
  105. package/dist/generators/bootstrap/support/eslint-transform.js +2 -1
  106. package/dist/generators/bootstrap/support/java-unused-imports-transform.js +2 -1
  107. package/dist/generators/bootstrap/support/prettier-worker.js +2 -4
  108. package/dist/generators/bootstrap-application/generator.js +3 -4
  109. package/dist/generators/bootstrap-application-base/generator.js +4 -5
  110. package/dist/generators/bootstrap-application-base/utils.js +3 -3
  111. package/dist/generators/bootstrap-application-client/generator.js +2 -3
  112. package/dist/generators/bootstrap-application-server/generator.js +21 -15
  113. package/dist/generators/bootstrap-workspaces/generator.js +1 -2
  114. package/dist/generators/ci-cd/command.js +1 -2
  115. package/dist/generators/ci-cd/generator.js +3 -3
  116. package/dist/generators/client/command.js +1 -2
  117. package/dist/generators/client/generator.js +12 -12
  118. package/dist/generators/client/needle-api/needle-client-vue.js +2 -2
  119. package/dist/generators/client/resources/package.json +4 -4
  120. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
  121. package/dist/generators/common/generator.js +5 -5
  122. package/dist/generators/common/resources/package.json +1 -1
  123. package/dist/generators/cucumber/generator.js +17 -10
  124. package/dist/generators/cucumber/templates/buildSrc/src/main/groovy/jhipster.cucumber-conventions.gradle.ejs +1 -5
  125. package/dist/generators/cypress/generator.js +2 -3
  126. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/administration/administration.cy.ts.ejs +10 -0
  127. package/dist/generators/docker/generator.js +4 -6
  128. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +0 -32
  129. package/dist/generators/docker/utils.js +2 -3
  130. package/dist/generators/docker-compose/generator.js +4 -5
  131. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +0 -32
  132. package/dist/generators/entities/generator.js +4 -4
  133. package/dist/generators/entity/generator.js +10 -9
  134. package/dist/generators/entity/prompts.js +12 -12
  135. package/dist/generators/feign-client/generator.js +3 -4
  136. package/dist/generators/gatling/generator.js +2 -3
  137. package/dist/generators/generate-blueprint/files.js +1 -0
  138. package/dist/generators/generate-blueprint/generator.js +3 -4
  139. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +3 -2
  140. package/dist/generators/generate-blueprint/templates/generators/generator/command.mjs.ejs +19 -1
  141. package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +6 -0
  142. package/dist/generators/generator-constants.js +5 -2
  143. package/dist/generators/git/generator.js +3 -5
  144. package/dist/generators/gradle/command.js +32 -0
  145. package/dist/generators/gradle/constants.js +0 -1
  146. package/dist/generators/gradle/files.js +2 -8
  147. package/dist/generators/gradle/generator.js +85 -13
  148. package/dist/generators/gradle/generators/code-quality/generator.js +86 -0
  149. package/dist/generators/{java/cleanup.js → gradle/generators/code-quality/index.js} +1 -5
  150. package/dist/generators/gradle/generators/jib/generator.js +64 -0
  151. package/dist/generators/gradle/generators/jib/index.js +19 -0
  152. package/dist/generators/gradle/generators/node-gradle/generator.js +64 -0
  153. package/dist/generators/gradle/generators/node-gradle/index.js +19 -0
  154. package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +101 -0
  155. package/dist/generators/gradle/index.js +1 -0
  156. package/dist/generators/gradle/internal/needles.js +9 -3
  157. package/dist/generators/gradle/templates/buildSrc/build.gradle.ejs +3 -2
  158. package/dist/generators/gradle/templates/buildSrc/gradle/libs.versions.toml.ejs +8 -1
  159. package/dist/generators/gradle/templates/gradle/wrapper/{gradle-wrapper.properties.ejs → gradle-wrapper.properties} +1 -1
  160. package/dist/generators/heroku/generator.js +3 -3
  161. package/dist/generators/init/generator.js +3 -4
  162. package/dist/generators/init/resources/.node-version +1 -0
  163. package/dist/generators/java/command.js +2 -38
  164. package/dist/generators/java/generator.js +5 -260
  165. package/dist/generators/java/generators/bootstrap/command.js +35 -0
  166. package/dist/generators/java/generators/bootstrap/generator.js +178 -0
  167. package/dist/generators/java/generators/bootstrap/index.js +20 -0
  168. package/dist/generators/java/generators/build-tool/command.js +42 -0
  169. package/dist/generators/java/generators/build-tool/generator.js +143 -0
  170. package/dist/generators/java/generators/build-tool/index.js +20 -0
  171. package/dist/generators/java/generators/code-quality/command.js +5 -0
  172. package/dist/generators/java/generators/code-quality/generator.js +91 -0
  173. package/dist/generators/java/generators/code-quality/index.js +20 -0
  174. package/dist/generators/java/generators/domain/command.js +30 -0
  175. package/dist/generators/java/{entity-files.js → generators/domain/entity-files.js} +1 -1
  176. package/dist/generators/java/generators/domain/generator.js +153 -0
  177. package/dist/generators/java/generators/domain/index.js +20 -0
  178. package/dist/generators/java/generators/jib/command.js +5 -0
  179. package/dist/generators/java/generators/jib/generator.js +97 -0
  180. package/dist/generators/java/generators/jib/index.js +20 -0
  181. package/dist/generators/{server → java/generators/jib}/templates/src/main/docker/jib/entrypoint.sh.ejs +2 -0
  182. package/dist/generators/java/generators/node/command.js +5 -0
  183. package/dist/generators/java/generators/node/generator.js +97 -0
  184. package/dist/generators/java/generators/node/index.js +20 -0
  185. package/dist/generators/java/support/index.js +1 -0
  186. package/dist/generators/jdl/generator.js +6 -9
  187. package/dist/generators/kubernetes/generator.js +1 -1
  188. package/dist/generators/kubernetes/kubernetes-base.js +3 -3
  189. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +0 -32
  190. package/dist/generators/kubernetes-helm/generator.js +1 -1
  191. package/dist/generators/kubernetes-knative/generator.js +1 -1
  192. package/dist/generators/languages/entity-files.js +3 -2
  193. package/dist/generators/languages/generator.js +7 -10
  194. package/dist/generators/languages/support/translate.js +34 -9
  195. package/dist/generators/languages/translation-data.js +4 -5
  196. package/dist/generators/liquibase/generator.js +68 -25
  197. package/dist/generators/liquibase/support/maven-plugin.js +6 -0
  198. package/dist/generators/liquibase/templates/gradle/liquibase.gradle.ejs +3 -6
  199. package/dist/generators/maven/generator.js +14 -6
  200. package/dist/generators/maven/generators/code-quality/command.js +5 -0
  201. package/dist/generators/maven/generators/code-quality/generator.js +268 -0
  202. package/dist/generators/maven/generators/code-quality/index.js +20 -0
  203. package/dist/generators/maven/generators/frontend-plugin/command.js +5 -0
  204. package/dist/generators/maven/generators/frontend-plugin/generator.js +295 -0
  205. package/dist/generators/maven/generators/frontend-plugin/index.js +20 -0
  206. package/dist/generators/maven/generators/jib/command.js +5 -0
  207. package/dist/generators/maven/generators/jib/generator.js +136 -0
  208. package/dist/generators/maven/generators/jib/index.js +20 -0
  209. package/dist/generators/maven/internal/xml-store.js +1 -2
  210. package/dist/generators/maven/support/dependabot-maven.js +12 -2
  211. package/dist/generators/maven/support/pom-store.js +1 -2
  212. package/dist/generators/project-name/generator.js +9 -11
  213. package/dist/generators/react/generator.js +25 -6
  214. package/dist/generators/react/needle-api/needle-client-react.js +2 -2
  215. package/dist/generators/react/resources/package.json +18 -15
  216. package/dist/generators/react/templates/package.json.ejs +1 -7
  217. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/tracker/tracker.tsx.ejs +2 -2
  218. package/dist/generators/server/command.js +2 -34
  219. package/dist/generators/server/generator.js +20 -154
  220. package/dist/generators/server/jdl/application-definition.js +1 -2
  221. package/dist/generators/server/prompts.js +4 -46
  222. package/dist/generators/server/resources/Dockerfile +7 -7
  223. package/dist/generators/server/resources/build.gradle +1 -0
  224. package/dist/generators/server/resources/gradle/libs.versions.toml +25 -7
  225. package/dist/generators/server/resources/pom.xml +4 -22
  226. package/dist/generators/server/support/prepare-field.js +1 -2
  227. package/dist/generators/server/templates/build.gradle.ejs +29 -143
  228. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -1
  229. package/dist/generators/server/templates/gradle.properties.ejs +0 -7
  230. package/dist/generators/server/templates/pom.xml.ejs +23 -444
  231. package/dist/generators/server/templates/settings.gradle.ejs +0 -4
  232. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +15 -3
  233. package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_imperative.java.ejs +4 -1
  234. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +15 -4
  235. package/dist/generators/server/templates/src/test/java/_package_/IntegrationTest.java.ejs +0 -2
  236. package/dist/generators/server/templates/src/test/java/_package_/config/TestContainersSpringContextCustomizerFactory.java.ejs +71 -46
  237. package/dist/generators/server/templates/src/test/java/_package_/security/jwt/AuthenticationIntegrationTest.java.ejs +0 -3
  238. package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +1 -1
  239. package/dist/generators/spring-boot/command.js +31 -2
  240. package/dist/generators/spring-boot/entity-files.js +2 -2
  241. package/dist/generators/spring-boot/files.js +3 -38
  242. package/dist/generators/spring-boot/generator.js +98 -37
  243. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +105 -105
  244. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +2 -2
  245. package/dist/generators/spring-cache/generator.js +11 -6
  246. package/dist/generators/spring-cache/internal/dependencies.js +5 -0
  247. package/dist/generators/spring-cache/resources/build.gradle +1 -0
  248. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +15 -0
  249. package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainersSpringContextCustomizerFactory.java.ejs +29 -13
  250. package/dist/generators/spring-cloud/generators/gateway/command.js +5 -0
  251. package/dist/generators/spring-cloud/generators/gateway/generator.js +146 -0
  252. package/dist/generators/spring-cloud/generators/gateway/index.js +20 -0
  253. package/dist/generators/spring-cloud-stream/generator.js +2 -3
  254. package/dist/generators/spring-cloud-stream/generators/kafka/generator.js +2 -2
  255. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/config/KafkaTestContainersSpringContextCustomizerFactory.java.ejs +28 -12
  256. package/dist/generators/spring-cloud-stream/generators/pulsar/generator.js +2 -2
  257. package/dist/generators/spring-cloud-stream/generators/pulsar/templates/src/test/java/_package_/config/PulsarTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
  258. package/dist/generators/spring-data-cassandra/generator.js +5 -6
  259. package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
  260. package/dist/generators/spring-data-couchbase/generator.js +3 -4
  261. package/dist/generators/spring-data-elasticsearch/generator.js +3 -5
  262. package/dist/generators/spring-data-mongodb/generator.js +5 -5
  263. package/dist/generators/spring-data-neo4j/generator.js +11 -5
  264. package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainersSpringContextCustomizerFactory.java.ejs +32 -16
  265. package/dist/generators/spring-data-relational/generator.js +6 -7
  266. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +47 -32
  267. package/dist/generators/spring-websocket/generator.js +2 -3
  268. package/dist/generators/statistics.js +2 -2
  269. package/dist/generators/upgrade/generator.js +4 -3
  270. package/dist/generators/vue/generator.js +4 -4
  271. package/dist/generators/vue/resources/package.json +18 -15
  272. package/dist/generators/vue/templates/package.json.ejs +3 -3
  273. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.spec.ts.ejs +1 -1
  274. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +1 -1
  275. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +3 -3
  276. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.vue.ejs +2 -2
  277. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +4 -3
  278. package/dist/generators/vue/templates/vite.config.mts.ejs +6 -0
  279. package/dist/generators/workspaces/generator.js +5 -4
  280. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +2 -2
  281. package/dist/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +3 -3
  282. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +2 -2
  283. package/dist/jdl/jdl-importer.js +1 -2
  284. package/dist/jdl/jhipster/default-application-options.js +1 -1
  285. package/dist/jdl/jhipster/field-types.js +2 -2
  286. package/dist/jdl/jhipster/relationship-types.js +1 -2
  287. package/dist/jdl/models/jdl-deployment.js +1 -2
  288. package/dist/jdl/parsing/api.js +2 -2
  289. package/dist/jdl/parsing/lexer/token-creator.js +1 -2
  290. package/dist/jdl/parsing/self-checks/parsing-system-checker.js +13 -13
  291. package/dist/jdl/parsing/validator.js +5 -5
  292. package/dist/testing/get-generator.js +1 -1
  293. package/dist/testing/helpers.js +34 -9
  294. package/dist/types/generators/angular/support/index.d.ts +0 -1
  295. package/dist/types/generators/angular/support/translate-angular.d.ts +7 -4
  296. package/dist/types/generators/app/support/config.d.ts +1 -1
  297. package/dist/types/generators/base/api.d.ts +7 -0
  298. package/dist/types/generators/base/generator.d.ts +1 -1
  299. package/dist/types/generators/base-application/generator.d.ts +4 -4
  300. package/dist/types/generators/base-application/support/task-type-inference.d.ts +3 -0
  301. package/dist/types/generators/base-application/support/update-application-entities-transform.d.ts +1 -1
  302. package/dist/types/generators/base-core/generator.d.ts +33 -1
  303. package/dist/types/generators/bootstrap/internal/transform-utils.d.ts +1 -0
  304. package/dist/types/generators/bootstrap/support/java-unused-imports-transform.d.ts +1 -1
  305. package/dist/types/generators/bootstrap-application-base/support/export-jdl-transform.d.ts +2 -2
  306. package/dist/types/generators/docker/utils.d.ts +7 -0
  307. package/dist/types/generators/generator-constants.d.ts +2 -20
  308. package/dist/types/generators/gradle/types.d.ts +21 -7
  309. package/dist/types/generators/java/support/index.d.ts +1 -0
  310. package/dist/types/generators/java/types.d.ts +37 -22
  311. package/dist/types/generators/languages/support/translate.d.ts +29 -0
  312. package/dist/types/generators/maven/support/dependabot-maven.d.ts +17 -1
  313. package/dist/types/generators/project-name/support/name-resolver.d.ts +1 -1
  314. package/dist/types/generators/server/types.d.ts +2 -0
  315. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +0 -18
  316. package/dist/types/testing/helpers.d.ts +6 -0
  317. package/dist/types/testing/support/matrix-utils.d.ts +1 -1
  318. package/package.json +15 -27
  319. package/dist/generators/java/files.js +0 -20
  320. /package/dist/generators/{server → gradle/generators/code-quality}/templates/buildSrc/src/main/groovy/jhipster.code-quality-conventions.gradle.ejs +0 -0
  321. /package/dist/generators/{server → gradle/generators/jib}/templates/buildSrc/src/main/groovy/jhipster.docker-conventions.gradle.ejs +0 -0
  322. /package/dist/generators/java/{templates → generators/bootstrap/templates}/src/main/java/_package_/GeneratedByJHipster.java.ejs +0 -0
  323. /package/dist/generators/{server → java/generators/code-quality}/templates/checkstyle.xml.ejs +0 -0
  324. /package/dist/generators/java/{templates → generators/domain/templates}/_global_partials_entity_/field_validators.ejs +0 -0
  325. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +0 -0
  326. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jackson_identity_info.ejs +0 -0
  327. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_validation.ejs +0 -0
  328. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/enumeration/_enumName_.java.ejs +0 -0
  329. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +0 -0
  330. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +0 -0
  331. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_TestSamples.java.ejs +0 -0
  332. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/domain/AssertUtils.java.ejs +0 -0
  333. /package/dist/generators/{server → java/generators/node}/templates/npmw +0 -0
  334. /package/dist/generators/{server → java/generators/node}/templates/npmw.cmd +0 -0
  335. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/security/jwt/JWTRelayGatewayFilterFactory.java.ejs +0 -0
  336. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/filter/ModifyServersOpenApiFilter.java.ejs +0 -0
  337. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/GatewayResource.java.ejs +0 -0
  338. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/vm/RouteVM.java.ejs +0 -0
  339. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/test/java/_package_/web/filter/ModifyServersOpenApiFilterTest.java.ejs +0 -0
@@ -0,0 +1,295 @@
1
+ /**
2
+ * Copyright 2013-2024 the original author or authors from the JHipster project.
3
+ *
4
+ * This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ * for more information.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * https://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ import BaseApplicationGenerator from '../../../base-application/index.js';
20
+ export default class FrontendPluginGenerator extends BaseApplicationGenerator {
21
+ async beforeQueue() {
22
+ if (!this.fromBlueprint) {
23
+ await this.composeWithBlueprints();
24
+ }
25
+ if (!this.delegateToBlueprint) {
26
+ await this.dependsOnBootstrapApplication();
27
+ await this.dependsOnJHipster('maven');
28
+ }
29
+ }
30
+ get initializing() {
31
+ return this.asInitializingTaskGroup({
32
+ async parseCommand() {
33
+ await this.parseCurrentJHipsterCommand();
34
+ },
35
+ });
36
+ }
37
+ get [BaseApplicationGenerator.INITIALIZING]() {
38
+ return this.delegateTasksToBlueprint(() => this.initializing);
39
+ }
40
+ get prompting() {
41
+ return this.asPromptingTaskGroup({
42
+ async promptCommand({ control }) {
43
+ if (control.existingProject && this.options.askAnswered !== true)
44
+ return;
45
+ await this.promptCurrentJHipsterCommand();
46
+ },
47
+ });
48
+ }
49
+ get [BaseApplicationGenerator.PROMPTING]() {
50
+ return this.delegateTasksToBlueprint(() => this.prompting);
51
+ }
52
+ get loading() {
53
+ return this.asLoadingTaskGroup({
54
+ async loadConfig({ application }) {
55
+ await this.loadCurrentJHipsterCommandConfig(application);
56
+ },
57
+ });
58
+ }
59
+ get [BaseApplicationGenerator.LOADING]() {
60
+ return this.delegateTasksToBlueprint(() => this.loading);
61
+ }
62
+ get postWriting() {
63
+ return this.asPostWritingTaskGroup({
64
+ customize({ application, source }) {
65
+ const { javaDependencies, nodeDependencies, nodeVersion, clientFrameworkAngular, clientFrameworkReact, clientFrameworkVue, microfrontend, srcMainWebapp, } = application;
66
+ const checksumIncludedFiles = [
67
+ `${srcMainWebapp}**/*.*`,
68
+ 'target/classes/static/**/*.*',
69
+ 'package-lock.json',
70
+ 'package.json',
71
+ 'tsconfig.json',
72
+ ];
73
+ if (clientFrameworkAngular) {
74
+ checksumIncludedFiles.push('tsconfig.app.json', 'webpack/*.*');
75
+ }
76
+ else if (clientFrameworkReact) {
77
+ checksumIncludedFiles.push('.postcss.config.js', 'webpack/*.*');
78
+ }
79
+ else if (clientFrameworkVue) {
80
+ checksumIncludedFiles.push('.postcssrc.js', 'tsconfig.app.json');
81
+ if (microfrontend) {
82
+ checksumIncludedFiles.push('webpack/*.*');
83
+ }
84
+ else {
85
+ checksumIncludedFiles.push('vite.config.ts');
86
+ }
87
+ }
88
+ source.addMavenDefinition({
89
+ properties: [
90
+ { property: 'node.version', value: `v${nodeVersion}` },
91
+ { property: 'npm.version', value: nodeDependencies.npm },
92
+ {
93
+ property: 'frontend-maven-plugin.version',
94
+ value: javaDependencies['frontend-maven-plugin'],
95
+ },
96
+ {
97
+ property: 'checksum-maven-plugin.version',
98
+ value: javaDependencies['checksum-maven-plugin'],
99
+ },
100
+ {
101
+ property: 'maven-antrun-plugin.version',
102
+ value: javaDependencies['maven-antrun-plugin'],
103
+ },
104
+ ],
105
+ pluginManagement: [
106
+ {
107
+ groupId: 'com.github.eirslett',
108
+ artifactId: 'frontend-maven-plugin',
109
+ // eslint-disable-next-line no-template-curly-in-string
110
+ version: '${frontend-maven-plugin.version}',
111
+ additionalContent: `<configuration>
112
+ <installDirectory>target</installDirectory>
113
+ <nodeVersion>\${node.version}</nodeVersion>
114
+ <npmVersion>\${npm.version}</npmVersion>
115
+ </configuration>`,
116
+ },
117
+ {
118
+ groupId: 'net.nicoulaj.maven.plugins',
119
+ artifactId: 'checksum-maven-plugin',
120
+ // eslint-disable-next-line no-template-curly-in-string
121
+ version: '${checksum-maven-plugin.version}',
122
+ },
123
+ {
124
+ groupId: 'org.apache.maven.plugins',
125
+ artifactId: 'maven-antrun-plugin',
126
+ // eslint-disable-next-line no-template-curly-in-string
127
+ version: '${maven-antrun-plugin.version}',
128
+ },
129
+ ],
130
+ plugins: [
131
+ {
132
+ inProfile: 'webapp',
133
+ groupId: 'net.nicoulaj.maven.plugins',
134
+ artifactId: 'checksum-maven-plugin',
135
+ additionalContent: `
136
+ <executions>
137
+ <execution>
138
+ <id>create-pre-compiled-webapp-checksum</id>
139
+ <goals>
140
+ <goal>files</goal>
141
+ </goals>
142
+ <phase>generate-resources</phase>
143
+ </execution>
144
+ <execution>
145
+ <id>create-compiled-webapp-checksum</id>
146
+ <goals>
147
+ <goal>files</goal>
148
+ </goals>
149
+ <phase>compile</phase>
150
+ <configuration>
151
+ <csvSummaryFile>checksums.csv.old</csvSummaryFile>
152
+ </configuration>
153
+ </execution>
154
+ </executions>
155
+ <configuration>
156
+ <fileSets>
157
+ <fileSet>
158
+ <directory>\${project.basedir}</directory>
159
+ <includes>${checksumIncludedFiles
160
+ .map(file => `
161
+ <include>${file}</include>`)
162
+ .join('')}
163
+ </includes>
164
+ <excludes>
165
+ <exclude>**/app/**/service-worker.js</exclude>
166
+ <exclude>**/app/**/vendor.css</exclude>
167
+ </excludes>
168
+ </fileSet>
169
+ </fileSets>
170
+ <failOnError>false</failOnError>
171
+ <failIfNoFiles>false</failIfNoFiles>
172
+ <individualFiles>false</individualFiles>
173
+ <algorithms>
174
+ <algorithm>SHA-1</algorithm>
175
+ </algorithms>
176
+ <includeRelativePath>true</includeRelativePath>
177
+ <quiet>true</quiet>
178
+ </configuration>`,
179
+ },
180
+ {
181
+ inProfile: 'webapp',
182
+ groupId: 'org.apache.maven.plugins',
183
+ artifactId: 'maven-antrun-plugin',
184
+ additionalContent: `
185
+ <executions>
186
+ <execution>
187
+ <id>eval-frontend-checksum</id>
188
+ <phase>generate-resources</phase>
189
+ <goals>
190
+ <goal>run</goal>
191
+ </goals>
192
+ <configuration>
193
+ <target>
194
+ <condition property="skip.npm" value="true" else="false" >
195
+ <and>
196
+ <available file="checksums.csv" filepath="\${project.build.directory}" />
197
+ <available file="checksums.csv.old" filepath="\${project.build.directory}" />
198
+ <filesmatch file1="\${project.build.directory}/checksums.csv" file2="\${project.build.directory}/checksums.csv.old" />
199
+ </and>
200
+ </condition>
201
+ </target>
202
+ <exportAntProperties>true</exportAntProperties>
203
+ </configuration>
204
+ </execution>
205
+ </executions>
206
+ `,
207
+ },
208
+ {
209
+ inProfile: 'webapp',
210
+ groupId: 'com.github.eirslett',
211
+ artifactId: 'frontend-maven-plugin',
212
+ additionalContent: `
213
+ <executions>
214
+ <execution>
215
+ <id>install-node-and-npm</id>
216
+ <goals>
217
+ <goal>install-node-and-npm</goal>
218
+ </goals>
219
+ </execution>
220
+ <execution>
221
+ <id>npm install</id>
222
+ <goals>
223
+ <goal>npm</goal>
224
+ </goals>
225
+ </execution>
226
+ <execution>
227
+ <id>webapp build dev</id>
228
+ <goals>
229
+ <goal>npm</goal>
230
+ </goals>
231
+ <phase>generate-resources</phase>
232
+ <configuration>
233
+ <arguments>run webapp:build</arguments>
234
+ <environmentVariables>
235
+ <APP_VERSION>\${project.version}</APP_VERSION>
236
+ </environmentVariables>
237
+ <npmInheritsProxyConfigFromMaven>false</npmInheritsProxyConfigFromMaven>
238
+ </configuration>
239
+ </execution>
240
+ </executions>`,
241
+ },
242
+ {
243
+ inProfile: 'prod',
244
+ groupId: 'com.github.eirslett',
245
+ artifactId: 'frontend-maven-plugin',
246
+ additionalContent: `
247
+ <executions>
248
+ <execution>
249
+ <id>install-node-and-npm</id>
250
+ <goals>
251
+ <goal>install-node-and-npm</goal>
252
+ </goals>
253
+ </execution>
254
+ <execution>
255
+ <id>npm install</id>
256
+ <goals>
257
+ <goal>npm</goal>
258
+ </goals>
259
+ </execution>
260
+ <execution>
261
+ <id>webapp build test</id>
262
+ <goals>
263
+ <goal>npm</goal>
264
+ </goals>
265
+ <phase>test</phase>
266
+ <configuration>
267
+ <arguments>run webapp:test</arguments>
268
+ <npmInheritsProxyConfigFromMaven>false</npmInheritsProxyConfigFromMaven>
269
+ </configuration>
270
+ </execution>
271
+ <execution>
272
+ <id>webapp build prod</id>
273
+ <goals>
274
+ <goal>npm</goal>
275
+ </goals>
276
+ <phase>generate-resources</phase>
277
+ <configuration>
278
+ <arguments>run webapp:prod</arguments>
279
+ <environmentVariables>
280
+ <APP_VERSION>\${project.version}</APP_VERSION>
281
+ </environmentVariables>
282
+ <npmInheritsProxyConfigFromMaven>false</npmInheritsProxyConfigFromMaven>
283
+ </configuration>
284
+ </execution>
285
+ </executions>`,
286
+ },
287
+ ],
288
+ });
289
+ },
290
+ });
291
+ }
292
+ get [BaseApplicationGenerator.POST_WRITING]() {
293
+ return this.delegateTasksToBlueprint(() => this.postWriting);
294
+ }
295
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright 2013-2024 the original author or authors from the JHipster project.
3
+ *
4
+ * This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ * for more information.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * https://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ export { default } from './generator.js';
20
+ export { default as command } from './command.js';
@@ -0,0 +1,5 @@
1
+ const command = {
2
+ configs: {},
3
+ import: [],
4
+ };
5
+ export default command;
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Copyright 2013-2024 the original author or authors from the JHipster project.
3
+ *
4
+ * This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ * for more information.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * https://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ import BaseApplicationGenerator from '../../../base-application/index.js';
20
+ export default class JibGenerator extends BaseApplicationGenerator {
21
+ async beforeQueue() {
22
+ if (!this.fromBlueprint) {
23
+ await this.composeWithBlueprints();
24
+ }
25
+ if (!this.delegateToBlueprint) {
26
+ await this.dependsOnBootstrapApplication();
27
+ await this.dependsOnJHipster('maven');
28
+ }
29
+ }
30
+ get initializing() {
31
+ return this.asInitializingTaskGroup({
32
+ async parseCommand() {
33
+ await this.parseCurrentJHipsterCommand();
34
+ },
35
+ });
36
+ }
37
+ get [BaseApplicationGenerator.INITIALIZING]() {
38
+ return this.delegateTasksToBlueprint(() => this.initializing);
39
+ }
40
+ get prompting() {
41
+ return this.asPromptingTaskGroup({
42
+ async promptCommand({ control }) {
43
+ if (control.existingProject && this.options.askAnswered !== true)
44
+ return;
45
+ await this.promptCurrentJHipsterCommand();
46
+ },
47
+ });
48
+ }
49
+ get [BaseApplicationGenerator.PROMPTING]() {
50
+ return this.delegateTasksToBlueprint(() => this.prompting);
51
+ }
52
+ get loading() {
53
+ return this.asLoadingTaskGroup({
54
+ async loadConfig({ application }) {
55
+ await this.loadCurrentJHipsterCommandConfig(application);
56
+ },
57
+ });
58
+ }
59
+ get [BaseApplicationGenerator.LOADING]() {
60
+ return this.delegateTasksToBlueprint(() => this.loading);
61
+ }
62
+ get postWriting() {
63
+ return this.asPostWritingTaskGroup({
64
+ addJibPlugin({ application, source }) {
65
+ const { baseName, serverPort, javaDependencies, dockerContainers, dockerServicesDir } = application;
66
+ const { cacheProviderHazelcast, cacheProviderInfinispan } = application;
67
+ source.addMavenDefinition?.({
68
+ properties: [
69
+ { property: 'jib-maven-plugin.version', value: javaDependencies['jib-maven-plugin'] },
70
+ { property: 'jib-maven-plugin.image', value: dockerContainers.javaJre },
71
+ { property: 'jib-maven-plugin.architecture', value: 'amd64' },
72
+ ],
73
+ plugins: [{ groupId: 'com.google.cloud.tools', artifactId: 'jib-maven-plugin' }],
74
+ pluginManagement: [
75
+ {
76
+ groupId: 'com.google.cloud.tools',
77
+ artifactId: 'jib-maven-plugin',
78
+ // eslint-disable-next-line no-template-curly-in-string
79
+ version: '${jib-maven-plugin.version}',
80
+ additionalContent: `<configuration>
81
+ <from>
82
+ <image>\${jib-maven-plugin.image}</image>
83
+ <platforms>
84
+ <platform>
85
+ <architecture>\${jib-maven-plugin.architecture}</architecture>
86
+ <os>linux</os>
87
+ </platform>
88
+ </platforms>
89
+ </from>
90
+ <to>
91
+ <image>${baseName.toLowerCase()}:latest</image>
92
+ </to>
93
+ <container>
94
+ <entrypoint>
95
+ <shell>bash</shell>
96
+ <option>-c</option>
97
+ <arg>/entrypoint.sh</arg>
98
+ </entrypoint>
99
+ <ports>
100
+ <port>${serverPort}</port>${cacheProviderHazelcast
101
+ ? `
102
+ <port>5701/udp</port>
103
+ `
104
+ : ''}
105
+ </ports>
106
+ <environment>${cacheProviderInfinispan
107
+ ? `
108
+ <JAVA_OPTS>-Djgroups.tcp.address=NON_LOOPBACK -Djava.net.preferIPv4Stack=true</JAVA_OPTS>
109
+ `
110
+ : ''}
111
+ <SPRING_OUTPUT_ANSI_ENABLED>ALWAYS</SPRING_OUTPUT_ANSI_ENABLED>
112
+ <JHIPSTER_SLEEP>0</JHIPSTER_SLEEP>
113
+ </environment>
114
+ <creationTime>USE_CURRENT_TIMESTAMP</creationTime>
115
+ <user>1000</user>
116
+ </container>
117
+ <extraDirectories>
118
+ <paths>${dockerServicesDir}jib</paths>
119
+ <permissions>
120
+ <permission>
121
+ <file>/entrypoint.sh</file>
122
+ <mode>755</mode>
123
+ </permission>
124
+ </permissions>
125
+ </extraDirectories>
126
+ </configuration>`,
127
+ },
128
+ ],
129
+ });
130
+ },
131
+ });
132
+ }
133
+ get [BaseApplicationGenerator.POST_WRITING]() {
134
+ return this.delegateTasksToBlueprint(() => this.postWriting);
135
+ }
136
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright 2013-2024 the original author or authors from the JHipster project.
3
+ *
4
+ * This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ * for more information.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * https://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ export { default } from './generator.js';
20
+ export { default as command } from './command.js';
@@ -18,8 +18,7 @@
18
18
  */
19
19
  import assert from 'assert';
20
20
  import { XMLParser, XMLBuilder } from 'fast-xml-parser';
21
- import * as _ from 'lodash-es';
22
- const { merge } = _;
21
+ import { merge } from 'lodash-es';
23
22
  const defaultXmlCommonOptions = {
24
23
  ignoreAttributes: false,
25
24
  attributeNamePrefix: '@@',
@@ -24,13 +24,23 @@ import { XMLParser } from 'fast-xml-parser';
24
24
  export function getPomProperties(pomContent) {
25
25
  return new XMLParser().parse(pomContent).project.properties;
26
26
  }
27
+ /**
28
+ * Extract version properties from pom content
29
+ * @param fileContent
30
+ */
31
+ export function parseMavenPom(fileContent) {
32
+ return new XMLParser().parse(fileContent);
33
+ }
27
34
  /**
28
35
  * Extract version properties from pom content
29
36
  * @param pomContent
30
37
  */
31
38
  export function getPomVersionProperties(pomContent) {
32
- const { properties, version, artifactId } = new XMLParser().parse(pomContent).project;
33
- const versions = Object.fromEntries(Object.entries(properties)
39
+ if (typeof pomContent === 'string') {
40
+ pomContent = parseMavenPom(pomContent);
41
+ }
42
+ const { properties, version, artifactId } = pomContent.project;
43
+ const versions = Object.fromEntries(Object.entries(properties ?? [])
34
44
  .filter(([property]) => property.endsWith('.version'))
35
45
  .map(([property, value]) => [property.slice(0, -8), value]));
36
46
  if (version && artifactId) {
@@ -16,10 +16,9 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import * as _ from 'lodash-es';
19
+ import { set, get } from 'lodash-es';
20
20
  import sortKeys from 'sort-keys';
21
21
  import XmlStorage from '../internal/xml-store.js';
22
- const { set, get } = _;
23
22
  const rootOrder = [
24
23
  'modelVersion',
25
24
  'groupId',
@@ -17,13 +17,11 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  /* eslint-disable consistent-return */
20
- import * as _ from 'lodash-es';
20
+ import { defaults, kebabCase, upperFirst, camelCase, startCase } from 'lodash-es';
21
21
  import { getDefaultAppName } from './support/index.js';
22
22
  import BaseApplicationGenerator from '../base-application/index.js';
23
- import { GENERATOR_PROJECT_NAME } from '../generator-list.js';
24
23
  import { BASE_NAME } from './constants.js';
25
24
  import { getHipster } from '../base/support/index.js';
26
- import command from './command.js';
27
25
  import { validateProjectName } from './support/name-resolver.js';
28
26
  /**
29
27
  * @class
@@ -35,13 +33,13 @@ export default class ProjectNameGenerator extends BaseApplicationGenerator {
35
33
  this.sharedData.getControl().existingProject =
36
34
  this.options.defaults || this.options.applicationWithConfig || (this.jhipsterConfig.baseName !== undefined && this.config.existed);
37
35
  if (!this.fromBlueprint) {
38
- await this.composeWithBlueprints(GENERATOR_PROJECT_NAME);
36
+ await this.composeWithBlueprints();
39
37
  }
40
38
  }
41
39
  get initializing() {
42
40
  return this.asInitializingTaskGroup({
43
- loadOptions() {
44
- this.parseJHipsterOptions(command.options);
41
+ async parseCommand() {
42
+ await this.parseCurrentJHipsterCommand();
45
43
  },
46
44
  parseOptions() {
47
45
  if (this.options.defaults) {
@@ -92,13 +90,13 @@ export default class ProjectNameGenerator extends BaseApplicationGenerator {
92
90
  return this.asPreparingTaskGroup({
93
91
  preparing({ application }) {
94
92
  const { baseName, upperFirstCamelCaseBaseName } = application;
95
- const humanizedBaseName = baseName.toLowerCase() === 'jhipster' ? 'JHipster' : _.startCase(baseName);
96
- _.defaults(application, {
93
+ const humanizedBaseName = baseName.toLowerCase() === 'jhipster' ? 'JHipster' : startCase(baseName);
94
+ defaults(application, {
97
95
  humanizedBaseName,
98
- camelizedBaseName: _.camelCase(baseName),
96
+ camelizedBaseName: camelCase(baseName),
99
97
  hipster: getHipster(baseName),
100
- capitalizedBaseName: _.upperFirst(baseName),
101
- dasherizedBaseName: _.kebabCase(baseName),
98
+ capitalizedBaseName: upperFirst(baseName),
99
+ dasherizedBaseName: kebabCase(baseName),
102
100
  lowercaseBaseName: baseName.toLowerCase(),
103
101
  upperFirstCamelCaseBaseName,
104
102
  projectDescription: `Description for ${humanizedBaseName}`,
@@ -16,9 +16,9 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import * as _ from 'lodash-es';
20
19
  import { isFileStateModified } from 'mem-fs-editor/state';
21
20
  import chalk from 'chalk';
21
+ import { camelCase, startCase } from 'lodash-es';
22
22
  import BaseApplicationGenerator from '../base-application/index.js';
23
23
  import { GENERATOR_CLIENT, GENERATOR_LANGUAGES, GENERATOR_REACT } from '../generator-list.js';
24
24
  import { writeEntitiesFiles, postWriteEntitiesFiles, cleanupEntitiesFiles } from './entity-files-react.js';
@@ -39,7 +39,7 @@ const { REACT } = clientFrameworkTypes;
39
39
  export default class ReactGenerator extends BaseApplicationGenerator {
40
40
  async beforeQueue() {
41
41
  if (!this.fromBlueprint) {
42
- await this.composeWithBlueprints(GENERATOR_REACT);
42
+ await this.composeWithBlueprints();
43
43
  }
44
44
  if (!this.delegateToBlueprint) {
45
45
  await this.dependsOnJHipster(GENERATOR_CLIENT);
@@ -72,7 +72,7 @@ export default class ReactGenerator extends BaseApplicationGenerator {
72
72
  });
73
73
  }
74
74
  get [BaseApplicationGenerator.PREPARING]() {
75
- return this.asPreparingTaskGroup(this.delegateTasksToBlueprint(() => this.preparing));
75
+ return this.delegateTasksToBlueprint(() => this.preparing);
76
76
  }
77
77
  get preparingEachEntity() {
78
78
  return this.asPreparingEachEntityTaskGroup({
@@ -82,7 +82,7 @@ export default class ReactGenerator extends BaseApplicationGenerator {
82
82
  });
83
83
  }
84
84
  get [BaseApplicationGenerator.PREPARING_EACH_ENTITY]() {
85
- return this.asPreparingEachEntityTaskGroup(this.delegateTasksToBlueprint(() => this.preparingEachEntity));
85
+ return this.delegateTasksToBlueprint(() => this.preparingEachEntity);
86
86
  }
87
87
  get default() {
88
88
  return this.asDefaultTaskGroup({
@@ -123,6 +123,25 @@ export default class ReactGenerator extends BaseApplicationGenerator {
123
123
  postWriteEntitiesFiles,
124
124
  };
125
125
  }
126
+ get postWriting() {
127
+ return this.asPostWritingTaskGroup({
128
+ addWebsocketDependencies({ application }) {
129
+ const { communicationSpringWebsocket, nodeDependencies } = application;
130
+ if (communicationSpringWebsocket) {
131
+ this.packageJson.merge({
132
+ dependencies: {
133
+ rxjs: nodeDependencies.rxjs,
134
+ 'sockjs-client': nodeDependencies['sockjs-client'],
135
+ 'webstomp-client': nodeDependencies['webstomp-client'],
136
+ },
137
+ });
138
+ }
139
+ },
140
+ });
141
+ }
142
+ get [BaseApplicationGenerator.POST_WRITING]() {
143
+ return this.delegateTasksToBlueprint(() => this.postWriting);
144
+ }
126
145
  get [BaseApplicationGenerator.POST_WRITING_ENTITIES]() {
127
146
  return this.delegateTasksToBlueprint(() => this.postWritingEntities);
128
147
  }
@@ -137,7 +156,7 @@ export default class ReactGenerator extends BaseApplicationGenerator {
137
156
  });
138
157
  }
139
158
  get [BaseApplicationGenerator.END]() {
140
- return this.asEndTaskGroup(this.delegateTasksToBlueprint(() => this.end));
159
+ return this.delegateTasksToBlueprint(() => this.end);
141
160
  }
142
161
  /**
143
162
  * @private
@@ -148,7 +167,7 @@ export default class ReactGenerator extends BaseApplicationGenerator {
148
167
  * @param {string} entityTranslationKeyMenu - i18n key for entity entry in menu
149
168
  * @param {string} entityTranslationValue - i18n value for entity entry in menu
150
169
  */
151
- addEntityToMenu(routerName, enableTranslation, entityTranslationKeyMenu = _.camelCase(routerName), entityTranslationValue = _.startCase(routerName)) {
170
+ addEntityToMenu(routerName, enableTranslation, entityTranslationKeyMenu = camelCase(routerName), entityTranslationValue = startCase(routerName)) {
152
171
  this.needleApi.clientReact.addEntityToMenu(routerName, enableTranslation, entityTranslationKeyMenu, entityTranslationValue);
153
172
  }
154
173
  /**