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
|
@@ -0,0 +1,363 @@
|
|
|
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
|
+
import chalk from 'chalk';
|
|
20
|
+
import lodash from 'lodash';
|
|
21
|
+
import { readFile } from 'fs/promises';
|
|
22
|
+
|
|
23
|
+
import BaseBlueprintGenerator from '../generator-base-blueprint.js';
|
|
24
|
+
import {
|
|
25
|
+
PRIORITY_PREFIX,
|
|
26
|
+
INITIALIZING_PRIORITY,
|
|
27
|
+
PROMPTING_PRIORITY,
|
|
28
|
+
CONFIGURING_PRIORITY,
|
|
29
|
+
LOADING_PRIORITY,
|
|
30
|
+
PREPARING_PRIORITY,
|
|
31
|
+
WRITING_PRIORITY,
|
|
32
|
+
POST_WRITING_PRIORITY,
|
|
33
|
+
INSTALL_PRIORITY,
|
|
34
|
+
END_PRIORITY,
|
|
35
|
+
} from '../../lib/constants/priorities.mjs';
|
|
36
|
+
import {
|
|
37
|
+
options,
|
|
38
|
+
requiredConfig,
|
|
39
|
+
defaultConfig,
|
|
40
|
+
defaultSubGeneratorConfig,
|
|
41
|
+
allGeneratorsConfig,
|
|
42
|
+
prompts,
|
|
43
|
+
subGeneratorPrompts,
|
|
44
|
+
ALL_GENERATORS,
|
|
45
|
+
GENERATORS,
|
|
46
|
+
PRIORITIES,
|
|
47
|
+
SUB_GENERATORS,
|
|
48
|
+
WRITTEN,
|
|
49
|
+
} from './constants.mjs';
|
|
50
|
+
|
|
51
|
+
import GENERATOR_LIST from '../generator-list.js';
|
|
52
|
+
import { files, generatorFiles } from './files.mjs';
|
|
53
|
+
|
|
54
|
+
const { camelCase, upperFirst, snakeCase } = lodash;
|
|
55
|
+
const { GENERATOR_INIT, GENERATOR_GENERATE_BLUEPRINT } = GENERATOR_LIST;
|
|
56
|
+
|
|
57
|
+
export default class extends BaseBlueprintGenerator {
|
|
58
|
+
constructor(args, opts, features) {
|
|
59
|
+
super(args, opts, { jhipsterModular: true, taskPrefix: PRIORITY_PREFIX, unique: 'namespace', ...features });
|
|
60
|
+
|
|
61
|
+
// Register options available to cli.
|
|
62
|
+
if (!this.fromBlueprint) {
|
|
63
|
+
this.registerCommonOptions();
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
this.jhipsterOptions(options());
|
|
67
|
+
|
|
68
|
+
if (this.options.help) return;
|
|
69
|
+
|
|
70
|
+
if (this[ALL_GENERATORS]) {
|
|
71
|
+
this.config.set(allGeneratorsConfig());
|
|
72
|
+
}
|
|
73
|
+
if (this.options.defaults) {
|
|
74
|
+
this.config.defaults(defaultConfig());
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** @inheritdoc */
|
|
79
|
+
async getPossibleDependencies() {
|
|
80
|
+
return [GENERATOR_INIT];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
async _beforeQueue() {
|
|
84
|
+
if (!this.fromBlueprint) {
|
|
85
|
+
const configure = this.options.configure || !this.shouldComposeModular();
|
|
86
|
+
await this.dependsOnJHipster(GENERATOR_INIT, [], { configure });
|
|
87
|
+
await this.composeWithBlueprints(GENERATOR_GENERATE_BLUEPRINT);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
get initializing() {
|
|
92
|
+
return {
|
|
93
|
+
validateFromCli() {
|
|
94
|
+
this.checkInvocationFromCLI();
|
|
95
|
+
},
|
|
96
|
+
sayHello() {
|
|
97
|
+
if (!this.showHello()) return;
|
|
98
|
+
this.log(chalk.white('⬢ Welcome to the JHipster Generate Blueprint ⬢'));
|
|
99
|
+
},
|
|
100
|
+
loadRuntimeOptions() {
|
|
101
|
+
this.loadRuntimeOptions();
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
get [INITIALIZING_PRIORITY]() {
|
|
107
|
+
if (this.delegateToBlueprint) return {};
|
|
108
|
+
return this.initializing;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
get prompting() {
|
|
112
|
+
return {
|
|
113
|
+
async prompting() {
|
|
114
|
+
await this.prompt(prompts(this), this.config);
|
|
115
|
+
},
|
|
116
|
+
async eachSubGenerator() {
|
|
117
|
+
const subGenerators = this.config.get(SUB_GENERATORS) || [];
|
|
118
|
+
for (const subGenerator of subGenerators) {
|
|
119
|
+
const subGeneratorStorage = this.getSubGeneratorStorage(subGenerator);
|
|
120
|
+
await this.prompt(subGeneratorPrompts(subGenerator), subGeneratorStorage);
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
get [PROMPTING_PRIORITY]() {
|
|
127
|
+
if (this.delegateToBlueprint) return {};
|
|
128
|
+
return this.prompting;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
get configuring() {
|
|
132
|
+
return {
|
|
133
|
+
requiredConfig() {
|
|
134
|
+
this.config.defaults(requiredConfig());
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
get [CONFIGURING_PRIORITY]() {
|
|
140
|
+
if (this.delegateToBlueprint) return {};
|
|
141
|
+
return this.configuring;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
get loading() {
|
|
145
|
+
return {
|
|
146
|
+
createContext() {
|
|
147
|
+
this.application = { ...defaultConfig(), ...this.config.getAll() };
|
|
148
|
+
},
|
|
149
|
+
async load() {
|
|
150
|
+
this.application.packagejs = JSON.parse(await readFile(new URL('../../package.json', import.meta.url)));
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
get [LOADING_PRIORITY]() {
|
|
156
|
+
if (this.delegateToBlueprint) return {};
|
|
157
|
+
return this.loading;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
get preparing() {
|
|
161
|
+
return {
|
|
162
|
+
prepareCommands() {
|
|
163
|
+
this.application.commands = [];
|
|
164
|
+
for (const generator of this.application[SUB_GENERATORS]) {
|
|
165
|
+
const subGeneratorConfig = this.getSubGeneratorStorage(generator).getAll();
|
|
166
|
+
if (subGeneratorConfig.command) {
|
|
167
|
+
this.application.commands.push(generator);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
get [PREPARING_PRIORITY]() {
|
|
175
|
+
if (this.delegateToBlueprint) return {};
|
|
176
|
+
return this.preparing;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
get writing() {
|
|
180
|
+
return {
|
|
181
|
+
async writing() {
|
|
182
|
+
if (this.shouldSkipFiles()) return;
|
|
183
|
+
await this.writeFiles({
|
|
184
|
+
sections: files,
|
|
185
|
+
context: this.application,
|
|
186
|
+
});
|
|
187
|
+
// function to use directly template
|
|
188
|
+
for (const generator of this.jhipsterConfig[SUB_GENERATORS] || []) {
|
|
189
|
+
const subGeneratorStorage = this.getSubGeneratorStorage(generator);
|
|
190
|
+
const subGeneratorConfig = subGeneratorStorage.getAll();
|
|
191
|
+
const priorities = (subGeneratorConfig[PRIORITIES] || []).map(priority => ({
|
|
192
|
+
name: priority,
|
|
193
|
+
constant: `${snakeCase(priority).toUpperCase()}_PRIORITY`,
|
|
194
|
+
}));
|
|
195
|
+
const customGenerator = !Object.values(GENERATOR_LIST).includes(generator);
|
|
196
|
+
const jhipsterGenerator = customGenerator ? 'base' : generator;
|
|
197
|
+
const subTemplateData = {
|
|
198
|
+
application: this.application,
|
|
199
|
+
...defaultSubGeneratorConfig(),
|
|
200
|
+
...subGeneratorConfig,
|
|
201
|
+
generator,
|
|
202
|
+
jhipsterGenerator,
|
|
203
|
+
subGenerator: generator,
|
|
204
|
+
generatorClass: upperFirst(camelCase(jhipsterGenerator)),
|
|
205
|
+
priorities,
|
|
206
|
+
};
|
|
207
|
+
await this.writeFiles({
|
|
208
|
+
sections: generatorFiles,
|
|
209
|
+
context: subTemplateData,
|
|
210
|
+
});
|
|
211
|
+
subGeneratorStorage.set(WRITTEN, true);
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
get [WRITING_PRIORITY]() {
|
|
218
|
+
if (this.delegateToBlueprint) return {};
|
|
219
|
+
return this.writing;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
get postWriting() {
|
|
223
|
+
return {
|
|
224
|
+
postWriting() {
|
|
225
|
+
if (this.shouldSkipFiles()) return;
|
|
226
|
+
const { packagejs } = this.application;
|
|
227
|
+
this.packageJson.merge({
|
|
228
|
+
name: `generator-jhipster-${this.jhipsterConfig.baseName}`,
|
|
229
|
+
keywords: ['yeoman-generator', 'jhipster-blueprint', 'jhipster-7'],
|
|
230
|
+
type: 'module',
|
|
231
|
+
files: ['generators'],
|
|
232
|
+
scripts: {
|
|
233
|
+
ejslint: "ejslint generators/**/*.ejs && ejslint generators/**/*.ejs -d '&'",
|
|
234
|
+
lint: 'eslint .',
|
|
235
|
+
'lint-fix': 'npm run ejslint && npm run lint -- --fix',
|
|
236
|
+
mocha: 'mocha generators --no-insight --forbid-only',
|
|
237
|
+
'prettier-format': 'prettier --write "{,**/}*.{js,cjs,mjs,json,md,yml}"',
|
|
238
|
+
pretest: 'npm run lint',
|
|
239
|
+
test: 'npm run mocha --',
|
|
240
|
+
'update-snapshot': 'npm run mocha -- --no-parallel --updateSnapshot',
|
|
241
|
+
},
|
|
242
|
+
dependencies: {
|
|
243
|
+
chalk: `${packagejs.dependencies.chalk}`,
|
|
244
|
+
},
|
|
245
|
+
devDependencies: {
|
|
246
|
+
'ejs-lint': `${packagejs.devDependencies['ejs-lint']}`,
|
|
247
|
+
eslint: `${packagejs.devDependencies.eslint}`,
|
|
248
|
+
'eslint-config-airbnb-base': `${packagejs.devDependencies['eslint-config-airbnb-base']}`,
|
|
249
|
+
'eslint-config-prettier': `${packagejs.devDependencies['eslint-config-prettier']}`,
|
|
250
|
+
'eslint-plugin-import': `${packagejs.devDependencies['eslint-plugin-import']}`,
|
|
251
|
+
'eslint-plugin-mocha': `${packagejs.devDependencies['eslint-plugin-mocha']}`,
|
|
252
|
+
'eslint-plugin-prettier': `${packagejs.devDependencies['eslint-plugin-prettier']}`,
|
|
253
|
+
expect: `${packagejs.devDependencies.expect}`,
|
|
254
|
+
mocha: `${packagejs.devDependencies.mocha}`,
|
|
255
|
+
'mocha-expect-snapshot': `${packagejs.devDependencies['mocha-expect-snapshot']}`,
|
|
256
|
+
prettier: `${packagejs.dependencies.prettier}`,
|
|
257
|
+
'yeoman-test': `${packagejs.devDependencies['yeoman-test']}`,
|
|
258
|
+
},
|
|
259
|
+
engines: {
|
|
260
|
+
node: '>=16.13.0',
|
|
261
|
+
},
|
|
262
|
+
imports: {
|
|
263
|
+
'#test-utils': './test/utils.mjs',
|
|
264
|
+
},
|
|
265
|
+
});
|
|
266
|
+
},
|
|
267
|
+
addCliToPackageJson() {
|
|
268
|
+
if (this.shouldSkipFiles() || !this.jhipsterConfig.cli) return;
|
|
269
|
+
const { baseName, cliName = `jhipster-${baseName}` } = this.application;
|
|
270
|
+
this.packageJson.merge({
|
|
271
|
+
bin: {
|
|
272
|
+
[cliName]: `cli/cli.${this.jhipsterConfig.js ? '' : 'm'}js`,
|
|
273
|
+
},
|
|
274
|
+
files: ['cli', 'generators'],
|
|
275
|
+
});
|
|
276
|
+
},
|
|
277
|
+
addGeneratorJHipsterDependency() {
|
|
278
|
+
if (this.shouldSkipFiles()) return;
|
|
279
|
+
const { packagejs } = this.application;
|
|
280
|
+
if (this.jhipsterConfig.dynamic) {
|
|
281
|
+
this.packageJson.merge({
|
|
282
|
+
devDependencies: {
|
|
283
|
+
'generator-jhipster': `${packagejs.version}`,
|
|
284
|
+
},
|
|
285
|
+
peerDependencies: {
|
|
286
|
+
'generator-jhipster': `^${packagejs.version}`,
|
|
287
|
+
},
|
|
288
|
+
});
|
|
289
|
+
} else {
|
|
290
|
+
this.packageJson.merge({
|
|
291
|
+
dependencies: {
|
|
292
|
+
'generator-jhipster': `${packagejs.version}`,
|
|
293
|
+
},
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
get [POST_WRITING_PRIORITY]() {
|
|
301
|
+
if (this.delegateToBlueprint) return {};
|
|
302
|
+
return this.postWriting;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
get install() {
|
|
306
|
+
return {
|
|
307
|
+
async addSnapshot() {
|
|
308
|
+
if (this.options.skipInstall || this.options.skipGit || this.config.existed) return;
|
|
309
|
+
// Generate snapshots to add to git.
|
|
310
|
+
this.log(`
|
|
311
|
+
This is a new blueprint, executing '${chalk.yellow('npm run update-snapshot')}' to generate snapshots and commit to git.`);
|
|
312
|
+
try {
|
|
313
|
+
await this.spawnCommand('npm', ['run', 'update-snapshot']);
|
|
314
|
+
} catch (error) {
|
|
315
|
+
this.log('Fail to generate snapshots');
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
get [INSTALL_PRIORITY]() {
|
|
322
|
+
if (this.delegateToBlueprint) return {};
|
|
323
|
+
return this.install;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
get end() {
|
|
327
|
+
return {
|
|
328
|
+
end() {
|
|
329
|
+
this.log(`${chalk.bold.green('##### USAGE #####')}
|
|
330
|
+
To begin to work:
|
|
331
|
+
- launch: ${chalk.yellow.bold('npm install')}
|
|
332
|
+
- link: ${chalk.yellow.bold('npm link')}
|
|
333
|
+
- link JHipster: ${chalk.yellow.bold('npm link generator-jhipster')}
|
|
334
|
+
- test your module in a JHipster project:
|
|
335
|
+
- create a new directory and go into it
|
|
336
|
+
- link the blueprint: ${chalk.yellow.bold(`npm link generator-jhipster-${this.moduleName}`)}
|
|
337
|
+
- launch JHipster with flags: ${chalk.yellow.bold(`jhipster --blueprints ${this.moduleName}`)}
|
|
338
|
+
- then, come back here, and begin to code!
|
|
339
|
+
`);
|
|
340
|
+
},
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
get [END_PRIORITY]() {
|
|
345
|
+
if (this.delegateToBlueprint) return {};
|
|
346
|
+
return this.end;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
getSubGeneratorStorage(subGenerator) {
|
|
350
|
+
return this.config.createStorage(`${GENERATORS}.${subGenerator}`);
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
validateGitHubName(input) {
|
|
354
|
+
if (/^([a-zA-Z0-9]+)(-([a-zA-Z0-9])+)*$/.test(input) && input !== '') return true;
|
|
355
|
+
return 'Your username is mandatory, cannot contain special characters or a blank space';
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
validateModuleName(input) {
|
|
359
|
+
return /^[a-zA-Z0-9-]+$/.test(input)
|
|
360
|
+
? true
|
|
361
|
+
: 'Your blueprint name is mandatory, cannot contain special characters or a blank space, using the default name instead';
|
|
362
|
+
}
|
|
363
|
+
}
|
|
@@ -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 { default } from './generator.mjs';
|
|
20
|
+
export { files, generatorFiles } from './files.mjs';
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"env": {
|
|
3
|
+
"node": true,
|
|
4
|
+
"es2020": true
|
|
5
|
+
},
|
|
6
|
+
"extends": ["airbnb-base", "plugin:mocha/recommended", "plugin:prettier/recommended"],
|
|
7
|
+
"parserOptions": {
|
|
8
|
+
"ecmaVersion": 11,
|
|
9
|
+
"sourceType": "module"
|
|
10
|
+
},
|
|
11
|
+
"overrides": [
|
|
12
|
+
{
|
|
13
|
+
"files": ["**/*.spec.{c,m,}js", "test/**/*.{c,m,}js"],
|
|
14
|
+
"env": {
|
|
15
|
+
"mocha": true
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"rules": {
|
|
20
|
+
"mocha/no-mocha-arrows": "off",
|
|
21
|
+
"func-names": "off",
|
|
22
|
+
"import/no-extraneous-dependencies": ["error", { "devDependencies": true }],
|
|
23
|
+
"import/no-unresolved": [2, { "ignore": ["^#[\\w\\d/\\-]+$"] }],
|
|
24
|
+
"no-restricted-syntax": [
|
|
25
|
+
"error",
|
|
26
|
+
{
|
|
27
|
+
"selector": "ForInStatement",
|
|
28
|
+
"message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array."
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"selector": "LabeledStatement",
|
|
32
|
+
"message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"selector": "WithStatement",
|
|
36
|
+
"message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize."
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"no-shadow": "off"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
name: Generator
|
|
20
|
+
on: [push, pull_request]
|
|
21
|
+
jobs:
|
|
22
|
+
<%= baseName %>:
|
|
23
|
+
name: npm-test
|
|
24
|
+
runs-on: ubuntu-20.04
|
|
25
|
+
timeout-minutes: 10
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@v2
|
|
28
|
+
- uses: actions/setup-node@v2
|
|
29
|
+
with:
|
|
30
|
+
node-version: '16'
|
|
31
|
+
- run: npm ci
|
|
32
|
+
- run: npm run test
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
module.exports = {
|
|
20
|
+
recursive: true,
|
|
21
|
+
reporter: 'spec',
|
|
22
|
+
slow: 0,
|
|
23
|
+
timeout: 30000,
|
|
24
|
+
ui: 'bdd',
|
|
25
|
+
extension: ['spec.js', 'spec.cjs', 'spec.mjs'],
|
|
26
|
+
exclude: ['**/resources/**', '**/node_modules/**'],
|
|
27
|
+
require: 'mocha-expect-snapshot',
|
|
28
|
+
parallel: true,
|
|
29
|
+
};
|
|
@@ -16,10 +16,7 @@
|
|
|
16
16
|
See the License for the specific language governing permissions and
|
|
17
17
|
limitations under the License.
|
|
18
18
|
-%>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
package <%= packageName %>.config.couchbase;
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
<&_ if (!fragment.section) { -&>
|
|
20
|
+
# blueprint rules:
|
|
21
|
+
**/templates/**/
|
|
22
|
+
<&_ } -&>
|
|
@@ -0,0 +1,75 @@
|
|
|
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
|
+
# generator-jhipster-<%= baseName %>
|
|
20
|
+
|
|
21
|
+
> JHipster blueprint, <%= baseName %> blueprint for JHipster
|
|
22
|
+
|
|
23
|
+
[![NPM version][npm-image]][npm-url]
|
|
24
|
+
[![Generator][github-generator-image]][github-generator-url]
|
|
25
|
+
[![Integration Test][github-integration-image]][github-integration-url]
|
|
26
|
+
|
|
27
|
+
# Introduction
|
|
28
|
+
|
|
29
|
+
This is a [JHipster](https://www.jhipster.tech/) blueprint, that is meant to be used in a JHipster application.
|
|
30
|
+
|
|
31
|
+
# Prerequisites
|
|
32
|
+
|
|
33
|
+
As this is a [JHipster](https://www.jhipster.tech/) blueprint, we expect you have JHipster and its related tools already installed:
|
|
34
|
+
|
|
35
|
+
- [Installing JHipster](https://www.jhipster.tech/installation/)
|
|
36
|
+
|
|
37
|
+
# Installation
|
|
38
|
+
|
|
39
|
+
To install or update this blueprint:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm install -g generator-jhipster-<%= baseName %>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
# Usage
|
|
46
|
+
|
|
47
|
+
To use this blueprint, run the below command
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
jhipster --blueprints <%= baseName %>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
You can look for updated <%= baseName %> blueprint specific options by running
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
jhipster app --blueprints <%= baseName %> --help
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
And looking for `(blueprint option: <%= baseName %>)` like
|
|
60
|
+
|
|
61
|
+
## Pre-release
|
|
62
|
+
|
|
63
|
+
To use an unreleased version, install it using git.
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npm install -g jhipster/generator-jhipster-<%= baseName %>#main
|
|
67
|
+
jhipster --blueprints <%= baseName %> --skip-jhipster-dependencies
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
[npm-image]: https://img.shields.io/npm/v/generator-jhipster-<%= baseName %>.svg
|
|
71
|
+
[npm-url]: https://npmjs.org/package/generator-jhipster-<%= baseName %>
|
|
72
|
+
[github-generator-image]: https://github.com/jhipster/generator-jhipster-<%= baseName %>/actions/workflows/generator.yml/badge.svg
|
|
73
|
+
[github-generator-url]: https://github.com/jhipster/generator-jhipster-<%= baseName %>/actions/workflows/generator.yml
|
|
74
|
+
[github-integration-image]: https://github.com/jhipster/generator-jhipster-<%= baseName %>/actions/workflows/integration.yml/badge.svg
|
|
75
|
+
[github-integration-url]: https://github.com/jhipster/generator-jhipster-<%= baseName %>/actions/workflows/integration.yml
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { runJHipster, done, logger } from 'generator-jhipster/esm/cli';
|
|
4
|
+
import { readFile } from 'fs/promises';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
import { dirname, basename } from 'path';
|
|
7
|
+
|
|
8
|
+
// Get package name to use as namespace.
|
|
9
|
+
// Allows blueprints to be aliased.
|
|
10
|
+
const packagePath = dirname(dirname(fileURLToPath(import.meta.url)));
|
|
11
|
+
const packageFolderName = basename(packagePath);
|
|
12
|
+
|
|
13
|
+
(async () => {
|
|
14
|
+
const { version, bin } = JSON.parse(await readFile(new URL('../package.json', import.meta.url)));
|
|
15
|
+
const executableName = Object.keys(bin)[0];
|
|
16
|
+
|
|
17
|
+
runJHipster({
|
|
18
|
+
executableName,
|
|
19
|
+
executableVersion: version,
|
|
20
|
+
defaultCommand: 'app',
|
|
21
|
+
blueprints: {
|
|
22
|
+
[packageFolderName]: version,
|
|
23
|
+
},
|
|
24
|
+
printBlueprintLogo: () => {
|
|
25
|
+
console.log('===================== JHipster <%= baseName %> =====================');
|
|
26
|
+
console.log('');
|
|
27
|
+
},
|
|
28
|
+
lookups: [{ packagePaths: [packagePath], lookups: ['generators'] }],
|
|
29
|
+
}).catch(done);
|
|
30
|
+
})();
|
|
31
|
+
|
|
32
|
+
process.on('unhandledRejection', up => {
|
|
33
|
+
logger.error('Unhandled promise rejection at:');
|
|
34
|
+
logger.fatal(up);
|
|
35
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
module.exports = {
|
|
20
|
+
<% for (const command of commands) { %>
|
|
21
|
+
'<%= command %>': {
|
|
22
|
+
desc: 'Run <%= command %>',
|
|
23
|
+
},
|
|
24
|
+
<% } %>
|
|
25
|
+
};
|