generator-jhipster 7.3.0 → 7.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/import-jdl.js +3 -2
- package/cli/jhipster-command.js +2 -2
- package/cli/program.js +32 -29
- package/generators/app/index.js +46 -27
- 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 -62
- 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/cleanup.js +27 -171
- package/generators/client/files-angular.js +12 -1
- package/generators/client/files-common.js +6 -2
- package/generators/client/files-react.js +13 -2
- package/generators/client/files-vue.js +59 -7
- package/generators/client/index.js +46 -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/angular.json.ejs +5 -0
- package/generators/client/templates/angular/jest.conf.js.ejs +2 -0
- package/generators/client/templates/angular/package.json +29 -29
- package/generators/client/templates/angular/package.json.ejs +3 -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.component.ts.ejs +4 -4
- 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-strength-bar/password-strength-bar.component.ts.ejs +1 -1
- 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.component.ts.ejs +4 -4
- 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.component.ts.ejs +4 -4
- 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 +122 -123
- package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.ts.ejs +1 -1
- 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 +80 -80
- 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/health/health.component.spec.ts.ejs +45 -47
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +4 -4
- 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/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/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 +89 -91
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +4 -4
- 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/admin/user-management/update/user-management-update.component.ts.ejs +8 -8
- package/generators/client/templates/angular/src/main/webapp/app/app-routing.module.ts.ejs +14 -3
- package/generators/client/templates/angular/src/main/webapp/app/app.module.ts.ejs +8 -29
- package/generators/client/templates/angular/src/main/webapp/app/config/datepicker-adapter.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/config/dayjs.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +14 -9
- package/generators/client/templates/angular/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +6 -6
- 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/entities/entity-navbar-items.ts.ejs +29 -0
- package/generators/client/templates/angular/src/main/webapp/app/home/home.component.spec.ts.ejs +106 -98
- 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/main/main.component.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +20 -0
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +74 -70
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +41 -2
- 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 +114 -115
- package/generators/client/templates/angular/src/main/webapp/app/login/login.component.ts.ejs +4 -4
- 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/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/shared/date/duration.pipe.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-date.pipe.spec.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-date.pipe.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-datetime.pipe.spec.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-datetime.pipe.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/language/translate.directive.ts.ejs +6 -6
- package/generators/client/templates/angular/src/main/webapp/app/shared/language/translation.module.ts.ejs +83 -0
- package/generators/client/templates/angular/src/main/webapp/declarations.d.ts.ejs +16 -2
- package/generators/client/templates/angular/tsconfig.json.ejs +2 -0
- package/generators/client/templates/angular/tsconfig.spec.json.ejs +0 -1
- package/generators/client/templates/angular/webpack/proxy.conf.js.ejs +0 -2
- package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +0 -16
- package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +12 -5
- package/generators/client/templates/common/package.json +6 -6
- package/generators/client/templates/common/src/main/webapp/robots.txt.ejs +0 -1
- package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +86 -56
- 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 +54 -53
- package/generators/client/templates/react/package.json.ejs +6 -1
- package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +0 -3
- package/generators/client/templates/react/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +3 -2
- 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.scss.ejs +9 -0
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs +2 -2
- 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/src/main/webapp/app/shared/reducers/authentication.spec.ts.ejs +1 -1
- package/generators/client/templates/react/webpack/webpack.dev.js.ejs +17 -3
- 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 +13 -17
- package/generators/client/templates/vue/src/main/webapp/app/account/account.service.ts.ejs +23 -12
- 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.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/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 +20 -0
- package/generators/client/templates/vue/src/main/webapp/app/entities/entities.vue.ejs +5 -0
- package/generators/client/templates/vue/src/main/webapp/app/entities/user/{user.oauth2.service.ts.ejs → user.service.ts.ejs} +1 -1
- 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 +20 -18
- 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/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/login-form/login-form.component.spec.ts.ejs +2 -2
- package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-edit.component.spec.ts.ejs +6 -4
- package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management.component.spec.ts.ejs +4 -2
- 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/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 +150 -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/.prettierrc.ejs +1 -1
- package/generators/common/templates/README.md.jhi.ejs +19 -0
- package/generators/common/templates/package.json +4 -4
- package/generators/cypress/index.js +12 -9
- package/generators/cypress/templates/cypress.json.ejs +16 -2
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/login-page.spec.ts.ejs +3 -14
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/password-page.spec.ts.ejs +33 -39
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/register-page.spec.ts.ejs +52 -62
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/reset-password-page.spec.ts.ejs +2 -10
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +25 -34
- package/generators/cypress/templates/src/test/javascript/cypress/integration/administration/administration.spec.ts.ejs +1 -22
- 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 +67 -7
- 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 -6
- 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 +8 -8
- package/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +0 -9
- 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 +1 -1
- package/generators/entities/index.js +35 -26
- package/generators/entities-client/index.js +10 -7
- package/generators/entity/index.js +81 -32
- package/generators/entity-client/files.js +7 -16
- package/generators/entity-client/index.js +22 -12
- 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.html.ejs +1 -1
- 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 -35
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +4 -4
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +110 -112
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +9 -2
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/infinite-scroll-template.ejs +8 -8
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/no-pagination-template.ejs +8 -8
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/pagination-template.ejs +8 -8
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +15 -6
- 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 +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +203 -198
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +5 -5
- package/generators/entity-client/templates/angular/src/test/javascript/e2e/entities/entity.spec.ts.ejs +1 -1
- package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +264 -127
- 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.reducer.ts.ejs +5 -4
- 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-update.component.ts.ejs +32 -25
- 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 +2 -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-update.component.spec.ts.ejs +10 -7
- package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.component.spec.ts.ejs +5 -1
- 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.js +14 -0
- package/generators/entity-server/index.js +12 -8
- package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +2 -2
- 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 +9 -8
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +16 -29
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +3 -3
- 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 +1 -1
- package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +18 -2
- package/generators/entity-server/templates/src/main/java/package/repository/search/SortToFieldSortBuilderConverter.java.ejs +24 -0
- package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +8 -6
- package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +5 -1
- package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +41 -43
- package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +3 -3
- package/generators/gae/index.js +10 -10
- package/generators/generator-base-blueprint.js +14 -46
- package/generators/generator-base-private.js +44 -23
- package/generators/generator-base.js +58 -18
- package/generators/generator-constants.js +30 -23
- package/generators/generator-transforms.js +39 -27
- package/generators/heroku/index.js +14 -33
- package/generators/init/constants.cjs +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 +5 -0
- package/generators/kubernetes-helm/templates/app/helpers.tpl.ejs +0 -11
- package/generators/kubernetes-helm/templates/app/requirements.yml.ejs +5 -0
- package/generators/kubernetes-helm/templates/app/values.yml.ejs +68 -5
- package/generators/kubernetes-helm/templates/csvc/Chart.yml.ejs +1 -1
- package/generators/kubernetes-helm/templates/csvc/requirements.yml.ejs +1 -1
- 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/vi/login.json +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 +28 -15
- package/generators/server/cleanup.js +151 -0
- package/generators/server/files-sql.js +52 -0
- package/generators/server/files.js +31 -14
- package/generators/server/index.js +86 -33
- package/generators/server/templates/build.gradle.ejs +231 -189
- package/generators/server/templates/gradle.properties.ejs +12 -12
- package/generators/server/templates/npmw +8 -6
- package/generators/server/templates/npmw.cmd +13 -8
- package/generators/server/templates/pom.xml.ejs +425 -217
- 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 +1 -1
- package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +2 -2
- package/generators/server/templates/src/main/java/package/config/LocaleConfiguration.java.ejs +3 -2
- package/generators/server/templates/src/main/java/package/config/OpenApiConfiguration.java.ejs +17 -54
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +5 -5
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +4 -6
- package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +0 -3
- package/generators/server/templates/src/main/java/package/config/neo4j/Neo4jMigrations.java.ejs +19 -9
- package/generators/server/templates/src/main/java/package/management/SecurityMetersService.java.ejs +68 -0
- package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +2 -2
- package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +0 -25
- package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +31 -4
- package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +23 -11
- package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +16 -8
- package/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +6 -6
- package/generators/server/templates/src/main/java/package/web/filter/ModifyServersOpenApiFilter.java.ejs +3 -2
- package/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter.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/java/package/web/rest/UserResource.java.ejs +2 -2
- package/generators/server/templates/src/main/resources/config/application.yml.ejs +22 -8
- package/generators/server/templates/src/main/resources/logback-spring.xml.ejs +1 -2
- package/generators/server/templates/src/main/resources/static/microservices_index.html.ejs +1 -1
- package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +2 -6
- package/generators/server/templates/src/test/java/package/cucumber/CucumberTestContextConfiguration.java.ejs +2 -3
- package/generators/server/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +41 -6
- 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 +17 -3
- package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +63 -0
- package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +1 -1
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +2 -3
- package/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerTest.java.ejs +9 -0
- package/generators/server/templates/src/test/resources/junit-platform.properties.ejs +2 -0
- package/generators/server/templates/src/test/resources/logback.xml.ejs +1 -1
- package/generators/server/templates/src/test/{features → resources/package/features}/gitkeep +0 -0
- package/generators/server/templates/src/test/{features → resources/package/features}/user/user.feature.ejs +0 -0
- package/generators/spring-controller/index.js +9 -7
- package/generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIT.java.ejs +1 -1
- 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 +22 -22
- package/utils/entity.js +17 -4
- package/utils/field.js +11 -1
- 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/server/templates/src/main/java/package/config/apidocs/GatewaySwaggerResourcesProvider.java.ejs +0 -91
- package/generators/server/templates/src/test/java/package/config/apidocs/GatewaySwaggerResourcesProviderTest.java.ejs +0 -79
- package/generators/server/templates/src/test/resources/cucumber.properties.ejs +0 -1
|
@@ -42,13 +42,17 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
42
42
|
|
|
43
43
|
if (this.options.help) return;
|
|
44
44
|
|
|
45
|
-
this.useBlueprints = !this.fromBlueprint && this.instantiateBlueprints('workspaces');
|
|
46
|
-
|
|
47
45
|
// Generate workspaces file only when option passed or regenerating
|
|
48
46
|
this.generateWorkspaces = this.options.workspaces !== false || !!this.packageJson.get('workspaces');
|
|
49
47
|
|
|
50
48
|
// When generating workspaces, save to .yo-rc.json. Use a dummy config otherwise.
|
|
51
49
|
this.workspacesConfig = this.generateWorkspaces ? this.jhipsterConfig : {};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
async _postConstruct() {
|
|
53
|
+
if (!this.fromBlueprint) {
|
|
54
|
+
await this.composeWithBlueprints('workspaces');
|
|
55
|
+
}
|
|
52
56
|
|
|
53
57
|
this.loadRuntimeOptions();
|
|
54
58
|
}
|
|
@@ -106,7 +110,8 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
106
110
|
}
|
|
107
111
|
|
|
108
112
|
get configuring() {
|
|
109
|
-
|
|
113
|
+
if (this.delegateToBlueprint) return {};
|
|
114
|
+
return this._configuring();
|
|
110
115
|
}
|
|
111
116
|
|
|
112
117
|
_loading() {
|
|
@@ -122,7 +127,8 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
122
127
|
}
|
|
123
128
|
|
|
124
129
|
get loading() {
|
|
125
|
-
|
|
130
|
+
if (this.delegateToBlueprint) return {};
|
|
131
|
+
return this._loading();
|
|
126
132
|
}
|
|
127
133
|
|
|
128
134
|
_writing() {
|
|
@@ -146,7 +152,8 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
146
152
|
}
|
|
147
153
|
|
|
148
154
|
get writing() {
|
|
149
|
-
|
|
155
|
+
if (this.delegateToBlueprint) return {};
|
|
156
|
+
return this._writing();
|
|
150
157
|
}
|
|
151
158
|
|
|
152
159
|
_postWriting() {
|
|
@@ -179,7 +186,8 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
179
186
|
}
|
|
180
187
|
|
|
181
188
|
get postWriting() {
|
|
182
|
-
|
|
189
|
+
if (this.delegateToBlueprint) return {};
|
|
190
|
+
return this._postWriting();
|
|
183
191
|
}
|
|
184
192
|
|
|
185
193
|
// Public API method used by the getter and also by Blueprints
|
|
@@ -199,7 +207,8 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
199
207
|
}
|
|
200
208
|
|
|
201
209
|
get install() {
|
|
202
|
-
|
|
210
|
+
if (this.delegateToBlueprint) return {};
|
|
211
|
+
return this._install();
|
|
203
212
|
}
|
|
204
213
|
|
|
205
214
|
_detectNodePackageManager() {
|
|
@@ -169,10 +169,16 @@ function getConfigForMicroserviceApplication(customOptions = {}) {
|
|
|
169
169
|
[SKIP_USER_MANAGEMENT]: true,
|
|
170
170
|
...customOptions,
|
|
171
171
|
};
|
|
172
|
-
|
|
172
|
+
let skipClient = options[SKIP_CLIENT];
|
|
173
|
+
if (skipClient === undefined) {
|
|
174
|
+
skipClient = options[CLIENT_FRAMEWORK] === undefined;
|
|
175
|
+
}
|
|
176
|
+
if (skipClient) {
|
|
177
|
+
delete options[CLIENT_FRAMEWORK];
|
|
178
|
+
delete options[SKIP_SERVER];
|
|
179
|
+
}
|
|
173
180
|
delete options[CLIENT_THEME];
|
|
174
181
|
delete options[CLIENT_THEME_VARIANT];
|
|
175
|
-
delete options[SKIP_SERVER];
|
|
176
182
|
delete options[WITH_ADMIN_UI];
|
|
177
183
|
if (typeof options[SKIP_USER_MANAGEMENT] !== 'boolean') {
|
|
178
184
|
options[SKIP_USER_MANAGEMENT] = true;
|
|
@@ -186,7 +192,7 @@ function getConfigForMicroserviceApplication(customOptions = {}) {
|
|
|
186
192
|
return {
|
|
187
193
|
...options,
|
|
188
194
|
[APPLICATION_TYPE]: MICROSERVICE,
|
|
189
|
-
[SKIP_CLIENT]:
|
|
195
|
+
[SKIP_CLIENT]: skipClient,
|
|
190
196
|
};
|
|
191
197
|
}
|
|
192
198
|
|
|
@@ -205,16 +211,12 @@ function getDefaultConfigForNewApplication(customOptions = {}) {
|
|
|
205
211
|
[MESSAGE_BROKER]: OptionValues[MESSAGE_BROKER].false,
|
|
206
212
|
[PROD_DATABASE_TYPE]: POSTGRESQL,
|
|
207
213
|
[SEARCH_ENGINE]: OptionValues[SEARCH_ENGINE].false,
|
|
208
|
-
[SKIP_CLIENT]: OptionValues[SKIP_CLIENT],
|
|
209
214
|
[TEST_FRAMEWORKS]: [],
|
|
210
215
|
[WEBSOCKET]: OptionValues[WEBSOCKET].false,
|
|
211
216
|
[ENABLE_GRADLE_ENTERPRISE]: OptionValues[ENABLE_GRADLE_ENTERPRISE],
|
|
212
217
|
[GRADLE_ENTERPRISE_HOST]: OptionValues[GRADLE_ENTERPRISE_HOST],
|
|
213
218
|
...customOptions,
|
|
214
219
|
};
|
|
215
|
-
if (typeof options[SKIP_SERVER] !== 'boolean') {
|
|
216
|
-
options[SKIP_SERVER] = OptionValues[SKIP_SERVER];
|
|
217
|
-
}
|
|
218
220
|
if (!options[PACKAGE_NAME] && !options[PACKAGE_FOLDER]) {
|
|
219
221
|
options[PACKAGE_FOLDER] = OptionValues[PACKAGE_FOLDER];
|
|
220
222
|
options[PACKAGE_NAME] = OptionValues[PACKAGE_NAME];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "generator-jhipster",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.5.0",
|
|
4
4
|
"description": "Spring Boot + Angular/React/Vue in one handy generator",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"yeoman-generator",
|
|
@@ -75,64 +75,64 @@
|
|
|
75
75
|
"prettier:check": "prettier --check \"{,**/}*.{js,cjs,mjs,json,md,yml,java}\"",
|
|
76
76
|
"prettier:format": "prettier --write \"{,**/}*.{js,cjs,mjs,json,md,yml,java}\"",
|
|
77
77
|
"pretest": "npm run lint",
|
|
78
|
-
"test": "mocha test generators --no-insight --forbid-only --parallel",
|
|
78
|
+
"test": "mocha test generators --no-insight --forbid-only --parallel --max-old-space-size=4096",
|
|
79
79
|
"update-snapshot": "mocha --no-insight --no-parallel --updateSnapshot --",
|
|
80
80
|
"update-snapshots": "npm run update-snapshot -- test generators"
|
|
81
81
|
},
|
|
82
82
|
"dependencies": {
|
|
83
|
-
"aws-sdk": "2.
|
|
84
|
-
"axios": "0.
|
|
83
|
+
"aws-sdk": "2.1048.0",
|
|
84
|
+
"axios": "0.24.0",
|
|
85
85
|
"chalk": "4.1.2",
|
|
86
|
-
"chevrotain": "9.0
|
|
87
|
-
"commander": "8.
|
|
88
|
-
"conf": "10.
|
|
89
|
-
"debug": "4.3.
|
|
86
|
+
"chevrotain": "9.1.0",
|
|
87
|
+
"commander": "8.3.0",
|
|
88
|
+
"conf": "10.1.1",
|
|
89
|
+
"debug": "4.3.3",
|
|
90
90
|
"didyoumean": "1.2.2",
|
|
91
91
|
"ejs": "3.1.6",
|
|
92
92
|
"faker": "5.5.3",
|
|
93
93
|
"glob": "7.2.0",
|
|
94
|
-
"gulp-filter": "7.0.0",
|
|
95
94
|
"insight": "0.11.1",
|
|
96
95
|
"js-yaml": "4.1.0",
|
|
97
96
|
"lodash": "4.17.21",
|
|
98
|
-
"mem-fs-editor": "9.
|
|
97
|
+
"mem-fs-editor": "9.4.0",
|
|
99
98
|
"minimatch": "3.0.4",
|
|
100
99
|
"normalize-path": "3.0.0",
|
|
101
100
|
"os-locale": "5.0.0",
|
|
102
101
|
"p-queue": "6.6.2",
|
|
102
|
+
"p-transform": "1.3.0",
|
|
103
103
|
"parse-gitignore": "1.0.1",
|
|
104
104
|
"pluralize": "8.0.0",
|
|
105
|
-
"prettier": "2.
|
|
106
|
-
"prettier-plugin-java": "1.
|
|
107
|
-
"prettier-plugin-packagejson": "2.2.
|
|
105
|
+
"prettier": "2.5.1",
|
|
106
|
+
"prettier-plugin-java": "1.6.0",
|
|
107
|
+
"prettier-plugin-packagejson": "2.2.15",
|
|
108
108
|
"progress": "2.0.3",
|
|
109
109
|
"randexp": "0.5.3",
|
|
110
110
|
"semver": "7.3.5",
|
|
111
111
|
"shelljs": "0.8.4",
|
|
112
|
-
"simple-git": "2.
|
|
112
|
+
"simple-git": "2.48.0",
|
|
113
113
|
"then-request": "6.0.2",
|
|
114
114
|
"uuid": "8.3.2",
|
|
115
115
|
"winston": "3.3.3",
|
|
116
|
-
"yeoman-environment": "3.
|
|
116
|
+
"yeoman-environment": "3.8.1",
|
|
117
117
|
"yeoman-generator": "5.4.2"
|
|
118
118
|
},
|
|
119
119
|
"devDependencies": {
|
|
120
120
|
"chai": "4.3.4",
|
|
121
121
|
"ejs-lint": "1.2.1",
|
|
122
|
-
"eslint": "
|
|
123
|
-
"eslint-config-airbnb-base": "
|
|
122
|
+
"eslint": "8.5.0",
|
|
123
|
+
"eslint-config-airbnb-base": "15.0.0",
|
|
124
124
|
"eslint-config-prettier": "8.3.0",
|
|
125
125
|
"eslint-plugin-chai-friendly": "^0.7.1",
|
|
126
|
-
"eslint-plugin-import": "2.
|
|
127
|
-
"eslint-plugin-mocha": "
|
|
126
|
+
"eslint-plugin-import": "2.25.3",
|
|
127
|
+
"eslint-plugin-mocha": "10.0.3",
|
|
128
128
|
"eslint-plugin-prettier": "4.0.0",
|
|
129
|
-
"expect": "27.2
|
|
129
|
+
"expect": "27.4.2",
|
|
130
130
|
"fs-extra": "10.0.0",
|
|
131
131
|
"jsdoc": "3.6.7",
|
|
132
|
-
"mocha": "9.1.
|
|
132
|
+
"mocha": "9.1.3",
|
|
133
133
|
"mocha-expect-snapshot": "1.1.1",
|
|
134
134
|
"proxyquire": "2.1.3",
|
|
135
|
-
"sinon": "
|
|
135
|
+
"sinon": "12.0.1",
|
|
136
136
|
"sinon-chai": "3.7.0",
|
|
137
137
|
"yeoman-assert": "3.1.1",
|
|
138
138
|
"yeoman-test": "6.2.0"
|
package/utils/entity.js
CHANGED
|
@@ -31,7 +31,7 @@ const { OAUTH2 } = require('../jdl/jhipster/authentication-types');
|
|
|
31
31
|
const { CommonDBTypes } = require('../jdl/jhipster/field-types');
|
|
32
32
|
|
|
33
33
|
const { BOOLEAN, LONG, STRING, UUID } = CommonDBTypes;
|
|
34
|
-
const { MAPSTRUCT } = MapperTypes;
|
|
34
|
+
const { NO: NO_DTO, MAPSTRUCT } = MapperTypes;
|
|
35
35
|
const { PAGINATION, INFINITE_SCROLL } = PaginationTypes;
|
|
36
36
|
const { SERVICE_IMPL } = ServiceTypes;
|
|
37
37
|
const NO_SERVICE = ServiceTypes.NO;
|
|
@@ -40,6 +40,7 @@ const NO_MAPPER = MapperTypes.NO;
|
|
|
40
40
|
|
|
41
41
|
const BASE_TEMPLATE_DATA = {
|
|
42
42
|
primaryKey: undefined,
|
|
43
|
+
entityPackage: undefined,
|
|
43
44
|
skipUiGrouping: false,
|
|
44
45
|
haveFieldWithJavadoc: false,
|
|
45
46
|
existingEnum: false,
|
|
@@ -105,7 +106,7 @@ function _derivedProperties(entityWithConfig) {
|
|
|
105
106
|
}
|
|
106
107
|
|
|
107
108
|
function prepareEntityForTemplates(entityWithConfig, generator) {
|
|
108
|
-
const entityName = entityWithConfig.name;
|
|
109
|
+
const entityName = _.upperFirst(entityWithConfig.name);
|
|
109
110
|
_.defaults(entityWithConfig, entityDefaultConfig, BASE_TEMPLATE_DATA);
|
|
110
111
|
|
|
111
112
|
entityWithConfig.changelogDateForRecent = parseLiquibaseChangelogDate(entityWithConfig.changelogDate);
|
|
@@ -128,15 +129,17 @@ function prepareEntityForTemplates(entityWithConfig, generator) {
|
|
|
128
129
|
entityWithConfig.skipServer = true;
|
|
129
130
|
}
|
|
130
131
|
|
|
132
|
+
entityWithConfig.builtInUser = generator.isBuiltInUser(entityName);
|
|
133
|
+
|
|
131
134
|
_.defaults(entityWithConfig, {
|
|
132
|
-
entityNameCapitalized:
|
|
135
|
+
entityNameCapitalized: entityName,
|
|
133
136
|
entityClass: _.upperFirst(entityName),
|
|
134
137
|
entityInstance: _.lowerFirst(entityName),
|
|
135
138
|
entityTableName: generator.getTableName(entityName),
|
|
136
139
|
entityNamePlural: pluralize(entityName),
|
|
137
140
|
});
|
|
138
141
|
|
|
139
|
-
const dto = entityWithConfig.dto
|
|
142
|
+
const dto = entityWithConfig.dto && entityWithConfig.dto !== NO_DTO;
|
|
140
143
|
if (dto) {
|
|
141
144
|
_.defaults(entityWithConfig, {
|
|
142
145
|
dtoClass: generator.asDto(entityWithConfig.entityClass),
|
|
@@ -201,6 +204,13 @@ function prepareEntityForTemplates(entityWithConfig, generator) {
|
|
|
201
204
|
entityWithConfig.i18nAlertHeaderPrefix = `${entityWithConfig.microserviceAppName}.${entityWithConfig.entityTranslationKey}`;
|
|
202
205
|
}
|
|
203
206
|
|
|
207
|
+
const { microserviceName, entityFileName, microfrontend } = entityWithConfig;
|
|
208
|
+
entityWithConfig.entityApi = microserviceName ? `services/${microserviceName.toLowerCase()}/` : '';
|
|
209
|
+
entityWithConfig.entityPage =
|
|
210
|
+
microfrontend && microserviceName && (entityWithConfig.applicationType === MICROSERVICE || entityWithConfig.applicationType === GATEWAY)
|
|
211
|
+
? `${microserviceName.toLowerCase()}/${entityFileName}`
|
|
212
|
+
: `${entityFileName}`;
|
|
213
|
+
|
|
204
214
|
const hasBuiltInUserField = entityWithConfig.relationships.some(relationship => generator.isBuiltInUser(relationship.otherEntityName));
|
|
205
215
|
entityWithConfig.saveUserSnapshot =
|
|
206
216
|
entityWithConfig.applicationType === MICROSERVICE &&
|
|
@@ -446,6 +456,9 @@ function loadRequiredConfigIntoEntity(entity, config) {
|
|
|
446
456
|
jhiPrefix: config.jhiPrefix,
|
|
447
457
|
authenticationType: config.authenticationType,
|
|
448
458
|
reactive: config.reactive,
|
|
459
|
+
microfrontend: config.microfrontend,
|
|
460
|
+
// Workaround different paths
|
|
461
|
+
clientFramework: config.clientFramework,
|
|
449
462
|
});
|
|
450
463
|
return entity;
|
|
451
464
|
}
|
package/utils/field.js
CHANGED
|
@@ -129,9 +129,12 @@ const generateFakeDataForField = (field, faker, changelogDate, type = 'csv') =>
|
|
|
129
129
|
});
|
|
130
130
|
} else if ([INSTANT, ZONED_DATE_TIME, LOCAL_DATE].includes(field.fieldType)) {
|
|
131
131
|
// Iso: YYYY-MM-DDTHH:mm:ss.sssZ
|
|
132
|
-
const
|
|
132
|
+
const date = faker.date.recent(1, changelogDate);
|
|
133
|
+
const isoDate = date.toISOString();
|
|
133
134
|
if (field.fieldType === LOCAL_DATE) {
|
|
134
135
|
data = isoDate.split('T')[0];
|
|
136
|
+
} else if (type === 'json-serializable') {
|
|
137
|
+
data = date;
|
|
135
138
|
} else {
|
|
136
139
|
// Write the date without milliseconds so Java can parse it
|
|
137
140
|
// See https://stackoverflow.com/a/34053802/150868
|
|
@@ -154,6 +157,10 @@ const generateFakeDataForField = (field, faker, changelogDate, type = 'csv') =>
|
|
|
154
157
|
data = faker.datatype.boolean();
|
|
155
158
|
}
|
|
156
159
|
|
|
160
|
+
if (field.fieldType === BYTES && type === 'json-serializable') {
|
|
161
|
+
data = Buffer.from(data).toString('base64');
|
|
162
|
+
}
|
|
163
|
+
|
|
157
164
|
// Validation rules
|
|
158
165
|
if (data !== undefined && field.fieldValidate === true) {
|
|
159
166
|
// manage String max length
|
|
@@ -289,6 +296,9 @@ function prepareFieldForTemplates(entityWithConfig, field, generator) {
|
|
|
289
296
|
|
|
290
297
|
field.fieldIsEnum = !field.id && fieldIsEnum(fieldType);
|
|
291
298
|
field.fieldWithContentType = (fieldType === BYTES || fieldType === BYTE_BUFFER) && field.fieldTypeBlobContent !== TEXT;
|
|
299
|
+
if (field.fieldWithContentType) {
|
|
300
|
+
field.contentTypeFieldName = `${field.fieldName}ContentType`;
|
|
301
|
+
}
|
|
292
302
|
|
|
293
303
|
if (field.fieldNameAsDatabaseColumn === undefined) {
|
|
294
304
|
const fieldNameUnderscored = _.snakeCase(field.fieldName);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
const { default: PQueue } = require('p-queue');
|
|
2
|
-
const
|
|
2
|
+
const { PTransform } = require('p-transform');
|
|
3
3
|
const { isFilePending } = require('mem-fs-editor/lib/state');
|
|
4
4
|
|
|
5
5
|
const { TemplateFileFs } = require('./template-file-fs');
|
|
6
6
|
|
|
7
|
-
module.exports.MultiStepTransform = class MultiStepTransform extends
|
|
7
|
+
module.exports.MultiStepTransform = class MultiStepTransform extends PTransform {
|
|
8
8
|
constructor(options = {}) {
|
|
9
|
-
super(options);
|
|
9
|
+
super({ logName: 'jhipster:multi-step-transform', ...options });
|
|
10
10
|
|
|
11
11
|
this.twoStepTemplateQueue = new PQueue({ concurrency: 1, autoStart: false });
|
|
12
12
|
this.templateFileFs = new TemplateFileFs(options);
|
|
@@ -15,7 +15,7 @@ module.exports.MultiStepTransform = class MultiStepTransform extends OOOTransfor
|
|
|
15
15
|
this.pendingFiles = [];
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
async
|
|
18
|
+
async queuedTransform(file, enc) {
|
|
19
19
|
try {
|
|
20
20
|
if (file.contents && this.templateFileFs.isTemplate(file.path)) {
|
|
21
21
|
const templateFile = this.templateFileFs.add(file.path, file.contents.toString());
|
|
@@ -43,10 +43,10 @@ module.exports.MultiStepTransform = class MultiStepTransform extends OOOTransfor
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
_flush(callback) {
|
|
47
47
|
// Clear normal queue before templates.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
this.flushQueue()
|
|
49
|
+
.then(() => this.twoStepTemplateQueue.start().onIdle())
|
|
50
|
+
.then(() => super._flush(callback));
|
|
51
51
|
}
|
|
52
52
|
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
legacy-peer-deps = true
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
const webpackMerge = require('webpack-merge').merge;
|
|
3
|
-
const prodEnv = require('./prod.env');
|
|
4
|
-
<%_ if (buildToolUnknown) { _%>
|
|
5
|
-
const packageJson = require('./../package.json');
|
|
6
|
-
<%_ } _%>
|
|
7
|
-
|
|
8
|
-
module.exports = webpackMerge(prodEnv, {
|
|
9
|
-
NODE_ENV: '"development"',
|
|
10
|
-
SERVER_API_URL: '\'\'',
|
|
11
|
-
<%_ if (buildToolUnknown) { _%>
|
|
12
|
-
VERSION: `'${packageJson.version}'`,
|
|
13
|
-
<%_ } else { _%>
|
|
14
|
-
// APP_VERSION is passed as an environment variable from the Gradle / Maven build tasks.
|
|
15
|
-
VERSION: `'${process.env.hasOwnProperty('APP_VERSION') ? process.env.APP_VERSION : 'UNKNOWN'}'`,
|
|
16
|
-
<%_ } _%>
|
|
17
|
-
});
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
// Template version: 1.3.1
|
|
3
|
-
// see http://vuejs-templates.github.io/webpack for documentation.
|
|
4
|
-
|
|
5
|
-
const path = require('path');
|
|
6
|
-
|
|
7
|
-
module.exports = {
|
|
8
|
-
dev: {
|
|
9
|
-
// Paths
|
|
10
|
-
assetsSubDirectory: 'static',
|
|
11
|
-
assetsPublicPath: '/',
|
|
12
|
-
proxyTable: {},
|
|
13
|
-
|
|
14
|
-
// Various Dev Server settings
|
|
15
|
-
host: 'localhost', // can be overwritten by process.env.HOST
|
|
16
|
-
port: <%= serverPort %>, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
|
|
17
|
-
autoOpenBrowser: false,
|
|
18
|
-
errorOverlay: true,
|
|
19
|
-
notifyOnErrors: true,
|
|
20
|
-
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Source Maps
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
// https://webpack.js.org/configuration/devtool/#development
|
|
27
|
-
devtool: 'cheap-module-source-map',
|
|
28
|
-
|
|
29
|
-
// If you have problems debugging vue-files in devtools,
|
|
30
|
-
// set this to false - it *may* help
|
|
31
|
-
// https://vue-loader.vuejs.org/en/options.html#cachebusting
|
|
32
|
-
cacheBusting: true,
|
|
33
|
-
|
|
34
|
-
cssSourceMap: true
|
|
35
|
-
},
|
|
36
|
-
|
|
37
|
-
build: {
|
|
38
|
-
// Template for index.html
|
|
39
|
-
index: path.resolve(__dirname, '../target/www/index.html'),
|
|
40
|
-
|
|
41
|
-
// Paths
|
|
42
|
-
assetsRoot: path.resolve(__dirname, '../target'),
|
|
43
|
-
assetsSubDirectory: 'static',
|
|
44
|
-
assetsPublicPath: '/',
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Source Maps
|
|
48
|
-
*/
|
|
49
|
-
|
|
50
|
-
productionSourceMap: true,
|
|
51
|
-
// https://webpack.js.org/configuration/devtool/#production
|
|
52
|
-
devtool: 'source-map',
|
|
53
|
-
|
|
54
|
-
// Gzip off by default as many popular static hosts such as
|
|
55
|
-
// Surge or Netlify already gzip all static assets for you.
|
|
56
|
-
// Before setting to `true`, make sure to:
|
|
57
|
-
// npm install --save-dev compression-webpack-plugin
|
|
58
|
-
productionGzip: false,
|
|
59
|
-
productionGzipExtensions: ['js', 'css'],
|
|
60
|
-
|
|
61
|
-
// Run the build command with an extra argument to
|
|
62
|
-
// View the bundle analyzer report after build finishes:
|
|
63
|
-
// `npm run build --report`
|
|
64
|
-
// Set to `true` or `false` to always turn it on or off
|
|
65
|
-
bundleAnalyzerReport: process.env.npm_config_report
|
|
66
|
-
}
|
|
67
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
const utils = require('./vue.utils');
|
|
3
|
-
const config = require('./env');
|
|
4
|
-
const isProduction = process.env.NODE_ENV === 'production';
|
|
5
|
-
const sourceMapEnabled = isProduction ? config.build.productionSourceMap : config.dev.cssSourceMap;
|
|
6
|
-
|
|
7
|
-
module.exports = {
|
|
8
|
-
loaders: utils.cssLoaders({
|
|
9
|
-
sourceMap: sourceMapEnabled,
|
|
10
|
-
extract: isProduction
|
|
11
|
-
}),
|
|
12
|
-
cssSourceMap: sourceMapEnabled,
|
|
13
|
-
cacheBusting: config.dev.cacheBusting,
|
|
14
|
-
transformToRequire: {
|
|
15
|
-
video: ['src', 'poster'],
|
|
16
|
-
source: 'src',
|
|
17
|
-
img: 'src',
|
|
18
|
-
image: 'xlink:href'
|
|
19
|
-
}
|
|
20
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
<%_ if (buildToolUnknown) { _%>
|
|
3
|
-
const packageJson = require('./../package.json');
|
|
4
|
-
<%_ } _%>
|
|
5
|
-
|
|
6
|
-
module.exports = {
|
|
7
|
-
NODE_ENV: '"production"',
|
|
8
|
-
SERVER_API_URL: '""',
|
|
9
|
-
<%_ if (buildToolUnknown) { _%>
|
|
10
|
-
VERSION: `'${packageJson.version}'`,
|
|
11
|
-
<%_ } else { _%>
|
|
12
|
-
// APP_VERSION is passed as an environment variable from the Gradle / Maven build tasks.
|
|
13
|
-
VERSION: `'${process.env.hasOwnProperty('APP_VERSION') ? process.env.APP_VERSION : 'UNKNOWN'}'`,
|
|
14
|
-
<%_ } _%>
|
|
15
|
-
};
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
package <%= packageName %>.config.apidocs;
|
|
2
|
-
|
|
3
|
-
import java.util.*;
|
|
4
|
-
import java.util.concurrent.TimeUnit;
|
|
5
|
-
import org.springframework.beans.factory.annotation.Qualifier;
|
|
6
|
-
import org.springframework.beans.factory.annotation.Value;
|
|
7
|
-
import org.springframework.cloud.gateway.route.Route;
|
|
8
|
-
import org.springframework.cloud.gateway.route.RouteLocator;
|
|
9
|
-
import org.springframework.context.annotation.Configuration;
|
|
10
|
-
import org.springframework.context.annotation.Primary;
|
|
11
|
-
import org.springframework.context.annotation.Profile;
|
|
12
|
-
import org.springframework.stereotype.Component;
|
|
13
|
-
import reactor.core.scheduler.Schedulers;
|
|
14
|
-
import springfox.documentation.swagger.web.SwaggerResource;
|
|
15
|
-
import springfox.documentation.swagger.web.SwaggerResourcesProvider;
|
|
16
|
-
import tech.jhipster.config.JHipsterConstants;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Retrieves all registered microservices Swagger resources.
|
|
20
|
-
*/
|
|
21
|
-
@Component
|
|
22
|
-
@Primary
|
|
23
|
-
@Profile(JHipsterConstants.SPRING_PROFILE_API_DOCS)
|
|
24
|
-
@Configuration
|
|
25
|
-
public class GatewaySwaggerResourcesProvider implements SwaggerResourcesProvider {
|
|
26
|
-
|
|
27
|
-
@Value("${eureka.instance.appname:<%= baseName.toLowerCase() %>}")
|
|
28
|
-
private String gatewayName;
|
|
29
|
-
|
|
30
|
-
private final RouteLocator routeLocator;
|
|
31
|
-
|
|
32
|
-
@Qualifier("swaggerResources")
|
|
33
|
-
private final SwaggerResourcesProvider swaggerResourcesProvider;
|
|
34
|
-
|
|
35
|
-
public GatewaySwaggerResourcesProvider(RouteLocator routeLocator, SwaggerResourcesProvider swaggerResourcesProvider) {
|
|
36
|
-
this.routeLocator = routeLocator;
|
|
37
|
-
this.swaggerResourcesProvider = swaggerResourcesProvider;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
@Override
|
|
41
|
-
public List<SwaggerResource> get() {
|
|
42
|
-
List<SwaggerResource> swaggerResources = new ArrayList<>();
|
|
43
|
-
|
|
44
|
-
swaggerResources.add(swaggerResource(gatewayName.concat(" (default)"), "/v3/api-docs"));
|
|
45
|
-
swaggerResources.add(swaggerResource(gatewayName.concat(" (management)"), "/v3/api-docs?group=management"));
|
|
46
|
-
|
|
47
|
-
List<String> microservices = routeLocator
|
|
48
|
-
.getRoutes()
|
|
49
|
-
.map(this::getMicroserviceName)
|
|
50
|
-
.collectList()
|
|
51
|
-
.defaultIfEmpty(Collections.emptyList())
|
|
52
|
-
.subscribeOn(Schedulers.boundedElastic())
|
|
53
|
-
.toFuture()
|
|
54
|
-
.orTimeout(10, TimeUnit.SECONDS)
|
|
55
|
-
.join();
|
|
56
|
-
microservices
|
|
57
|
-
.stream()
|
|
58
|
-
.filter(this::isNotGateway)
|
|
59
|
-
<%_ if (serviceDiscoveryConsul) { _%>
|
|
60
|
-
.filter(this::isNotConsul)
|
|
61
|
-
<%_ } _%>
|
|
62
|
-
.forEach(microservice -> swaggerResources.add(swaggerResource(microservice, getMicroserviceApiDocs(microservice))));
|
|
63
|
-
return swaggerResources;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
public static SwaggerResource swaggerResource(String name, String location) {
|
|
67
|
-
SwaggerResource swaggerResource = new SwaggerResource();
|
|
68
|
-
swaggerResource.setName(name);
|
|
69
|
-
swaggerResource.setLocation(location);
|
|
70
|
-
swaggerResource.setSwaggerVersion("3.0");
|
|
71
|
-
return swaggerResource;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
private boolean isNotGateway(String name) {
|
|
75
|
-
return !name.equalsIgnoreCase(gatewayName);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
<%_ if (serviceDiscoveryConsul) { _%>
|
|
79
|
-
private boolean isNotConsul(String name) {
|
|
80
|
-
return !name.equalsIgnoreCase("consul");
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
<%_ } _%>
|
|
84
|
-
private String getMicroserviceApiDocs(String name) {
|
|
85
|
-
return "/services/".concat(name).concat("/v3/api-docs");
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
private String getMicroserviceName(Route route) {
|
|
89
|
-
return route.getUri().toString().replace("lb://", "").toLowerCase();
|
|
90
|
-
}
|
|
91
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
package <%= packageName %>.config.apidocs;
|
|
2
|
-
|
|
3
|
-
import static org.assertj.core.api.Assertions.assertThat;
|
|
4
|
-
import static org.mockito.Mockito.when;
|
|
5
|
-
import static <%= packageName %>.config.apidocs.GatewaySwaggerResourcesProvider.swaggerResource;
|
|
6
|
-
|
|
7
|
-
import java.net.URI;
|
|
8
|
-
import java.util.List;
|
|
9
|
-
import org.junit.jupiter.api.Test;
|
|
10
|
-
import org.junit.jupiter.api.extension.ExtendWith;
|
|
11
|
-
import org.mockito.InjectMocks;
|
|
12
|
-
import org.mockito.Mock;
|
|
13
|
-
import org.springframework.cloud.gateway.route.Route;
|
|
14
|
-
import org.springframework.cloud.gateway.route.RouteLocator;
|
|
15
|
-
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
|
16
|
-
import org.springframework.test.util.ReflectionTestUtils;
|
|
17
|
-
import reactor.core.publisher.Flux;
|
|
18
|
-
import springfox.documentation.swagger.web.SwaggerResource;
|
|
19
|
-
import springfox.documentation.swagger.web.SwaggerResourcesProvider;
|
|
20
|
-
|
|
21
|
-
@ExtendWith(SpringExtension.class)
|
|
22
|
-
class GatewaySwaggerResourcesProviderTest {
|
|
23
|
-
|
|
24
|
-
@InjectMocks
|
|
25
|
-
GatewaySwaggerResourcesProvider gatewaySwaggerResourcesProvider;
|
|
26
|
-
|
|
27
|
-
@Mock
|
|
28
|
-
RouteLocator routeLocator;
|
|
29
|
-
|
|
30
|
-
@Mock
|
|
31
|
-
SwaggerResourcesProvider swaggerResourcesProvider;
|
|
32
|
-
|
|
33
|
-
@Test
|
|
34
|
-
void shouldGet() {
|
|
35
|
-
// Given
|
|
36
|
-
ReflectionTestUtils.setField(gatewaySwaggerResourcesProvider, "gatewayName", "burger");
|
|
37
|
-
when(swaggerResourcesProvider.get())
|
|
38
|
-
.thenReturn(
|
|
39
|
-
List.of(
|
|
40
|
-
swaggerResource("default", "/v3/api-docs"),
|
|
41
|
-
swaggerResource("default", "/v3/api-docs?group=management"),
|
|
42
|
-
swaggerResource("default", "/v3/api-docs?group=openapi")
|
|
43
|
-
)
|
|
44
|
-
);
|
|
45
|
-
when(routeLocator.getRoutes())
|
|
46
|
-
.thenReturn(
|
|
47
|
-
Flux.just(
|
|
48
|
-
Route
|
|
49
|
-
.async()
|
|
50
|
-
.id("ReactiveCompositeDiscoveryClient_BURGER")
|
|
51
|
-
.uri(URI.create("lb://BURGER"))
|
|
52
|
-
.predicate(exchange -> true)
|
|
53
|
-
.build(),
|
|
54
|
-
Route
|
|
55
|
-
.async()
|
|
56
|
-
.id("ReactiveCompositeDiscoveryClient_BEER")
|
|
57
|
-
.uri(URI.create("lb://BEER"))
|
|
58
|
-
.predicate(exchange -> true)
|
|
59
|
-
.build()
|
|
60
|
-
)
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
// When
|
|
64
|
-
List<SwaggerResource> result = gatewaySwaggerResourcesProvider.get();
|
|
65
|
-
|
|
66
|
-
// Then
|
|
67
|
-
assertThat(result).isNotEmpty();
|
|
68
|
-
assertThat(result.size()).isEqualTo(3);
|
|
69
|
-
|
|
70
|
-
assertThat(result.get(0).getName()).isEqualTo("burger (default)");
|
|
71
|
-
assertThat(result.get(0).getUrl()).isEqualTo("/v3/api-docs");
|
|
72
|
-
|
|
73
|
-
assertThat(result.get(1).getName()).isEqualTo("burger (management)");
|
|
74
|
-
assertThat(result.get(1).getUrl()).isEqualTo("/v3/api-docs?group=management");
|
|
75
|
-
|
|
76
|
-
assertThat(result.get(2).getName()).isEqualTo("beer");
|
|
77
|
-
assertThat(result.get(2).getUrl()).isEqualTo("/services/beer/v3/api-docs");
|
|
78
|
-
}
|
|
79
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
cucumber.publish.quiet=true
|