generator-jhipster 7.6.0 → 7.8.1
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.
- package/README.md +1 -4
- package/cli/commands.js +3 -0
- package/cli/environment-builder.js +53 -18
- package/cli/import-jdl.js +3 -0
- package/cli/index.mjs +20 -0
- package/cli/jhipster.js +19 -11
- package/cli/program.js +94 -38
- package/generators/app/esm.mjs +1 -3
- package/generators/app/index.js +11 -16
- package/generators/aws/esm.mjs +1 -3
- package/generators/azure-app-service/esm.mjs +1 -3
- package/generators/azure-spring-cloud/esm.mjs +1 -3
- package/generators/base/esm.mjs +1 -3
- package/generators/bootstrap/esm.mjs +1 -3
- package/generators/bootstrap/index.js +36 -86
- package/generators/bootstrap-application/esm.mjs +19 -0
- package/generators/bootstrap-application/generator.mjs +353 -0
- package/generators/bootstrap-application/index.mjs +19 -0
- package/generators/ci-cd/esm.mjs +1 -3
- package/generators/ci-cd/index.js +1 -1
- package/generators/ci-cd/prompts.js +1 -1
- package/generators/ci-cd/templates/github-actions.yml.ejs +6 -6
- package/generators/client/esm.mjs +5 -3
- package/generators/client/files-angular.js +9 -0
- package/generators/client/files-common.js +9 -9
- package/generators/client/files-react.js +25 -2
- package/generators/client/files-vue.js +7 -6
- package/generators/client/index.js +3 -2
- package/generators/client/needle-api/needle-client-react.js +11 -8
- package/generators/client/templates/angular/angular.json.ejs +2 -10
- package/generators/client/templates/angular/jest.conf.js.ejs +1 -1
- package/generators/client/templates/angular/package.json +29 -27
- package/generators/client/templates/angular/package.json.ejs +6 -2
- package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.html.ejs +7 -7
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +3 -3
- package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.html.ejs +10 -10
- package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.html.ejs +8 -8
- package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +6 -6
- package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.html.ejs +51 -49
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +16 -16
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +32 -32
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +18 -18
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +12 -12
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +8 -8
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +11 -11
- package/generators/client/templates/angular/src/main/webapp/app/core/util/data-util.service.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +4 -2
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs +0 -6
- package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.scss.ejs +0 -6
- package/generators/client/templates/angular/src/main/webapp/app/login/login.component.html.ejs +3 -3
- package/generators/client/templates/angular/src/main/webapp/content/scss/_bootstrap-variables.scss.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/content/scss/global.scss.ejs +29 -0
- package/generators/client/templates/angular/src/main/webapp/content/scss/vendor.scss.ejs +0 -4
- package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +31 -1
- package/generators/client/templates/common/package.json +7 -6
- package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +1 -7
- package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +2 -3
- package/generators/client/templates/react/.eslintrc.json.ejs +1 -1
- package/generators/client/templates/react/jest.conf.js.ejs +1 -1
- package/generators/client/templates/react/package.json +44 -45
- package/generators/client/templates/react/package.json.ejs +1 -0
- package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/config/store.ts.ejs +53 -6
- package/generators/client/templates/react/src/main/webapp/app/config/translation-middleware.ts.ejs +58 -0
- package/generators/client/templates/react/src/main/webapp/app/entities/menu.tsx.ejs +45 -0
- package/generators/client/templates/react/src/main/webapp/app/entities/reducers.ts.ejs +25 -0
- package/generators/client/templates/react/src/main/webapp/app/entities/routes.tsx.ejs +47 -0
- package/generators/client/templates/react/src/main/webapp/app/index.tsx.ejs +7 -7
- package/generators/client/templates/react/src/main/webapp/app/main.tsx.ejs +19 -0
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/logs/logs.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +2 -1
- package/generators/client/templates/react/src/main/webapp/app/modules/login/login-modal.tsx.ejs +5 -1
- package/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs +24 -7
- package/generators/client/templates/react/src/main/webapp/app/shared/error/error-loading.tsx.ejs +15 -0
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/entities.tsx.ejs +34 -6
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/index.ts.ejs +9 -2
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +9 -3
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.ts.ejs +21 -5
- package/generators/client/templates/react/src/main/webapp/app/typings.d.ts.ejs +15 -0
- package/generators/client/templates/react/src/main/webapp/microfrontends/entities-menu.tsx.ejs +3 -0
- package/generators/client/templates/react/src/main/webapp/microfrontends/entities-routes.tsx.ejs +3 -0
- package/generators/client/templates/react/tsconfig.json.ejs +3 -3
- package/generators/client/templates/react/tsconfig.test.json.ejs +9 -1
- package/generators/client/templates/react/webpack/webpack.common.js.ejs +6 -13
- package/generators/client/templates/react/webpack/webpack.dev.js.ejs +7 -8
- package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +99 -0
- package/generators/client/templates/react/webpack/webpack.prod.js.ejs +31 -21
- package/generators/client/templates/vue/package.json +30 -31
- package/generators/client/templates/vue/package.json.ejs +1 -1
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +4 -3
- package/generators/client/templates/vue/src/main/webapp/app/entities/user/user.service.ts.ejs +0 -0
- package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +29 -1
- package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +2 -2
- package/generators/client/templates/vue/src/main/webapp/app/shared/config/config.ts.ejs +0 -4
- package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +1 -1
- package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +2 -2
- package/generators/client/templates/vue/tsconfig.json.ejs +0 -3
- package/generators/client/templates/vue/webpack/webpack.common.js.ejs +6 -2
- package/generators/cloudfoundry/esm.mjs +1 -3
- package/generators/common/esm.mjs +2 -3
- package/generators/common/files.js +1 -2
- package/generators/common/index.js +6 -0
- package/generators/common/templates/.husky/{pre-commit → pre-commit.ejs} +4 -0
- package/generators/common/templates/README.md.jhi.ejs +3 -1
- package/generators/common/templates/package.json +4 -4
- package/generators/common/templates/sonar-project.properties.ejs +1 -1
- package/generators/cypress/esm.mjs +2 -3
- package/generators/cypress/files.js +2 -1
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +18 -14
- package/generators/database-changelog/esm.mjs +1 -3
- package/generators/database-changelog/index.js +1 -1
- package/generators/database-changelog-liquibase/esm.mjs +2 -3
- package/generators/docker-compose/esm.mjs +1 -3
- package/generators/docker-compose/index.js +9 -5
- package/generators/entities/esm.mjs +1 -3
- package/generators/entities/index.js +2 -2
- package/generators/entities-client/esm.mjs +1 -3
- package/generators/entity/esm.mjs +1 -3
- package/generators/entity/index.js +39 -28
- package/generators/entity/prompts.js +4 -1
- package/generators/entity-client/esm.mjs +2 -3
- package/generators/entity-client/index.js +8 -0
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.html.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +2 -2
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +20 -21
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +14 -16
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +3 -3
- package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +2 -1
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +3 -3
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-detail.tsx.ejs +5 -4
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-reducer.spec.ts.ejs +1 -1
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +20 -19
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs +2 -2
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +21 -20
- package/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity-update-page-object.ts.ejs +1 -1
- package/generators/entity-client/templates/vue/src/test/javascript/e2e/entities/entity-update-page-object.ts.ejs +1 -1
- package/generators/entity-client/templates/vue/src/test/javascript/e2e/entities/entity.spec.ts.ejs +1 -1
- package/generators/entity-i18n/esm.mjs +2 -3
- package/generators/entity-i18n/templates/i18n/entity_fr.json.ejs +1 -1
- package/generators/entity-server/esm.mjs +2 -3
- package/generators/entity-server/files-couchbase.js +23 -2
- package/generators/entity-server/files.js +40 -6
- package/generators/entity-server/index.js +27 -2
- package/generators/entity-server/templates/couchbase/src/main/java/package/domain/Entity.java.jhi.spring_data_couchbase.ejs +11 -13
- package/generators/entity-server/templates/couchbase/src/main/java/package/repository/EntityRepository.java.ejs +30 -43
- package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.fts.ejs +5 -6
- package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.n1ql.ejs +5 -0
- package/generators/entity-server/templates/partials/it_patch_update.partial.java.ejs +2 -2
- package/generators/entity-server/templates/partials/save_template.ejs +1 -1
- package/generators/entity-server/templates/partials/update_template.ejs +77 -0
- package/generators/entity-server/templates/reactive/partials/save_template.ejs +1 -1
- package/generators/entity-server/templates/reactive/partials/update_template.ejs +41 -0
- package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +5 -5
- package/generators/entity-server/templates/src/main/java/package/common/get_template.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/common/inject_template.ejs +17 -8
- package/generators/entity-server/templates/src/main/java/package/common/patch_template.ejs +5 -5
- package/generators/entity-server/templates/src/main/java/package/common/search_stream_template.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/common/search_template.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +4 -3
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.javax_lifecycle_events.ejs +31 -0
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_persistable.ejs +54 -0
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_reactive.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/domain/EntityCallback.java.ejs +43 -0
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +36 -23
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +24 -28
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationships.java.ejs +37 -0
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationshipsImpl.java.ejs +91 -0
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +17 -25
- package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +2 -2
- package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +3 -3
- package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +12 -27
- package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +10 -2
- package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +8 -6
- package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +21 -5
- package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +61 -90
- package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +6 -4
- package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +33 -20
- package/generators/export-jdl/esm.mjs +1 -3
- package/generators/gae/esm.mjs +1 -3
- package/generators/generate-blueprint/constants.mjs +146 -0
- package/generators/generate-blueprint/esm.mjs +19 -0
- package/generators/generate-blueprint/files.mjs +81 -0
- package/generators/generate-blueprint/generator.mjs +363 -0
- package/generators/generate-blueprint/index.mjs +20 -0
- package/generators/generate-blueprint/templates/.eslintrc.json.ejs +41 -0
- package/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +32 -0
- package/generators/generate-blueprint/templates/.mocharc.cjs.ejs +29 -0
- package/generators/{server/templates/couchbase/src/main/java/package/config/couchbase/package-info.java.ejs → generate-blueprint/templates/.prettierignore.jhi.blueprint.ejs} +4 -7
- package/generators/generate-blueprint/templates/README.md.ejs +75 -0
- package/generators/generate-blueprint/templates/cli/cli.mjs.ejs +35 -0
- package/generators/generate-blueprint/templates/cli/commands.cjs.ejs +25 -0
- package/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +98 -0
- package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +42 -0
- package/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +19 -0
- package/generators/generate-blueprint/templates/generators/generator/templates/template-file.ejs +0 -0
- package/generators/generate-blueprint/templates/test/utils.mjs.ejs +17 -0
- package/generators/generator-base-blueprint.js +29 -0
- package/generators/generator-base-docker.js +1 -0
- package/generators/generator-base-entities.cjs +368 -0
- package/generators/generator-base-private.js +1 -1
- package/generators/generator-base.js +157 -23
- package/generators/generator-constants.js +22 -20
- package/generators/generator-list.js +2 -0
- package/generators/generator-transforms.js +0 -1
- package/generators/gradle/constants.cjs +1 -1
- package/generators/gradle/esm.mjs +19 -0
- package/generators/heroku/esm.mjs +1 -3
- package/generators/info/esm.mjs +1 -3
- package/generators/init/esm.mjs +19 -0
- package/generators/init/files.cjs +9 -3
- package/generators/init/index.cjs +5 -0
- package/generators/init/templates/.gitignore.jhi.ejs +5 -0
- package/generators/init/templates/{.lintstagedrc.js.ejs → .lintstagedrc.cjs.ejs} +0 -0
- package/generators/java/esm.mjs +19 -0
- package/generators/java/index.cjs +58 -2
- package/generators/kubernetes/esm.mjs +1 -3
- package/generators/kubernetes-helm/esm.mjs +1 -3
- package/generators/kubernetes-knative/esm.mjs +1 -3
- package/generators/languages/esm.mjs +2 -3
- package/generators/languages/templates/src/test/resources/i18n/messages_fr.properties.ejs +4 -1
- package/generators/maven/esm.mjs +19 -0
- package/generators/maven/files.cjs +0 -1
- package/generators/maven/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
- package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +18 -2
- package/generators/maven/templates/mvnw +13 -7
- package/generators/maven/templates/mvnw.cmd +19 -13
- package/generators/maven/templates/pom.xml.jhi.ejs +1 -1
- package/generators/openapi-client/esm.mjs +1 -3
- package/generators/openapi-client/index.js +11 -4
- package/generators/openshift/esm.mjs +1 -3
- package/generators/page/esm.mjs +1 -3
- package/generators/project-name/esm.mjs +19 -0
- package/generators/server/cleanup.js +19 -3
- package/generators/server/esm.mjs +2 -2
- package/generators/server/files-couchbase.js +28 -31
- package/generators/server/files.js +115 -18
- package/generators/server/index.js +23 -17
- package/generators/server/needle-api/needle-server-gradle.js +38 -0
- package/generators/server/needle-api/needle-server-maven.js +1 -1
- package/generators/server/templates/.mvn/jvm.config +1 -0
- package/generators/server/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
- package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +18 -2
- package/generators/server/templates/build.gradle.ejs +7 -5
- package/generators/server/templates/couchbase/src/main/java/package/repository/CouchbaseSearchRepository.java.ejs +91 -0
- package/generators/server/templates/couchbase/src/main/java/package/repository/JHipsterCouchbaseRepository.java.ejs +47 -45
- package/generators/server/templates/couchbase/src/main/java/package/repository/PersistentTokenRepository_couchbase.java.ejs +2 -2
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/authority/ROLE_ADMIN.json.ejs +3 -0
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/authority/ROLE_USER.json.ejs +3 -0
- 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
- 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
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.2__create_indexes.n1ql.ejs +34 -0
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0__create_collections.n1ql.ejs +8 -0
- package/generators/server/templates/couchbase/src/test/java/package/CouchbaseTestContainerExtension.java.ejs +4 -3
- package/generators/server/templates/couchbase/src/test/java/package/repository/{JHipsterCouchbaseRepositoryTest.java.ejs → CouchbaseSearchRepositoryTest.java.ejs} +2 -2
- package/generators/server/templates/devcontainer/Dockerfile.ejs +25 -0
- package/generators/server/templates/devcontainer/devcontainer.json.ejs +64 -0
- package/generators/server/templates/gradle/profile_prod.gradle.ejs +4 -0
- package/generators/server/templates/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/generators/server/templates/gradle.properties.ejs +8 -8
- package/generators/server/templates/mvnw +13 -7
- package/generators/server/templates/mvnw.cmd +19 -13
- package/generators/server/templates/npmw +14 -5
- package/generators/server/templates/pom.xml.ejs +65 -58
- package/generators/server/templates/settings.gradle.ejs +6 -4
- package/generators/server/templates/src/main/docker/app.yml.ejs +4 -6
- package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +2 -1
- package/generators/server/templates/src/main/docker/mysql.yml.ejs +1 -0
- package/generators/server/templates/src/main/docker/zipkin.yml.ejs +25 -0
- package/generators/server/templates/src/main/java/package/config/AsyncConfiguration.java.ejs +6 -0
- package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +26 -16
- package/generators/{client/templates/react/src/main/webapp/app/entities/index.tsx.ejs → server/templates/src/main/java/package/config/KafkaSseConsumer.java.ejs} +8 -14
- package/generators/server/templates/src/main/java/package/config/KafkaSseProducer.java.ejs +30 -0
- package/generators/server/templates/src/main/java/package/config/LocaleConfiguration_reactive.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +12 -10
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +2 -1
- package/generators/server/templates/src/main/java/package/domain/Authority.java.ejs +11 -0
- package/generators/server/templates/src/main/java/package/domain/PersistentToken.java.ejs +6 -6
- package/generators/server/templates/src/main/java/package/domain/User.java.ejs +9 -7
- package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +1 -11
- package/generators/server/templates/src/main/java/package/repository/EntityManager.java.ejs +48 -38
- package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +48 -72
- package/generators/server/templates/src/main/java/package/security/jwt/JWTFilter.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +8 -6
- package/generators/server/templates/src/main/java/package/web/filter/OAuth2ReactiveRefreshTokensWebFilter.java.ejs +0 -1
- package/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/web/rest/KafkaResource.java.ejs +60 -108
- package/generators/server/templates/src/main/java/package/web/rest/KafkaResource_reactive.java.ejs +74 -0
- package/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +2 -2
- package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +8 -0
- package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +6 -0
- package/generators/server/templates/src/main/resources/config/application.yml.ejs +28 -22
- package/generators/server/templates/src/test/java/package/CassandraKeyspaceIT.java.ejs +3 -4
- package/generators/server/templates/src/test/java/package/IntegrationTest.java.ejs +12 -4
- package/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs +18 -15
- package/generators/server/templates/src/test/java/package/config/CassandraTestContainer.java.ejs +122 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedCassandra.java.ejs +11 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedKafka.java.ejs +11 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedMongo.java.ejs +11 -0
- package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +2 -0
- package/generators/server/templates/src/test/java/package/config/KafkaTestContainer.java.ejs +38 -0
- package/generators/server/templates/src/test/java/package/config/MongoDbTestContainer.java.ejs +67 -0
- package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +114 -0
- package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +3 -10
- package/generators/server/templates/src/test/java/package/cucumber/stepdefs/StepDefs.java.ejs +8 -0
- package/generators/server/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +17 -3
- package/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/security/SecurityUtilsUnitTest_reactive.java.ejs +1 -1
- package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +5 -5
- package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +1 -1
- package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +2 -4
- package/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +15 -8
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_oauth2.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT.java.ejs +52 -123
- package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT_reactive.java.ejs +99 -0
- package/generators/server/templates/src/test/java/package/web/rest/PublicUserResourceIT.java.ejs +7 -10
- package/generators/server/templates/src/test/java/package/web/rest/TestUtil.java.ejs +1 -6
- package/generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIT.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +42 -47
- package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +2 -5
- package/generators/server/templates/src/test/resources/META-INF/spring.factories.ejs +1 -1
- package/generators/server/templates/src/test/resources/config/application.yml.ejs +21 -20
- package/generators/server/templates/src/test/resources/testcontainers.properties.ejs +1 -0
- package/generators/spring-boot/esm.mjs +19 -0
- package/generators/spring-controller/esm.mjs +1 -3
- package/generators/spring-service/esm.mjs +1 -3
- package/generators/upgrade/esm.mjs +1 -3
- package/generators/upgrade-config/esm.mjs +1 -3
- package/generators/workspaces/esm.mjs +1 -3
- package/generators/workspaces/index.js +2 -1
- package/lib/constants/logo.cjs +30 -0
- package/lib/constants/priorities.cjs +216 -2
- package/lib/constants/priorities.mjs +29 -1
- package/lib/index.mjs +6 -0
- package/lib/support/mixin.cjs +5 -1
- package/lib/support/shared-data.cjs +34 -1
- package/package.json +33 -29
- package/utils/entity.js +21 -2
- package/utils/faker.js +3 -3
- package/utils/field.js +69 -52
- package/utils/relationship.js +15 -4
- package/utils/user.js +109 -0
- package/generators/app/generator.spec.mjs +0 -47
- package/generators/aws/generator.spec.mjs +0 -47
- package/generators/azure-app-service/generator.spec.mjs +0 -47
- package/generators/azure-spring-cloud/generator.spec.mjs +0 -47
- package/generators/base/generator.spec.mjs +0 -44
- package/generators/bootstrap/generator.spec.mjs +0 -44
- package/generators/ci-cd/generator.spec.mjs +0 -47
- package/generators/client/__workflow/devserver-angular.json +0 -13
- package/generators/client/__workflow/devserver-react.json +0 -13
- package/generators/client/__workflow/devserver-vue.json +0 -13
- package/generators/client/generator.spec.mjs +0 -47
- package/generators/cloudfoundry/generator.spec.mjs +0 -47
- package/generators/common/generator.spec.mjs +0 -47
- package/generators/cypress/generator.spec.mjs +0 -47
- package/generators/database-changelog/generator.spec.mjs +0 -47
- package/generators/database-changelog-liquibase/generator.spec.mjs +0 -47
- package/generators/docker-compose/generator.spec.mjs +0 -44
- package/generators/entities/generator.spec.mjs +0 -47
- package/generators/entities-client/generator.spec.mjs +0 -47
- package/generators/entity/generator.spec.mjs +0 -47
- package/generators/entity-client/generator.spec.mjs +0 -47
- package/generators/entity-i18n/generator.spec.mjs +0 -47
- package/generators/entity-server/generator.spec.mjs +0 -47
- package/generators/entity-server/templates/src/main/java/package/repository/search/SortToFieldSortBuilderConverter.java.ejs +0 -24
- package/generators/export-jdl/generator.spec.mjs +0 -44
- package/generators/gae/generator.spec.mjs +0 -47
- package/generators/gradle/__snapshots__/generator.spec.cjs.snap +0 -59
- package/generators/gradle/generator.spec.cjs +0 -71
- package/generators/heroku/generator.spec.mjs +0 -47
- package/generators/info/generator.spec.mjs +0 -44
- package/generators/init/__snapshots__/generator.spec.cjs.snap +0 -65
- package/generators/init/generator.spec.cjs +0 -112
- package/generators/java/__snapshots__/generator.spec.cjs.snap +0 -118
- package/generators/java/generator.spec.cjs +0 -87
- package/generators/kubernetes/generator.spec.mjs +0 -44
- package/generators/kubernetes-helm/generator.spec.mjs +0 -44
- package/generators/kubernetes-knative/generator.spec.mjs +0 -44
- package/generators/languages/generator.spec.mjs +0 -47
- package/generators/maven/__snapshots__/generator.spec.cjs.snap +0 -53
- package/generators/maven/generator.spec.cjs +0 -78
- package/generators/maven/templates/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
- package/generators/openapi-client/generator.spec.mjs +0 -47
- package/generators/openshift/generator.spec.mjs +0 -44
- package/generators/page/generator.spec.mjs +0 -47
- package/generators/project-name/generator.spec.cjs +0 -43
- package/generators/server/__snapshots__/generator.spec.mjs.snap +0 -1931
- package/generators/server/generator.spec.mjs +0 -52
- package/generators/server/templates/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactory.java.ejs +0 -83
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactoryBean.java.ejs +0 -40
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryQuery.java.ejs +0 -44
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlQueryCreator.java.ejs +0 -162
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlRepositoryQueryExecutor.java.ejs +0 -104
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_ADMIN.json.ejs +0 -3
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_USER.json.ejs +0 -3
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0__create_indexes.n1ql.ejs +0 -19
- package/generators/server/templates/src/main/java/package/config/KafkaProperties.java.ejs +0 -68
- package/generators/server/templates/src/test/java/package/AbstractCassandraTest.java.ejs +0 -125
- package/generators/server/templates/src/test/java/package/MongoDbTestContainerExtension.java.ejs +0 -37
- package/generators/server/templates/src/test/java/package/TestContainersSpringContextCustomizerFactory.java.ejs +0 -24
- package/generators/spring-boot/__snapshots__/generator.spec.cjs.snap +0 -80
- package/generators/spring-boot/generator.spec.cjs +0 -64
- package/generators/spring-controller/generator.spec.mjs +0 -47
- package/generators/spring-service/generator.spec.mjs +0 -47
- package/generators/upgrade/generator.spec.mjs +0 -44
- package/generators/upgrade-config/generator.spec.mjs +0 -44
- 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] [![
|
|
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] [](https://ge.jhipster.tech/scans)
|
|
6
6
|
|
|
7
7
|
Greetings, Java Hipster!
|
|
8
8
|
|
|
@@ -129,13 +129,10 @@ 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
|
|
137
135
|
[github-actions-vue-image]: https://github.com/jhipster/generator-jhipster/workflows/Vue/badge.svg
|
|
138
|
-
[github-actions-webflux-image]: https://github.com/jhipster/generator-jhipster/workflows/Webflux/badge.svg
|
|
139
136
|
[github-actions-url]: https://github.com/jhipster/generator-jhipster/actions
|
|
140
137
|
[backers-image]: https://opencollective.com/generator-jhipster/tiers/backer.svg?avatarHeight=70&width=890
|
|
141
138
|
[backers-url]: https://opencollective.com/generator-jhipster
|
package/cli/commands.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
69
|
+
// Unable to find local version, so bundled one will be loaded anyway
|
|
62
70
|
}
|
|
63
71
|
}
|
|
64
|
-
// load
|
|
65
|
-
logger.info(
|
|
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
|
|
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(
|
|
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('--
|
|
60
|
-
.addOption(new Option('--prefer-
|
|
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,
|
|
74
|
+
const rejectExtraArgs = ({ program, command, extraArgs }) => {
|
|
65
75
|
// if extraArgs exists: Unknown commands or unknown argument.
|
|
66
76
|
const first = extraArgs[0];
|
|
67
|
-
if (
|
|
77
|
+
if (command.name() !== 'app') {
|
|
68
78
|
logger.fatal(
|
|
69
|
-
`${chalk.yellow(
|
|
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 = ({
|
|
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 ===
|
|
88
|
-
.description(
|
|
89
|
-
.addCommandArguments(
|
|
90
|
-
.addCommandOptions(
|
|
91
|
-
.addHelpText('after',
|
|
92
|
-
.addAlias(
|
|
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
|
|
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 (!
|
|
118
|
-
if (
|
|
139
|
+
if (!cliOnly || cmdName === 'jdl') {
|
|
140
|
+
if (blueprint) {
|
|
119
141
|
// Blueprint only command.
|
|
120
|
-
const generator = await env.create(`${packageNameToNamespace(
|
|
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
|
|
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
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
200
|
-
|
|
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
|
};
|
package/generators/app/esm.mjs
CHANGED
package/generators/app/index.js
CHANGED
|
@@ -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 {
|
|
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');
|
|
@@ -280,26 +280,21 @@ module.exports = class JHipsterAppGenerator extends BaseBlueprintGenerator {
|
|
|
280
280
|
type: Boolean,
|
|
281
281
|
});
|
|
282
282
|
|
|
283
|
+
this.option('cache-provider', {
|
|
284
|
+
desc: 'Cache provider',
|
|
285
|
+
type: String,
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
this.option('enable-hibernate-cache', {
|
|
289
|
+
desc: 'Enable hibernate cache',
|
|
290
|
+
type: Boolean,
|
|
291
|
+
});
|
|
292
|
+
|
|
283
293
|
// Just constructing help, stop here
|
|
284
294
|
if (this.options.help) {
|
|
285
295
|
return;
|
|
286
296
|
}
|
|
287
297
|
|
|
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
298
|
this.loadStoredAppOptions();
|
|
304
299
|
this.loadRuntimeOptions();
|
|
305
300
|
|
package/generators/aws/esm.mjs
CHANGED
package/generators/base/esm.mjs
CHANGED