generator-jhipster 8.4.0 → 8.6.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 (430) hide show
  1. package/README.md +3 -4
  2. package/dist/cli/commands.mjs +2 -0
  3. package/dist/cli/environment-builder.mjs +5 -0
  4. package/dist/cli/program.mjs +10 -4
  5. package/dist/generators/angular/entity-files-angular.js +6 -7
  6. package/dist/generators/angular/resources/package.json +20 -20
  7. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +4 -3
  8. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.service.spec.ts.ejs +3 -2
  9. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.spec.ts.ejs +4 -5
  10. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.service.spec.ts.ejs +3 -2
  11. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +6 -5
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +3 -6
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +3 -2
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +5 -5
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +3 -6
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +3 -2
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.spec.ts.ejs +2 -3
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +3 -6
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.service.spec.ts.ejs +3 -2
  20. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +3 -3
  21. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +3 -4
  22. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +3 -3
  23. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.spec.ts.ejs +3 -2
  24. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +4 -4
  25. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +3 -2
  26. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +3 -3
  27. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +4 -3
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.service.spec.ts.ejs +3 -2
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.ts.ejs +1 -1
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +11 -11
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.spec.ts.ejs +3 -3
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +3 -2
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.service.spec.ts.ejs +3 -2
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +0 -2
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +3 -3
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +1 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +3 -4
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +3 -3
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +3 -2
  40. package/dist/generators/angular/templates/src/main/webapp/app/app-page-title-strategy.ts.ejs +1 -1
  41. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +0 -1
  42. package/dist/generators/angular/templates/src/main/webapp/app/app.config.ts.ejs +2 -2
  43. package/dist/generators/angular/templates/src/main/webapp/app/config/uib-pagination.config.ts.ejs +1 -1
  44. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +7 -5
  45. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-jwt.service.spec.ts.ejs +3 -2
  46. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/user-route-access.service.ts.ejs +1 -1
  47. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/auth-expired.interceptor.ts.ejs +3 -3
  48. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/auth.interceptor.ts.ejs +2 -2
  49. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/error-handler.interceptor.ts.ejs +1 -1
  50. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.spec.ts.ejs +6 -6
  51. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +0 -3
  52. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +3 -4
  53. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +2 -2
  54. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +1 -1
  55. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +2 -3
  56. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +2 -2
  57. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +4 -5
  58. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +5 -3
  59. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +5 -6
  60. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +11 -17
  61. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.ts.ejs +2 -2
  62. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +6 -6
  63. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +3 -3
  64. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +3 -2
  65. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +2 -2
  66. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -4
  67. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +2 -2
  68. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +11 -9
  69. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +3 -8
  70. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +6 -2
  71. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/find-language-from-key.pipe.ts.ejs +1 -1
  72. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translation.module.ts.ejs +2 -2
  73. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.spec.ts.ejs +10 -10
  74. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +6 -7
  75. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.directive.spec.ts.ejs +4 -4
  76. package/dist/generators/angular/templates/src/main/webapp/content/scss/global.scss.ejs +2 -0
  77. package/dist/generators/app/generator.js +4 -13
  78. package/dist/generators/base/command.js +1 -0
  79. package/dist/generators/base/generator.js +22 -28
  80. package/dist/generators/base/internal/command.js +13 -0
  81. package/dist/generators/base/internal/index.js +1 -0
  82. package/dist/generators/base/priorities.js +12 -1
  83. package/dist/generators/base/shared-data.js +74 -2
  84. package/dist/generators/base/support/config.js +1 -1
  85. package/dist/generators/base/support/jhipster7-context.js +155 -52
  86. package/dist/generators/base-application/generator.js +15 -3
  87. package/dist/generators/base-application/priorities.js +1 -0
  88. package/dist/generators/base-application/support/prepare-entity.js +7 -8
  89. package/dist/generators/base-application/support/prepare-relationship.js +3 -2
  90. package/dist/generators/base-core/generator.js +132 -63
  91. package/dist/generators/bootstrap/generator.js +1 -1
  92. package/dist/generators/bootstrap/support/eslint-worker.js +14 -12
  93. package/dist/generators/bootstrap/support/multi-step-transform/template-file.js +6 -1
  94. package/dist/generators/bootstrap-application/generator.js +1 -1
  95. package/dist/generators/bootstrap-application-base/generator.js +7 -3
  96. package/dist/generators/bootstrap-application-client/generator.js +5 -1
  97. package/dist/generators/bootstrap-application-server/generator.js +1 -0
  98. package/dist/generators/ci-cd/generator.js +1 -1
  99. package/dist/generators/ci-cd/templates/docker-registry.yml.ejs +0 -1
  100. package/dist/generators/ci-cd/templates/jenkins/jenkins.yml.ejs +0 -1
  101. package/dist/generators/client/command.js +2 -2
  102. package/dist/generators/client/generator.js +2 -3
  103. package/dist/generators/client/generators/common/command.js +5 -0
  104. package/dist/generators/client/generators/common/generator.js +79 -0
  105. package/dist/generators/client/generators/common/index.js +20 -0
  106. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/headers.ts.ejs +57 -0
  107. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/problem-details.ts.ejs +51 -0
  108. package/dist/generators/client/resources/package.json +6 -6
  109. package/dist/generators/client/support/filter-entities.js +1 -1
  110. package/dist/generators/client/templates/.eslintignore.ejs +9 -5
  111. package/dist/generators/client/templates/README.md.jhi.client.ejs +29 -20
  112. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
  113. package/dist/generators/common/generator.js +5 -0
  114. package/dist/generators/common/resources/package.json +2 -2
  115. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +4 -4
  116. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/password-page.cy.ts.ejs +2 -2
  117. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/register-page.cy.ts.ejs +1 -1
  118. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/reset-password-page.cy.ts.ejs +1 -1
  119. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +10 -10
  120. package/dist/generators/docker/templates/docker/keycloak.yml.ejs +2 -1
  121. package/dist/generators/docker/templates/docker/mariadb.yml.ejs +1 -1
  122. package/dist/generators/docker/templates/docker/mysql.yml.ejs +1 -2
  123. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +14 -3
  124. package/dist/generators/docker/templates/docker/realm-config/keycloak-health-check.sh +2 -2
  125. package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +1 -0
  126. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +14 -3
  127. package/dist/generators/docker-compose/templates/realm-config/keycloak-health-check.sh +2 -2
  128. package/dist/generators/entity/generator.js +2 -10
  129. package/dist/generators/entity/prompts.js +6 -11
  130. package/dist/generators/feign-client/templates/src/main/java/_package_/client/AuthorizationHeaderUtil.java.ejs +1 -1
  131. package/dist/generators/gatling/README.md +15 -0
  132. package/dist/generators/gatling/generator.js +0 -1
  133. package/dist/generators/gatling/templates/src/test/java/gatling/simulations/_entityClass_GatlingTest.java.ejs +2 -10
  134. package/dist/generators/generate-blueprint/command.js +16 -0
  135. package/dist/generators/generate-blueprint/files.js +11 -1
  136. package/dist/generators/generate-blueprint/generator.js +34 -17
  137. package/dist/generators/generate-blueprint/resources/package.json +3 -1
  138. package/dist/generators/generate-blueprint/templates/.blueprint/cli/commands.mjs.ejs +6 -0
  139. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +20 -0
  140. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +9 -13
  141. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/build-matrix.mjs.ejs +22 -0
  142. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +20 -0
  143. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/index.mjs.ejs +1 -0
  144. package/dist/generators/generate-blueprint/templates/.github/workflows/build-cache.yml.ejs +39 -0
  145. package/dist/generators/generate-blueprint/templates/.github/workflows/samples.yml.ejs +105 -0
  146. package/dist/generators/generate-blueprint/templates/.prettierignore.jhi.blueprint.ejs +1 -1
  147. package/dist/generators/generate-blueprint/templates/README.md.ejs +16 -8
  148. package/dist/generators/generate-blueprint/templates/eslint.config.js.ejs +33 -0
  149. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -0
  150. package/dist/generators/generator-constants.js +2 -2
  151. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  152. package/dist/generators/heroku/generator.js +1 -1
  153. package/dist/generators/info/generator.js +1 -3
  154. package/dist/generators/info/support/extract-info.js +60 -0
  155. package/dist/generators/info/support/index.js +1 -0
  156. package/dist/generators/init/generator.js +2 -2
  157. package/dist/generators/init/resources/.node-version +1 -1
  158. package/dist/generators/init/resources/package.json +2 -2
  159. package/dist/generators/java/generators/bootstrap/generator.js +9 -2
  160. package/dist/generators/java/generators/build-tool/command.js +6 -3
  161. package/dist/generators/java/generators/domain/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +1 -5
  162. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +3 -3
  163. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +3 -3
  164. package/dist/generators/java/generators/node/templates/npmw +1 -5
  165. package/dist/generators/java/support/add-java-annotation.js +28 -7
  166. package/dist/generators/java/support/generated-annotation-transform.js +1 -1
  167. package/dist/generators/java/support/index.js +1 -1
  168. package/dist/generators/jdl/generator.js +7 -7
  169. package/dist/generators/kubernetes/files.js +1 -1
  170. package/dist/generators/kubernetes/templates/db/mysql.yml.ejs +1 -1
  171. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +14 -3
  172. package/dist/generators/languages/generator.js +5 -2
  173. package/dist/generators/liquibase/templates/src/main/java/_package_/config/LiquibaseConfiguration.java.ejs +1 -1
  174. package/dist/generators/maven/command.js +15 -0
  175. package/dist/generators/maven/generator.js +6 -1
  176. package/dist/generators/maven/index.js +1 -0
  177. package/dist/generators/maven/internal/xml-store.js +7 -6
  178. package/dist/generators/maven/support/pom-store.js +24 -9
  179. package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +2 -2
  180. package/dist/generators/maven/templates/mvnw +185 -243
  181. package/dist/generators/maven/templates/mvnw.cmd +121 -180
  182. package/dist/generators/react/entity-files-react.js +7 -7
  183. package/dist/generators/react/generator.js +10 -0
  184. package/dist/generators/react/resources/package.json +28 -28
  185. package/dist/generators/react/templates/src/main/webapp/app/app.tsx.ejs +9 -0
  186. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +1 -1
  187. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.ts.ejs +1 -1
  188. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.spec.ts.ejs +1 -1
  189. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.ts.ejs +80 -87
  190. package/dist/generators/react/templates/src/main/webapp/app/config/store.ts.ejs +1 -1
  191. package/dist/generators/react/templates/src/main/webapp/app/config/translation.ts.ejs +4 -0
  192. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +3 -3
  193. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +12 -7
  194. package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +15 -1
  195. package/dist/generators/react/templates/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +4 -0
  196. package/dist/generators/react/templates/src/main/webapp/app/modules/login/logout.tsx.ejs +5 -3
  197. package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +1 -1
  198. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +1 -1
  199. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.tsx.ejs +1 -1
  200. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/header/header.tsx.ejs +0 -9
  201. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +1 -3
  202. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +29 -6
  203. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +2 -3
  204. package/dist/generators/react/templates/src/main/webapp/app/shared/util/url-utils.ts.ejs +1 -1
  205. package/dist/generators/server/command.js +0 -11
  206. package/dist/generators/server/generator.js +16 -75
  207. package/dist/generators/server/jdl/application-definition.js +3 -1
  208. package/dist/generators/server/resources/Dockerfile +13 -13
  209. package/dist/generators/server/resources/gradle/libs.versions.toml +9 -7
  210. package/dist/generators/server/resources/pom.xml +16 -16
  211. package/dist/generators/server/support/config.js +4 -8
  212. package/dist/generators/server/support/prepare-entity.js +5 -6
  213. package/dist/generators/server/support/relationship.js +5 -2
  214. package/dist/generators/server/templates/build.gradle.ejs +5 -3
  215. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +2 -1
  216. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +2 -1
  217. package/dist/generators/server/templates/gradle.properties.ejs +1 -1
  218. package/dist/generators/server/templates/pom.xml.ejs +7 -31
  219. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +1 -1
  220. package/dist/generators/server/templates/src/main/java/_package_/config/AsyncConfiguration.java.ejs +1 -1
  221. package/dist/generators/server/templates/src/main/java/_package_/config/Constants.java.ejs +0 -2
  222. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +1 -18
  223. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +1 -15
  224. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +1 -21
  225. package/dist/generators/server/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +1 -1
  226. package/dist/generators/server/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +1 -1
  227. package/dist/generators/server/templates/src/main/java/_package_/security/PersistentTokenRememberMeServices.java.ejs +1 -1
  228. package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +65 -5
  229. package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/AudienceValidator.java.ejs +1 -1
  230. package/dist/generators/server/templates/src/main/java/_package_/service/MailService.java.ejs +1 -1
  231. package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +34 -0
  232. package/dist/generators/server/templates/src/main/java/_package_/service/mapper/UserMapper.java.ejs +8 -4
  233. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +1 -1
  234. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +1 -1
  235. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +44 -10
  236. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +1 -1
  237. package/dist/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
  238. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +60 -22
  239. package/dist/generators/server/templates/src/main/resources/config/bootstrap.yml.ejs +1 -1
  240. package/dist/generators/server/templates/src/main/resources/swagger/api.yml.ejs +1 -1
  241. package/dist/generators/server/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +31 -13
  242. package/dist/generators/server/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +84 -17
  243. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +62 -6
  244. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +22 -0
  245. package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +20 -10
  246. package/dist/generators/spring-boot/command.js +117 -6
  247. package/dist/generators/spring-boot/files.js +0 -5
  248. package/dist/generators/spring-boot/generator.js +44 -9
  249. package/dist/generators/spring-boot/prompts.js +6 -70
  250. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +374 -582
  251. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/UserService.java.ejs +1 -1
  252. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +1 -1
  253. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.java.ejs +1 -1
  254. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/PublicUserResource.java.ejs +1 -1
  255. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/UserResource.java.ejs +1 -1
  256. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/_entityClass_Resource.java.ejs +1 -1
  257. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +47 -11
  258. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +60 -24
  259. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +195 -318
  260. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +58 -51
  261. package/dist/generators/spring-cache/internal/dependencies.js +2 -2
  262. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  263. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +3 -3
  264. package/dist/generators/spring-cloud/generators/gateway/command.js +10 -1
  265. package/dist/generators/spring-cloud/generators/gateway/generator.js +13 -0
  266. package/dist/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.js +6 -0
  267. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaConsumer_imperative.java.ejs +1 -1
  268. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaConsumer_reactive.java.ejs +1 -1
  269. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/web/rest/KafkaResource_imperative.java.ejs +1 -1
  270. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/web/rest/KafkaResource_reactive.java.ejs +1 -1
  271. package/dist/generators/spring-data-cassandra/generator.js +2 -2
  272. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +1 -1
  273. package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/config/DatabaseConfiguration.java_neo4j.ejs +18 -2
  274. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +1 -1
  275. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +3 -1
  276. package/dist/generators/vue/entity-files-vue.js +7 -7
  277. package/dist/generators/vue/resources/package.json +21 -21
  278. package/dist/generators/vue/templates/.eslintrc.cjs.ejs +7 -0
  279. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.spec.ts.ejs +1 -1
  280. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +1 -1
  281. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +1 -1
  282. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +1 -1
  283. package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.spec.ts.ejs +8 -8
  284. package/dist/generators/vue/templates/src/main/webapp/app/shared/data/data-utils.service.spec.ts.ejs +1 -1
  285. package/dist/generators/vue/templates/tsconfig.app.json.ejs +1 -1
  286. package/dist/generators/vue/templates/vite.config.mts.ejs +5 -4
  287. package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -1
  288. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +4 -4
  289. package/dist/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.js +9 -9
  290. package/dist/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.js +2 -2
  291. package/dist/jdl/converters/json-to-jdl-application-converter.js +1 -1
  292. package/dist/jdl/converters/json-to-jdl-converter.js +6 -5
  293. package/dist/jdl/converters/json-to-jdl-entity-converter.js +14 -14
  294. package/dist/jdl/converters/json-to-jdl-option-converter.js +1 -2
  295. package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -1
  296. package/dist/jdl/converters/parsed-jdl-to-jdl-object/option-converter.js +2 -2
  297. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +7 -6
  298. package/dist/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.js +1 -1
  299. package/dist/jdl/exporters/applications/jhipster-application-formatter.js +16 -23
  300. package/dist/jdl/exporters/config.js +1 -0
  301. package/dist/jdl/exporters/jhipster-deployment-exporter.js +5 -5
  302. package/dist/jdl/exporters/jhipster-entity-exporter.js +1 -1
  303. package/dist/jdl/jdl-importer.js +22 -20
  304. package/dist/jdl/jhipster/binary-options.js +12 -8
  305. package/dist/jdl/jhipster/json-entity.js +1 -1
  306. package/dist/jdl/models/abstract-jdl-option.js +2 -2
  307. package/dist/jdl/models/jdl-application-configuration-factory.js +2 -0
  308. package/dist/jdl/models/jdl-binary-option.js +2 -2
  309. package/dist/jdl/models/jdl-deployment.js +11 -0
  310. package/dist/jdl/models/jdl-entity.js +1 -1
  311. package/dist/jdl/models/jdl-enum.js +1 -1
  312. package/dist/jdl/models/jdl-enums.js +0 -18
  313. package/dist/jdl/models/jdl-field.js +2 -2
  314. package/dist/jdl/models/jdl-object-wrapper.js +1 -0
  315. package/dist/jdl/models/jdl-object.js +23 -45
  316. package/dist/jdl/models/jdl-options.js +0 -18
  317. package/dist/jdl/models/jdl-relationships.js +8 -16
  318. package/dist/jdl/models/jdl-unary-option.js +1 -1
  319. package/dist/jdl/models/list-jdl-application-configuration-option.js +5 -2
  320. package/dist/jdl/parsing/jdl-ast-builder-visitor.js +12 -0
  321. package/dist/jdl/parsing/jdl-parser.js +14 -0
  322. package/dist/jdl/parsing/lexer/lexer.js +17 -11
  323. package/dist/jdl/parsing/validator.js +16 -2
  324. package/dist/jdl/readers/json-reader.js +1 -1
  325. package/dist/jdl/utils/array-utils.js +6 -0
  326. package/dist/jdl/utils/set-utils.js +3 -2
  327. package/dist/jdl/validators/jdl-without-application-validator.js +2 -2
  328. package/dist/lib/eslint/base.js +25 -0
  329. package/dist/lib/eslint/recommended.js +22 -0
  330. package/dist/testing/github.js +32 -0
  331. package/dist/testing/helpers.js +13 -0
  332. package/dist/testing/index.js +2 -0
  333. package/dist/testing/sample-config.js +31 -0
  334. package/dist/types/cli/commands.d.mts +2 -0
  335. package/dist/types/cli/environment-builder.d.mts +1 -0
  336. package/dist/types/generators/base/api.d.ts +19 -8
  337. package/dist/types/generators/base/generator.d.ts +10 -4
  338. package/dist/types/generators/base/internal/command.d.ts +2 -0
  339. package/dist/types/generators/base/internal/index.d.ts +1 -0
  340. package/dist/types/generators/base/priorities.d.ts +4 -0
  341. package/dist/types/generators/base/shared-data.d.ts +11 -2
  342. package/dist/types/generators/base/types.d.ts +12 -0
  343. package/dist/types/generators/base-application/priorities.d.ts +2 -0
  344. package/dist/types/generators/base-application/support/entity.d.ts +2 -2
  345. package/dist/types/generators/base-application/support/prepare-entity.d.ts +3 -3
  346. package/dist/types/generators/base-application/support/relationship.d.ts +5 -5
  347. package/dist/types/generators/base-application/types.d.ts +11 -0
  348. package/dist/types/generators/base-core/generator.d.ts +18 -2
  349. package/dist/types/generators/generator-constants.d.ts +1 -1
  350. package/dist/types/generators/info/support/extract-info.d.ts +14 -0
  351. package/dist/types/generators/info/support/index.d.ts +1 -0
  352. package/dist/types/generators/java/support/add-java-annotation.d.ts +10 -20
  353. package/dist/types/generators/java/support/doc.d.ts +1 -1
  354. package/dist/types/generators/java/support/index.d.ts +1 -1
  355. package/dist/types/generators/java/types.d.ts +12 -0
  356. package/dist/types/generators/maven/internal/xml-store.d.ts +3 -2
  357. package/dist/types/generators/maven/support/pom-store.d.ts +5 -2
  358. package/dist/types/generators/maven/types.d.ts +1 -0
  359. package/dist/types/generators/server/support/relationship.d.ts +2 -2
  360. package/dist/types/generators/server/types.d.ts +7 -1
  361. package/dist/types/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.d.ts +2 -0
  362. package/dist/types/generators/spring-cloud/generators/gateway/types.d.ts +4 -0
  363. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +2 -2
  364. package/dist/types/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.d.ts +2 -1
  365. package/dist/types/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.d.ts +3 -1
  366. package/dist/types/jdl/converters/json-to-jdl-application-converter.d.ts +9 -2
  367. package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +3 -3
  368. package/dist/types/jdl/converters/json-to-jdl-entity-converter.d.ts +2 -4
  369. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/application-converter.d.ts +3 -1
  370. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/deployment-converter.d.ts +2 -1
  371. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.d.ts +3 -1
  372. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.d.ts +2 -1
  373. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/field-converter.d.ts +2 -1
  374. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +3 -3
  375. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.d.ts +2 -1
  376. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.d.ts +2 -1
  377. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/types.d.ts +110 -0
  378. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.d.ts +2 -1
  379. package/dist/types/jdl/converters/types.d.ts +102 -14
  380. package/dist/types/jdl/exporters/applications/jhipster-application-formatter.d.ts +4 -4
  381. package/dist/types/jdl/exporters/config.d.ts +2 -1
  382. package/dist/types/jdl/exporters/export-utils.d.ts +2 -1
  383. package/dist/types/jdl/exporters/jdl-exporter.d.ts +2 -1
  384. package/dist/types/jdl/exporters/jhipster-deployment-exporter.d.ts +3 -1
  385. package/dist/types/jdl/exporters/jhipster-entity-exporter.d.ts +3 -1
  386. package/dist/types/jdl/exporters/types.d.ts +61 -0
  387. package/dist/types/jdl/jhipster/binary-options.d.ts +8 -26
  388. package/dist/types/jdl/jhipster/field-types.d.ts +2 -2
  389. package/dist/types/jdl/jhipster/json-entity.d.ts +2 -2
  390. package/dist/types/jdl/models/abstract-jdl-option.d.ts +14 -9
  391. package/dist/types/jdl/models/boolean-jdl-application-configuration-option.d.ts +1 -1
  392. package/dist/types/jdl/models/integer-jdl-application-configuration-option.d.ts +1 -1
  393. package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +1 -1
  394. package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +4 -4
  395. package/dist/types/jdl/models/jdl-application-configuration.d.ts +4 -4
  396. package/dist/types/jdl/models/jdl-application-definition.d.ts +4 -4
  397. package/dist/types/jdl/models/jdl-application-entities.d.ts +4 -4
  398. package/dist/types/jdl/models/jdl-application.d.ts +16 -13
  399. package/dist/types/jdl/models/jdl-binary-option.d.ts +5 -3
  400. package/dist/types/jdl/models/jdl-deployment.d.ts +13 -1
  401. package/dist/types/jdl/models/jdl-entity.d.ts +5 -5
  402. package/dist/types/jdl/models/jdl-enum-value.d.ts +4 -4
  403. package/dist/types/jdl/models/jdl-enum.d.ts +9 -5
  404. package/dist/types/jdl/models/jdl-enums.d.ts +6 -5
  405. package/dist/types/jdl/models/jdl-field.d.ts +10 -8
  406. package/dist/types/jdl/models/jdl-object-wrapper.d.ts +25 -0
  407. package/dist/types/jdl/models/jdl-object.d.ts +23 -19
  408. package/dist/types/jdl/models/jdl-options.d.ts +7 -24
  409. package/dist/types/jdl/models/jdl-relationship.d.ts +16 -10
  410. package/dist/types/jdl/models/jdl-relationships.d.ts +5 -5
  411. package/dist/types/jdl/models/jdl-validation.d.ts +3 -3
  412. package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +4 -3
  413. package/dist/types/jdl/models/string-jdl-application-configuration-option.d.ts +2 -2
  414. package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +1 -0
  415. package/dist/types/jdl/parsing/jdl-parser.d.ts +1 -0
  416. package/dist/types/jdl/parsing/jdl-parsing-types.d.ts +23 -0
  417. package/dist/types/jdl/parsing/lexer/lexer.d.ts +6 -2
  418. package/dist/types/jdl/parsing/validator.d.ts +1 -1
  419. package/dist/types/jdl/utils/array-utils.d.ts +1 -0
  420. package/dist/types/jdl/utils/set-utils.d.ts +1 -19
  421. package/dist/types/jdl/validators/deployment-validator.d.ts +2 -1
  422. package/dist/types/lib/eslint/base.d.ts +20 -0
  423. package/dist/types/lib/eslint/recommended.d.ts +20 -0
  424. package/dist/types/testing/github.d.ts +11 -0
  425. package/dist/types/testing/helpers.d.ts +21 -3
  426. package/dist/types/testing/index.d.ts +2 -0
  427. package/dist/types/testing/sample-config.d.ts +4 -0
  428. package/package.json +35 -30
  429. package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +0 -35
  430. /package/dist/jdl/converters/{types.js → parsed-jdl-to-jdl-object/types.js} +0 -0
@@ -146,7 +146,7 @@ describe('<%= entityClass %> e2e test', () => {
146
146
  cy.visit('/');
147
147
  cy.clickOnEntityMenuItem('<%= entityPage %>');
148
148
  cy.wait('@entitiesRequest').then(({ response }) => {
149
- if (response.body.length === 0) {
149
+ if (response?.body.length === 0) {
150
150
  cy.get(entityTableSelector).should('not.exist');
151
151
  } else {
152
152
  cy.get(entityTableSelector).should('exist');
@@ -171,7 +171,7 @@ describe('<%= entityClass %> e2e test', () => {
171
171
  cy.get(entityCreateSaveButtonSelector).should('exist');
172
172
  cy.get(entityCreateCancelButtonSelector).click();
173
173
  cy.wait('@entitiesRequest').then(({ response }) => {
174
- expect(response.statusCode).to.equal(200);
174
+ expect(response?.statusCode).to.equal(200);
175
175
  });
176
176
  cy.url().should('match', <%= entityInstance %>PageUrlPattern);
177
177
  });
@@ -232,7 +232,7 @@ describe('<%= entityClass %> e2e test', () => {
232
232
  cy.visit(<%= entityInstance %>PageUrl);
233
233
 
234
234
  cy.wait('@entitiesRequest').then(({ response }) => {
235
- if (response.body.length === 0) {
235
+ if (response?.body.length === 0) {
236
236
  this.skip();
237
237
  }
238
238
  });
@@ -244,7 +244,7 @@ describe('<%= entityClass %> e2e test', () => {
244
244
  cy.getEntityDetailsHeading('<%= entityInstance %>');
245
245
  cy.get(entityDetailsBackButtonSelector).click();
246
246
  cy.wait('@entitiesRequest').then(({ response }) => {
247
- expect(response.statusCode).to.equal(200);
247
+ expect(response?.statusCode).to.equal(200);
248
248
  });
249
249
  cy.url().should('match', <%= entityInstance %>PageUrlPattern);
250
250
  });
@@ -256,7 +256,7 @@ describe('<%= entityClass %> e2e test', () => {
256
256
  cy.get(entityCreateSaveButtonSelector).should('exist');
257
257
  cy.get(entityCreateCancelButtonSelector).click();
258
258
  cy.wait('@entitiesRequest').then(({ response }) => {
259
- expect(response.statusCode).to.equal(200);
259
+ expect(response?.statusCode).to.equal(200);
260
260
  });
261
261
  cy.url().should('match', <%= entityInstance %>PageUrlPattern);
262
262
  });
@@ -266,7 +266,7 @@ describe('<%= entityClass %> e2e test', () => {
266
266
  cy.getEntityCreateUpdateHeading('<%= entityClass %>');
267
267
  cy.get(entityCreateSaveButtonSelector).click();
268
268
  cy.wait('@entitiesRequest').then(({ response }) => {
269
- expect(response.statusCode).to.equal(200);
269
+ expect(response?.statusCode).to.equal(200);
270
270
  });
271
271
  cy.url().should('match', <%= entityInstance %>PageUrlPattern);
272
272
  });
@@ -284,10 +284,10 @@ describe('<%= entityClass %> e2e test', () => {
284
284
  cy.getEntityDeleteDialogHeading('<%= entityInstance %>').should('exist');
285
285
  cy.get(entityConfirmDeleteButtonSelector).click();
286
286
  cy.wait('@deleteEntityRequest').then(({ response }) => {
287
- expect(response.statusCode).to.equal(204);
287
+ expect(response?.statusCode).to.equal(204);
288
288
  });
289
289
  cy.wait('@entitiesRequest').then(({ response }) => {
290
- expect(response.statusCode).to.equal(200);
290
+ expect(response?.statusCode).to.equal(200);
291
291
  });
292
292
  cy.url().should('match', <%= entityInstance %>PageUrlPattern);
293
293
  <% if (cypressBootstrapEntities) { %>
@@ -351,11 +351,11 @@ describe('<%= entityClass %> e2e test', () => {
351
351
  cy.get(entityCreateSaveButtonSelector).click();
352
352
 
353
353
  cy.wait('@postEntityRequest').then(({ response }) => {
354
- expect(response.statusCode).to.equal(201);
354
+ expect(response?.statusCode).to.equal(201);
355
355
  <%= entityInstance %> = response.body;
356
356
  });
357
357
  cy.wait('@entitiesRequest').then(({ response }) => {
358
- expect(response.statusCode).to.equal(200);
358
+ expect(response?.statusCode).to.equal(200);
359
359
  });
360
360
  cy.url().should('match', <%= entityInstance %>PageUrlPattern);
361
361
  });
@@ -33,6 +33,7 @@ services:
33
33
  - KC_HTTP_PORT=9080
34
34
  - KC_HTTPS_PORT=9443
35
35
  - KC_HEALTH_ENABLED=true
36
+ - KC_HTTP_MANAGEMENT_PORT=9990
36
37
  # If you want to expose these ports outside your dev PC,
37
38
  # remove the "127.0.0.1:" prefix
38
39
  ports:
@@ -42,5 +43,5 @@ services:
42
43
  test: 'bash /opt/keycloak/health-check.sh'
43
44
  interval: 5s
44
45
  timeout: 5s
45
- retries: 20
46
+ retries: 40
46
47
  start_period: 10s
@@ -32,7 +32,7 @@ services:
32
32
  # remove the "127.0.0.1:" prefix
33
33
  ports:
34
34
  - 127.0.0.1:3306:3306
35
- command: mariadbd --lower_case_table_names=1 --skip-ssl --character_set_server=utf8mb4 --explicit_defaults_for_timestamp
35
+ command: mariadbd --lower_case_table_names=1 --character_set_server=utf8mb4 --explicit_defaults_for_timestamp
36
36
  healthcheck:
37
37
  test: ["CMD", "/usr/local/bin/healthcheck.sh", "--connect", "--innodb_initialized"]
38
38
  interval: 5s
@@ -23,7 +23,6 @@ services:
23
23
  image: <%- dockerContainers.mysql %>
24
24
  volumes:
25
25
  - ./config/mysql:/etc/mysql/conf.d
26
- # - ~/volumes/jhipster/<%= baseName %>/mysql/:/var/lib/mysql/
27
26
  environment:
28
27
  - MYSQL_ALLOW_EMPTY_PASSWORD=yes
29
28
  - MYSQL_DATABASE=<%= baseName.toLowerCase() %>
@@ -31,7 +30,7 @@ services:
31
30
  # remove the "127.0.0.1:" prefix
32
31
  ports:
33
32
  - 127.0.0.1:3306:3306
34
- command: mysqld --lower_case_table_names=1 --skip-ssl --character_set_server=utf8mb4 --explicit_defaults_for_timestamp
33
+ command: mysqld --lower_case_table_names=1 --skip-mysqlx --character_set_server=utf8mb4 --explicit_defaults_for_timestamp
35
34
  healthcheck:
36
35
  test: ["CMD", "mysql", "-e", "SHOW DATABASES;"]
37
36
  interval: 5s
@@ -29,7 +29,7 @@
29
29
  "oauth2DevicePollingInterval": 5,
30
30
  "enabled": true,
31
31
  "sslRequired": "external",
32
- "registrationAllowed": false,
32
+ "registrationAllowed": true,
33
33
  "registrationEmailAsUsername": false,
34
34
  "rememberMe": false,
35
35
  "verifyEmail": false,
@@ -463,6 +463,9 @@
463
463
  "requiredCredentials": [
464
464
  "password"
465
465
  ],
466
+ "defaultGroups": [
467
+ "/Users"
468
+ ],
466
469
  "otpPolicyType": "totp",
467
470
  "otpPolicyAlgorithm": "HmacSHA1",
468
471
  "otpPolicyInitialCounter": 0,
@@ -2362,6 +2365,14 @@
2362
2365
  "priority": 60,
2363
2366
  "userSetupAllowed": false,
2364
2367
  "autheticatorFlow": false
2368
+ },
2369
+ {
2370
+ "authenticator": "registration-terms-and-conditions",
2371
+ "authenticatorFlow": false,
2372
+ "requirement": "DISABLED",
2373
+ "priority": 70,
2374
+ "autheticatorFlow": false,
2375
+ "userSetupAllowed": false
2365
2376
  }
2366
2377
  ]
2367
2378
  },
@@ -2453,9 +2464,9 @@
2453
2464
  "config": {}
2454
2465
  },
2455
2466
  {
2456
- "alias": "terms_and_conditions",
2467
+ "alias": "TERMS_AND_CONDITIONS",
2457
2468
  "name": "Terms and Conditions",
2458
- "providerId": "terms_and_conditions",
2469
+ "providerId": "TERMS_AND_CONDITIONS",
2459
2470
  "enabled": false,
2460
2471
  "defaultAction": false,
2461
2472
  "priority": 20,
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
- exec 3<>/dev/tcp/localhost/9080
2
+ exec 3<>/dev/tcp/localhost/9990
3
3
 
4
- echo -e "GET /health/ready HTTP/1.1\nhost: localhost:9080\n" >&3
4
+ echo -e "GET /health/ready HTTP/1.1\nhost: localhost:9990\n" >&3
5
5
 
6
6
  timeout --preserve-status 1 cat <&3 | grep -m 1 status | grep -m 1 UP
7
7
  ERROR=$?
@@ -122,6 +122,7 @@ services:
122
122
  - KC_HTTP_PORT=9080
123
123
  - KC_HTTPS_PORT=9443
124
124
  - KC_HEALTH_ENABLED=true
125
+ - KC_HTTP_MANAGEMENT_PORT=9990
125
126
  ports:
126
127
  - 9080:9080
127
128
  - 9443:9443
@@ -29,7 +29,7 @@
29
29
  "oauth2DevicePollingInterval": 5,
30
30
  "enabled": true,
31
31
  "sslRequired": "external",
32
- "registrationAllowed": false,
32
+ "registrationAllowed": true,
33
33
  "registrationEmailAsUsername": false,
34
34
  "rememberMe": false,
35
35
  "verifyEmail": false,
@@ -463,6 +463,9 @@
463
463
  "requiredCredentials": [
464
464
  "password"
465
465
  ],
466
+ "defaultGroups": [
467
+ "/Users"
468
+ ],
466
469
  "otpPolicyType": "totp",
467
470
  "otpPolicyAlgorithm": "HmacSHA1",
468
471
  "otpPolicyInitialCounter": 0,
@@ -2364,6 +2367,14 @@
2364
2367
  "priority": 60,
2365
2368
  "userSetupAllowed": false,
2366
2369
  "autheticatorFlow": false
2370
+ },
2371
+ {
2372
+ "authenticator": "registration-terms-and-conditions",
2373
+ "authenticatorFlow": false,
2374
+ "requirement": "DISABLED",
2375
+ "priority": 70,
2376
+ "autheticatorFlow": false,
2377
+ "userSetupAllowed": false
2367
2378
  }
2368
2379
  ]
2369
2380
  },
@@ -2455,9 +2466,9 @@
2455
2466
  "config": {}
2456
2467
  },
2457
2468
  {
2458
- "alias": "terms_and_conditions",
2469
+ "alias": "TERMS_AND_CONDITIONS",
2459
2470
  "name": "Terms and Conditions",
2460
- "providerId": "terms_and_conditions",
2471
+ "providerId": "TERMS_AND_CONDITIONS",
2461
2472
  "enabled": false,
2462
2473
  "defaultAction": false,
2463
2474
  "priority": 20,
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
- exec 3<>/dev/tcp/localhost/9080
2
+ exec 3<>/dev/tcp/localhost/9990
3
3
 
4
- echo -e "GET /health/ready HTTP/1.1\nhost: localhost:9080\n" >&3
4
+ echo -e "GET /health/ready HTTP/1.1\nhost: localhost:9990\n" >&3
5
5
 
6
6
  timeout --preserve-status 1 cat <&3 | grep -m 1 status | grep -m 1 UP
7
7
  ERROR=$?
@@ -186,14 +186,6 @@ export default class EntityGenerator extends BaseApplicationGenerator {
186
186
  askForFiltering: prompts.askForFiltering,
187
187
  askForReadOnly: prompts.askForReadOnly,
188
188
  askForPagination: prompts.askForPagination,
189
- });
190
- }
191
- get [BaseApplicationGenerator.POST_PREPARING]() {
192
- return this.delegateTasksToBlueprint(() => this.postPreparing);
193
- }
194
- // Public API method used by the getter and also by Blueprints
195
- get default() {
196
- return this.asDefaultTaskGroup({
197
189
  async composeEntities() {
198
190
  // We need to compose with others entities to update relationships.
199
191
  await this.composeWithJHipster(GENERATOR_ENTITIES, {
@@ -206,8 +198,8 @@ export default class EntityGenerator extends BaseApplicationGenerator {
206
198
  },
207
199
  });
208
200
  }
209
- get [BaseApplicationGenerator.DEFAULT]() {
210
- return this.delegateTasksToBlueprint(() => this.default);
201
+ get [BaseApplicationGenerator.POST_PREPARING]() {
202
+ return this.delegateTasksToBlueprint(() => this.postPreparing);
211
203
  }
212
204
  // Public API method used by the getter and also by Blueprints
213
205
  get end() {
@@ -22,19 +22,14 @@ import { isArray, lowerFirst, snakeCase, uniq, upperFirst } from 'lodash-es';
22
22
  import { reservedKeywords, databaseTypes, applicationTypes, entityOptions, fieldTypes, validations, clientFrameworkTypes, } from '../../jdl/jhipster/index.js';
23
23
  import { inputIsNumber, inputIsSignedDecimalNumber, inputIsSignedNumber } from './support/index.js';
24
24
  const { isReservedPaginationWords, isReservedFieldName, isReservedTableName } = reservedKeywords;
25
- const { CASSANDRA, SQL } = databaseTypes;
25
+ const { NO: NO_DATABASE, CASSANDRA, SQL } = databaseTypes;
26
26
  const { GATEWAY } = applicationTypes;
27
27
  const { FilteringTypes, MapperTypes, ServiceTypes, PaginationTypes } = entityOptions;
28
28
  const { ANGULAR, REACT } = clientFrameworkTypes;
29
- const { JPA_METAMODEL } = FilteringTypes;
30
- const NO_FILTERING = FilteringTypes.NO;
31
- const { INFINITE_SCROLL, PAGINATION } = PaginationTypes;
32
- const NO_PAGINATION = PaginationTypes.NO;
33
- const { SERVICE_IMPL, SERVICE_CLASS } = ServiceTypes;
34
- const NO_SERVICE = ServiceTypes.NO;
35
- const { MAPSTRUCT } = MapperTypes;
36
- const NO_MAPPER = MapperTypes.NO;
37
- const NO_DATABASE = databaseTypes.NO;
29
+ const { NO: NO_FILTERING, JPA_METAMODEL } = FilteringTypes;
30
+ const { NO: NO_PAGINATION, INFINITE_SCROLL, PAGINATION } = PaginationTypes;
31
+ const { NO: NO_SERVICE, SERVICE_IMPL, SERVICE_CLASS } = ServiceTypes;
32
+ const { NO: NO_MAPPER, MAPSTRUCT } = MapperTypes;
38
33
  const { CommonDBTypes, RelationalOnlyDBTypes, BlobTypes } = fieldTypes;
39
34
  const { BIG_DECIMAL, BOOLEAN, DOUBLE, DURATION, ENUM, FLOAT, INTEGER, INSTANT, LOCAL_DATE, LONG, STRING, UUID, ZONED_DATE_TIME } = CommonDBTypes;
40
35
  const { BYTES, BYTE_BUFFER } = RelationalOnlyDBTypes;
@@ -764,7 +759,7 @@ async function askForRelationship(...args) {
764
759
  }
765
760
  return true;
766
761
  },
767
- type: 'input',
762
+ type: 'confirm',
768
763
  name: 'bidirectional',
769
764
  message: 'Do you want to generate a bidirectional relationship',
770
765
  default: true,
@@ -56,7 +56,7 @@ public class AuthorizationHeaderUtil {
56
56
 
57
57
  private final OAuth2AuthorizedClientService clientService;
58
58
  private final RestTemplateBuilder restTemplateBuilder;
59
- private final Logger log = LoggerFactory.getLogger(AuthorizationHeaderUtil.class);
59
+ private static final Logger log = LoggerFactory.getLogger(AuthorizationHeaderUtil.class);
60
60
 
61
61
  public AuthorizationHeaderUtil(OAuth2AuthorizedClientService clientService, RestTemplateBuilder restTemplateBuilder) {
62
62
  this.clientService = clientService;
@@ -0,0 +1,15 @@
1
+ # Gatling sub-generator
2
+
3
+ Generates load testing simulations for entities using [Gatling](https://gatling.io/).
4
+
5
+ ## Logging tips
6
+
7
+ ```
8
+ LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
9
+ {
10
+ // Log all HTTP requests
11
+ //context.getLogger("io.gatling.http").setLevel(Level.valueOf("TRACE"));
12
+ // Log failed HTTP requests
13
+ //context.getLogger("io.gatling.http").setLevel(Level.valueOf("DEBUG"));
14
+ }
15
+ ```
@@ -71,7 +71,6 @@ export default class GatlingGenerator extends BaseApplicationGenerator {
71
71
  additionalContent: `
72
72
  <configuration>
73
73
  <runMultipleSimulations>true</runMultipleSimulations>
74
- <resourcesFolder>\${project.basedir}/src/test/gatling/conf</resourcesFolder>
75
74
  </configuration>
76
75
  `,
77
76
  },
@@ -28,7 +28,6 @@ import static io.gatling.javaapi.http.HttpDsl.headerRegex;
28
28
  import static io.gatling.javaapi.http.HttpDsl.http;
29
29
  import static io.gatling.javaapi.http.HttpDsl.status;
30
30
 
31
- import ch.qos.logback.classic.LoggerContext;
32
31
  import java.time.Duration;
33
32
  import java.util.Map;
34
33
  import java.util.Optional;
@@ -36,21 +35,14 @@ import io.gatling.javaapi.core.ChainBuilder;
36
35
  import io.gatling.javaapi.core.ScenarioBuilder;
37
36
  import io.gatling.javaapi.core.Simulation;
38
37
  import io.gatling.javaapi.http.HttpProtocolBuilder;
39
- import org.slf4j.LoggerFactory;
40
38
 
41
39
  /**
42
40
  * Performance test for the <%= entityClass %> entity.
41
+ *
42
+ * @see <a href="https://github.com/jhipster/generator-jhipster/tree/v<%- jhipsterVersion %>/generators/gatling#logging-tips">Logging tips</a>
43
43
  */
44
44
  public class <%= entityClass %>GatlingTest extends Simulation {
45
45
 
46
- LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
47
- {
48
- // Log all HTTP requests
49
- //context.getLogger("io.gatling.http").setLevel(Level.valueOf("TRACE"));
50
- // Log failed HTTP requests
51
- //context.getLogger("io.gatling.http").setLevel(Level.valueOf("DEBUG"));
52
- }
53
-
54
46
  String baseURL = Optional.ofNullable(System.getProperty("baseURL")).orElse("http://localhost:<%= serverPort %>");
55
47
 
56
48
  HttpProtocolBuilder httpConf = http
@@ -1,6 +1,22 @@
1
1
  import { GENERATOR_INIT } from '../generator-list.js';
2
2
  import { ADDITIONAL_SUB_GENERATORS, ALL_GENERATORS, ALL_PRIORITIES, CLI_OPTION, DYNAMIC, GENERATE_SNAPSHOTS, JS, LINK_JHIPSTER_DEPENDENCY, LOCAL_BLUEPRINT_OPTION, SUB_GENERATORS, } from './constants.js';
3
3
  const command = {
4
+ configs: {
5
+ githubRepository: {
6
+ cli: {
7
+ description: 'Github Repository',
8
+ type: String,
9
+ },
10
+ scope: 'storage',
11
+ },
12
+ githubWorkflows: {
13
+ cli: {
14
+ description: 'Generate github workflows',
15
+ type: Boolean,
16
+ },
17
+ scope: 'storage',
18
+ },
19
+ },
4
20
  options: {
5
21
  [GENERATE_SNAPSHOTS]: {
6
22
  description: 'Generate test snapshots',
@@ -22,9 +22,9 @@ export const files = {
22
22
  {
23
23
  condition: ctx => !ctx[LOCAL_BLUEPRINT_OPTION],
24
24
  templates: [
25
- '.eslintrc.json',
26
25
  '.github/workflows/generator.yml',
27
26
  '.prettierignore.jhi.blueprint',
27
+ 'eslint.config.js',
28
28
  'README.md',
29
29
  'tsconfig.json',
30
30
  'vitest.config.ts',
@@ -35,6 +35,16 @@ export const files = {
35
35
  '.blueprint/generate-sample/index.mjs',
36
36
  ],
37
37
  },
38
+ {
39
+ condition: ctx => !ctx[LOCAL_BLUEPRINT_OPTION] && ctx.githubWorkflows,
40
+ templates: [
41
+ '.blueprint/github-build-matrix/build-matrix.mjs',
42
+ '.blueprint/github-build-matrix/generator.mjs',
43
+ '.blueprint/github-build-matrix/index.mjs',
44
+ '.github/workflows/build-cache.yml',
45
+ '.github/workflows/samples.yml',
46
+ ],
47
+ },
38
48
  {
39
49
  condition: ctx => !ctx[LOCAL_BLUEPRINT_OPTION] && !ctx.sampleWritten,
40
50
  templates: ['.blueprint/generate-sample/templates/samples/sample.jdl'],
@@ -25,9 +25,9 @@ import * as GENERATOR_LIST from '../generator-list.js';
25
25
  import { files, generatorFiles } from './files.js';
26
26
  import { packageJson } from '../../lib/index.js';
27
27
  import { SKIP_COMMIT_HOOK } from '../init/constants.js';
28
- import command from './command.js';
29
28
  import { BLUEPRINT_API_VERSION, NODE_VERSION } from '../generator-constants.js';
30
29
  const { GENERATOR_PROJECT_NAME, GENERATOR_INIT } = GENERATOR_LIST;
30
+ const defaultPublishedFiles = ['generators', '!**/__*', '!**/*.snap', '!**/*.spec.?(c|m)js'];
31
31
  export default class extends BaseGenerator {
32
32
  async _beforeQueue() {
33
33
  if (!this.fromBlueprint) {
@@ -38,9 +38,9 @@ export default class extends BaseGenerator {
38
38
  }
39
39
  }
40
40
  get initializing() {
41
- return {
42
- loadOptions() {
43
- this.parseJHipsterOptions(command.options);
41
+ return this.asInitializingTaskGroup({
42
+ async loadOptions() {
43
+ await this.parseCurrentJHipsterCommand();
44
44
  if (this[ALL_GENERATORS]) {
45
45
  this.config.set(allGeneratorsConfig());
46
46
  }
@@ -48,7 +48,7 @@ export default class extends BaseGenerator {
48
48
  this.config.defaults(defaultConfig({ config: this.jhipsterConfig }));
49
49
  }
50
50
  },
51
- };
51
+ });
52
52
  }
53
53
  get [BaseGenerator.INITIALIZING]() {
54
54
  return this.delegateTasksToBlueprint(() => this.initializing);
@@ -123,20 +123,21 @@ export default class extends BaseGenerator {
123
123
  return this.delegateTasksToBlueprint(() => this.composing);
124
124
  }
125
125
  get loading() {
126
- return {
127
- createContext() {
126
+ return this.asLoadingTaskGroup({
127
+ async createContext() {
128
128
  this.application = { ...defaultConfig(), ...this.config.getAll() };
129
+ await this.loadCurrentJHipsterCommandConfig(this.application);
129
130
  },
130
131
  async load() {
131
132
  this.application.packagejs = packageJson;
132
133
  },
133
- };
134
+ });
134
135
  }
135
136
  get [BaseGenerator.LOADING]() {
136
137
  return this.delegateTasksToBlueprint(() => this.loading);
137
138
  }
138
139
  get preparing() {
139
- return {
140
+ return this.asPreparingTaskGroup({
140
141
  prepareCommands() {
141
142
  this.application.commands = [];
142
143
  this.application.nodeVersion = NODE_VERSION;
@@ -152,13 +153,23 @@ export default class extends BaseGenerator {
152
153
  preparePath() {
153
154
  this.application.blueprintsPath = this.application[LOCAL_BLUEPRINT_OPTION] ? '.blueprint/' : 'generators/';
154
155
  },
155
- };
156
+ prepare() {
157
+ const { cli, cliName, baseName } = this.application;
158
+ this.application.githubRepository = this.jhipsterConfig.githubRepository ?? `jhipster/generator-jhipster-${baseName}`;
159
+ if (cli) {
160
+ this.application.cliName = cliName ?? `jhipster-${baseName}`;
161
+ }
162
+ },
163
+ });
156
164
  }
157
165
  get [BaseGenerator.PREPARING]() {
158
166
  return this.delegateTasksToBlueprint(() => this.preparing);
159
167
  }
160
168
  get writing() {
161
- return {
169
+ return this.asWritingTaskGroup({
170
+ async cleanup({ control }) {
171
+ await control.cleanupFiles({ '8.5.1': ['.eslintrc.json'] });
172
+ },
162
173
  async writing() {
163
174
  this.application.sampleWritten = this.jhipsterConfig.sampleWritten;
164
175
  await this.writeFiles({
@@ -199,7 +210,7 @@ export default class extends BaseGenerator {
199
210
  subGeneratorStorage.set(WRITTEN, true);
200
211
  }
201
212
  },
202
- };
213
+ });
203
214
  }
204
215
  get [BaseGenerator.WRITING]() {
205
216
  return this.delegateTasksToBlueprint(() => this.writing);
@@ -219,7 +230,7 @@ export default class extends BaseGenerator {
219
230
  name: `generator-jhipster-${this.jhipsterConfig.baseName}`,
220
231
  keywords: ['yeoman-generator', 'jhipster-blueprint', BLUEPRINT_API_VERSION],
221
232
  type: 'module',
222
- files: ['generators'],
233
+ files: defaultPublishedFiles,
223
234
  scripts: {
224
235
  ejslint: 'ejslint generators/**/*.ejs',
225
236
  lint: 'eslint .',
@@ -232,8 +243,8 @@ export default class extends BaseGenerator {
232
243
  devDependencies: {
233
244
  'ejs-lint': `${mainDependencies['ejs-lint']}`,
234
245
  eslint: `${mainDependencies.eslint}`,
246
+ globals: `${mainDependencies.globals}`,
235
247
  'eslint-config-prettier': `${mainDependencies['eslint-config-prettier']}`,
236
- 'eslint-plugin-import': `${mainDependencies['eslint-plugin-import']}`,
237
248
  'eslint-plugin-prettier': `${mainDependencies['eslint-plugin-prettier']}`,
238
249
  vitest: mainDependencies.vitest,
239
250
  prettier: `${mainDependencies.prettier}`,
@@ -241,7 +252,7 @@ export default class extends BaseGenerator {
241
252
  * yeoman-test version is loaded through generator-jhipster peer dependency.
242
253
  * generator-jhipster uses a fixed version, blueprints must set a compatible range.
243
254
  */
244
- 'yeoman-test': '>=8.0.0-rc.1',
255
+ 'yeoman-test': '>=8.2.0',
245
256
  },
246
257
  engines: {
247
258
  node: packagejs.engines.node,
@@ -251,12 +262,12 @@ export default class extends BaseGenerator {
251
262
  addCliToPackageJson() {
252
263
  if (!this.jhipsterConfig.cli || this.jhipsterConfig[LOCAL_BLUEPRINT_OPTION])
253
264
  return;
254
- const { baseName, cliName = `jhipster-${baseName}` } = this.application;
265
+ const { cliName } = this.application;
255
266
  this.packageJson.merge({
256
267
  bin: {
257
268
  [cliName]: 'cli/cli.cjs',
258
269
  },
259
- files: ['cli', 'generators'],
270
+ files: ['cli', ...defaultPublishedFiles],
260
271
  });
261
272
  },
262
273
  addGeneratorJHipsterDependency() {
@@ -271,6 +282,9 @@ export default class extends BaseGenerator {
271
282
  peerDependencies: {
272
283
  'generator-jhipster': `^${packagejs.version}`,
273
284
  },
285
+ engines: {
286
+ 'generator-jhipster': `^${packagejs.version}`,
287
+ },
274
288
  });
275
289
  }
276
290
  else {
@@ -278,6 +292,9 @@ export default class extends BaseGenerator {
278
292
  dependencies: {
279
293
  'generator-jhipster': `${packagejs.version}`,
280
294
  },
295
+ engines: {
296
+ 'generator-jhipster': `${packagejs.version}`,
297
+ },
281
298
  });
282
299
  }
283
300
  },
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
- "vitest": "1.5.2"
3
+ "eslint": "9.5.0",
4
+ "globals": "15.6.0",
5
+ "vitest": "1.6.0"
4
6
  }
5
7
  }
@@ -22,6 +22,12 @@ const defaultCommands = {
22
22
  desc: 'Generate a test sample',
23
23
  blueprint: '@jhipster/jhipster-dev',
24
24
  },
25
+ <%_ if (githubWorkflows) { _%>
26
+ 'github-build-matrix': {
27
+ desc: 'Build a matrix of jobs for github actions',
28
+ blueprint: '@jhipster/jhipster-dev',
29
+ },
30
+ <%_ } _%>
25
31
  };
26
32
 
27
33
  export default defaultCommands;
@@ -16,7 +16,9 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ import { readdir } from 'node:fs/promises';
19
20
  import { GENERATOR_APP } from 'generator-jhipster/generators';
21
+
20
22
  /**
21
23
  * @type {import('generator-jhipster').JHipsterCommandDefinition}
22
24
  */
@@ -26,6 +28,24 @@ const command = {
26
28
  type: String,
27
29
  },
28
30
  },
31
+ configs: {
32
+ sampleName: {
33
+ prompt: gen => ({
34
+ when: !gen.all,
35
+ type: 'list',
36
+ message: 'which sample do you want to generate?',
37
+ choices: async () => readdir(gen.templatePath('samples')),
38
+ }),
39
+ scope: 'generator',
40
+ },
41
+ all: {
42
+ description: 'Generate every sample in a workspace',
43
+ cli: {
44
+ type: Boolean,
45
+ },
46
+ scope: 'generator',
47
+ },
48
+ },
29
49
  options: {},
30
50
  import: [GENERATOR_APP],
31
51
  };