generator-jhipster 8.5.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 (211) 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 +17 -17
  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 +4 -3
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +3 -2
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +3 -3
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +3 -2
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.spec.ts.ejs +2 -3
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.service.spec.ts.ejs +3 -2
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +3 -3
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +3 -4
  19. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +3 -3
  20. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.spec.ts.ejs +3 -2
  21. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +4 -4
  22. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +3 -2
  23. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +3 -3
  24. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +4 -3
  25. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.service.spec.ts.ejs +3 -2
  26. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.ts.ejs +1 -1
  27. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.spec.ts.ejs +3 -3
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +3 -2
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.service.spec.ts.ejs +3 -2
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +3 -3
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +1 -1
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +3 -4
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +3 -3
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +3 -2
  35. package/dist/generators/angular/templates/src/main/webapp/app/app-page-title-strategy.ts.ejs +1 -1
  36. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +0 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/app.config.ts.ejs +2 -2
  38. package/dist/generators/angular/templates/src/main/webapp/app/config/uib-pagination.config.ts.ejs +1 -1
  39. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +7 -5
  40. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-jwt.service.spec.ts.ejs +3 -2
  41. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/auth-expired.interceptor.ts.ejs +3 -3
  42. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/auth.interceptor.ts.ejs +2 -2
  43. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/error-handler.interceptor.ts.ejs +1 -1
  44. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.spec.ts.ejs +6 -6
  45. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +3 -4
  46. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +1 -1
  47. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +2 -3
  48. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +2 -2
  49. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +2 -3
  50. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +5 -3
  51. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +2 -3
  52. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.ts.ejs +2 -2
  53. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +3 -3
  54. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +3 -3
  55. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +3 -2
  56. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +3 -3
  57. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/find-language-from-key.pipe.ts.ejs +1 -1
  58. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translation.module.ts.ejs +2 -2
  59. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.spec.ts.ejs +10 -10
  60. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +6 -7
  61. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.directive.spec.ts.ejs +4 -4
  62. package/dist/generators/angular/templates/src/main/webapp/content/scss/global.scss.ejs +2 -0
  63. package/dist/generators/base/command.js +1 -0
  64. package/dist/generators/base/generator.js +7 -12
  65. package/dist/generators/base/internal/command.js +13 -0
  66. package/dist/generators/base/internal/index.js +1 -0
  67. package/dist/generators/base/shared-data.js +74 -2
  68. package/dist/generators/base/support/config.js +1 -1
  69. package/dist/generators/base/support/jhipster7-context.js +155 -52
  70. package/dist/generators/base-application/generator.js +1 -1
  71. package/dist/generators/base-core/generator.js +93 -55
  72. package/dist/generators/bootstrap/generator.js +1 -1
  73. package/dist/generators/bootstrap/support/eslint-worker.js +14 -12
  74. package/dist/generators/bootstrap/support/multi-step-transform/template-file.js +6 -1
  75. package/dist/generators/bootstrap-application/generator.js +1 -1
  76. package/dist/generators/bootstrap-application-client/generator.js +5 -1
  77. package/dist/generators/ci-cd/generator.js +1 -1
  78. package/dist/generators/ci-cd/templates/docker-registry.yml.ejs +0 -1
  79. package/dist/generators/ci-cd/templates/jenkins/jenkins.yml.ejs +0 -1
  80. package/dist/generators/client/generator.js +2 -3
  81. package/dist/generators/client/resources/package.json +3 -3
  82. package/dist/generators/client/support/filter-entities.js +1 -1
  83. package/dist/generators/client/templates/.eslintignore.ejs +9 -5
  84. package/dist/generators/client/templates/README.md.jhi.client.ejs +29 -20
  85. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
  86. package/dist/generators/common/resources/package.json +1 -1
  87. package/dist/generators/docker/templates/docker/keycloak.yml.ejs +2 -1
  88. package/dist/generators/docker/templates/docker/mariadb.yml.ejs +1 -1
  89. package/dist/generators/docker/templates/docker/mysql.yml.ejs +1 -2
  90. package/dist/generators/docker/templates/docker/realm-config/keycloak-health-check.sh +2 -2
  91. package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +1 -0
  92. package/dist/generators/docker-compose/templates/realm-config/keycloak-health-check.sh +2 -2
  93. package/dist/generators/feign-client/templates/src/main/java/_package_/client/AuthorizationHeaderUtil.java.ejs +1 -1
  94. package/dist/generators/gatling/generator.js +0 -1
  95. package/dist/generators/generate-blueprint/files.js +3 -1
  96. package/dist/generators/generate-blueprint/generator.js +17 -7
  97. package/dist/generators/generate-blueprint/resources/package.json +2 -0
  98. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +2 -6
  99. package/dist/generators/generate-blueprint/templates/.github/workflows/build-cache.yml.ejs +39 -0
  100. package/dist/generators/generate-blueprint/templates/.github/workflows/samples.yml.ejs +105 -0
  101. package/dist/generators/generate-blueprint/templates/.prettierignore.jhi.blueprint.ejs +1 -1
  102. package/dist/generators/generate-blueprint/templates/eslint.config.js.ejs +33 -0
  103. package/dist/generators/generator-constants.js +2 -2
  104. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  105. package/dist/generators/heroku/generator.js +1 -1
  106. package/dist/generators/info/support/extract-info.js +60 -0
  107. package/dist/generators/info/support/index.js +1 -0
  108. package/dist/generators/init/resources/.node-version +1 -1
  109. package/dist/generators/init/resources/package.json +2 -2
  110. package/dist/generators/java/generators/bootstrap/generator.js +9 -2
  111. package/dist/generators/java/generators/build-tool/command.js +2 -2
  112. package/dist/generators/java/generators/node/templates/npmw +1 -5
  113. package/dist/generators/java/support/add-java-annotation.js +1 -1
  114. package/dist/generators/jdl/generator.js +6 -6
  115. package/dist/generators/kubernetes/templates/db/mysql.yml.ejs +1 -0
  116. package/dist/generators/languages/generator.js +1 -0
  117. package/dist/generators/liquibase/templates/src/main/java/_package_/config/LiquibaseConfiguration.java.ejs +1 -1
  118. package/dist/generators/maven/command.js +15 -0
  119. package/dist/generators/maven/generator.js +6 -1
  120. package/dist/generators/maven/index.js +1 -0
  121. package/dist/generators/maven/internal/xml-store.js +7 -6
  122. package/dist/generators/maven/support/pom-store.js +24 -9
  123. package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
  124. package/dist/generators/react/entity-files-react.js +7 -7
  125. package/dist/generators/react/resources/package.json +12 -12
  126. package/dist/generators/react/templates/src/main/webapp/app/app.tsx.ejs +9 -0
  127. package/dist/generators/react/templates/src/main/webapp/app/config/translation.ts.ejs +4 -0
  128. package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +15 -1
  129. package/dist/generators/react/templates/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +4 -0
  130. package/dist/generators/react/templates/src/main/webapp/app/modules/login/logout.tsx.ejs +5 -3
  131. package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +1 -1
  132. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +1 -1
  133. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.tsx.ejs +1 -1
  134. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/header/header.tsx.ejs +0 -9
  135. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +1 -3
  136. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +29 -6
  137. package/dist/generators/react/templates/src/main/webapp/app/shared/util/url-utils.ts.ejs +1 -1
  138. package/dist/generators/server/generator.js +7 -5
  139. package/dist/generators/server/resources/Dockerfile +5 -5
  140. package/dist/generators/server/resources/gradle/libs.versions.toml +5 -5
  141. package/dist/generators/server/resources/pom.xml +11 -11
  142. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -1
  143. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +1 -1
  144. package/dist/generators/server/templates/pom.xml.ejs +0 -26
  145. package/dist/generators/server/templates/src/main/java/_package_/config/AsyncConfiguration.java.ejs +1 -1
  146. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +1 -1
  147. package/dist/generators/server/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +1 -1
  148. package/dist/generators/server/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +1 -1
  149. package/dist/generators/server/templates/src/main/java/_package_/security/PersistentTokenRememberMeServices.java.ejs +1 -1
  150. package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/AudienceValidator.java.ejs +1 -1
  151. package/dist/generators/server/templates/src/main/java/_package_/service/MailService.java.ejs +1 -1
  152. package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +11 -0
  153. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +1 -1
  154. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +1 -1
  155. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +1 -1
  156. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +1 -1
  157. package/dist/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
  158. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +1 -1
  159. package/dist/generators/server/templates/src/main/resources/config/bootstrap.yml.ejs +1 -1
  160. package/dist/generators/spring-boot/generator.js +4 -2
  161. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +105 -105
  162. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/UserService.java.ejs +1 -1
  163. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +1 -1
  164. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.java.ejs +1 -1
  165. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/PublicUserResource.java.ejs +1 -1
  166. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/UserResource.java.ejs +1 -1
  167. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/_entityClass_Resource.java.ejs +1 -1
  168. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  169. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +3 -3
  170. package/dist/generators/spring-cloud/generators/gateway/command.js +5 -0
  171. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaConsumer_imperative.java.ejs +1 -1
  172. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaConsumer_reactive.java.ejs +1 -1
  173. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/web/rest/KafkaResource_imperative.java.ejs +1 -1
  174. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/web/rest/KafkaResource_reactive.java.ejs +1 -1
  175. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +1 -1
  176. package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/config/DatabaseConfiguration.java_neo4j.ejs +18 -2
  177. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +1 -1
  178. package/dist/generators/vue/entity-files-vue.js +7 -7
  179. package/dist/generators/vue/resources/package.json +11 -11
  180. package/dist/generators/vue/templates/.eslintrc.cjs.ejs +7 -0
  181. package/dist/lib/eslint/base.js +25 -0
  182. package/dist/lib/eslint/recommended.js +22 -0
  183. package/dist/testing/github.js +32 -0
  184. package/dist/testing/helpers.js +9 -0
  185. package/dist/testing/index.js +2 -0
  186. package/dist/testing/sample-config.js +31 -0
  187. package/dist/types/cli/commands.d.mts +2 -0
  188. package/dist/types/cli/environment-builder.d.mts +1 -0
  189. package/dist/types/generators/base/api.d.ts +14 -7
  190. package/dist/types/generators/base/internal/command.d.ts +2 -0
  191. package/dist/types/generators/base/internal/index.d.ts +1 -0
  192. package/dist/types/generators/base/shared-data.d.ts +10 -1
  193. package/dist/types/generators/base/types.d.ts +12 -0
  194. package/dist/types/generators/base-application/types.d.ts +11 -0
  195. package/dist/types/generators/base-core/generator.d.ts +2 -1
  196. package/dist/types/generators/generator-constants.d.ts +1 -1
  197. package/dist/types/generators/info/support/extract-info.d.ts +14 -0
  198. package/dist/types/generators/info/support/index.d.ts +1 -0
  199. package/dist/types/generators/java/types.d.ts +12 -0
  200. package/dist/types/generators/maven/internal/xml-store.d.ts +3 -2
  201. package/dist/types/generators/maven/support/pom-store.d.ts +5 -2
  202. package/dist/types/generators/maven/types.d.ts +1 -0
  203. package/dist/types/generators/server/types.d.ts +2 -1
  204. package/dist/types/lib/eslint/base.d.ts +20 -0
  205. package/dist/types/lib/eslint/recommended.d.ts +20 -0
  206. package/dist/types/testing/github.d.ts +11 -0
  207. package/dist/types/testing/helpers.d.ts +8 -0
  208. package/dist/types/testing/index.d.ts +2 -0
  209. package/dist/types/testing/sample-config.d.ts +4 -0
  210. package/package.json +22 -18
  211. package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +0 -35
@@ -115,7 +115,7 @@ public class UserResource {
115
115
  private static final List<String> ALLOWED_ORDERED_PROPERTIES = Collections.unmodifiableList(Arrays.asList(
116
116
  "id", "login", "firstName", "lastName", "email", "activated", "langKey", "createdBy", "createdDate", "lastModifiedBy", "lastModifiedDate"));
117
117
 
118
- private final Logger log = LoggerFactory.getLogger(UserResource.class);
118
+ private static final Logger log = LoggerFactory.getLogger(UserResource.class);
119
119
 
120
120
  @Value("${jhipster.clientApp.name}")
121
121
  private String applicationName;
@@ -139,7 +139,7 @@ import java.util.stream.StreamSupport;
139
139
  <%_ } _%>
140
140
  public class <%= entityClass %>Resource {
141
141
 
142
- private final Logger log = LoggerFactory.getLogger(<%= entityClass %>Resource.class);
142
+ private static final Logger log = LoggerFactory.getLogger(<%= entityClass %>Resource.class);
143
143
  <%_ if (!readOnly) { _%>
144
144
 
145
145
  <%_ let entityName = entityInstance;
@@ -12,4 +12,4 @@ xmemcached-provider = { module = 'com.google.code.simple-spring-memcached:xmemca
12
12
 
13
13
  xmemcached = { module = 'com.googlecode.xmemcached:xmemcached', version = '2.4.8' }
14
14
 
15
- redisson = { module = 'org.redisson:redisson', version = '3.30.0' }
15
+ redisson = { module = 'org.redisson:redisson', version = '3.32.0' }
@@ -250,7 +250,7 @@ public class CacheConfiguration {
250
250
  <%_ } _%>
251
251
  <%_ if (cacheProviderHazelcast) { _%>
252
252
 
253
- private final Logger log = LoggerFactory.getLogger(CacheConfiguration.class);
253
+ private static final Logger log = LoggerFactory.getLogger(CacheConfiguration.class);
254
254
 
255
255
  private final Environment env;
256
256
  <%_ if (serviceDiscoveryAny) { _%>
@@ -389,7 +389,7 @@ public class CacheConfiguration {
389
389
  <%_ } _%>
390
390
  <%_ if (cacheProviderInfinispan) { _%>
391
391
 
392
- private final Logger log = LoggerFactory.getLogger(CacheConfiguration.class);
392
+ private static final Logger log = LoggerFactory.getLogger(CacheConfiguration.class);
393
393
 
394
394
  <%_ if (serviceDiscoveryAny) { _%>
395
395
 
@@ -648,7 +648,7 @@ public class CacheConfiguration {
648
648
  <%_ } _%>
649
649
  <%_ if (cacheProviderMemcached) { _%>
650
650
 
651
- private final Logger log = LoggerFactory.getLogger(CacheConfiguration.class);
651
+ private static final Logger log = LoggerFactory.getLogger(CacheConfiguration.class);
652
652
 
653
653
  @Bean
654
654
  public CacheManager memcachedCacheManager(JHipsterProperties jHipsterProperties, List<CacheFactory> caches)
@@ -1,6 +1,11 @@
1
1
  const command = {
2
2
  configs: {
3
3
  routes: {
4
+ description: 'Manually configured gateway routes',
5
+ cli: {
6
+ type: String,
7
+ hide: true,
8
+ },
4
9
  scope: 'storage',
5
10
  },
6
11
  },
@@ -34,7 +34,7 @@ import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
34
34
  @Component
35
35
  public class KafkaConsumer implements Consumer<String> {
36
36
 
37
- private final Logger log = LoggerFactory.getLogger(KafkaConsumer.class);
37
+ private static final Logger log = LoggerFactory.getLogger(KafkaConsumer.class);
38
38
 
39
39
  private Map<String, SseEmitter> emitters = new HashMap<>();
40
40
 
@@ -29,7 +29,7 @@ import reactor.core.publisher.Sinks;
29
29
  @Component
30
30
  public class KafkaConsumer implements Consumer<String> {
31
31
 
32
- private final Logger log = LoggerFactory.getLogger(KafkaConsumer.class);
32
+ private static final Logger log = LoggerFactory.getLogger(KafkaConsumer.class);
33
33
 
34
34
  private Sinks.Many<String> sink = Sinks.many().unicast().onBackpressureBuffer();
35
35
 
@@ -33,7 +33,7 @@ public class <%= upperFirstCamelCaseBaseName %>KafkaResource {
33
33
 
34
34
  private static final String PRODUCER_BINDING_NAME = "binding-out-0";
35
35
 
36
- private final Logger log = LoggerFactory.getLogger(<%= upperFirstCamelCaseBaseName %>KafkaResource.class);
36
+ private static final Logger log = LoggerFactory.getLogger(<%= upperFirstCamelCaseBaseName %>KafkaResource.class);
37
37
  private final KafkaConsumer kafkaConsumer;
38
38
  private final StreamBridge streamBridge;
39
39
 
@@ -34,7 +34,7 @@ public class <%= upperFirstCamelCaseBaseName %>KafkaResource {
34
34
 
35
35
  private static final String PRODUCER_BINDING_NAME = "binding-out-0";
36
36
 
37
- private final Logger log = LoggerFactory.getLogger(<%= upperFirstCamelCaseBaseName %>KafkaResource.class);
37
+ private static final Logger log = LoggerFactory.getLogger(<%= upperFirstCamelCaseBaseName %>KafkaResource.class);
38
38
  private final KafkaConsumer kafkaConsumer;
39
39
  private final StreamBridge streamBridge;
40
40
 
@@ -82,7 +82,7 @@ public class DatabaseConfiguration extends AbstractCouchbaseConfiguration {
82
82
  private static final String CHANGELOG_COLLECTION = "changelog";
83
83
  private static final String TYPE_KEY = "type";
84
84
 
85
- private final Logger log = LoggerFactory.getLogger(DatabaseConfiguration.class);
85
+ private static final Logger log = LoggerFactory.getLogger(DatabaseConfiguration.class);
86
86
 
87
87
  private final JHipsterProperties jHipsterProperties;
88
88
  private final CouchbaseProperties couchbaseProperties;
@@ -24,10 +24,18 @@ import org.springframework.context.annotation.Configuration;
24
24
  import org.springframework.context.annotation.ComponentScan.Filter;
25
25
  import org.springframework.context.annotation.FilterType;
26
26
  import org.springframework.data.elasticsearch.repository.config.Enable<% if (reactive) { %>Reactive<% } %>ElasticsearchRepositories;
27
- import org.springframework.data.neo4j.repository.<% if (reactive) { %>Reactive<% } %>Neo4jRepository;
28
27
  <%_ } _%>
29
28
 
30
29
  import org.springframework.data.neo4j.repository.config.Enable<% if (reactive) { %>Reactive<% } %>Neo4jRepositories;
30
+ <%_ if (reactive) { _%>
31
+
32
+ import org.neo4j.driver.Driver;
33
+ import org.springframework.context.annotation.Bean;
34
+ import org.springframework.data.neo4j.core.<% if (reactive) { %>Reactive<% } %>DatabaseSelectionProvider;
35
+ import org.springframework.data.neo4j.core.transaction.<% if (reactive) { %>Reactive<% } %>Neo4jTransactionManager;
36
+ import org.springframework.data.neo4j.repository.config.<% if (reactive) { %>Reactive<% } %>Neo4jRepositoryConfigurationExtension;
37
+ import org.springframework.transaction.<% if (reactive) { %>Reactive<% } %>TransactionManager;
38
+ <%_ } _%>
31
39
 
32
40
  @Configuration
33
41
  <%_ if (searchEngineElasticsearch) { _%>
@@ -38,4 +46,12 @@ import org.springframework.data.neo4j.repository.config.Enable<% if (reactive) {
38
46
  <%_ if (searchEngineElasticsearch) { _%>
39
47
  @Enable<% if (reactive) { %>Reactive<% } %>ElasticsearchRepositories("<%= packageName %>.repository.search")
40
48
  <%_ } _%>
41
- public class DatabaseConfiguration {}
49
+ public class DatabaseConfiguration {
50
+ <%_ if (reactive) { _%>
51
+
52
+ @Bean(<% if (reactive) { %>Reactive<% } %>Neo4jRepositoryConfigurationExtension.DEFAULT_TRANSACTION_MANAGER_BEAN_NAME)
53
+ public <% if (reactive) { %>Reactive<% } %>TransactionManager transactionManager(Driver driver, <% if (reactive) { %>Reactive<% } %>DatabaseSelectionProvider databaseNameProvider) {
54
+ return new <% if (reactive) { %>Reactive<% } %>Neo4jTransactionManager(driver, databaseNameProvider);
55
+ }
56
+ <%_ } _%>
57
+ }
@@ -97,7 +97,7 @@ import java.util.UUID;
97
97
  public class DatabaseConfiguration {
98
98
 
99
99
  <%_ if (devDatabaseTypeH2Any) { _%>
100
- private final Logger log = LoggerFactory.getLogger(DatabaseConfiguration.class);
100
+ private static final Logger log = LoggerFactory.getLogger(DatabaseConfiguration.class);
101
101
 
102
102
  private final Environment env;
103
103
 
@@ -16,7 +16,7 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import { clientApplicationTemplatesBlock, filterEntitiesAndPropertiesForClient, filterEntitiesForClient } from '../client/support/index.js';
19
+ import { clientApplicationTemplatesBlock } from '../client/support/index.js';
20
20
  export const entityFiles = {
21
21
  client: [
22
22
  clientApplicationTemplatesBlock({
@@ -48,16 +48,16 @@ export const entityFiles = {
48
48
  },
49
49
  ],
50
50
  };
51
- export async function writeEntityFiles({ application, entities }) {
52
- for (const entity of filterEntitiesAndPropertiesForClient(entities).filter(entity => !entity.skipClient && !entity.builtInUser)) {
51
+ export async function writeEntityFiles({ control, application, entities }) {
52
+ for (const entity of (control.filterEntitiesAndPropertiesForClient ?? (entities => entities))(entities).filter(entity => !entity.skipClient && !entity.builtInUser)) {
53
53
  await this.writeFiles({
54
54
  sections: entityFiles,
55
55
  context: { ...application, ...entity },
56
56
  });
57
57
  }
58
58
  }
59
- export async function postWriteEntityFiles({ application, entities }) {
60
- for (const entity of filterEntitiesForClient(entities).filter(entity => !entity.builtInUser)) {
59
+ export async function postWriteEntityFiles({ control, application, entities }) {
60
+ for (const entity of (control.filterEntitiesForClient ?? (entities => entities))(entities).filter(entity => !entity.builtInUser)) {
61
61
  if (!entity.embedded) {
62
62
  const { enableTranslation } = application;
63
63
  const { entityInstance, entityClass, entityAngularName, entityFolderName, entityFileName, entityUrl, microserviceName, readOnly, entityClassPlural, i18nKeyPrefix, pageTitle = enableTranslation ? `${i18nKeyPrefix}.home.title` : entityClassPlural, } = entity;
@@ -66,8 +66,8 @@ export async function postWriteEntityFiles({ application, entities }) {
66
66
  }
67
67
  }
68
68
  }
69
- export function cleanupEntitiesFiles({ application, entities }) {
70
- for (const entity of filterEntitiesForClient(entities).filter(entity => !entity.builtInUser)) {
69
+ export function cleanupEntitiesFiles({ control, application, entities }) {
70
+ for (const entity of (control.filterEntitiesForClient ?? (entities => entities))(entities).filter(entity => !entity.builtInUser)) {
71
71
  const { entityFolderName, entityFileName } = entity;
72
72
  if (this.isJhipsterVersionLessThan('8.0.0-beta.3')) {
73
73
  this.removeFile(`${application.clientTestDir}/spec/app/entities/${entityFolderName}/${entityFileName}.component.spec.ts`);
@@ -6,7 +6,7 @@
6
6
  "@stomp/rx-stomp": "2.0.0",
7
7
  "@vuelidate/core": "2.0.3",
8
8
  "@vuelidate/validators": "2.0.4",
9
- "@vueuse/core": "10.10.0",
9
+ "@vueuse/core": "10.11.0",
10
10
  "axios": "1.7.2",
11
11
  "bootstrap": "4.6.2",
12
12
  "bootstrap-vue": "2.23.1",
@@ -18,7 +18,7 @@
18
18
  "sockjs-client": "1.6.1",
19
19
  "vue": "3.4.21",
20
20
  "vue-i18n": "9.13.1",
21
- "vue-router": "4.3.2"
21
+ "vue-router": "4.4.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@module-federation/utilities": "3.0.3-0",
@@ -27,9 +27,9 @@
27
27
  "@tsconfig/node18": "18.2.4",
28
28
  "@types/node": "20.11.25",
29
29
  "@types/sinon": "17.0.3",
30
- "@vitejs/plugin-vue": "5.0.4",
30
+ "@vitejs/plugin-vue": "5.0.5",
31
31
  "@vue/eslint-config-prettier": "9.0.0",
32
- "@vue/eslint-config-typescript": "10.0.0",
32
+ "@vue/eslint-config-typescript": "13.0.0",
33
33
  "@vue/test-utils": "2.4.6",
34
34
  "@vue/tsconfig": "0.5.1",
35
35
  "autoprefixer": "10.4.19",
@@ -40,10 +40,10 @@
40
40
  "css-minimizer-webpack-plugin": "7.0.0",
41
41
  "eslint": "8.57.0",
42
42
  "eslint-plugin-prettier": "5.1.3",
43
- "eslint-plugin-vue": "8.7.1",
43
+ "eslint-plugin-vue": "9.26.0",
44
44
  "flush-promises": "1.0.2",
45
45
  "folder-hash": "4.0.4",
46
- "happy-dom": "14.12.0",
46
+ "happy-dom": "14.12.3",
47
47
  "html-webpack-plugin": "5.6.0",
48
48
  "merge-jsons-webpack-plugin": "2.0.1",
49
49
  "mini-css-extract-plugin": "2.9.0",
@@ -52,20 +52,20 @@
52
52
  "postcss-loader": "8.1.1",
53
53
  "postcss-url": "10.1.3",
54
54
  "rimraf": "5.0.7",
55
- "sass": "1.77.3",
55
+ "sass": "1.77.6",
56
56
  "sass-loader": "14.2.1",
57
57
  "sinon": "18.0.0",
58
58
  "terser-webpack-plugin": "5.3.10",
59
59
  "ts-loader": "9.5.1",
60
- "typescript": "5.4.5",
61
- "vite": "5.2.12",
60
+ "typescript": "5.5.2",
61
+ "vite": "5.3.1",
62
62
  "vite-plugin-static-copy": "1.0.5",
63
63
  "vitest": "1.6.0",
64
64
  "vitest-sonar-reporter": "2.0.0",
65
65
  "vue-loader": "17.4.2",
66
66
  "vue-style-loader": "4.1.3",
67
- "vue-tsc": "2.0.19",
68
- "webpack": "5.91.0",
67
+ "vue-tsc": "2.0.22",
68
+ "webpack": "5.92.1",
69
69
  "webpack-bundle-analyzer": "4.10.2",
70
70
  "webpack-cli": "5.1.4",
71
71
  "webpack-dev-server": "5.0.4",
@@ -39,7 +39,9 @@ module.exports = {
39
39
  },
40
40
  ],
41
41
  <%_ } _%>
42
+ parser: 'vue-eslint-parser',
42
43
  parserOptions: {
44
+ parser: '@typescript-eslint/parser',
43
45
  ecmaVersion: 'latest',
44
46
  },
45
47
  rules: {
@@ -53,6 +55,11 @@ module.exports = {
53
55
  '@typescript-eslint/ban-ts-comment': 'off',
54
56
  '@typescript-eslint/no-var-requires': 'off',
55
57
  '@typescript-eslint/consistent-type-imports': 'error',
58
+ 'vue/no-v-text-v-html-on-component': [
59
+ 'error',
60
+ { 'allow': ['router-link', 'b-alert', 'b-badge', 'b-button', 'b-link'] },
61
+ ],
62
+ 'vue/no-reserved-component-names': 'off',
56
63
  },
57
64
  ignorePatterns: ['<%= this.relativeDir(clientRootDir, temporaryDir) %>'],
58
65
  };
@@ -0,0 +1,25 @@
1
+ import unusedImports from 'eslint-plugin-unused-imports';
2
+ import imports from 'eslint-plugin-import';
3
+ export const baseRules = {
4
+ 'no-unused-vars': 'off',
5
+ 'import/no-duplicates': 'error',
6
+ 'import/order': 'error',
7
+ 'unused-imports/no-unused-imports': 'error',
8
+ 'unused-imports/no-unused-vars': [
9
+ 'warn',
10
+ {
11
+ vars: 'all',
12
+ varsIgnorePattern: '^_',
13
+ args: 'after-used',
14
+ argsIgnorePattern: '^_',
15
+ },
16
+ ],
17
+ };
18
+ const baseConfig = {
19
+ plugins: {
20
+ 'unused-imports': unusedImports,
21
+ import: imports,
22
+ },
23
+ rules: baseRules,
24
+ };
25
+ export default baseConfig;
@@ -0,0 +1,22 @@
1
+ import js from '@eslint/js';
2
+ import baseConfig from './base.js';
3
+ const recommended = {
4
+ languageOptions: {
5
+ ecmaVersion: 2022,
6
+ sourceType: 'module',
7
+ },
8
+ settings: {
9
+ 'import/parsers': {
10
+ espree: ['.js', '.cjs', '.mjs', '.jsx'],
11
+ },
12
+ 'import/resolver': {
13
+ node: true,
14
+ },
15
+ },
16
+ ...baseConfig,
17
+ rules: {
18
+ ...js.configs.recommended.rules,
19
+ ...baseConfig.rules,
20
+ },
21
+ };
22
+ export default recommended;
@@ -0,0 +1,32 @@
1
+ import axios from 'axios';
2
+ import { randomUUID } from 'node:crypto';
3
+ import { appendFileSync, existsSync } from 'node:fs';
4
+ import { EOL } from 'node:os';
5
+ export const parseIssue = (issue) => {
6
+ if (issue.includes('#')) {
7
+ const split = issue.split('/');
8
+ const split2 = split[1].split('#');
9
+ return { owner: split[0], repository: split2[0], issue: split2[1] };
10
+ }
11
+ return undefined;
12
+ };
13
+ export const setGithubTaskOutput = (name, value) => {
14
+ const delimiter = `delimiter_${randomUUID()}`;
15
+ const output = `${name}<<${delimiter}${EOL}${value}${EOL}${delimiter}${EOL}`;
16
+ const filePath = process.env.GITHUB_OUTPUT;
17
+ if (filePath && existsSync(filePath)) {
18
+ appendFileSync(filePath, output, { encoding: 'utf8' });
19
+ }
20
+ else {
21
+ // eslint-disable-next-line no-console
22
+ console.log(output);
23
+ }
24
+ };
25
+ export const getGithubIssue = async ({ owner, repository, issue }) => {
26
+ const response = await axios.get(`https://api.github.com/repos/${owner}/${repository}/issues/${issue}`, {
27
+ headers: {
28
+ 'X-GitHub-Api-Version': '2022-11-28',
29
+ },
30
+ });
31
+ return response.data;
32
+ };
@@ -183,7 +183,16 @@ class JHipsterRunContext extends RunContext {
183
183
  merge(this.sharedApplication, sharedApplication);
184
184
  return this.withSharedData({ sharedApplication: this.sharedApplication });
185
185
  }
186
+ /**
187
+ * Mock every built-in generators except the ones in the exceptList and bootstrap-* generators.
188
+ * Note: Boostrap generator is mocked by default.
189
+ * @example
190
+ * withMockedJHipsterGenerators(['jhipster:bootstrap'])
191
+ * @example
192
+ * withMockedJHipsterGenerators(['bootstrap', 'server'])
193
+ */
186
194
  withMockedJHipsterGenerators(exceptList = []) {
195
+ exceptList = exceptList.map(gen => (gen.startsWith('jhipster:') ? gen : `jhipster:${gen}`));
187
196
  return this.withMockedGenerators(mockedGenerators.filter(gen => !exceptList.includes(gen) && this.Generator !== gen));
188
197
  }
189
198
  withGradleBuildTool() {
@@ -1,5 +1,7 @@
1
1
  export { default as getGenerator } from './get-generator.js';
2
2
  export * from './helpers.js';
3
+ export * from './github.js';
4
+ export * from './sample-config.js';
3
5
  // test matrix
4
6
  export * from './support/application-samples.js';
5
7
  export * from './support/client-samples.js';
@@ -0,0 +1,31 @@
1
+ import { lstat, readFile } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ import { GENERATOR_JHIPSTER } from '../generators/generator-constants.js';
4
+ import { mutateData } from '../generators/base/support/config.js';
5
+ const isFile = async (filename) => {
6
+ try {
7
+ return (await lstat(filename)).isFile();
8
+ }
9
+ catch {
10
+ return false;
11
+ }
12
+ };
13
+ export const prepareSample = async (projectFolder, files, { removeBlueprints } = {}) => {
14
+ return Promise.all(files.map(async ({ filename, content }) => {
15
+ filename = join(projectFolder, filename);
16
+ if (filename.endsWith('.yo-rc.json')) {
17
+ if (await isFile(filename)) {
18
+ const { jwtSecretKey, rememberMeKey } = JSON.parse(await readFile(filename, 'utf-8'))[GENERATOR_JHIPSTER];
19
+ if (jwtSecretKey || rememberMeKey) {
20
+ const newContent = JSON.parse(content);
21
+ mutateData(newContent[GENERATOR_JHIPSTER], { jwtSecretKey, rememberMeKey });
22
+ if (removeBlueprints) {
23
+ delete newContent[GENERATOR_JHIPSTER].blueprints;
24
+ }
25
+ content = JSON.stringify(newContent, null, 2);
26
+ }
27
+ }
28
+ }
29
+ return { filename, content };
30
+ }));
31
+ };
@@ -2,6 +2,7 @@ export default defaultCommands;
2
2
  declare const defaultCommands: {
3
3
  add: {
4
4
  desc: string;
5
+ removed: string;
5
6
  };
6
7
  app: {
7
8
  desc: string;
@@ -93,6 +94,7 @@ declare const defaultCommands: {
93
94
  };
94
95
  page: {
95
96
  desc: string;
97
+ removed: string;
96
98
  };
97
99
  'project-name': {
98
100
  desc: string;
@@ -26,6 +26,7 @@ export default class EnvironmentBuilder {
26
26
  * @return {EnvironmentBuilder} envBuilder
27
27
  */
28
28
  static createDefaultBuilder(...args: any[]): EnvironmentBuilder;
29
+ static run(args: any, generatorOptions?: {}, envOptions?: {}): Promise<void>;
29
30
  /**
30
31
  * Class to manipulate yeoman environment for jhipster needs.
31
32
  * - Registers jhipster generators.
@@ -1,5 +1,5 @@
1
1
  import type { BaseOptions, BaseFeatures, ArgumentSpec, CliOptionSpec } from 'yeoman-generator';
2
- import type { SetOptional } from 'type-fest';
2
+ import type { RequireAtLeastOne, SetOptional } from 'type-fest';
3
3
  import type CoreGenerator from '../base-core/index.js';
4
4
 
5
5
  export type ApplicationWithConfig = {
@@ -70,7 +70,7 @@ export type JHipsterGeneratorFeatures = BaseFeatures & {
70
70
  /**
71
71
  * Wraps write context and shows removed fields and replacements if exists.
72
72
  */
73
- jhipster7Migration?: boolean;
73
+ jhipster7Migration?: boolean | 'verbose' | 'silent';
74
74
  sbsBlueprint?: boolean;
75
75
  checkBlueprint?: boolean;
76
76
  /**
@@ -114,13 +114,13 @@ export type WriteFileTemplate<Generator = CoreGenerator, DataType = any> =
114
114
  | ((this: Generator, data: DataType, filePath: string) => string)
115
115
  | {
116
116
  /** source file */
117
- sourceFile?: ((this: Generator, data: DataType) => string) | string;
117
+ sourceFile?: string | ((this: Generator, data: DataType) => string);
118
118
  /** destination file */
119
- destinationFile?: (this: Generator, destinationFile: DataType) => string | string;
119
+ destinationFile?: string | ((this: Generator, destinationFile: DataType) => string);
120
120
  /** @deprecated, use sourceFile instead */
121
- file?: ((this: Generator, data: DataType) => string) | string;
121
+ file?: string | ((this: Generator, data: DataType) => string);
122
122
  /** @deprecated, use destinationFile instead */
123
- renameTo?: ((this: Generator, data: DataType, filePath: string) => string) | string;
123
+ renameTo?: string | ((this: Generator, data: DataType, filePath: string) => string);
124
124
  /** transforms (files processing) to be applied */
125
125
  transform?: boolean | (() => string)[];
126
126
  /** binary files skips ejs render, ejs extension and file transform */
@@ -159,6 +159,13 @@ export type WriteFileOptions<Generator = CoreGenerator, DataType = any> = {
159
159
  * Single absolute path or relative path(s) between the templates folder and template path.
160
160
  */
161
161
  rootTemplatesPath?: string | string[];
162
+
163
+ /** @experimental Customize templates sourceFile and destinationFile */
164
+ customizeTemplatePath?: (file: {
165
+ sourceFile: string;
166
+ resolvedSourceFile: string;
167
+ destinationFile: string;
168
+ }) => undefined | { sourceFile: string; resolvedSourceFile: string; destinationFile: string };
162
169
  } & (
163
170
  | {
164
171
  sections: WriteFileSection<Generator, DataType>;
@@ -225,7 +232,7 @@ export type JHipsterArguments = Record<string, JHipsterArgumentConfig>;
225
232
 
226
233
  export type JHipsterOptions = Record<string, JHipsterOption>;
227
234
 
228
- export type JHipsterConfigs = Record<string, ConfigSpec>;
235
+ export type JHipsterConfigs = Record<string, RequireAtLeastOne<ConfigSpec, 'argument' | 'cli' | 'prompt'>>;
229
236
 
230
237
  export type JHipsterCommandDefinition = {
231
238
  arguments?: JHipsterArguments;
@@ -0,0 +1,2 @@
1
+ import { JHipsterArguments, JHipsterConfigs } from '../api.js';
2
+ export declare const extractArgumentsFromConfigs: (configs: JHipsterConfigs | undefined) => JHipsterArguments;
@@ -17,3 +17,4 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  export * from './blueprint.js';
20
+ export * from './command.js';
@@ -1,8 +1,17 @@
1
+ import { MemFsEditor } from 'mem-fs-editor';
1
2
  import { type BaseApplication } from '../base-application/types.js';
2
3
  import { type Control } from './types.js';
3
4
  export default class SharedData<ApplicationType extends BaseApplication = BaseApplication> {
4
5
  _storage: any;
5
- constructor(storage: any, initialControl?: Partial<Control>);
6
+ _editor: MemFsEditor;
7
+ _log: any;
8
+ _logCwd: string;
9
+ constructor(storage: any, { memFs, destinationPath, log, logCwd }: {
10
+ memFs: any;
11
+ destinationPath: any;
12
+ log: any;
13
+ logCwd: any;
14
+ }, initialControl?: Partial<Control>);
6
15
  getSource(): any;
7
16
  getControl(): Control;
8
17
  getApplication(): ApplicationType;
@@ -1,3 +1,5 @@
1
+ import type { Entity } from '../base-application/index.ts';
2
+
1
3
  export type Control = {
2
4
  existingProject: boolean;
3
5
  ignoreNeedlesError: boolean;
@@ -9,4 +11,14 @@ export type Control = {
9
11
  */
10
12
  blueprintConfigured?: boolean;
11
13
  reproducibleLiquibaseTimestamp?: Date;
14
+ filterEntitiesForClient?: (entity: Entity[]) => Entity[];
15
+ filterEntitiesAndPropertiesForClient?: (entity: Entity[]) => Entity[];
16
+ customizeRemoveFiles: Array<(file: string) => string | undefined>;
17
+ removeFiles: (options: { removedInVersion: string } | string, ...files: string[]) => Promise<void>;
18
+ /**
19
+ * Cleanup files conditionally based on version and condition.
20
+ * @example
21
+ * cleanupFiles({ '6.0.0': ['file1', 'file2', [application.shouldRemove, 'file3']] })
22
+ */
23
+ cleanupFiles: (cleanup: Record<string, Array<string | [boolean, ...string[]]>>) => Promise<void>;
12
24
  };
@@ -32,6 +32,17 @@ export type BaseApplication = {
32
32
 
33
33
  skipClient?: boolean;
34
34
  skipServer?: boolean;
35
+
36
+ /** Customize templates sourceFile and destinationFile */
37
+ customizeTemplatePaths: Array<
38
+ (file: {
39
+ namespace: string;
40
+ sourceFile: string;
41
+ resolvedSourceFile: string;
42
+ destinationFile: string;
43
+ templatesRoots: string[];
44
+ }) => undefined | { sourceFile: string; resolvedSourceFile: string; destinationFile: string; templatesRoots: string[] }
45
+ >;
35
46
  } & I18nApplication;
36
47
 
37
48
  /* ApplicationType Start */
@@ -29,9 +29,10 @@ export default class CoreGenerator extends YeomanGenerator<JHipsterGeneratorOpti
29
29
  static END: string;
30
30
  useVersionPlaceholders?: boolean;
31
31
  skipChecks?: boolean;
32
+ ignoreNeedlesError?: boolean;
32
33
  experimental?: boolean;
33
34
  debugEnabled?: boolean;
34
- jhipster7Migration?: boolean;
35
+ jhipster7Migration?: boolean | 'verbose' | 'silent';
35
36
  relativeDir: (from: string, to: string) => string;
36
37
  relative: (from: string, to: string) => string;
37
38
  readonly sharedData: SharedData<CommonClientServerApplication>;
@@ -1,5 +1,5 @@
1
1
  export const BLUEPRINT_API_VERSION: "jhipster-8";
2
- export const JHIPSTER_DEPENDENCIES_VERSION: "8.5.0";
2
+ export const JHIPSTER_DEPENDENCIES_VERSION: "8.6.0";
3
3
  export const JAVA_VERSION: "17";
4
4
  export const JAVA_COMPATIBLE_VERSIONS: string[];
5
5
  export const ADD_SPRING_MILESTONE_REPOSITORY: false;
@@ -0,0 +1,14 @@
1
+ export type InfoFile = {
2
+ filename: string;
3
+ content: string;
4
+ };
5
+ export type InfoData = {
6
+ yoRcContent: string | undefined;
7
+ jdlDefinitions: string | undefined;
8
+ jdlEntitiesDefinitions: string | undefined;
9
+ yoRcBlank: boolean;
10
+ yoRcValid: boolean;
11
+ files: InfoFile[];
12
+ workspacesFolders: string[] | undefined;
13
+ };
14
+ export declare const extractDataFromInfo: (info: string) => InfoData;
@@ -17,3 +17,4 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  export * from './utils.js';
20
+ export * from './extract-info.js';