generator-jhipster 7.6.0 → 7.7.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 (310) hide show
  1. package/README.md +1 -3
  2. package/cli/commands.js +3 -0
  3. package/cli/environment-builder.js +53 -18
  4. package/cli/import-jdl.js +3 -0
  5. package/cli/index.mjs +20 -0
  6. package/cli/jhipster.js +19 -11
  7. package/cli/program.js +94 -38
  8. package/generators/app/esm.mjs +1 -3
  9. package/generators/app/index.js +1 -16
  10. package/generators/aws/esm.mjs +1 -3
  11. package/generators/azure-app-service/esm.mjs +1 -3
  12. package/generators/azure-spring-cloud/esm.mjs +1 -3
  13. package/generators/base/esm.mjs +1 -3
  14. package/generators/bootstrap/esm.mjs +1 -3
  15. package/generators/bootstrap/index.js +36 -86
  16. package/generators/bootstrap-application/esm.mjs +19 -0
  17. package/generators/bootstrap-application/generator.mjs +353 -0
  18. package/generators/bootstrap-application/index.mjs +19 -0
  19. package/generators/ci-cd/esm.mjs +1 -3
  20. package/generators/ci-cd/prompts.js +1 -1
  21. package/generators/ci-cd/templates/github-actions.yml.ejs +2 -2
  22. package/generators/client/esm.mjs +5 -3
  23. package/generators/client/files-angular.js +9 -0
  24. package/generators/client/files-common.js +8 -7
  25. package/generators/client/files-vue.js +7 -6
  26. package/generators/client/index.js +2 -1
  27. package/generators/client/templates/angular/angular.json.ejs +1 -1
  28. package/generators/client/templates/angular/package.json +25 -22
  29. package/generators/client/templates/angular/package.json.ejs +5 -1
  30. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.html.ejs +1 -1
  31. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.html.ejs +7 -7
  32. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +5 -5
  33. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +3 -3
  34. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.html.ejs +10 -10
  35. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.html.ejs +8 -8
  36. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +2 -2
  37. package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +5 -5
  38. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.html.ejs +1 -1
  39. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +2 -2
  40. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +2 -2
  41. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +6 -6
  42. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.html.ejs +51 -49
  43. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +16 -16
  44. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +32 -32
  45. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +4 -4
  46. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +18 -18
  47. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +12 -12
  48. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts.ejs +4 -4
  49. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +4 -4
  50. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +8 -8
  51. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +1 -1
  52. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +1 -1
  53. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +4 -4
  54. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +5 -5
  55. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +11 -11
  56. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +4 -2
  57. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs +0 -6
  58. package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.scss.ejs +0 -6
  59. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.html.ejs +3 -3
  60. package/generators/client/templates/angular/src/main/webapp/content/scss/_bootstrap-variables.scss.ejs +5 -5
  61. package/generators/client/templates/angular/src/main/webapp/content/scss/global.scss.ejs +29 -0
  62. package/generators/client/templates/angular/src/main/webapp/content/scss/vendor.scss.ejs +0 -4
  63. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +19 -0
  64. package/generators/client/templates/common/package.json +2 -2
  65. package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +1 -7
  66. package/generators/client/templates/react/package.json +33 -33
  67. package/generators/client/templates/vue/package.json +23 -23
  68. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +3 -3
  69. package/generators/client/templates/vue/src/main/webapp/app/entities/user/user.service.ts.ejs +0 -0
  70. package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +29 -1
  71. package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +2 -2
  72. package/generators/client/templates/vue/src/main/webapp/app/shared/config/config.ts.ejs +0 -4
  73. package/generators/cloudfoundry/esm.mjs +1 -3
  74. package/generators/common/esm.mjs +2 -3
  75. package/generators/common/files.js +1 -2
  76. package/generators/common/index.js +6 -0
  77. package/generators/common/templates/.husky/{pre-commit → pre-commit.ejs} +4 -0
  78. package/generators/common/templates/README.md.jhi.ejs +3 -1
  79. package/generators/common/templates/package.json +3 -3
  80. package/generators/common/templates/sonar-project.properties.ejs +1 -1
  81. package/generators/cypress/esm.mjs +2 -3
  82. package/generators/cypress/files.js +2 -1
  83. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +18 -14
  84. package/generators/database-changelog/esm.mjs +1 -3
  85. package/generators/database-changelog/index.js +1 -1
  86. package/generators/database-changelog-liquibase/esm.mjs +2 -3
  87. package/generators/docker-compose/esm.mjs +1 -3
  88. package/generators/entities/esm.mjs +1 -3
  89. package/generators/entities/index.js +2 -2
  90. package/generators/entities-client/esm.mjs +1 -3
  91. package/generators/entity/esm.mjs +1 -3
  92. package/generators/entity/index.js +11 -15
  93. package/generators/entity/prompts.js +4 -1
  94. package/generators/entity-client/esm.mjs +2 -3
  95. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.html.ejs +1 -1
  96. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +2 -2
  97. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +20 -21
  98. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +14 -16
  99. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +2 -2
  100. package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +1 -1
  101. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-reducer.spec.ts.ejs +1 -1
  102. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +1 -1
  103. package/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity-update-page-object.ts.ejs +1 -1
  104. package/generators/entity-client/templates/vue/src/test/javascript/e2e/entities/entity-update-page-object.ts.ejs +1 -1
  105. package/generators/entity-client/templates/vue/src/test/javascript/e2e/entities/entity.spec.ts.ejs +1 -1
  106. package/generators/entity-i18n/esm.mjs +2 -3
  107. package/generators/entity-server/esm.mjs +2 -3
  108. package/generators/entity-server/files-couchbase.js +23 -2
  109. package/generators/entity-server/files.js +16 -2
  110. package/generators/entity-server/index.js +8 -1
  111. package/generators/entity-server/templates/couchbase/src/main/java/package/domain/Entity.java.jhi.spring_data_couchbase.ejs +11 -13
  112. package/generators/entity-server/templates/couchbase/src/main/java/package/repository/EntityRepository.java.ejs +23 -59
  113. package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.fts.ejs +5 -6
  114. package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.n1ql.ejs +5 -0
  115. package/generators/entity-server/templates/partials/it_patch_update.partial.java.ejs +2 -2
  116. package/generators/entity-server/templates/partials/save_template.ejs +1 -1
  117. package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +1 -1
  118. package/generators/entity-server/templates/src/main/java/package/common/inject_template.ejs +4 -4
  119. package/generators/entity-server/templates/src/main/java/package/common/patch_template.ejs +3 -3
  120. package/generators/entity-server/templates/src/main/java/package/common/search_stream_template.ejs +1 -1
  121. package/generators/entity-server/templates/src/main/java/package/common/search_template.ejs +1 -1
  122. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +2 -2
  123. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +31 -18
  124. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +3 -3
  125. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationships.java.ejs +37 -0
  126. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationshipsImpl.java.ejs +90 -0
  127. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +2 -2
  128. package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +1 -1
  129. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +3 -5
  130. package/generators/entity-server/templates/src/main/java/package/repository/search/{SortToFieldSortBuilderConverter.java.ejs → SortToSortBuilderListConverter.java.ejs} +4 -3
  131. package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +8 -6
  132. package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +1 -1
  133. package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +6 -6
  134. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +1 -1
  135. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +5 -5
  136. package/generators/export-jdl/esm.mjs +1 -3
  137. package/generators/gae/esm.mjs +1 -3
  138. package/generators/generate-blueprint/constants.mjs +146 -0
  139. package/generators/generate-blueprint/esm.mjs +19 -0
  140. package/generators/generate-blueprint/files.mjs +81 -0
  141. package/generators/generate-blueprint/generator.mjs +363 -0
  142. package/generators/generate-blueprint/index.mjs +20 -0
  143. package/generators/generate-blueprint/templates/.eslintrc.json.ejs +41 -0
  144. package/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +32 -0
  145. package/generators/generate-blueprint/templates/.mocharc.cjs.ejs +29 -0
  146. package/generators/{server/templates/couchbase/src/main/java/package/config/couchbase/package-info.java.ejs → generate-blueprint/templates/.prettierignore.jhi.blueprint.ejs} +4 -7
  147. package/generators/generate-blueprint/templates/README.md.ejs +75 -0
  148. package/generators/generate-blueprint/templates/cli/cli.mjs.ejs +35 -0
  149. package/generators/generate-blueprint/templates/cli/commands.cjs.ejs +25 -0
  150. package/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +98 -0
  151. package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +42 -0
  152. package/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +19 -0
  153. package/generators/generate-blueprint/templates/generators/generator/templates/template-file.ejs +0 -0
  154. package/generators/generate-blueprint/templates/test/utils.mjs.ejs +17 -0
  155. package/generators/generator-base-blueprint.js +29 -0
  156. package/generators/generator-base-docker.js +1 -0
  157. package/generators/generator-base-entities.cjs +368 -0
  158. package/generators/generator-base.js +128 -23
  159. package/generators/generator-constants.js +18 -16
  160. package/generators/generator-list.js +2 -0
  161. package/generators/gradle/esm.mjs +19 -0
  162. package/generators/heroku/esm.mjs +1 -3
  163. package/generators/info/esm.mjs +1 -3
  164. package/generators/init/esm.mjs +19 -0
  165. package/generators/init/files.cjs +9 -3
  166. package/generators/init/index.cjs +5 -0
  167. package/generators/init/templates/.gitignore.jhi.ejs +5 -0
  168. package/generators/init/templates/{.lintstagedrc.js.ejs → .lintstagedrc.cjs.ejs} +0 -0
  169. package/generators/java/esm.mjs +19 -0
  170. package/generators/java/index.cjs +58 -2
  171. package/generators/kubernetes/esm.mjs +1 -3
  172. package/generators/kubernetes-helm/esm.mjs +1 -3
  173. package/generators/kubernetes-knative/esm.mjs +1 -3
  174. package/generators/languages/esm.mjs +2 -3
  175. package/generators/languages/templates/src/test/resources/i18n/messages_fr.properties.ejs +4 -1
  176. package/generators/maven/esm.mjs +19 -0
  177. package/generators/openapi-client/esm.mjs +1 -3
  178. package/generators/openapi-client/index.js +11 -4
  179. package/generators/openshift/esm.mjs +1 -3
  180. package/generators/page/esm.mjs +1 -3
  181. package/generators/project-name/esm.mjs +19 -0
  182. package/generators/server/esm.mjs +2 -2
  183. package/generators/server/files-couchbase.js +28 -31
  184. package/generators/server/files.js +14 -1
  185. package/generators/server/index.js +13 -13
  186. package/generators/server/needle-api/needle-server-maven.js +1 -1
  187. package/generators/server/templates/couchbase/src/main/java/package/repository/CouchbaseSearchRepository.java.ejs +91 -0
  188. package/generators/server/templates/couchbase/src/main/java/package/repository/JHipsterCouchbaseRepository.java.ejs +43 -64
  189. package/generators/server/templates/couchbase/src/main/java/package/repository/PersistentTokenRepository_couchbase.java.ejs +2 -2
  190. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/authority/ROLE_ADMIN.json.ejs +3 -0
  191. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/authority/ROLE_USER.json.ejs +3 -0
  192. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/{user__admin.json.ejs → user/admin.json.ejs} +2 -2
  193. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/{user__user.json.ejs → user/user.json.ejs} +2 -2
  194. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.2__create_indexes.n1ql.ejs +34 -0
  195. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0__create_collections.n1ql.ejs +8 -0
  196. package/generators/server/templates/couchbase/src/test/java/package/CouchbaseTestContainerExtension.java.ejs +4 -3
  197. package/generators/server/templates/couchbase/src/test/java/package/repository/{JHipsterCouchbaseRepositoryTest.java.ejs → CouchbaseSearchRepositoryTest.java.ejs} +2 -2
  198. package/generators/server/templates/gradle/profile_prod.gradle.ejs +4 -0
  199. package/generators/server/templates/gradle.properties.ejs +6 -6
  200. package/generators/server/templates/npmw +14 -5
  201. package/generators/server/templates/pom.xml.ejs +47 -42
  202. package/generators/server/templates/src/main/docker/app.yml.ejs +4 -2
  203. package/generators/server/templates/src/main/docker/zipkin.yml.ejs +25 -0
  204. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +26 -16
  205. package/generators/server/templates/src/main/java/package/config/LocaleConfiguration_reactive.java.ejs +1 -1
  206. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +2 -1
  207. package/generators/server/templates/src/main/java/package/domain/Authority.java.ejs +11 -0
  208. package/generators/server/templates/src/main/java/package/domain/PersistentToken.java.ejs +6 -6
  209. package/generators/server/templates/src/main/java/package/domain/User.java.ejs +9 -7
  210. package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +1 -11
  211. package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +48 -72
  212. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +1 -1
  213. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +8 -6
  214. package/generators/server/templates/src/main/java/package/web/filter/OAuth2ReactiveRefreshTokensWebFilter.java.ejs +0 -1
  215. package/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs +1 -1
  216. package/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -1
  217. package/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +2 -2
  218. package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +8 -0
  219. package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +6 -0
  220. package/generators/server/templates/src/main/resources/config/application.yml.ejs +2 -0
  221. package/generators/server/templates/src/test/java/package/IntegrationTest.java.ejs +3 -1
  222. package/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs +21 -15
  223. package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +2 -0
  224. package/generators/server/templates/src/test/java/package/cucumber/stepdefs/StepDefs.java.ejs +8 -0
  225. package/generators/server/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +17 -3
  226. package/generators/server/templates/src/test/java/package/security/SecurityUtilsUnitTest_reactive.java.ejs +1 -1
  227. package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +1 -1
  228. package/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
  229. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +13 -6
  230. package/generators/server/templates/src/test/java/package/web/rest/TestUtil.java.ejs +1 -6
  231. package/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +40 -42
  232. package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +1 -1
  233. package/generators/spring-boot/esm.mjs +19 -0
  234. package/generators/spring-controller/esm.mjs +1 -3
  235. package/generators/spring-service/esm.mjs +1 -3
  236. package/generators/upgrade/esm.mjs +1 -3
  237. package/generators/upgrade-config/esm.mjs +1 -3
  238. package/generators/workspaces/esm.mjs +1 -3
  239. package/lib/constants/logo.cjs +30 -0
  240. package/lib/constants/priorities.cjs +216 -2
  241. package/lib/constants/priorities.mjs +29 -1
  242. package/lib/index.mjs +6 -0
  243. package/lib/support/mixin.cjs +5 -1
  244. package/lib/support/shared-data.cjs +34 -1
  245. package/package.json +27 -23
  246. package/utils/entity.js +19 -2
  247. package/utils/faker.js +3 -3
  248. package/utils/field.js +61 -49
  249. package/utils/relationship.js +5 -3
  250. package/utils/user.js +109 -0
  251. package/generators/app/generator.spec.mjs +0 -47
  252. package/generators/aws/generator.spec.mjs +0 -47
  253. package/generators/azure-app-service/generator.spec.mjs +0 -47
  254. package/generators/azure-spring-cloud/generator.spec.mjs +0 -47
  255. package/generators/base/generator.spec.mjs +0 -44
  256. package/generators/bootstrap/generator.spec.mjs +0 -44
  257. package/generators/ci-cd/generator.spec.mjs +0 -47
  258. package/generators/client/__workflow/devserver-angular.json +0 -13
  259. package/generators/client/__workflow/devserver-react.json +0 -13
  260. package/generators/client/__workflow/devserver-vue.json +0 -13
  261. package/generators/client/generator.spec.mjs +0 -47
  262. package/generators/cloudfoundry/generator.spec.mjs +0 -47
  263. package/generators/common/generator.spec.mjs +0 -47
  264. package/generators/cypress/generator.spec.mjs +0 -47
  265. package/generators/database-changelog/generator.spec.mjs +0 -47
  266. package/generators/database-changelog-liquibase/generator.spec.mjs +0 -47
  267. package/generators/docker-compose/generator.spec.mjs +0 -44
  268. package/generators/entities/generator.spec.mjs +0 -47
  269. package/generators/entities-client/generator.spec.mjs +0 -47
  270. package/generators/entity/generator.spec.mjs +0 -47
  271. package/generators/entity-client/generator.spec.mjs +0 -47
  272. package/generators/entity-i18n/generator.spec.mjs +0 -47
  273. package/generators/entity-server/generator.spec.mjs +0 -47
  274. package/generators/export-jdl/generator.spec.mjs +0 -44
  275. package/generators/gae/generator.spec.mjs +0 -47
  276. package/generators/gradle/__snapshots__/generator.spec.cjs.snap +0 -59
  277. package/generators/gradle/generator.spec.cjs +0 -71
  278. package/generators/heroku/generator.spec.mjs +0 -47
  279. package/generators/info/generator.spec.mjs +0 -44
  280. package/generators/init/__snapshots__/generator.spec.cjs.snap +0 -65
  281. package/generators/init/generator.spec.cjs +0 -112
  282. package/generators/java/__snapshots__/generator.spec.cjs.snap +0 -118
  283. package/generators/java/generator.spec.cjs +0 -87
  284. package/generators/kubernetes/generator.spec.mjs +0 -44
  285. package/generators/kubernetes-helm/generator.spec.mjs +0 -44
  286. package/generators/kubernetes-knative/generator.spec.mjs +0 -44
  287. package/generators/languages/generator.spec.mjs +0 -47
  288. package/generators/maven/__snapshots__/generator.spec.cjs.snap +0 -53
  289. package/generators/maven/generator.spec.cjs +0 -78
  290. package/generators/openapi-client/generator.spec.mjs +0 -47
  291. package/generators/openshift/generator.spec.mjs +0 -44
  292. package/generators/page/generator.spec.mjs +0 -47
  293. package/generators/project-name/generator.spec.cjs +0 -43
  294. package/generators/server/__snapshots__/generator.spec.mjs.snap +0 -1931
  295. package/generators/server/generator.spec.mjs +0 -52
  296. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactory.java.ejs +0 -83
  297. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactoryBean.java.ejs +0 -40
  298. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryQuery.java.ejs +0 -44
  299. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlQueryCreator.java.ejs +0 -162
  300. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlRepositoryQueryExecutor.java.ejs +0 -104
  301. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_ADMIN.json.ejs +0 -3
  302. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_USER.json.ejs +0 -3
  303. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0__create_indexes.n1ql.ejs +0 -19
  304. package/generators/spring-boot/__snapshots__/generator.spec.cjs.snap +0 -80
  305. package/generators/spring-boot/generator.spec.cjs +0 -64
  306. package/generators/spring-controller/generator.spec.mjs +0 -47
  307. package/generators/spring-service/generator.spec.mjs +0 -47
  308. package/generators/upgrade/generator.spec.mjs +0 -44
  309. package/generators/upgrade-config/generator.spec.mjs +0 -44
  310. package/generators/workspaces/generator.spec.mjs +0 -47
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![NPM version][npm-image]][npm-url] [![Downloads][npmcharts-image]][npmcharts-url] [![Gitter][gitter-badge-image]][gitter-badge-url] [![Known Vulnerabilities][snyk-image]][snyk-url]
4
4
 
5
- [![Generator Build Status][github-actions-generator-image]][github-actions-url] [![Angular Build Status][github-actions-angular-image]][github-actions-url] [![React Build Status][github-actions-react-image]][github-actions-url] [![Vue Build Status][github-actions-vue-image]][github-actions-url] [![Webflux Build Status][github-actions-webflux-image]][github-actions-url] [![Azure DevOps Build Status][azure-devops-image]][azure-devops-url-main] [![Revved up by Gradle Enterprise](https://img.shields.io/badge/Revved%20up%20by-Gradle%20Enterprise-06A0CE?logo=Gradle&labelColor=02303A)](https://ge.jhipster.tech/scans)
5
+ [![Generator Build Status][github-actions-generator-image]][github-actions-url] [![Angular Build Status][github-actions-angular-image]][github-actions-url] [![React Build Status][github-actions-react-image]][github-actions-url] [![Vue Build Status][github-actions-vue-image]][github-actions-url] [![Webflux Build Status][github-actions-webflux-image]][github-actions-url] [![Revved up by Gradle Enterprise](https://img.shields.io/badge/Revved%20up%20by-Gradle%20Enterprise-06A0CE?logo=Gradle&labelColor=02303A)](https://ge.jhipster.tech/scans)
6
6
 
7
7
  Greetings, Java Hipster!
8
8
 
@@ -129,8 +129,6 @@ Additional builds at [hipster-labs/jhipster-daily-builds](https://github.com/hip
129
129
  [jhipster-url]: https://www.jhipster.tech/
130
130
  [npm-image]: https://badge.fury.io/js/generator-jhipster.svg
131
131
  [npm-url]: https://npmjs.org/package/generator-jhipster
132
- [azure-devops-image]: https://dev.azure.com/jhipster/generator-jhipster/_apis/build/status/jhipster.generator-jhipster?branchName=main
133
- [azure-devops-url-main]: https://dev.azure.com/jhipster/generator-jhipster/_build
134
132
  [github-actions-generator-image]: https://github.com/jhipster/generator-jhipster/workflows/Generator/badge.svg
135
133
  [github-actions-angular-image]: https://github.com/jhipster/generator-jhipster/workflows/Angular/badge.svg
136
134
  [github-actions-react-image]: https://github.com/jhipster/generator-jhipster/workflows/React/badge.svg
package/cli/commands.js CHANGED
@@ -59,6 +59,9 @@ const defaultCommands = {
59
59
  gae: {
60
60
  desc: 'Deploy the current application to Google App Engine',
61
61
  },
62
+ 'generate-blueprint': {
63
+ desc: 'Generate a blueprint',
64
+ },
62
65
  gradle: {
63
66
  desc: 'Create Gradle project (alpha)',
64
67
  },
@@ -24,7 +24,18 @@ const Environment = require('yeoman-environment');
24
24
  const { CLI_NAME, logger } = require('./utils');
25
25
  const { loadYoRc, packageNameToNamespace } = require('../generators/utils');
26
26
  const { parseBlueprintInfo, loadBlueprintsFromConfiguration, mergeBlueprints } = require('../utils/blueprint');
27
- const SharedData = require('../lib/support/shared-data.cjs');
27
+
28
+ const createEnvironment = (args, options = {}, adapter) => {
29
+ // Remove after migration to environment 3.
30
+ const configOptions = { sharedEntities: {} };
31
+ const sharedOptions = {
32
+ fromCli: true,
33
+ localConfigOnly: true,
34
+ ...options.sharedOptions,
35
+ configOptions,
36
+ };
37
+ return Environment.createEnv(args, { newErrorHandler: true, ...options, sharedOptions }, adapter);
38
+ };
28
39
 
29
40
  module.exports = class EnvironmentBuilder {
30
41
  /**
@@ -34,15 +45,7 @@ module.exports = class EnvironmentBuilder {
34
45
  * @return {EnvironmentBuilder} envBuilder
35
46
  */
36
47
  static create(args, options = {}, adapter) {
37
- // Remove after migration to environment 3.
38
- const sharedOptions = {
39
- fromCli: true,
40
- localConfigOnly: true,
41
- ...options.sharedOptions,
42
- configOptions: { sharedEntities: {} },
43
- jhipsterSharedData: new SharedData(),
44
- };
45
- const env = Environment.createEnv(args, { newErrorHandler: true, ...options, sharedOptions }, adapter);
48
+ const env = createEnvironment(args, options, adapter);
46
49
  env.setMaxListeners(0);
47
50
  return new EnvironmentBuilder(env);
48
51
  }
@@ -68,11 +71,7 @@ module.exports = class EnvironmentBuilder {
68
71
  * @return {EnvironmentBuilder} envBuilder
69
72
  */
70
73
  static createDefaultBuilder(...args) {
71
- return EnvironmentBuilder.create(...args)
72
- ._lookupJHipster()
73
- ._loadBlueprints()
74
- ._lookupBlueprints()
75
- ._loadSharedOptions();
74
+ return EnvironmentBuilder.create(...args).prepare();
76
75
  }
77
76
 
78
77
  /**
@@ -86,10 +85,26 @@ module.exports = class EnvironmentBuilder {
86
85
  this.env = env;
87
86
  }
88
87
 
88
+ prepare({ blueprints, lookups } = {}) {
89
+ this._lookupJHipster()._loadBlueprints(blueprints)._lookups(lookups)._lookupBlueprints()._loadSharedOptions();
90
+ return this;
91
+ }
92
+
89
93
  getBlueprintsNamespaces() {
90
94
  return Object.keys(this._blueprintsWithVersion).map(packageName => packageNameToNamespace(packageName));
91
95
  }
92
96
 
97
+ /**
98
+ * Construct blueprint option value.
99
+ *
100
+ * @return {String}
101
+ */
102
+ getBlueprintsOption() {
103
+ return Object.entries(this._blueprintsWithVersion)
104
+ .map(([packageName, packageVersion]) => (packageVersion ? `${packageName}@${packageVersion}` : packageName))
105
+ .join(',');
106
+ }
107
+
93
108
  /**
94
109
  * @private
95
110
  * Lookup current jhipster generators.
@@ -108,14 +123,25 @@ module.exports = class EnvironmentBuilder {
108
123
  return this;
109
124
  }
110
125
 
126
+ _lookups(lookups = []) {
127
+ lookups = [].concat(lookups);
128
+ lookups.forEach(lookup => {
129
+ this.env.lookup(lookup);
130
+ });
131
+ return this;
132
+ }
133
+
111
134
  /**
112
135
  * @private
113
136
  * Load blueprints from argv, .yo-rc.json.
114
137
  *
115
138
  * @return {EnvironmentBuilder} this for chaining.
116
139
  */
117
- _loadBlueprints() {
118
- this._blueprintsWithVersion = this._getAllBlueprintsWithVersion();
140
+ _loadBlueprints(blueprints) {
141
+ this._blueprintsWithVersion = {
142
+ ...this._getAllBlueprintsWithVersion(),
143
+ ...blueprints,
144
+ };
119
145
  return this;
120
146
  }
121
147
 
@@ -284,7 +310,16 @@ module.exports = class EnvironmentBuilder {
284
310
  /* eslint-disable import/no-dynamic-require */
285
311
  /* eslint-disable global-require */
286
312
  try {
287
- const blueprintCommands = require(`${packagePath}/cli/commands`);
313
+ let blueprintCommand;
314
+ try {
315
+ blueprintCommand = require(`${packagePath}/cli/commands`);
316
+ } catch (e) {
317
+ blueprintCommand = require(`${packagePath}/cli/commands.cjs`);
318
+ }
319
+ const blueprintCommands = _.cloneDeep(blueprintCommand);
320
+ Object.entries(blueprintCommands).forEach(([_command, commandSpec]) => {
321
+ commandSpec.blueprint = commandSpec.blueprint || blueprint;
322
+ });
288
323
  result = { ...result, ...blueprintCommands };
289
324
  } catch (e) {
290
325
  const msg = `No custom commands found within blueprint: ${blueprint} at ${packagePath}`;
package/cli/import-jdl.js CHANGED
@@ -161,6 +161,9 @@ function runGenerator(command, { cwd, fork, env }, generatorOptions = {}) {
161
161
  commandName: undefined,
162
162
  fromJdl: true,
163
163
  };
164
+ if (!generatorOptions.blueprints) {
165
+ delete generatorOptions.blueprints;
166
+ }
164
167
 
165
168
  if (!fork) {
166
169
  const oldCwd = process.cwd();
package/cli/index.mjs ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright 2013-2022 the original author or authors from the JHipster project.
3
+ *
4
+ * This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ * for more information.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * https://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ export { createProgram, buildCommands, buildJHipster, runJHipster, printJHipsterLogo, done, logger } from './program.js';
20
+ export { default as EnvironmentBuilder } from './environment-builder.js';
package/cli/jhipster.js CHANGED
@@ -25,44 +25,52 @@ const { logger } = require('./utils');
25
25
  const currentNodeVersion = process.versions.node;
26
26
  const minimumNodeVersion = packageJson.engines.node;
27
27
 
28
+ const BUNDLED_VERSION_MESSAGE = 'Using bundled JHipster';
29
+ const LOCAL_VERSION_MESSAGE = "Switching to JHipster installed locally in current project's node repository (node_modules)";
30
+
28
31
  if (!semver.satisfies(currentNodeVersion, minimumNodeVersion)) {
29
32
  logger.fatal(
30
33
  `You are running Node version ${currentNodeVersion}\nJHipster requires Node version ${minimumNodeVersion}\nPlease update your version of Node.`
31
34
  );
32
35
  }
33
36
 
34
- let preferLocal = true;
37
+ const preferLocalArg = process.argv.includes('--prefer-local');
38
+ const preferGlobalArg = process.argv.includes('--prefer-global') || process.argv.includes('--bundled');
39
+
40
+ if (preferLocalArg && preferGlobalArg) {
41
+ throw new Error('--prefer-local and --prefer-bundled cannot be used together');
42
+ }
35
43
 
36
44
  // Don't use commander for parsing command line to avoid polluting it in cli.js
37
45
  // --prefer-local: Always resolve node modules locally (useful when using linked module)
38
- if ((process.argv.includes('upgrade') && !process.argv.includes('--prefer-local')) || process.argv.includes('--prefer-global')) {
39
- // Prefer global version for `jhipster upgrade` to get most recent code
40
- preferLocal = false;
41
- }
46
+ const preferLocal = preferLocalArg || (!preferGlobalArg && !process.argv.includes('upgrade'));
42
47
 
43
48
  requireCLI(preferLocal);
44
49
 
45
50
  /*
46
- * Require cli.js giving priority to local version over global one if it exists.
51
+ * Require cli.js giving priority to local version over bundled one if it exists.
47
52
  */
48
53
  function requireCLI(preferLocal) {
54
+ let message = BUNDLED_VERSION_MESSAGE;
49
55
  /* eslint-disable global-require */
50
56
  if (preferLocal) {
51
57
  try {
52
58
  const localCLI = require.resolve(path.join(process.cwd(), 'node_modules', 'generator-jhipster', 'cli', 'cli.js'));
53
- if (__dirname !== path.dirname(localCLI)) {
59
+ if (__dirname === path.dirname(localCLI)) {
60
+ message = LOCAL_VERSION_MESSAGE;
61
+ } else {
54
62
  // load local version
55
63
  /* eslint-disable import/no-dynamic-require */
56
- logger.info("Using JHipster version installed locally in current project's node_modules");
64
+ logger.info(LOCAL_VERSION_MESSAGE);
57
65
  require(localCLI);
58
66
  return;
59
67
  }
60
68
  } catch (e) {
61
- // Unable to find local version, so global one will be loaded anyway
69
+ // Unable to find local version, so bundled one will be loaded anyway
62
70
  }
63
71
  }
64
- // load global version
65
- logger.info('Using JHipster version installed globally');
72
+ // load current jhipster
73
+ logger.info(message);
66
74
  require('./cli');
67
75
  /* eslint-enable */
68
76
  }
package/cli/program.js CHANGED
@@ -27,18 +27,27 @@ const EnvironmentBuilder = require('./environment-builder');
27
27
  const SUB_GENERATORS = require('./commands');
28
28
  const JHipsterCommand = require('./jhipster-command');
29
29
  const { CLI_NAME, logger, getCommand, done } = require('./utils');
30
- const { version } = require('../package.json');
30
+ const { version: JHIPSTER_VERSION } = require('../package.json');
31
31
  const { packageNameToNamespace } = require('../generators/utils');
32
+ const { logo } = require('../lib/constants/logo.cjs');
32
33
 
33
34
  const JHIPSTER_NS = CLI_NAME;
34
35
 
35
36
  const moreInfo = `\n For more info visit ${chalk.blue('https://www.jhipster.tech')}\n`;
36
37
 
37
- const createProgram = () => {
38
+ const printJHipsterLogo = () => {
39
+ // eslint-disable-next-line no-console
40
+ console.log();
41
+ // eslint-disable-next-line no-console
42
+ console.log(logo);
43
+ };
44
+
45
+ const createProgram = ({ executableName = CLI_NAME, executableVersion } = {}) => {
38
46
  return (
39
47
  new JHipsterCommand()
48
+ .name(executableName)
40
49
  .storeOptionsAsProperties(false)
41
- .version(version)
50
+ .version(executableVersion ? `${executableVersion} (generator-jhipster ${JHIPSTER_VERSION})` : JHIPSTER_VERSION)
42
51
  .addHelpText('after', moreInfo)
43
52
  // JHipster common options
44
53
  .option(
@@ -56,17 +65,20 @@ const createProgram = () => {
56
65
  .option('--skip-regenerate', "Don't regenerate identical files", false)
57
66
  .option('--skip-yo-resolve', 'Ignore .yo-resolve files', false)
58
67
  .addOption(new Option('--from-jdl', 'Allow every option jdl forwards').default(false).hideHelp())
59
- .addOption(new Option('--prefer-global', 'Run jhipster installed globally').hideHelp())
60
- .addOption(new Option('--prefer-local', 'Run jhipster installed locally').hideHelp())
68
+ .addOption(new Option('--bundled', 'Use JHipster generators bundled with current cli'))
69
+ .addOption(new Option('--prefer-global', 'Alias for --blundled').hideHelp())
70
+ .addOption(new Option('--prefer-local', 'Prefer JHipster generators installed in current folder node repository.').hideHelp())
61
71
  );
62
72
  };
63
73
 
64
- const rejectExtraArgs = (program, cmd, extraArgs) => {
74
+ const rejectExtraArgs = ({ program, command, extraArgs }) => {
65
75
  // if extraArgs exists: Unknown commands or unknown argument.
66
76
  const first = extraArgs[0];
67
- if (cmd !== 'app') {
77
+ if (command.name() !== 'app') {
68
78
  logger.fatal(
69
- `${chalk.yellow(cmd)} command doesn't take ${chalk.yellow(first)} argument. See '${chalk.white(`${CLI_NAME} ${cmd} --help`)}'.`
79
+ `${chalk.yellow(command.name())} command doesn't take ${chalk.yellow(first)} argument. See '${chalk.white(
80
+ `${program.name()} ${command.name()} --help`
81
+ )}'.`
70
82
  );
71
83
  }
72
84
  const availableCommands = program.commands.map(c => c._name);
@@ -80,18 +92,28 @@ const rejectExtraArgs = (program, cmd, extraArgs) => {
80
92
  logger.fatal(message);
81
93
  };
82
94
 
83
- const buildCommands = ({ program, commands = {}, envBuilder, env, loadCommand }) => {
95
+ const buildCommands = ({
96
+ program,
97
+ commands = {},
98
+ envBuilder,
99
+ env,
100
+ loadCommand,
101
+ defaultCommand = 'app',
102
+ printLogo = printJHipsterLogo,
103
+ printBlueprintLogo = () => {},
104
+ }) => {
84
105
  /* create commands */
85
106
  Object.entries(commands).forEach(([cmdName, opts]) => {
107
+ const { desc, blueprint, argument, options: commandOptions, alias, help: commandHelp, cliOnly, useOptions = {} } = opts;
86
108
  program
87
- .command(cmdName, '', { isDefault: cmdName === 'app' })
88
- .description(opts.desc + (opts.blueprint ? chalk.yellow(` (blueprint: ${opts.blueprint})`) : ''))
89
- .addCommandArguments(opts.argument)
90
- .addCommandOptions(opts.options)
91
- .addHelpText('after', opts.help)
92
- .addAlias(opts.alias)
109
+ .command(cmdName, '', { isDefault: cmdName === defaultCommand })
110
+ .description(desc + (blueprint ? chalk.yellow(` (blueprint: ${blueprint})`) : ''))
111
+ .addCommandArguments(argument)
112
+ .addCommandOptions(commandOptions)
113
+ .addHelpText('after', commandHelp)
114
+ .addAlias(alias)
93
115
  .excessArgumentsCallback(function (receivedArgs) {
94
- rejectExtraArgs(program, this.name(), receivedArgs);
116
+ rejectExtraArgs({ program, command: this, extraArgs: receivedArgs });
95
117
  })
96
118
  .lazyBuildCommand(async function (operands) {
97
119
  logger.debug(`cmd: lazyBuildCommand ${cmdName} ${operands}`);
@@ -114,18 +136,32 @@ const buildCommands = ({ program, commands = {}, envBuilder, env, loadCommand })
114
136
  );
115
137
  return;
116
138
  }
117
- if (!opts.cliOnly || cmdName === 'jdl') {
118
- if (opts.blueprint) {
139
+ if (!cliOnly || cmdName === 'jdl') {
140
+ if (blueprint) {
119
141
  // Blueprint only command.
120
- const generator = await env.create(`${packageNameToNamespace(opts.blueprint)}:${cmdName}`, { options: { help: true } });
142
+ const generator = await env.create(`${packageNameToNamespace(blueprint)}:${cmdName}`, { options: { help: true } });
121
143
  command.addGeneratorArguments(generator._arguments).addGeneratorOptions(generator._options);
122
144
  } else {
123
145
  const generatorName = cmdName === 'jdl' ? 'app' : cmdName;
146
+ const dependencies = [];
124
147
  // Register jhipster upstream options.
125
148
  if (cmdName !== 'jdl') {
126
- const generator = await env.create(`${JHIPSTER_NS}:${cmdName}`, { options: { help: true } });
149
+ const helpOptions = { options: { help: true } };
150
+ const generator = await env.create(`${JHIPSTER_NS}:${cmdName}`, helpOptions);
127
151
  command.addGeneratorArguments(generator._arguments).addGeneratorOptions(generator._options);
128
152
 
153
+ const addDependenciesOptions = newDependencies =>
154
+ Promise.all(
155
+ newDependencies.map(async dependency => {
156
+ if (dependencies.includes(dependency)) return undefined;
157
+ dependencies.push(dependency);
158
+ const dependecyGenerator = await env.create(`${JHIPSTER_NS}:${dependency}`, helpOptions);
159
+ command.addGeneratorOptions(dependecyGenerator._options);
160
+ return addDependenciesOptions(await dependecyGenerator.getPossibleDependencies());
161
+ })
162
+ );
163
+ await addDependenciesOptions(await generator.getPossibleDependencies());
164
+
129
165
  const usagePath = path.resolve(generator.sourceRoot(), '../USAGE');
130
166
  if (fs.existsSync(usagePath)) {
131
167
  command.addHelpText('after', `\n${fs.readFileSync(usagePath, 'utf8')}`);
@@ -141,19 +177,24 @@ const buildCommands = ({ program, commands = {}, envBuilder, env, loadCommand })
141
177
 
142
178
  // Register blueprint specific options.
143
179
  await Promise.all(
144
- envBuilder.getBlueprintsNamespaces().map(async blueprintNamespace => {
145
- const generatorNamespace = `${blueprintNamespace}:${generatorName}`;
146
- if (!(await env.get(generatorNamespace))) {
147
- return;
148
- }
149
- const blueprintName = blueprintNamespace.replace(/^jhipster-/, '');
150
- const blueprintGenerator = await env.create(generatorNamespace, { options: { help: true } });
151
- try {
152
- command.addGeneratorOptions(blueprintGenerator._options, chalk.yellow(` (blueprint option: ${blueprintName})`));
153
- } catch (error) {
154
- logger.info(`Error parsing options for generator ${generatorNamespace}, error: ${error}`);
155
- }
156
- })
180
+ envBuilder
181
+ .getBlueprintsNamespaces()
182
+ .map(blueprintNamespace =>
183
+ [generatorName, ...dependencies].map(async dependency => {
184
+ const generatorNamespace = `${blueprintNamespace}:${generatorName}`;
185
+ if (!(await env.get(generatorNamespace))) {
186
+ return;
187
+ }
188
+ const blueprintName = blueprintNamespace.replace(/^jhipster-/, '');
189
+ const blueprintGenerator = await env.create(generatorNamespace, { options: { help: true } });
190
+ try {
191
+ command.addGeneratorOptions(blueprintGenerator._options, chalk.yellow(` (blueprint option: ${blueprintName})`));
192
+ } catch (error) {
193
+ logger.info(`Error parsing options for generator ${generatorNamespace}, error: ${error}`);
194
+ }
195
+ })
196
+ )
197
+ .flat()
157
198
  );
158
199
  }
159
200
  }
@@ -168,7 +209,9 @@ const buildCommands = ({ program, commands = {}, envBuilder, env, loadCommand })
168
209
  const options = {
169
210
  ...program.opts(),
170
211
  ...cmdOptions,
212
+ ...useOptions,
171
213
  commandName: cmdName,
214
+ blueprints: envBuilder.getBlueprintsOption(),
172
215
  };
173
216
  if (options.installPath) {
174
217
  // eslint-disable-next-line no-console
@@ -176,7 +219,10 @@ const buildCommands = ({ program, commands = {}, envBuilder, env, loadCommand })
176
219
  return undefined;
177
220
  }
178
221
 
179
- if (opts.cliOnly) {
222
+ printLogo();
223
+ printBlueprintLogo();
224
+
225
+ if (cliOnly) {
180
226
  logger.debug('Executing CLI only script');
181
227
  return loadCommand(cmdName)(args, options, env, envBuilder);
182
228
  }
@@ -188,7 +234,7 @@ const buildCommands = ({ program, commands = {}, envBuilder, env, loadCommand })
188
234
  errors => done(errors.find(error => error))
189
235
  );
190
236
  }
191
- const namespace = opts.blueprint ? `${packageNameToNamespace(opts.blueprint)}:${cmdName}` : `${JHIPSTER_NS}:${cmdName}`;
237
+ const namespace = blueprint ? `${packageNameToNamespace(blueprint)}:${cmdName}` : `${JHIPSTER_NS}:${cmdName}`;
192
238
  const generatorCommand = getCommand(namespace, args, opts);
193
239
  return env.run(generatorCommand, options).then(done, done);
194
240
  });
@@ -196,17 +242,24 @@ const buildCommands = ({ program, commands = {}, envBuilder, env, loadCommand })
196
242
  };
197
243
 
198
244
  const buildJHipster = ({
199
- program = createProgram(),
200
- envBuilder = EnvironmentBuilder.createDefaultBuilder(),
245
+ executableName,
246
+ executableVersion,
247
+ program = createProgram({ executableName, executableVersion }),
248
+ blueprints,
249
+ lookups,
250
+ envBuilder = EnvironmentBuilder.create().prepare({ blueprints, lookups }),
201
251
  commands = { ...SUB_GENERATORS, ...envBuilder.getBlueprintCommands() },
252
+ printLogo,
253
+ printBlueprintLogo,
202
254
  env = envBuilder.getEnvironment(),
203
255
  /* eslint-disable-next-line global-require, import/no-dynamic-require */
204
256
  loadCommand = key => require(`./${key}`),
257
+ defaultCommand,
205
258
  } = {}) => {
206
259
  /* setup debugging */
207
260
  logger.init(program);
208
261
 
209
- buildCommands({ program, commands, envBuilder, env, loadCommand });
262
+ buildCommands({ program, commands, envBuilder, env, loadCommand, defaultCommand, printLogo, printBlueprintLogo });
210
263
 
211
264
  return program;
212
265
  };
@@ -221,4 +274,7 @@ module.exports = {
221
274
  buildCommands,
222
275
  buildJHipster,
223
276
  runJHipster,
277
+ printJHipsterLogo,
278
+ done,
279
+ logger,
224
280
  };
@@ -16,6 +16,4 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import generator from './index.js';
20
-
21
- export default generator;
19
+ export { default } from './index.js';
@@ -37,7 +37,7 @@ const packagejs = require('../../package.json');
37
37
  const statistics = require('../statistics');
38
38
  const { appDefaultConfig } = require('../generator-defaults');
39
39
  const { GENERATOR_APP } = require('../generator-list');
40
- const { JHIPSTER_CONFIG_DIR, GENERATOR_JHIPSTER } = require('../generator-constants');
40
+ const { GENERATOR_JHIPSTER } = require('../generator-constants');
41
41
  const { MICROSERVICE } = require('../../jdl/jhipster/application-types');
42
42
  const { OptionNames } = require('../../jdl/jhipster/application-options');
43
43
  const { NO: CLIENT_FRAMEWORK_NO } = require('../../jdl/jhipster/client-framework-types');
@@ -285,21 +285,6 @@ module.exports = class JHipsterAppGenerator extends BaseBlueprintGenerator {
285
285
  return;
286
286
  }
287
287
 
288
- // Write new definitions to memfs
289
- if (!this.fromBlueprint && this.options.applicationWithEntities) {
290
- this.config.set({
291
- ...this.config.getAll(),
292
- ...this.options.applicationWithEntities.config,
293
- });
294
- const entities = this.options.applicationWithEntities.entities.map(entity => {
295
- const entityName = _.upperFirst(entity.name);
296
- const file = this.destinationPath(JHIPSTER_CONFIG_DIR, `${entityName}.json`);
297
- this.fs.writeJSON(file, { ...this.fs.readJSON(file), ...entity });
298
- return entityName;
299
- });
300
- this.jhipsterConfig.entities = [...new Set((this.jhipsterConfig.entities || []).concat(entities))];
301
- }
302
-
303
288
  this.loadStoredAppOptions();
304
289
  this.loadRuntimeOptions();
305
290
 
@@ -16,6 +16,4 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import generator from './index.js';
20
-
21
- export default generator;
19
+ export { default } from './index.js';
@@ -16,6 +16,4 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import generator from './index.js';
20
-
21
- export default generator;
19
+ export { default } from './index.js';
@@ -16,6 +16,4 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import generator from './index.js';
20
-
21
- export default generator;
19
+ export { default } from './index.js';
@@ -16,6 +16,4 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import generator from './index.js';
20
-
21
- export default generator;
19
+ export { default } from './index.js';
@@ -16,6 +16,4 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import generator from './index.js';
20
-
21
- export default generator;
19
+ export { default } from './index.js';