generator-jhipster 7.2.0 → 7.4.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/cli/environment-builder.js +1 -0
- package/cli/import-jdl.js +3 -2
- package/cli/jdl.js +1 -0
- package/cli/jhipster-command.js +2 -2
- package/cli/program.js +32 -29
- package/generators/app/index.js +35 -26
- package/generators/aws/index.js +8 -8
- package/generators/aws/lib/eb.js +1 -1
- package/generators/azure-app-service/index.js +16 -9
- package/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +2 -2
- package/generators/azure-spring-cloud/index.js +16 -9
- package/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +2 -2
- package/generators/bootstrap/index.js +57 -61
- package/generators/ci-cd/index.js +11 -8
- package/generators/ci-cd/templates/github-actions.yml.ejs +1 -1
- package/generators/ci-cd/templates/travis.yml.ejs +9 -4
- package/generators/client/__workflow/devserver-angular.json +1 -1
- package/generators/client/__workflow/devserver-react.json +1 -1
- package/generators/client/__workflow/devserver-vue.json +1 -1
- package/generators/client/files-angular.js +6 -0
- package/generators/client/files-common.js +6 -2
- package/generators/client/files-react.js +13 -2
- package/generators/client/files-vue.js +56 -6
- package/generators/client/index.js +114 -32
- package/generators/client/needle-api/needle-client-angular.js +1 -1
- package/generators/client/needle-api/needle-client-vue.js +57 -7
- package/generators/client/templates/angular/.eslintrc.json.ejs +1 -0
- package/generators/client/templates/angular/package.json +19 -19
- package/generators/client/templates/angular/package.json.ejs +2 -1
- package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +52 -54
- package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.service.spec.ts.ejs +65 -0
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.spec.ts.ejs +35 -37
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.spec.ts.ejs +78 -80
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password.service.spec.ts.ejs +41 -0
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +73 -75
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +62 -0
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +44 -46
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +61 -0
- package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.spec.ts.ejs +116 -118
- package/generators/client/templates/angular/src/main/webapp/app/account/register/register.service.spec.ts.ejs +66 -0
- package/generators/client/templates/angular/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +75 -77
- package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +74 -76
- package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +48 -50
- package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.service.spec.ts.ejs +50 -52
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +45 -47
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +66 -0
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +99 -101
- package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +61 -63
- package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.service.spec.ts.ejs +19 -21
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +28 -30
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.service.spec.ts.ejs +62 -64
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +35 -37
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +40 -42
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +87 -89
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +41 -43
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +81 -83
- package/generators/client/templates/angular/src/main/webapp/app/app.module.ts.ejs +3 -0
- package/generators/client/templates/angular/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +178 -180
- package/generators/client/templates/angular/src/main/webapp/app/core/config/application-config.service.ts.ejs +9 -0
- package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.service.spec.ts.ejs +87 -89
- package/generators/client/templates/angular/src/main/webapp/app/home/home.component.spec.ts.ejs +93 -95
- package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +166 -168
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +66 -68
- package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +27 -29
- package/generators/client/templates/angular/src/main/webapp/app/login/login.component.spec.ts.ejs +112 -114
- package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +132 -134
- package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +29 -31
- package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +2 -3
- package/generators/client/templates/common/README.md.jhi.client.ejs +34 -0
- package/generators/client/templates/common/package.json +7 -7
- package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +56 -0
- package/generators/client/templates/react/.eslintrc.json.ejs +1 -0
- package/generators/client/templates/react/package.json +57 -56
- package/generators/client/templates/react/package.json.ejs +5 -2
- package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +0 -3
- package/generators/client/templates/react/src/main/webapp/app/modules/account/password/password.tsx.ejs +2 -2
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/configuration/configuration.tsx.ejs +2 -2
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/gateway/gateway.tsx.ejs +2 -2
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/metrics/metrics.tsx.ejs +6 -6
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +8 -8
- package/generators/client/templates/react/src/main/webapp/app/modules/home/home.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +3 -3
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs +7 -7
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/menu-components.tsx.ejs +1 -1
- package/generators/client/templates/react/webpack/webpack.dev.js.ejs +17 -1
- package/generators/client/templates/react/webpack/webpack.prod.js.ejs +13 -1
- package/generators/client/templates/vue/.eslintrc.js.ejs +8 -5
- package/generators/client/templates/vue/package.json +40 -49
- package/generators/client/templates/vue/package.json.ejs +14 -18
- package/generators/client/templates/vue/src/main/webapp/app/account/account.service.ts.ejs +6 -5
- package/generators/client/templates/vue/src/main/webapp/app/account/settings/settings.vue.ejs +7 -1
- package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +1 -1
- package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.vue.ejs +1 -1
- package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +1 -1
- package/generators/client/templates/vue/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +5 -4
- package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +9 -0
- package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-view.component.ts.ejs +5 -0
- package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management.component.ts.ejs +5 -0
- package/generators/client/templates/vue/src/main/webapp/app/constants.ts.ejs +16 -6
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +27 -8
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +6 -0
- package/generators/client/templates/vue/src/main/webapp/app/declarations.d.ts.ejs +41 -0
- package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.component.ts.ejs +34 -0
- package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.vue.ejs +13 -0
- package/generators/client/templates/vue/src/main/webapp/app/entities/entities.component.ts.ejs +14 -0
- package/generators/client/templates/vue/src/main/webapp/app/entities/entities.vue.ejs +5 -0
- package/generators/client/templates/vue/{webpack/utils.js.ejs → src/main/webapp/app/index.ts.ejs} +1 -12
- package/generators/client/templates/vue/src/main/webapp/app/locale/translation.service.ts.ejs +26 -9
- package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +23 -11
- package/generators/client/templates/vue/src/main/webapp/app/router/admin.ts.ejs +4 -4
- package/generators/client/templates/vue/src/main/webapp/app/router/entities.ts.ejs +45 -3
- package/generators/client/templates/vue/src/main/webapp/app/router/index.ts.ejs +19 -3
- package/generators/client/templates/vue/src/main/webapp/app/shared/alert/alert.service.ts.ejs +61 -0
- package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +0 -2
- package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +3 -1
- package/generators/client/templates/vue/src/main/webapp/app/shims-vue.d.ts.ejs +17 -3
- package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +25 -10
- package/generators/client/templates/vue/src/test/javascript/spec/app/account/account.service.spec.ts.ejs +2 -2
- package/generators/client/templates/vue/src/test/javascript/spec/app/account/login-form/login-form.component.spec.ts.ejs +2 -2
- package/generators/client/templates/vue/src/test/javascript/spec/app/admin/tracker/tracker.component.spec.ts.ejs +12 -12
- package/generators/client/templates/vue/src/test/javascript/spec/app/admin/tracker/tracker.service.spec.ts.ejs +2 -1
- package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-edit.component.spec.ts.ejs +5 -1
- package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-view.component.spec.ts.ejs +2 -1
- package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management.component.spec.ts.ejs +5 -1
- package/generators/client/templates/vue/src/test/javascript/spec/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +10 -4
- package/generators/client/templates/vue/src/test/javascript/spec/app/entities/entities-menu.spec.ts.ejs +52 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.component.ts.ejs +4 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.vue.ejs +7 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-router.ts.ejs +1 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/shared/alert/alert.service.spec.ts.ejs +124 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/axios-interceptor.spec.ts.ejs +0 -1
- package/generators/client/templates/vue/tsconfig.json.ejs +6 -10
- package/generators/client/templates/vue/tsconfig.spec.json.ejs +37 -0
- package/generators/client/templates/vue/webpack/config.js.ejs +50 -0
- package/generators/client/templates/vue/webpack/vue.utils.js.ejs +33 -32
- package/generators/client/templates/vue/webpack/webpack.common.js.ejs +152 -126
- package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +19 -76
- package/generators/client/templates/vue/webpack/webpack.microfrontend.js.jhi.vue.ejs +77 -0
- package/generators/client/templates/vue/webpack/webpack.prod.js.ejs +5 -41
- package/generators/cloudfoundry/index.js +9 -9
- package/generators/common/index.js +12 -10
- package/generators/common/templates/.husky/pre-commit +1 -1
- package/generators/common/templates/.prettierrc.ejs +1 -1
- package/generators/common/templates/README.md.jhi.ejs +21 -0
- package/generators/common/templates/package.json +4 -4
- package/generators/cypress/index.js +12 -9
- package/generators/cypress/templates/cypress.json.ejs +9 -2
- package/generators/cypress/templates/src/test/javascript/cypress/plugins/index.ts.ejs +4 -4
- package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +30 -2
- package/generators/cypress/templates/src/test/javascript/cypress/support/entity.ts.ejs +4 -4
- package/generators/cypress/templates/src/test/javascript/cypress/support/index.ts.ejs +1 -1
- package/generators/cypress/templates/src/test/javascript/cypress/support/management.ts.ejs +1 -1
- package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +1 -1
- package/generators/database-changelog/index.js +33 -22
- package/generators/database-changelog-liquibase/index.js +12 -8
- package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +1 -1
- package/generators/docker-compose/index.js +11 -12
- package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +13 -12
- package/generators/entities/index.js +35 -26
- package/generators/entities-client/index.js +10 -7
- package/generators/entity/index.js +49 -29
- package/generators/entity-client/files.js +7 -16
- package/generators/entity-client/index.js +74 -11
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.spec.ts.ejs +42 -44
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.spec.ts.ejs +58 -60
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +105 -107
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +8 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +52 -54
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing.module.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +173 -175
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +2 -4
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +193 -195
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +7 -0
- package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +269 -109
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +5 -2
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +17 -14
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +11 -13
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-details.component.ts.ejs +5 -0
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +23 -8
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.vue.ejs +6 -9
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.component.ts.ejs +9 -1
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.service.ts.ejs +2 -6
- package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-details.component.spec.ts.ejs +2 -1
- package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-update.component.spec.ts.ejs +8 -1
- package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.component.spec.ts.ejs +8 -2
- package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.service.spec.ts.ejs +1 -1
- package/generators/entity-i18n/index.js +7 -4
- package/generators/entity-server/files-couchbase.js +2 -2
- package/generators/entity-server/files.js +35 -30
- package/generators/entity-server/index.js +12 -8
- package/generators/entity-server/templates/couchbase/src/main/java/package/repository/EntityRepository.java.ejs +2 -2
- package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.fts.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +6 -2
- package/generators/entity-server/templates/src/main/java/package/domain/enumeration/Enum.java.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +2 -2
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +17 -30
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +5 -5
- package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +46 -0
- 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 +2 -2
- package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +8 -8
- package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +4 -4
- package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +4 -4
- package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +7 -3
- package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +8 -8
- package/generators/entity-server/templates/src/main/java/package/service/mapper/BaseEntityMapper.java.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +7 -3
- package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +51 -53
- package/generators/entity-server/templates/src/test/java/package/domain/EntityTest.java.ejs +1 -1
- package/generators/entity-server/templates/src/test/java/package/repository/search/EntitySearchRepositoryMockConfiguration.java.ejs +1 -1
- package/generators/entity-server/templates/src/test/java/package/service/dto/EntityDTOTest.java.ejs +1 -1
- package/generators/entity-server/templates/src/test/java/package/service/mapper/EntityMapperTest.java.ejs +1 -1
- package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +17 -14
- package/generators/gae/index.js +10 -10
- package/generators/generator-base-blueprint.js +14 -46
- package/generators/generator-base-private.js +42 -22
- package/generators/generator-base.js +57 -20
- package/generators/generator-constants.js +29 -21
- package/generators/generator-transforms.js +39 -27
- package/generators/heroku/index.js +27 -48
- package/generators/init/constants.cjs +1 -1
- package/generators/init/templates/.husky/pre-commit +1 -1
- package/generators/java/constants.cjs +1 -1
- package/generators/kubernetes/files.js +3 -0
- package/generators/kubernetes/index.js +10 -10
- package/generators/kubernetes/templates/db/couchbase.yml.ejs +1 -1
- package/generators/kubernetes/templates/deployment.yml.ejs +8 -3
- package/generators/kubernetes/templates/istio/destination-rule.yml.ejs +1 -1
- package/generators/kubernetes/templates/istio/gateway/grafana-gateway.yml.ejs +5 -2
- package/generators/kubernetes/templates/istio/gateway/jhipster-grafana-gateway.yml.ejs +5 -2
- package/generators/kubernetes/templates/istio/gateway/kiali-gateway.yml.ejs +10 -8
- package/generators/kubernetes/templates/istio/gateway/zipkin-gateway.yml.ejs +5 -2
- package/generators/kubernetes/templates/istio/gateway.yml.ejs +7 -5
- package/generators/kubernetes/templates/secret/couchbase-secret.yml.ejs +9 -0
- package/generators/kubernetes-base.js +1 -0
- package/generators/kubernetes-helm/files.js +3 -8
- package/generators/kubernetes-helm/index.js +10 -10
- package/generators/kubernetes-helm/templates/README-KUBERNETES-HELM.md.ejs +0 -1
- package/generators/kubernetes-helm/templates/app/Chart.yml.ejs +27 -0
- package/generators/kubernetes-helm/templates/app/helpers.tpl.ejs +0 -11
- package/generators/kubernetes-helm/templates/app/requirements.yml.ejs +7 -2
- package/generators/kubernetes-helm/templates/app/values.yml.ejs +68 -5
- package/generators/kubernetes-helm/templates/csvc/Chart.yml.ejs +17 -0
- package/generators/kubernetes-helm/templates/csvc/requirements.yml.ejs +2 -2
- package/generators/kubernetes-knative/index.js +10 -10
- package/generators/kubernetes-knative/templates/istio/gateway.yml.ejs +6 -4
- package/generators/kubernetes-knative/templates/service.yml.ejs +1 -1
- package/generators/languages/index.js +13 -13
- package/generators/languages/templates/src/main/webapp/i18n/hr/reset.json.ejs +1 -2
- package/generators/languages/templates/src/main/webapp/i18n/vi/login.json +1 -1
- package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
- package/generators/openapi-client/index.js +13 -10
- package/generators/openshift/index.js +10 -11
- package/generators/openshift/templates/deployment.yml.ejs +1 -1
- package/generators/page/index.js +12 -10
- package/generators/server/__snapshots__/generator.spec.mjs.snap +12 -0
- package/generators/server/files-sql.js +52 -0
- package/generators/server/files.js +15 -0
- package/generators/server/index.js +100 -33
- package/generators/server/needle-api/needle-server-cache.js +4 -6
- package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
- package/generators/server/templates/build.gradle.ejs +17 -1
- package/generators/server/templates/gradle.properties.ejs +11 -11
- package/generators/server/templates/npmw +1 -1
- package/generators/server/templates/npmw.cmd +1 -1
- package/generators/server/templates/pom.xml.ejs +128 -9
- package/generators/server/templates/settings.gradle.ejs +9 -0
- package/generators/server/templates/sql/reactive/src/main/java/package/repository/UserSqlHelper.java.ejs +48 -0
- package/generators/server/templates/src/main/docker/app.yml.ejs +2 -1
- package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +13 -12
- package/generators/server/templates/src/main/java/package/aop/logging/LoggingAspect.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_cassandra.java.ejs +0 -6
- package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_sql.java.ejs +2 -2
- package/generators/server/templates/src/main/java/package/config/JacksonConfiguration.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/config/LocaleConfiguration.java.ejs +0 -2
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +2 -5
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +9 -1
- package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +0 -1
- package/generators/server/templates/src/main/java/package/management/SecurityMetersService.java.ejs +68 -0
- package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +0 -23
- package/generators/server/templates/src/main/java/package/security/PersistentTokenRememberMeServices.java.ejs +0 -2
- package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +29 -4
- package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +21 -9
- package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +13 -5
- package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
- package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +1 -1
- package/generators/server/templates/src/main/resources/config/application.yml.ejs +7 -7
- package/generators/server/templates/src/main/resources/static/microservices_index.html.ejs +1 -1
- package/generators/server/templates/src/test/java/package/management/SecurityMetersServiceTests.java.ejs +113 -0
- package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +6 -1
- package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderSecurityMetersTests.java.ejs +198 -0
- package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderTest.java.ejs +13 -3
- package/generators/server/templates/src/test/java/package/security/oauth2/AuthorizationHeaderUtilTest.java.ejs +16 -2
- package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +63 -0
- package/generators/spring-controller/index.js +9 -7
- package/generators/spring-service/index.js +10 -7
- package/generators/upgrade/index.js +4 -5
- package/generators/utils.js +2 -2
- package/generators/workspaces/index.js +16 -7
- package/jdl/jhipster/default-application-options.js +9 -7
- package/package.json +23 -23
- package/utils/entity.js +21 -4
- package/utils/field.js +12 -2
- package/utils/multi-step-transform/index.js +8 -8
- package/generators/client/templates/react/.npmrc.ejs +0 -1
- package/generators/client/templates/vue/webpack/dev.env.js.ejs +0 -17
- package/generators/client/templates/vue/webpack/env.js.ejs +0 -67
- package/generators/client/templates/vue/webpack/loader.conf.js.ejs +0 -20
- package/generators/client/templates/vue/webpack/prod.env.js.ejs +0 -15
package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs
CHANGED
|
@@ -16,46 +16,38 @@
|
|
|
16
16
|
See the License for the specific language governing permissions and
|
|
17
17
|
limitations under the License.
|
|
18
18
|
-%>
|
|
19
|
-
package <%=
|
|
19
|
+
package <%= entityAbsolutePackage %>.web.rest;
|
|
20
20
|
|
|
21
21
|
<%_
|
|
22
22
|
const viaService = !serviceNo;
|
|
23
|
-
|
|
24
|
-
let manyToManyWithUser = false;
|
|
25
|
-
for (const relationship of relationships) {
|
|
26
|
-
if (relationship.otherEntityUser && relationship.relationshipManyToMany) {
|
|
27
|
-
manyToManyWithUser = true;
|
|
28
|
-
break;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
23
|
_%>
|
|
32
24
|
<%_ if (!dtoMapstruct || serviceNo) { _%>
|
|
33
|
-
import <%=
|
|
25
|
+
import <%= entityAbsolutePackage %>.domain.<%= persistClass %>;
|
|
34
26
|
<%_ } _%>
|
|
35
|
-
import <%=
|
|
27
|
+
import <%= entityAbsolutePackage %>.repository.<%= entityClass %>Repository;
|
|
36
28
|
<%_ if (!serviceNo) { _%>
|
|
37
|
-
import <%=
|
|
29
|
+
import <%= entityAbsolutePackage %>.service.<%= entityClass %>Service;
|
|
38
30
|
<%_ } else { _%>
|
|
39
31
|
<%_ if (isUsingMapsId === true) { _%>
|
|
40
|
-
import <%=
|
|
32
|
+
import <%= entityAbsolutePackage %>.repository.<%= mapsIdAssoc.otherEntityNameCapitalized %>Repository;
|
|
41
33
|
<%_ } _%>
|
|
42
34
|
<%_ if (searchEngineElasticsearch) { _%>
|
|
43
|
-
import <%=
|
|
35
|
+
import <%= entityAbsolutePackage %>.repository.search.<%= entityClass %>SearchRepository;
|
|
44
36
|
<%_ } _%>
|
|
45
37
|
<%_ } _%>
|
|
46
38
|
<%_ if (saveUserSnapshot) { _%>
|
|
47
|
-
import <%=
|
|
39
|
+
import <%= entityAbsolutePackage %>.repository.UserRepository;
|
|
48
40
|
<%_ } _%>
|
|
49
41
|
import <%= packageName %>.web.rest.errors.BadRequestAlertException;
|
|
50
42
|
<%_ if (dtoMapstruct) { _%>
|
|
51
|
-
import <%=
|
|
43
|
+
import <%= entityAbsolutePackage %>.service.dto.<%= dtoClass %>;
|
|
52
44
|
<%_ if (serviceNo) { _%>
|
|
53
|
-
import <%=
|
|
45
|
+
import <%= entityAbsolutePackage %>.service.mapper.<%= entityClass %>Mapper;
|
|
54
46
|
<%_ } _%>
|
|
55
47
|
<%_ } _%>
|
|
56
48
|
<%_ if (jpaMetamodelFiltering) { _%>
|
|
57
|
-
import <%=
|
|
58
|
-
import <%=
|
|
49
|
+
import <%= entityAbsolutePackage %>.service.criteria.<%= entityClass %>Criteria;
|
|
50
|
+
import <%= entityAbsolutePackage %>.service.<%= entityClass %>QueryService;
|
|
59
51
|
<%_ } _%>
|
|
60
52
|
|
|
61
53
|
import tech.jhipster.web.util.HeaderUtil;
|
|
@@ -134,7 +126,7 @@ import static org.elasticsearch.index.query.QueryBuilders.*;
|
|
|
134
126
|
<%_ } _%>
|
|
135
127
|
|
|
136
128
|
/**
|
|
137
|
-
* REST controller for managing {@link <%=
|
|
129
|
+
* REST controller for managing {@link <%= entityAbsolutePackage %>.domain.<%= persistClass %>}.
|
|
138
130
|
*/
|
|
139
131
|
@RestController
|
|
140
132
|
@RequestMapping("/api")
|
|
@@ -177,17 +169,19 @@ public class <%= entityClass %>Resource {
|
|
|
177
169
|
throw new BadRequestAlertException("A new <%= entityInstance %> cannot already have an ID", ENTITY_NAME, "idexists");
|
|
178
170
|
}
|
|
179
171
|
<%_ if (saveUserSnapshot) { _%>
|
|
180
|
-
<%
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
172
|
+
<% for (const userRelationship of relationships.filter(rel => rel.otherEntity.builtInUser)) { %>
|
|
173
|
+
<%_ if (userRelationship.collection) { _%>
|
|
174
|
+
if (<%= instanceName %>.get<%= userRelationship.relationshipNameCapitalizedPlural %>() != null) {
|
|
175
|
+
// Save users in case they are new and only exist in gateway
|
|
176
|
+
userRepository.saveAll(<%= instanceName %>.get<%= userRelationship.relationshipNameCapitalizedPlural %>());
|
|
177
|
+
}
|
|
178
|
+
<%_ } else { _%>
|
|
179
|
+
if (<%= instanceName %>.get<%= userRelationship.relationshipNameCapitalized %>() != null) {
|
|
180
|
+
// Save user in case it's new and only exists in gateway
|
|
181
|
+
userRepository.save(<%= instanceName %>.get<%= userRelationship.relationshipNameCapitalized %>());
|
|
182
|
+
}
|
|
183
|
+
<%_ } _%>
|
|
184
|
+
<% } %>
|
|
191
185
|
<%_ } _%>
|
|
192
186
|
<%_ for (field of primaryKey.fields.filter(f => f.autoGenerateByService)) { _%>
|
|
193
187
|
<%= instanceName %>.set<%= field.fieldNameCapitalized %>(UUID.randomUUID());
|
|
@@ -245,17 +239,19 @@ public class <%= entityClass %>Resource {
|
|
|
245
239
|
<%_ } _%>
|
|
246
240
|
|
|
247
241
|
<%_ if (saveUserSnapshot) { _%>
|
|
248
|
-
<%
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
242
|
+
<% for (const userRelationship of relationships.filter(rel => rel.otherEntity.builtInUser)) { %>
|
|
243
|
+
<%_ if (userRelationship.collection) { _%>
|
|
244
|
+
if (<%= instanceName %>.get<%= userRelationship.relationshipNameCapitalizedPlural %>() != null) {
|
|
245
|
+
// Save users in case they are new and only exist in gateway
|
|
246
|
+
userRepository.saveAll(<%= instanceName %>.get<%= userRelationship.relationshipNameCapitalizedPlural %>());
|
|
247
|
+
}
|
|
248
|
+
<%_ } else { _%>
|
|
249
|
+
if (<%= instanceName %>.get<%= userRelationship.relationshipNameCapitalized %>() != null) {
|
|
250
|
+
// Save user in case it's new and only exists in gateway
|
|
251
|
+
userRepository.save(<%= instanceName %>.get<%= userRelationship.relationshipNameCapitalized %>());
|
|
252
|
+
}
|
|
253
|
+
<%_ } _%>
|
|
254
|
+
<% } %>
|
|
259
255
|
<%_ } _%>
|
|
260
256
|
<%- include('/partials/save_template', {asEntity, asDto, viaService: viaService, returnDirectly: false, isUsingMapsId: false, mapsIdAssoc: mapsIdAssoc}); -%>
|
|
261
257
|
<%_ if (!reactive) { _%>
|
|
@@ -308,17 +304,19 @@ public class <%= entityClass %>Resource {
|
|
|
308
304
|
<%_ } _%>
|
|
309
305
|
|
|
310
306
|
<%_ if (saveUserSnapshot) { _%>
|
|
311
|
-
<%
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
307
|
+
<% for (const userRelationship of relationships.filter(rel => rel.otherEntity.builtInUser)) { %>
|
|
308
|
+
<%_ if (userRelationship.collection) { _%>
|
|
309
|
+
if (<%= instanceName %>.get<%= userRelationship.relationshipNameCapitalizedPlural %>() != null) {
|
|
310
|
+
// Save users in case they are new and only exist in gateway
|
|
311
|
+
userRepository.saveAll(<%= instanceName %>.get<%= userRelationship.relationshipNameCapitalizedPlural %>());
|
|
312
|
+
}
|
|
313
|
+
<%_ } else { _%>
|
|
314
|
+
if (<%= instanceName %>.get<%= userRelationship.relationshipNameCapitalized %>() != null) {
|
|
315
|
+
// Save user in case it's new and only exists in gateway
|
|
316
|
+
userRepository.save(<%= instanceName %>.get<%= userRelationship.relationshipNameCapitalized %>());
|
|
317
|
+
}
|
|
318
|
+
<%_ } _%>
|
|
319
|
+
<% } %>
|
|
322
320
|
<%_ } _%>
|
|
323
321
|
|
|
324
322
|
<%- include('../../common/patch_template', {asEntity, asDto, isService: false, viaService: viaService}); -%>
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
See the License for the specific language governing permissions and
|
|
17
17
|
limitations under the License.
|
|
18
18
|
-%>
|
|
19
|
-
package <%=
|
|
19
|
+
package <%= entityAbsolutePackage %>.domain;
|
|
20
20
|
|
|
21
21
|
import org.junit.jupiter.api.Test;
|
|
22
22
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
See the License for the specific language governing permissions and
|
|
17
17
|
limitations under the License.
|
|
18
18
|
-%>
|
|
19
|
-
package <%=
|
|
19
|
+
package <%= entityAbsolutePackage %>.repository.search;
|
|
20
20
|
|
|
21
21
|
import org.springframework.boot.test.mock.mockito.MockBean;
|
|
22
22
|
import org.springframework.context.annotation.Configuration;
|
package/generators/entity-server/templates/src/test/java/package/service/dto/EntityDTOTest.java.ejs
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
See the License for the specific language governing permissions and
|
|
17
17
|
limitations under the License.
|
|
18
18
|
-%>
|
|
19
|
-
package <%=
|
|
19
|
+
package <%= entityAbsolutePackage %>.service.dto;
|
|
20
20
|
|
|
21
21
|
import org.junit.jupiter.api.Test;
|
|
22
22
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
See the License for the specific language governing permissions and
|
|
17
17
|
limitations under the License.
|
|
18
18
|
-%>
|
|
19
|
-
package <%=
|
|
19
|
+
package <%= entityAbsolutePackage %>.service.mapper;
|
|
20
20
|
|
|
21
21
|
import org.junit.jupiter.api.BeforeEach;
|
|
22
22
|
import org.junit.jupiter.api.Test;
|
package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
See the License for the specific language governing permissions and
|
|
17
17
|
limitations under the License.
|
|
18
18
|
-%>
|
|
19
|
-
package <%=
|
|
19
|
+
package <%= entityAbsolutePackage %>.web.rest;
|
|
20
20
|
|
|
21
21
|
<%_
|
|
22
22
|
|
|
@@ -57,11 +57,14 @@ if (databaseTypeSql && !reactive) {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
_%>
|
|
60
|
+
<%_ if (entityAbsolutePackage !== packageName) { _%>
|
|
61
|
+
import <%= packageName %>.web.rest.TestUtil;
|
|
62
|
+
<% } %>
|
|
60
63
|
<%_ if (databaseTypeCassandra) { _%>
|
|
61
64
|
import <%= packageName %>.AbstractCassandraTest;
|
|
62
65
|
<%_ } _%>
|
|
63
66
|
import <%= packageName %>.IntegrationTest;
|
|
64
|
-
import <%=
|
|
67
|
+
import <%= entityAbsolutePackage %>.domain.<%= persistClass %>;
|
|
65
68
|
<%_
|
|
66
69
|
var imported = [];
|
|
67
70
|
for (relationship of relationships) { // import entities in required relationships
|
|
@@ -70,34 +73,34 @@ for (relationship of relationships) { // import entities in required relationshi
|
|
|
70
73
|
const isUsingMapsIdL1 = relationship.id;
|
|
71
74
|
if (imported.indexOf(otherEntityNameCapitalized) === -1) {
|
|
72
75
|
if ((relationshipValidate !== null && relationshipValidate === true) || jpaMetamodelFiltering || (isUsingMapsIdL1 === true)) { _%>
|
|
73
|
-
import <%=
|
|
76
|
+
import <%= entityAbsolutePackage %>.domain.<%= asEntity(otherEntityNameCapitalized) %>;
|
|
74
77
|
<%_
|
|
75
78
|
imported.push(otherEntityNameCapitalized);
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
81
|
} _%>
|
|
79
82
|
<%_ if (saveUserSnapshot) { _%>
|
|
80
|
-
import <%=
|
|
83
|
+
import <%= entityAbsolutePackage %>.repository.UserRepository;
|
|
81
84
|
<%_ } _%>
|
|
82
|
-
import <%=
|
|
85
|
+
import <%= entityAbsolutePackage %>.repository.<%= entityClass %>Repository;
|
|
83
86
|
<%_ if (databaseTypeSql && reactive) { _%>
|
|
84
87
|
import <%= packageName %>.service.EntityManager;
|
|
85
88
|
<%_ } _%>
|
|
86
89
|
<%_ if (isUsingMapsId && (!dtoMapstruct && serviceNo)) { _%>
|
|
87
|
-
import <%=
|
|
90
|
+
import <%= entityAbsolutePackage %>.repository.<%= mapsIdAssoc.otherEntityNameCapitalized %>Repository;
|
|
88
91
|
<%_ } _%>
|
|
89
92
|
<%_ if (searchEngineElasticsearch) { _%>
|
|
90
|
-
import <%=
|
|
93
|
+
import <%= entityAbsolutePackage %>.repository.search.<%= entityClass %>SearchRepository;
|
|
91
94
|
<%_ } _%>
|
|
92
95
|
<%_ if (!serviceNo && fieldsContainOwnerManyToMany) { _%>
|
|
93
|
-
import <%=
|
|
96
|
+
import <%= entityAbsolutePackage %>.service.<%= entityClass %>Service;
|
|
94
97
|
<%_ } _%>
|
|
95
98
|
<%_ if (dtoMapstruct) { _%>
|
|
96
|
-
import <%=
|
|
97
|
-
import <%=
|
|
99
|
+
import <%= entityAbsolutePackage %>.service.dto.<%= dtoClass %>;
|
|
100
|
+
import <%= entityAbsolutePackage %>.service.mapper.<%= entityClass %>Mapper;
|
|
98
101
|
<%_ } _%>
|
|
99
102
|
<%_ if (jpaMetamodelFiltering) { _%>
|
|
100
|
-
import <%=
|
|
103
|
+
import <%= entityAbsolutePackage %>.service.criteria.<%= entityClass %>Criteria;
|
|
101
104
|
<%_ } _%>
|
|
102
105
|
|
|
103
106
|
<%_ if (databaseTypeSql && reactive) { _%>
|
|
@@ -216,7 +219,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
|
|
216
219
|
|
|
217
220
|
<%_ for (const field of fields.filter(field => !field.transient)) {
|
|
218
221
|
if (field.fieldIsEnum) { _%>
|
|
219
|
-
import <%=
|
|
222
|
+
import <%= entityAbsolutePackage %>.domain.enumeration.<%= field.fieldType %>;
|
|
220
223
|
<%_ }
|
|
221
224
|
} _%>
|
|
222
225
|
/**
|
|
@@ -447,9 +450,9 @@ if (field.fieldTypeString || field.blobContentTypeText) {
|
|
|
447
450
|
<%_ } if (searchEngineElasticsearch) { _%>
|
|
448
451
|
|
|
449
452
|
/**
|
|
450
|
-
* This repository is mocked in the <%=
|
|
453
|
+
* This repository is mocked in the <%= entityAbsolutePackage %>.repository.search test package.
|
|
451
454
|
*
|
|
452
|
-
* @see <%=
|
|
455
|
+
* @see <%= entityAbsolutePackage %>.repository.search.<%= entityClass %>SearchRepositoryMockConfiguration
|
|
453
456
|
*/
|
|
454
457
|
@Autowired
|
|
455
458
|
private <%= entityClass %>SearchRepository mock<%= entityClass %>SearchRepository;
|
package/generators/gae/index.js
CHANGED
|
@@ -35,11 +35,11 @@ const { MAVEN, GRADLE } = require('../../jdl/jhipster/build-tool-types');
|
|
|
35
35
|
|
|
36
36
|
const NO_CACHE_PROVIDER = cacheProviders.NO;
|
|
37
37
|
|
|
38
|
-
let useBlueprints;
|
|
39
38
|
module.exports = class extends BaseBlueprintGenerator {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
async _postConstruct() {
|
|
40
|
+
if (!this.fromBlueprint) {
|
|
41
|
+
await this.composeWithBlueprints(GENERATOR_GAE);
|
|
42
|
+
}
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
_initializing() {
|
|
@@ -121,7 +121,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
get initializing() {
|
|
124
|
-
if (
|
|
124
|
+
if (this.delegateToBlueprint) return {};
|
|
125
125
|
return this._initializing();
|
|
126
126
|
}
|
|
127
127
|
|
|
@@ -607,7 +607,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
607
607
|
}
|
|
608
608
|
|
|
609
609
|
get prompting() {
|
|
610
|
-
if (
|
|
610
|
+
if (this.delegateToBlueprint) return {};
|
|
611
611
|
return this._prompting();
|
|
612
612
|
}
|
|
613
613
|
|
|
@@ -748,7 +748,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
748
748
|
}
|
|
749
749
|
|
|
750
750
|
get configuring() {
|
|
751
|
-
if (
|
|
751
|
+
if (this.delegateToBlueprint) return {};
|
|
752
752
|
return this._configuring();
|
|
753
753
|
}
|
|
754
754
|
|
|
@@ -761,7 +761,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
761
761
|
}
|
|
762
762
|
|
|
763
763
|
get loading() {
|
|
764
|
-
if (
|
|
764
|
+
if (this.delegateToBlueprint) return {};
|
|
765
765
|
return this._loading();
|
|
766
766
|
}
|
|
767
767
|
|
|
@@ -831,7 +831,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
831
831
|
}
|
|
832
832
|
|
|
833
833
|
get writing() {
|
|
834
|
-
if (
|
|
834
|
+
if (this.delegateToBlueprint) return {};
|
|
835
835
|
return this._writing();
|
|
836
836
|
}
|
|
837
837
|
|
|
@@ -877,7 +877,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
877
877
|
}
|
|
878
878
|
|
|
879
879
|
get end() {
|
|
880
|
-
if (
|
|
880
|
+
if (this.delegateToBlueprint) return {};
|
|
881
881
|
return this._end();
|
|
882
882
|
}
|
|
883
883
|
|
|
@@ -51,8 +51,13 @@ module.exports = class JHipsterBaseBlueprintGenerator extends BaseGenerator {
|
|
|
51
51
|
// jhipsterContext is the original generator
|
|
52
52
|
this.jhipsterContext = this.options.jhipsterContext;
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
try {
|
|
55
|
+
// Fallback to the original generator if the file does not exists in the blueprint.
|
|
56
|
+
this.jhipsterTemplatesFolders.push(this.jhipsterTemplatePath());
|
|
57
|
+
} catch (error) {
|
|
58
|
+
this.warning('Error adding current blueprint templates as alternative for JHipster templates.');
|
|
59
|
+
this.log(error);
|
|
60
|
+
}
|
|
56
61
|
}
|
|
57
62
|
}
|
|
58
63
|
|
|
@@ -224,44 +229,6 @@ module.exports = class JHipsterBaseBlueprintGenerator extends BaseGenerator {
|
|
|
224
229
|
return false;
|
|
225
230
|
}
|
|
226
231
|
|
|
227
|
-
/**
|
|
228
|
-
* @private
|
|
229
|
-
* @deprecated
|
|
230
|
-
* Instantiates the blueprint generators, if any.
|
|
231
|
-
* @param {string} subGen - sub generator
|
|
232
|
-
* @param {any} extraOptions - extra options to pass to blueprint generator
|
|
233
|
-
* @return {true} useBlueprints - true if one or more blueprints generators have been constructed; false otherwise
|
|
234
|
-
*/
|
|
235
|
-
instantiateBlueprints(subGen, extraOptions) {
|
|
236
|
-
if (this.options.help) {
|
|
237
|
-
// Ignore blueprint registered options.
|
|
238
|
-
return false;
|
|
239
|
-
}
|
|
240
|
-
let useBlueprints = false;
|
|
241
|
-
|
|
242
|
-
if (!this.configOptions.blueprintConfigured) {
|
|
243
|
-
this.configOptions.blueprintConfigured = true;
|
|
244
|
-
this._configureBlueprints();
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
const blueprints = this.jhipsterConfig.blueprints;
|
|
248
|
-
if (blueprints && blueprints.length > 0) {
|
|
249
|
-
blueprints.forEach(blueprint => {
|
|
250
|
-
const blueprintGenerator = this._composeBlueprint(blueprint.name, subGen, extraOptions);
|
|
251
|
-
if (blueprintGenerator) {
|
|
252
|
-
if (blueprintGenerator.sbsBlueprint) {
|
|
253
|
-
// If sbsBlueprint, add templatePath to the original generator templatesFolder.
|
|
254
|
-
this.jhipsterTemplatesFolders.unshift(blueprintGenerator.templatePath());
|
|
255
|
-
} else {
|
|
256
|
-
// If the blueprints does not sets sbsBlueprint property, ignore normal workflow.
|
|
257
|
-
useBlueprints = true;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
return useBlueprints;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
232
|
/**
|
|
266
233
|
* @private
|
|
267
234
|
* Composes with blueprint generators, if any.
|
|
@@ -353,7 +320,7 @@ module.exports = class JHipsterBaseBlueprintGenerator extends BaseGenerator {
|
|
|
353
320
|
* @param {any} options - options to pass to blueprint generator
|
|
354
321
|
* @return {Generator|undefined}
|
|
355
322
|
*/
|
|
356
|
-
_composeBlueprint(blueprint, subGen, extraOptions = {}) {
|
|
323
|
+
async _composeBlueprint(blueprint, subGen, extraOptions = {}) {
|
|
357
324
|
blueprint = normalizeBlueprintName(blueprint);
|
|
358
325
|
if (!this.configOptions.skipChecks && !this.options.skipChecks) {
|
|
359
326
|
this._checkBlueprint(blueprint);
|
|
@@ -362,16 +329,17 @@ module.exports = class JHipsterBaseBlueprintGenerator extends BaseGenerator {
|
|
|
362
329
|
const generatorName = packageNameToNamespace(blueprint);
|
|
363
330
|
const generatorNamespace = `${generatorName}:${subGen}`;
|
|
364
331
|
if (!this.env.isPackageRegistered(generatorName)) {
|
|
365
|
-
this.env.lookup({ filterPaths: true, packagePatterns: blueprint });
|
|
332
|
+
await this.env.lookup({ filterPaths: true, packagePatterns: blueprint });
|
|
366
333
|
}
|
|
367
|
-
if (!this.env.get(generatorNamespace)) {
|
|
334
|
+
if (!(await this.env.get(generatorNamespace))) {
|
|
368
335
|
this.debug(
|
|
369
|
-
`No blueprint found for blueprint ${chalk.yellow(blueprint)} and ${chalk.yellow(
|
|
370
|
-
|
|
336
|
+
`No blueprint found for blueprint ${chalk.yellow(blueprint)} and ${chalk.yellow(subGen)} with namespace ${chalk.yellow(
|
|
337
|
+
generatorNamespace
|
|
371
338
|
)} subgenerator: falling back to default generator`
|
|
372
339
|
);
|
|
373
340
|
return undefined;
|
|
374
341
|
}
|
|
342
|
+
this.debug(`Found blueprint ${chalk.yellow(blueprint)} and ${chalk.yellow(subGen)} with namespace ${chalk.yellow(generatorNamespace)}`);
|
|
375
343
|
|
|
376
344
|
const finalOptions = {
|
|
377
345
|
...this.options,
|
|
@@ -380,7 +348,7 @@ module.exports = class JHipsterBaseBlueprintGenerator extends BaseGenerator {
|
|
|
380
348
|
jhipsterContext: this,
|
|
381
349
|
};
|
|
382
350
|
|
|
383
|
-
const blueprintGenerator = this.composeWith(generatorNamespace, finalOptions, true);
|
|
351
|
+
const blueprintGenerator = await this.composeWith(generatorNamespace, finalOptions, true);
|
|
384
352
|
if (blueprintGenerator instanceof Error) {
|
|
385
353
|
throw blueprintGenerator;
|
|
386
354
|
}
|
|
@@ -29,16 +29,13 @@ const https = require('https');
|
|
|
29
29
|
const { reproducibleConfigForTests: projectNameReproducibleConfigForTests } = require('./project-name/config.cjs');
|
|
30
30
|
const packagejs = require('../package.json');
|
|
31
31
|
const jhipsterUtils = require('./utils');
|
|
32
|
-
const
|
|
32
|
+
const { JAVA_COMPATIBLE_VERSIONS, SERVER_TEST_SRC_DIR, SUPPORTED_CLIENT_FRAMEWORKS } = require('./generator-constants');
|
|
33
33
|
const { languageToJavaLanguage } = require('./utils');
|
|
34
34
|
const JSONToJDLEntityConverter = require('../jdl/converters/json-to-jdl-entity-converter');
|
|
35
35
|
const JSONToJDLOptionConverter = require('../jdl/converters/json-to-jdl-option-converter');
|
|
36
36
|
const { stringify } = require('../utils');
|
|
37
37
|
|
|
38
|
-
const
|
|
39
|
-
const ANGULAR = constants.SUPPORTED_CLIENT_FRAMEWORKS.ANGULAR;
|
|
40
|
-
const REACT = constants.SUPPORTED_CLIENT_FRAMEWORKS.REACT;
|
|
41
|
-
const VUE = constants.SUPPORTED_CLIENT_FRAMEWORKS.VUE;
|
|
38
|
+
const { ANGULAR, REACT, VUE } = SUPPORTED_CLIENT_FRAMEWORKS;
|
|
42
39
|
const dbTypes = require('../jdl/jhipster/field-types');
|
|
43
40
|
const { REQUIRED } = require('../jdl/jhipster/validations');
|
|
44
41
|
|
|
@@ -809,17 +806,12 @@ module.exports = class JHipsterBasePrivateGenerator extends Generator {
|
|
|
809
806
|
this.warning('Java is not found on your computer.');
|
|
810
807
|
} else {
|
|
811
808
|
const javaVersion = stderr.match(/(?:java|openjdk) version "(.*)"/)[1];
|
|
812
|
-
if (
|
|
813
|
-
|
|
814
|
-
!javaVersion.match(new RegExp('15')) &&
|
|
815
|
-
!javaVersion.match(new RegExp('14')) &&
|
|
816
|
-
!javaVersion.match(new RegExp('13')) &&
|
|
817
|
-
!javaVersion.match(new RegExp('12')) &&
|
|
818
|
-
!javaVersion.match(new RegExp('11')) &&
|
|
819
|
-
!javaVersion.match(new RegExp('1.8'.replace('.', '\\.')))
|
|
820
|
-
) {
|
|
809
|
+
if (!javaVersion.match(new RegExp(`(${JAVA_COMPATIBLE_VERSIONS.map(ver => `^${ver}`).join('|')})`))) {
|
|
810
|
+
const [latest, ...others] = JAVA_COMPATIBLE_VERSIONS.reverse();
|
|
821
811
|
this.warning(
|
|
822
|
-
`Java
|
|
812
|
+
`Java ${others.reverse().join(', ')} or ${latest} are not found on your computer. Your Java version is: ${chalk.yellow(
|
|
813
|
+
javaVersion
|
|
814
|
+
)}`
|
|
823
815
|
);
|
|
824
816
|
}
|
|
825
817
|
}
|
|
@@ -995,8 +987,9 @@ module.exports = class JHipsterBasePrivateGenerator extends Generator {
|
|
|
995
987
|
const fileName = _.kebabCase(field.fieldType);
|
|
996
988
|
if (field.fieldIsEnum && (!uniqueEnums[field.fieldType] || (uniqueEnums[field.fieldType] && field.fieldValues.length !== 0))) {
|
|
997
989
|
const importType = `${field.fieldType}`;
|
|
990
|
+
const basePath = clientFramework === VUE ? '@' : 'app';
|
|
998
991
|
const modelPath = clientFramework === ANGULAR ? 'entities' : 'shared/model';
|
|
999
|
-
const importPath =
|
|
992
|
+
const importPath = `${basePath}/${modelPath}/enumerations/${fileName}.model`;
|
|
1000
993
|
uniqueEnums[field.fieldType] = field.fieldType;
|
|
1001
994
|
typeImports.set(importType, importPath);
|
|
1002
995
|
}
|
|
@@ -1146,13 +1139,40 @@ module.exports = class JHipsterBasePrivateGenerator extends Generator {
|
|
|
1146
1139
|
* @param {any} primaryKey - primary key definition.
|
|
1147
1140
|
* @param {number} [index] - index of the primary key sample, pass undefined for a random key.
|
|
1148
1141
|
*/
|
|
1149
|
-
generateTestEntityPrimaryKey(primaryKey, index
|
|
1142
|
+
generateTestEntityPrimaryKey(primaryKey, index) {
|
|
1143
|
+
return JSON.stringify(
|
|
1144
|
+
this.generateTestEntity(
|
|
1145
|
+
primaryKey.fields.map(f => f.reference),
|
|
1146
|
+
index
|
|
1147
|
+
)
|
|
1148
|
+
);
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
/**
|
|
1152
|
+
* Generate a test entity, according to the type
|
|
1153
|
+
*
|
|
1154
|
+
* @param {any} primaryKey - primary key definition.
|
|
1155
|
+
* @param {number} [index] - index of the primary key sample, pass undefined for a random key.
|
|
1156
|
+
*/
|
|
1157
|
+
generateTestEntity(references, index = 'random') {
|
|
1150
1158
|
const random = index === 'random';
|
|
1151
|
-
const entries =
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1159
|
+
const entries = references
|
|
1160
|
+
.map(reference => {
|
|
1161
|
+
if (random && reference.field) {
|
|
1162
|
+
const field = reference.field;
|
|
1163
|
+
const fakeData = field.generateFakeData('json-serializable');
|
|
1164
|
+
if (reference.field.fieldWithContentType) {
|
|
1165
|
+
return [
|
|
1166
|
+
[reference.name, fakeData],
|
|
1167
|
+
[field.contentTypeFieldName, 'unknown'],
|
|
1168
|
+
];
|
|
1169
|
+
}
|
|
1170
|
+
return [[reference.name, fakeData]];
|
|
1171
|
+
}
|
|
1172
|
+
return [[reference.name, this.generateTestEntityId(reference.type, index, false)]];
|
|
1173
|
+
})
|
|
1174
|
+
.flat();
|
|
1175
|
+
return Object.fromEntries(entries);
|
|
1156
1176
|
}
|
|
1157
1177
|
|
|
1158
1178
|
/**
|