generator-jhipster 7.8.0 → 7.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/cli/environment-builder.js +3 -1
- package/cli/import-jdl.js +61 -35
- package/cli/jdl.js +5 -4
- package/cli/jhipster-command.js +1 -1
- package/cli/program.js +5 -3
- package/generators/app/index.js +11 -0
- package/generators/app/prompts.js +60 -12
- package/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +3 -3
- package/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +3 -3
- package/generators/bootstrap/index.js +1 -0
- package/generators/bootstrap-application/generator.mjs +1 -0
- package/generators/ci-cd/templates/.gitlab-ci.yml.ejs +2 -3
- package/generators/client/files-angular.js +72 -89
- package/generators/client/files-react.js +63 -74
- package/generators/client/files-vue.js +8 -54
- package/generators/client/index.js +18 -11
- package/generators/client/needle-api/needle-client-angular.js +1 -4
- package/generators/client/needle-api/needle-client-react.js +2 -2
- package/generators/client/prompts.js +1 -0
- package/generators/client/templates/angular/.eslintrc.json.ejs +10 -1
- package/generators/client/templates/angular/angular.json.ejs +0 -1
- package/generators/client/templates/angular/jest.conf.js.ejs +3 -1
- package/generators/client/templates/angular/package.json +32 -32
- package/generators/client/templates/angular/package.json.ejs +23 -22
- package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.html.ejs +15 -15
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.ts.ejs +17 -11
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +16 -16
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +14 -9
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +9 -9
- package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.html.ejs +27 -27
- package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.ts.ejs +28 -13
- package/generators/client/templates/angular/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -7
- package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.html.ejs +19 -19
- package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.ts.ejs +35 -37
- package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -7
- package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +14 -0
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.html.ejs +6 -6
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.module.ts.ejs +0 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +3 -3
- package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +10 -10
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +10 -10
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +9 -9
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +14 -14
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -16
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +2 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +133 -138
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +22 -24
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +40 -49
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.model.ts.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.module.ts.ejs +0 -1
- package/generators/client/templates/angular/src/main/webapp/app/config/navigation.constants.ts.ejs +23 -0
- package/generators/client/templates/angular/src/main/webapp/app/config/pagination.constants.ts.ejs +2 -3
- package/generators/client/templates/angular/src/main/webapp/app/core/request/request-util.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.model.ts.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.service.ts.ejs +7 -3
- package/generators/client/templates/angular/src/main/webapp/app/home/home.component.html.ejs +14 -14
- package/generators/client/templates/angular/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
- package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/login/login.component.html.ejs +9 -9
- package/generators/client/templates/angular/src/main/webapp/app/login/login.component.ts.ejs +16 -27
- package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.html.ejs +10 -0
- package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.ts.ejs +23 -0
- package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +40 -0
- package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.ts.ejs +95 -0
- package/generators/client/templates/angular/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/shared.module.ts.ejs +3 -0
- package/generators/client/templates/angular/src/main/webapp/app/shared/sort/sort.service.ts.ejs +31 -0
- package/generators/client/templates/angular/src/main/webapp/declarations.d.ts.ejs +3 -8
- package/generators/client/templates/angular/tsconfig.json.ejs +6 -0
- package/generators/client/templates/angular/tsconfig.spec.json.ejs +1 -1
- package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +6 -2
- package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +1 -1
- package/generators/client/templates/common/package.json +6 -6
- package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +2 -0
- package/generators/client/templates/react/.eslintrc.json.ejs +10 -1
- package/generators/client/templates/react/jest.conf.js.ejs +3 -1
- package/generators/client/templates/react/package.json +57 -57
- package/generators/client/templates/react/package.json.ejs +3 -3
- package/generators/client/templates/react/src/main/webapp/app/app.tsx.ejs +3 -3
- package/generators/client/templates/react/src/main/webapp/app/entities/menu.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/entities/routes.tsx.ejs +7 -5
- package/generators/client/templates/react/src/main/webapp/app/index.tsx.ejs +4 -5
- package/generators/client/templates/react/src/main/webapp/app/modules/account/activate/activate.tsx.ejs +8 -4
- package/generators/client/templates/react/src/main/webapp/app/modules/account/index.tsx.ejs +9 -6
- package/generators/client/templates/react/src/main/webapp/app/modules/account/password/password.tsx.ejs +1 -0
- package/generators/client/templates/react/src/main/webapp/app/modules/account/password-reset/finish/password-reset-finish.tsx.ejs +8 -5
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/administration.reducer.ts.ejs +6 -7
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/gateway/gateway.tsx.ejs +9 -1
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/health/health-modal.tsx.ejs +3 -2
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/health/health.tsx.ejs +4 -4
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/index.tsx.ejs +14 -11
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/metrics/metrics.tsx.ejs +8 -2
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/index.tsx.ejs +13 -13
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-delete-dialog.tsx.ejs +7 -4
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-detail.tsx.ejs +5 -3
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-update.tsx.ejs +10 -6
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +18 -26
- package/generators/client/templates/react/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +6 -3
- package/generators/client/templates/react/src/main/webapp/app/modules/login/login.tsx.ejs +6 -5
- package/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs +53 -25
- package/generators/client/templates/react/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +30 -27
- package/generators/client/templates/react/src/main/webapp/app/shared/auth/private-route.tsx.ejs +35 -34
- package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-routes.spec.tsx.ejs +55 -0
- package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-routes.tsx.ejs +21 -0
- package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary.spec.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/shared/error/error-loading.tsx.ejs +8 -10
- package/generators/client/templates/react/src/main/webapp/app/shared/error/page-not-found.tsx.ejs +9 -13
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.spec.tsx.ejs +3 -5
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +5 -8
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/entities.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/menu-item.tsx.ejs +12 -11
- package/generators/client/templates/react/src/main/webapp/app/typings.d.ts.ejs +2 -2
- package/generators/client/templates/react/tsconfig.json.ejs +2 -4
- package/generators/client/templates/react/tsconfig.test.json.ejs +1 -0
- package/generators/client/templates/react/webpack/webpack.common.js.ejs +7 -3
- package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +4 -4
- package/generators/client/templates/vue/.eslintrc.js.ejs +10 -1
- package/generators/client/templates/vue/package.json +40 -39
- package/generators/client/templates/vue/package.json.ejs +3 -3
- package/generators/client/templates/vue/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +2 -2
- package/generators/client/templates/vue/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +14 -0
- package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.vue.ejs +1 -1
- package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +2 -2
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +5 -3
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +2 -2
- package/generators/client/templates/vue/src/main/webapp/app/shared/alert/alert.service.ts.ejs +1 -1
- package/generators/client/templates/vue/src/main/webapp/app/shared/date/filters.ts.ejs +0 -6
- package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +5 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/account/register/register.component.spec.ts.ejs +1 -1
- package/generators/client/templates/vue/tsconfig.json.ejs +1 -1
- package/generators/client/templates/vue/tsconfig.spec.json.ejs +2 -2
- package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +4 -0
- package/generators/client/templates/vue/webpack/webpack.prod.js.ejs +8 -1
- package/generators/client/transform-angular.cjs +117 -0
- package/generators/client/transform-react.cjs +126 -0
- package/generators/client/transform-vue.cjs +42 -0
- package/generators/common/files.js +2 -9
- package/generators/common/templates/README.md.jhi.ejs +21 -5
- package/generators/common/templates/package.json +3 -3
- package/generators/cypress/files.js +34 -22
- package/generators/cypress/index.js +42 -19
- package/generators/cypress/templates/cypress-audits.config.ts.ejs +28 -0
- package/generators/cypress/templates/cypress.config.ts.ejs +57 -0
- package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/login-page.spec.ts.ejs → e2e/account/login-page.cy.ts.ejs} +0 -0
- package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/password-page.spec.ts.ejs → e2e/account/password-page.cy.ts.ejs} +0 -0
- package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/register-page.spec.ts.ejs → e2e/account/register-page.cy.ts.ejs} +0 -0
- package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/reset-password-page.spec.ts.ejs → e2e/account/reset-password-page.cy.ts.ejs} +0 -0
- package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/settings-page.spec.ts.ejs → e2e/account/settings-page.cy.ts.ejs} +0 -0
- package/generators/cypress/templates/src/test/javascript/cypress/{integration/administration/administration.spec.ts.ejs → e2e/administration/administration.cy.ts.ejs} +1 -1
- package/generators/cypress/templates/src/test/javascript/cypress/{integration → e2e}/lighthouse.audits.ts.ejs +0 -0
- package/generators/cypress/templates/src/test/javascript/cypress/plugins/global.d.ts.ejs +25 -0
- package/generators/cypress/templates/src/test/javascript/cypress/plugins/index.ts.ejs +13 -14
- package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +4 -4
- package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +1 -1
- package/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +8 -8
- package/generators/cypress/templates/src/test/javascript/cypress/tsconfig.json.ejs +8 -5
- package/generators/database-changelog-liquibase/files.js +1 -1
- package/generators/database-changelog-liquibase/index.js +3 -0
- package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +1 -1
- package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs +1 -1
- package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +1 -1
- package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +2 -2
- package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_migrate.xml.ejs +1 -1
- package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +2 -2
- package/generators/docker-base.js +6 -3
- package/generators/docker-compose/files.js +5 -2
- package/generators/docker-compose/index.js +13 -24
- package/generators/docker-compose/templates/README-DOCKER-COMPOSE.md.ejs +1 -1
- package/generators/docker-compose/templates/docker-compose.yml.ejs +10 -8
- package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +62 -4
- package/generators/docker-prompts.js +1 -2
- package/generators/docker-utils.js +0 -1
- package/generators/entity/index.js +5 -15
- package/generators/entity/prompts.js +1 -52
- package/generators/entity-client/files-angular.cjs +169 -0
- package/generators/entity-client/files-cypress.cjs +52 -0
- package/generators/entity-client/files-react.cjs +113 -0
- package/generators/entity-client/files-vue.cjs +140 -0
- package/generators/entity-client/files.js +10 -381
- package/generators/entity-client/index.js +120 -19
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.html.ejs +4 -5
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.ts.ejs +2 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +12 -11
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +0 -5
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.model.ts.ejs +18 -25
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.test-samples.ts.ejs +45 -0
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +45 -37
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +47 -28
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +292 -94
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/infinite-scroll-template.ejs +5 -106
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/pagination-template.ejs +2 -82
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +5 -5
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.ts.ejs +5 -5
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing.module.ts.ejs +2 -3
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +89 -175
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +69 -44
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.spec.ts.ejs +111 -0
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.ts.ejs +263 -0
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +99 -120
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +47 -71
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +79 -195
- package/generators/entity-client/templates/{common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs → cypress/src/test/javascript/cypress/e2e/entity/entity.cy.ts.ejs} +26 -17
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +10 -5
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-detail.tsx.ejs +5 -3
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +11 -6
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +11 -10
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/index.tsx.ejs +13 -13
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/react_validators.ejs +25 -32
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +2 -2
- package/generators/entity-server/cleanup.js +41 -0
- package/generators/entity-server/files.js +118 -53
- package/generators/entity-server/index.js +14 -27
- package/generators/entity-server/templates/partials/save_template.ejs +1 -1
- package/generators/entity-server/templates/partials/update_template.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +11 -5
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.elastic_search.ejs +17 -0
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_cassandra.ejs +3 -1
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +6 -1
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +11 -12
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationships.java.ejs +2 -2
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationshipsImpl.java.ejs +13 -6
- 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/search/EntitySearchRepository.java.ejs +46 -9
- package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +3 -3
- package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +2 -2
- package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +2 -5
- package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +140 -132
- package/generators/gae/index.js +1 -1
- package/generators/generate-blueprint/constants.mjs +22 -2
- package/generators/generate-blueprint/generator.mjs +25 -6
- package/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +5 -3
- package/generators/generate-blueprint/templates/cli/commands.cjs.ejs +2 -1
- package/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +6 -5
- package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +10 -1
- package/generators/generator-base-blueprint.js +19 -20
- package/generators/generator-base-private.js +116 -64
- package/generators/generator-base.js +241 -91
- package/generators/generator-constants.js +118 -66
- package/generators/generator-defaults.js +1 -0
- package/generators/heroku/index.js +5 -4
- package/generators/heroku/templates/application-heroku.yml.ejs +1 -2
- package/generators/heroku/templates/heroku.gradle.ejs +28 -1
- package/generators/heroku/templates/pom-profile.xml.ejs +29 -0
- package/generators/java/index.cjs +2 -2
- package/generators/kubernetes/templates/db/couchbase.yml.ejs +1 -2
- package/generators/kubernetes/templates/db/mongodb.yml.ejs +1 -2
- package/generators/kubernetes/templates/ingress.yml.ejs +11 -4
- package/generators/kubernetes/templates/monitoring/jhipster-grafana.yml.ejs +6 -2
- package/generators/kubernetes/templates/registry/consul.yml.ejs +1 -2
- package/generators/kubernetes/templates/registry/jhipster-registry.yml.ejs +1 -2
- package/generators/languages/templates/src/main/webapp/i18n/al/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/ar-ly/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/bg/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/bn/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/by/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/ca/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/cs/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/da/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/de/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/el/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/en/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/en/health.json.ejs +3 -0
- package/generators/languages/templates/src/main/webapp/i18n/es/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/et/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/fa/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/fi/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/fr/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/gl/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/hi/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/hr/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/hu/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/hy/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/in/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/it/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/ja/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/ko/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/mr/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/my/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/nl/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/pa/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/pl/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/pt-br/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/pt-pt/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/ro/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/ru/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/si/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/sk/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/sr/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/sv/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/ta/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/te/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/th/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/tr/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/ua/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/global.json +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/vi/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/zh-cn/global.json.ejs +7 -1
- package/generators/languages/templates/src/main/webapp/i18n/zh-tw/global.json.ejs +7 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_al.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_ar_LY.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_bg.properties.ejs +1 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_bn.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_by.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_ca.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_cs.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_da.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_de.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_el.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_es.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_et.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_fa.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_fi.properties.ejs +1 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_gl.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_hi.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_hr.properties.ejs +1 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_hu.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_hy.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_in.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_it.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_ja.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_ko.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_mr.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_my.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_nl.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_pa.properties.ejs +1 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_pl.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_pt_BR.properties.ejs +1 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_pt_PT.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_ro.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_ru.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_si.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_sk.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_sr.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_sv.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_ta.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_te.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_th.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_tr.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_ua.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_uz_Cyrl_UZ.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_uz_Latn_UZ.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_vi.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_zh_CN.properties.ejs +4 -1
- package/generators/languages/templates/src/test/resources/i18n/messages_zh_TW.properties.ejs +4 -1
- package/generators/maven/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
- package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +5 -5
- package/generators/maven/templates/pom.xml.jhi.ejs +2 -2
- package/generators/openapi-client/files.js +2 -8
- package/generators/openapi-client/index.js +2 -0
- package/generators/openshift/templates/registry/consul.yml.ejs +1 -2
- package/generators/openshift/templates/registry/jhipster-registry.yml.ejs +1 -2
- package/generators/project-name/index.cjs +8 -5
- package/generators/server/cleanup-angular.js +37 -0
- package/generators/server/cleanup-cache-provider.js +46 -0
- package/generators/server/cleanup-cassandra.js +49 -0
- package/generators/server/cleanup-cucumber.js +40 -0
- package/generators/server/cleanup-elasticsearch.js +48 -0
- package/generators/server/cleanup-gradle.js +40 -0
- package/generators/server/cleanup-kafka.js +41 -0
- package/generators/server/cleanup-maven.js +37 -0
- package/generators/server/cleanup-mongodb.js +40 -0
- package/generators/server/cleanup-oauth2.js +43 -0
- package/generators/server/cleanup-reactive.js +38 -0
- package/generators/server/cleanup-sql.js +48 -0
- package/generators/server/cleanup.js +85 -51
- package/generators/server/esm.mjs +1 -0
- package/generators/server/files-couchbase.js +11 -10
- package/generators/server/files-sql.js +197 -4
- package/generators/server/files.js +180 -273
- package/generators/server/index.js +32 -86
- package/generators/server/needles.cjs +79 -0
- package/generators/server/templates/.mvn/jvm.config +1 -1
- package/generators/server/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
- package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +5 -5
- package/generators/server/templates/.npmrc.ejs +1 -0
- package/generators/server/templates/build.gradle.ejs +121 -226
- package/generators/server/templates/couchbase/src/test/java/package/config/CouchbaseTestContainer.java.ejs +67 -0
- package/generators/server/templates/couchbase/src/test/java/package/config/EmbeddedCouchbase.java.ejs +30 -0
- package/generators/server/templates/gradle/docker.gradle.ejs +6 -0
- package/generators/server/templates/gradle/profile_dev.gradle.ejs +95 -3
- package/generators/server/templates/gradle/profile_prod.gradle.ejs +80 -4
- package/generators/server/templates/gradle.properties.ejs +17 -13
- package/generators/server/templates/pom.xml.ejs +274 -225
- package/generators/server/templates/settings.gradle.ejs +2 -1
- package/generators/server/templates/sql/common/src/main/docker/config/mariadb/my.cnf +49 -0
- package/generators/server/templates/sql/common/src/main/docker/config/mysql/my.cnf +82 -0
- package/generators/server/templates/{src → sql/common/src}/main/docker/mariadb.yml.ejs +2 -0
- package/generators/server/templates/{src → sql/common/src}/main/docker/mssql.yml.ejs +0 -0
- package/generators/server/templates/{src → sql/common/src}/main/docker/mysql.yml.ejs +2 -2
- package/generators/server/templates/{src → sql/common/src}/main/docker/postgresql.yml.ejs +0 -0
- package/generators/server/templates/{src → sql/common/src}/main/java/package/config/LiquibaseConfiguration.java.ejs +0 -0
- package/generators/server/templates/{src → sql/common/src}/main/resources/h2.server.properties.ejs +0 -0
- package/generators/server/templates/sql/common/src/test/java/package/config/EmbeddedSQL.java.ejs +30 -0
- package/generators/server/templates/sql/common/src/test/java/package/config/MariadbTestContainer.java.ejs +60 -0
- package/generators/server/templates/sql/common/src/test/java/package/config/MsSqlTestContainer.java.ejs +59 -0
- package/generators/server/templates/sql/common/src/test/java/package/config/MysqlTestContainer.java.ejs +69 -0
- package/generators/server/templates/sql/common/src/test/java/package/config/PostgreSqlTestContainer.java.ejs +59 -0
- package/generators/server/templates/sql/common/src/test/java/package/config/SqlTestContainer.java.ejs +28 -0
- package/generators/server/templates/{src → sql/common/src}/test/java/package/config/timezone/HibernateTimeZoneIT.java.ejs +0 -0
- package/generators/server/templates/{src → sql/common/src}/test/java/package/repository/timezone/DateTimeWrapper.java.ejs +0 -0
- package/generators/server/templates/{src → sql/common/src}/test/java/package/repository/timezone/DateTimeWrapperRepository.java.ejs +0 -0
- package/generators/server/templates/sql/common/src/test/resources/config/application-testdev.yml.ejs +93 -0
- package/generators/server/templates/{src/test/resources/config/application-testcontainers.yml.ejs → sql/common/src/test/resources/config/application-testprod.yml.ejs} +17 -33
- package/generators/server/templates/sql/common/src/test/resources/testcontainers/mariadb/my.cnf +49 -0
- package/generators/server/templates/sql/common/src/test/resources/testcontainers/mysql/my.cnf +83 -0
- package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/EntityManager.java.ejs +45 -35
- package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/rowmapper/ColumnConverter.java.ejs +0 -0
- package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/rowmapper/UserRowMapper.java.ejs +0 -0
- package/generators/server/templates/src/main/docker/app.yml.ejs +16 -14
- package/generators/server/templates/src/main/docker/cassandra-migration.yml.ejs +1 -0
- package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +62 -6
- package/generators/server/templates/src/main/docker/jhipster-control-center.yml.ejs +1 -1
- package/generators/server/templates/src/main/docker/jhipster-registry.yml.ejs +1 -1
- package/generators/server/templates/src/main/docker/jib/entrypoint.sh.ejs +36 -1
- package/generators/server/templates/src/main/docker/keycloak.yml.ejs +8 -6
- package/generators/server/templates/src/main/java/package/config/ApplicationProperties.java.ejs +3 -0
- package/generators/server/templates/src/main/java/package/config/AsyncConfiguration.java.ejs +2 -6
- package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +16 -30
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +108 -15
- package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +6 -0
- package/generators/server/templates/src/main/java/package/security/DomainUserDetailsService.java.ejs +6 -3
- package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +10 -3
- package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +12 -2
- package/generators/server/templates/src/main/java/package/web/rest/LogoutResource.java.ejs +1 -5
- package/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -5
- package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +3 -4
- package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +4 -3
- 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 +1 -1
- package/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs +1 -1
- package/generators/server/templates/src/main/resources/config/liquibase/master.xml.ejs +54 -24
- package/generators/server/templates/src/main/resources/swagger/api.yml.ejs +3 -3
- package/generators/server/templates/src/test/java/package/IntegrationTest.java.ejs +32 -19
- package/generators/server/templates/src/test/java/package/{repository/search/UserSearchRepositoryMockConfiguration.java.ejs → config/AsyncSyncConfiguration.java.ejs} +12 -10
- package/generators/server/templates/src/test/java/package/config/CassandraTestContainer.java.ejs +20 -1
- package/generators/{entity-server/templates/src/test/java/package/repository/search/EntitySearchRepositoryMockConfiguration.java.ejs → server/templates/src/test/java/package/config/ElasticsearchReactiveTestConfiguration.java.ejs} +14 -11
- package/generators/server/templates/src/test/java/package/config/ElasticsearchTestContainer.java.ejs +68 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedCassandra.java.ejs +19 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedElasticsearch.java.ejs +30 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedKafka.java.ejs +19 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedMongo.java.ejs +19 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedNeo4j.java.ejs +29 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedRedis.java.ejs +30 -0
- package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +11 -2
- package/generators/server/templates/src/test/java/package/config/KafkaTestContainer.java.ejs +19 -1
- package/generators/server/templates/src/test/java/package/config/MongoDbTestContainer.java.ejs +5 -5
- package/generators/server/templates/src/test/java/package/config/Neo4jTestContainer.java.ejs +66 -0
- package/generators/server/templates/src/test/java/package/config/RedisTestContainer.java.ejs +57 -0
- package/generators/server/templates/src/test/java/package/config/{NoOpMailConfiguration.java.ejs → SpringBootTestClassOrderer.java.ejs} +16 -16
- package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +166 -30
- package/generators/server/templates/src/test/java/package/config/WebConfigurerTest.java.ejs +0 -23
- package/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +5 -3
- package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +7 -15
- package/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +8 -11
- package/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +19 -73
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +0 -8
- package/generators/server/templates/src/test/java/package/web/rest/TestUtil.java.ejs +13 -10
- package/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +76 -51
- package/generators/server/templates/src/test/resources/config/application.yml.ejs +13 -62
- package/generators/server/templates/src/test/resources/junit-platform.properties.ejs +1 -0
- package/generators/server/templates/src/test/resources/templates/mail/activationEmail.html.ejs +19 -0
- package/generators/server/templates/src/test/resources/templates/mail/creationEmail.html.ejs +19 -0
- package/generators/server/templates/src/test/resources/templates/mail/passwordResetEmail.html.ejs +21 -0
- package/generators/spring-controller/index.js +16 -1
- package/generators/sql-constants.js +85 -0
- package/generators/statistics.js +6 -5
- package/generators/upgrade/index.js +1 -1
- package/generators/utils.js +32 -30
- package/generators/workspaces/index.js +31 -28
- package/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +2 -3
- package/jdl/converters/json-to-jdl-converter.js +23 -6
- package/jdl/exporters/applications/jhipster-application-formatter.js +7 -0
- package/jdl/jhipster/application-options.js +8 -0
- package/jdl/jhipster/default-application-options.js +2 -2
- package/jdl/parsing/lexer/application-tokens.js +6 -0
- package/jdl/parsing/validator.js +7 -0
- package/jdl/validators/application-validator.js +3 -1
- package/jdl/validators/jdl-with-application-validator.js +1 -0
- package/jdl/validators/jdl-without-application-validator.js +3 -2
- package/lib/support/base.cjs +43 -0
- package/lib/support/needles.cjs +221 -0
- package/lib/support/shared-data.cjs +2 -2
- package/package.json +29 -27
- package/utils/blueprint.js +1 -1
- package/utils/entity.js +9 -1
- package/utils/field.js +24 -11
- package/utils/liquibase.js +5 -8
- package/utils/relationship.js +3 -2
- package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-route.spec.tsx.ejs +0 -33
- package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-route.tsx.ejs +0 -17
- package/generators/cypress/templates/cypress-audits.json.ejs +0 -32
- package/generators/cypress/templates/cypress.json.ejs +0 -46
- package/generators/docker-compose/templates/realm-config/jhipster-users-0.json.ejs +0 -61
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/no-pagination-template.ejs +0 -81
- package/generators/server/templates/couchbase/src/test/java/package/CouchbaseTestContainerExtension.java.ejs +0 -56
- package/generators/server/templates/src/main/docker/config/realm-config/jhipster-users-0.json.ejs +0 -61
- package/generators/server/templates/src/test/java/package/AbstractNeo4jIT.java.ejs +0 -44
- package/generators/server/templates/src/test/java/package/ReactiveSqlTestContainerExtension.java.ejs +0 -79
- package/generators/server/templates/src/test/java/package/RedisTestContainerExtension.java.ejs +0 -44
- package/generators/server/templates/src/test/resources/testcontainers/mariadb/my.cnf +0 -2
package/generators/client/templates/vue/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs
CHANGED
|
@@ -16,6 +16,20 @@ export default class <%=jhiPrefixCapitalized%>GatewayComponent extends Vue {
|
|
|
16
16
|
this.updatingRoutes = true;
|
|
17
17
|
this.gatewayService().findAll().then((res) => {
|
|
18
18
|
this.gatewayRoutes = res.data;
|
|
19
|
+
<%_ if (serviceDiscoveryType === 'consul') { _%>
|
|
20
|
+
this.gatewayRoutes.serviceInstances = this.gatewayRoutes.serviceInstances.map(serviceInstance => {
|
|
21
|
+
if (serviceInstance.healthService && serviceInstance.healthService.checks) {
|
|
22
|
+
if (serviceInstance.healthService.checks.filter(
|
|
23
|
+
check => check.status === 'PASSING'
|
|
24
|
+
).length === serviceInstance.healthService.checks.length) {
|
|
25
|
+
serviceInstance.instanceInfo.status = 'UP'
|
|
26
|
+
} else {
|
|
27
|
+
serviceInstance.instanceInfo.status = 'DOWN'
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return serviceInstance;
|
|
31
|
+
});
|
|
32
|
+
<%_ } _%>
|
|
19
33
|
this.updatingRoutes = false;
|
|
20
34
|
});
|
|
21
35
|
}
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
</div>
|
|
79
79
|
<div class="row" v-if="!updatingMetrics">
|
|
80
80
|
<div class="col-md-4">Start time</div>
|
|
81
|
-
<div class="col-md-8 text-right">{{ metrics.processMetrics['process.start.time'] |
|
|
81
|
+
<div class="col-md-8 text-right">{{ metrics.processMetrics['process.start.time'] | formatDate }}</div>
|
|
82
82
|
</div>
|
|
83
83
|
<div class="row" v-if="!updatingMetrics">
|
|
84
84
|
<div class="col-md-9">Process CPU usage</div>
|
|
@@ -83,7 +83,7 @@ export default class <%=jhiPrefixCapitalized%>UserManagementEdit extends Vue {
|
|
|
83
83
|
if (this.userAccount.id) {
|
|
84
84
|
this.userManagementService().update(this.userAccount).then((res) => {
|
|
85
85
|
this.returnToList();
|
|
86
|
-
this.$root.$bvToast.toast(this.getMessageFromHeader(res).toString(), {
|
|
86
|
+
(this.$root as any).$bvToast.toast(this.getMessageFromHeader(res).toString(), {
|
|
87
87
|
toaster: 'b-toaster-top-center',
|
|
88
88
|
title: 'Info',
|
|
89
89
|
variant: 'info',
|
|
@@ -100,7 +100,7 @@ export default class <%=jhiPrefixCapitalized%>UserManagementEdit extends Vue {
|
|
|
100
100
|
<%_ } _%>
|
|
101
101
|
this.userManagementService().create(this.userAccount).then(res => {
|
|
102
102
|
this.returnToList();
|
|
103
|
-
this.$root.$bvToast.toast(this.getMessageFromHeader(res).toString(), {
|
|
103
|
+
(this.$root as any).$bvToast.toast(this.getMessageFromHeader(res).toString(), {
|
|
104
104
|
toaster: 'b-toaster-top-center',
|
|
105
105
|
title: 'Success',
|
|
106
106
|
variant: 'success',
|
|
@@ -11,8 +11,8 @@ import EntitiesMenu from '@/entities/entities-menu.vue';
|
|
|
11
11
|
components: {
|
|
12
12
|
'entities-menu': EntitiesMenu,
|
|
13
13
|
<%_ if (applicationTypeGateway && microfrontend) { _%>
|
|
14
|
-
<%_ for (const
|
|
15
|
-
'<%=
|
|
14
|
+
<%_ for (const microfrontend of microfrontends) { _%>
|
|
15
|
+
'<%= microfrontend.lowercaseBaseName %>-menu': () => import('@<%= microfrontend.lowercaseBaseName %>/entities-menu'),
|
|
16
16
|
<%_ } _%>
|
|
17
17
|
<%_ } _%>
|
|
18
18
|
},
|
|
@@ -94,7 +94,9 @@ export default class JhiNavbar extends Vue {
|
|
|
94
94
|
|
|
95
95
|
public hasAnyAuthority(authorities: any): boolean {
|
|
96
96
|
this.accountService().hasAnyAuthorityAndCheckAuth(authorities).then(value => {
|
|
97
|
-
this.hasAnyAuthorityValues[authorities]
|
|
97
|
+
if (this.hasAnyAuthorityValues[authorities] !== value) {
|
|
98
|
+
this.hasAnyAuthorityValues = { ...this.hasAnyAuthorityValues, [authorities]: value };
|
|
99
|
+
}
|
|
98
100
|
});
|
|
99
101
|
return this.hasAnyAuthorityValues[authorities] ?? false;
|
|
100
102
|
}
|
package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs
CHANGED
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
</span>
|
|
36
36
|
<entities-menu></entities-menu>
|
|
37
37
|
<%_ if (applicationTypeGateway && microfrontend) { _%>
|
|
38
|
-
<%_ for (const
|
|
39
|
-
<<%=
|
|
38
|
+
<%_ for (const microfrontend of microfrontends) { _%>
|
|
39
|
+
<<%= microfrontend.lowercaseBaseName %>-menu></<%= microfrontend.lowercaseBaseName %>-menu>
|
|
40
40
|
<%_ } _%>
|
|
41
41
|
<%_ } _%>
|
|
42
42
|
<!-- jhipster-needle-add-entity-to-menu - JHipster will add entities to the menu here -->
|
package/generators/client/templates/vue/src/main/webapp/app/shared/alert/alert.service.ts.ejs
CHANGED
|
@@ -7,7 +7,7 @@ export default class AlertService {
|
|
|
7
7
|
<%_ } else {_%>
|
|
8
8
|
const alertMessage = message;
|
|
9
9
|
<%_ } _%>
|
|
10
|
-
instance.$root.$bvToast.toast(alertMessage.toString(), {
|
|
10
|
+
(instance.$root as any).$bvToast.toast(alertMessage.toString(), {
|
|
11
11
|
toaster: 'b-toaster-top-center',
|
|
12
12
|
title: 'Error',
|
|
13
13
|
variant: 'danger',
|
|
@@ -13,12 +13,6 @@ export function initFilters() {
|
|
|
13
13
|
}
|
|
14
14
|
return '';
|
|
15
15
|
});
|
|
16
|
-
Vue.filter('formatMillis', value => {
|
|
17
|
-
if (value) {
|
|
18
|
-
return dayjs(value).format(DATE_TIME_FORMAT);
|
|
19
|
-
}
|
|
20
|
-
return '';
|
|
21
|
-
});
|
|
22
16
|
Vue.filter('duration', value => {
|
|
23
17
|
if (value) {
|
|
24
18
|
const formatted = dayjs.duration(value).humanize();
|
|
@@ -15,6 +15,7 @@ module.exports = {
|
|
|
15
15
|
'^.+\\.tsx?$': 'ts-jest',
|
|
16
16
|
},
|
|
17
17
|
moduleNameMapper: {
|
|
18
|
+
rxjs: '<rootDir>/node_modules/rxjs/dist/bundles/rxjs.umd.js',
|
|
18
19
|
'^@/(.*)$': '<rootDir>/<%= CLIENT_MAIN_SRC_DIR %>app/$1',
|
|
19
20
|
...pathsToModuleNameMapper(paths, { prefix: `<rootDir>/${baseUrl}/` }),
|
|
20
21
|
<%_ if (applicationTypeGateway && microfrontend) { _%>
|
|
@@ -41,7 +42,11 @@ module.exports = {
|
|
|
41
42
|
coverageThreshold: {
|
|
42
43
|
global: {
|
|
43
44
|
statements: 80,
|
|
45
|
+
<%_ if (microfrontend) { _%>
|
|
46
|
+
branches: 57,
|
|
47
|
+
<%_ } else { _%>
|
|
44
48
|
branches: 60,
|
|
49
|
+
<%_ } _%>
|
|
45
50
|
functions: 70,
|
|
46
51
|
lines: 80,
|
|
47
52
|
},
|
|
@@ -58,7 +58,7 @@ describe('Register Component', () => {
|
|
|
58
58
|
|
|
59
59
|
it('should open login modal when asked to', () => {
|
|
60
60
|
let called = false;
|
|
61
|
-
register.$root.$on('bv::show::modal', () => {
|
|
61
|
+
(register.$root as any).$on('bv::show::modal', () => {
|
|
62
62
|
called = true;
|
|
63
63
|
});
|
|
64
64
|
register.openLogin();
|
|
@@ -30,6 +30,10 @@ module.exports = (env, options) => {
|
|
|
30
30
|
},
|
|
31
31
|
// cheap-module-eval-source-map is faster for development
|
|
32
32
|
devtool: config.dev.devtool,
|
|
33
|
+
output: {
|
|
34
|
+
filename: 'app/[contenthash].bundle.js',
|
|
35
|
+
chunkFilename: 'app/[id].chunk.js'
|
|
36
|
+
},
|
|
33
37
|
optimization: {
|
|
34
38
|
moduleIds: 'named',
|
|
35
39
|
},
|
|
@@ -36,6 +36,10 @@ const webpackConfig = {
|
|
|
36
36
|
})
|
|
37
37
|
},
|
|
38
38
|
devtool: config.build.productionSourceMap ? config.build.devtool : false,
|
|
39
|
+
output: {
|
|
40
|
+
filename: 'app/[name].[contenthash].bundle.js',
|
|
41
|
+
chunkFilename: 'app/[id].[chunkhash].chunk.js'
|
|
42
|
+
},
|
|
39
43
|
optimization: {
|
|
40
44
|
moduleIds: 'deterministic',
|
|
41
45
|
minimizer: [
|
|
@@ -90,7 +94,10 @@ const webpackConfig = {
|
|
|
90
94
|
extractComments: false,
|
|
91
95
|
}),
|
|
92
96
|
// extract css into its own file
|
|
93
|
-
new MiniCssExtractPlugin(
|
|
97
|
+
new MiniCssExtractPlugin({
|
|
98
|
+
filename: 'content/[name].[contenthash].css',
|
|
99
|
+
chunkFilename: 'content/[id].css'
|
|
100
|
+
}),
|
|
94
101
|
// keep module.id stable when vendor modules does not change
|
|
95
102
|
new ForkTsCheckerWebpackPlugin(
|
|
96
103
|
{
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2013-2022 the original author or authors from the JHipster project.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of the JHipster project, see https://www.jhipster.tech/
|
|
5
|
+
* for more information.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
const PLACEHOLDER_REGEX = /(?:placeholder|title)=['|"](\{\{\s?['|"]([a-zA-Z0-9.\-_]+)['|"]\s?\|\s?translate\s?\}\})['|"]/.source;
|
|
20
|
+
|
|
21
|
+
const JHI_TRANSLATE_REGEX = /(\n?\s*[a-z][a-zA-Z]*Translate="[a-zA-Z0-9 +{}'_!?.]+")/.source;
|
|
22
|
+
const TRANSLATE_VALUES_REGEX = /(\n?\s*\[translateValues\]="\{(?:(?!\}").)*?\}")/.source;
|
|
23
|
+
const TRANSLATE_REGEX = [JHI_TRANSLATE_REGEX, TRANSLATE_VALUES_REGEX].join('|');
|
|
24
|
+
|
|
25
|
+
function getTranslationValue(generator, key, data) {
|
|
26
|
+
return (generator._getClientTranslation && generator._getClientTranslation(key, data)) || undefined;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Replace translation key with translation values
|
|
31
|
+
*
|
|
32
|
+
* @param {import('../generator-base.js')} generator
|
|
33
|
+
* @param {string} content
|
|
34
|
+
* @param {string} regexSource regular expression to find keys
|
|
35
|
+
* @param {object} [options]
|
|
36
|
+
* @param {number} [options.keyIndex]
|
|
37
|
+
* @param {number} [options.replacementIndex]
|
|
38
|
+
* @returns {string}
|
|
39
|
+
*/
|
|
40
|
+
function replaceTranslationKeysWithText(generator, content, regexSource, { keyIndex = 1, replacementIndex = 1 } = {}) {
|
|
41
|
+
const regex = new RegExp(regexSource, 'g');
|
|
42
|
+
let match = regex.exec(content);
|
|
43
|
+
while (match !== null) {
|
|
44
|
+
// match is now the next match, in array form and our key is at index 1, index 1 is replace target.
|
|
45
|
+
const key = match[keyIndex];
|
|
46
|
+
const target = match[replacementIndex];
|
|
47
|
+
const translation = getTranslationValue(generator, key) || generator.baseName;
|
|
48
|
+
content = content.replace(target, translation);
|
|
49
|
+
match = regex.exec(content);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return content;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @param {import('../generator-base.js')} generator reference to the generator
|
|
58
|
+
* @param {string} content html content
|
|
59
|
+
* @param {string} jsKey
|
|
60
|
+
* @returns string with pageTitle replaced
|
|
61
|
+
*/
|
|
62
|
+
function replaceJSTranslation(generator, content, jsKey) {
|
|
63
|
+
return replaceTranslationKeysWithText(generator, content, `${jsKey}\\s?:\\s?['|"]([a-zA-Z0-9.\\-_]+)['|"]`);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @param {import('../generator-base.js')} generator reference to the generator
|
|
69
|
+
* @param {string} content html content
|
|
70
|
+
* @returns string with pageTitle replaced
|
|
71
|
+
*/
|
|
72
|
+
function replacePageTitles(generator, content) {
|
|
73
|
+
return replaceJSTranslation(generator, content, 'pageTitle');
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* @type {function(import('../generator-base.js'), string): string}
|
|
78
|
+
*/
|
|
79
|
+
function replacePlaceholders(generator, content) {
|
|
80
|
+
return replaceTranslationKeysWithText(generator, content, PLACEHOLDER_REGEX, { keyIndex: 2 });
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Replace error code translation key with translated message
|
|
85
|
+
*
|
|
86
|
+
* @type {function(import('../generator-base.js'), string): string}
|
|
87
|
+
*/
|
|
88
|
+
function replaceErrorMessage(generator, content) {
|
|
89
|
+
return replaceJSTranslation(generator, content, 'errorMessage');
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Replace and cleanup translations.
|
|
94
|
+
*
|
|
95
|
+
* @type {import('../generator-base.js').EditFileCallback}
|
|
96
|
+
* @this {import('../generator-base.js')}
|
|
97
|
+
*/
|
|
98
|
+
function replaceAngularTranslations(content, filePath) {
|
|
99
|
+
if (this.enableTranslation) {
|
|
100
|
+
return content;
|
|
101
|
+
}
|
|
102
|
+
if (/\.html$/.test(filePath)) {
|
|
103
|
+
content = content.replace(new RegExp(TRANSLATE_REGEX, 'g'), '');
|
|
104
|
+
content = replacePlaceholders(this, content);
|
|
105
|
+
}
|
|
106
|
+
if (/(:?route|module)\.ts$/.test(filePath)) {
|
|
107
|
+
content = replacePageTitles(this, content);
|
|
108
|
+
}
|
|
109
|
+
if (/error\.route\.ts$/.test(filePath)) {
|
|
110
|
+
content = replaceErrorMessage(this, content);
|
|
111
|
+
}
|
|
112
|
+
return content;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
module.exports = {
|
|
116
|
+
replaceAngularTranslations,
|
|
117
|
+
};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2013-2022 the original author or authors from the JHipster project.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of the JHipster project, see https://www.jhipster.tech/
|
|
5
|
+
* for more information.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
const TRANSLATE_IMPORT_1 = /import { ?[T|t]ranslate(?:, ?[T|t]ranslate)? ?} from 'react-jhipster';?/.source; // Translate imports
|
|
20
|
+
const TRANSLATE_IMPORT_2 = / *[T|t]ranslate,|, ?[T|t]ranslate/.source; // Translate import
|
|
21
|
+
const TRANSLATE_IMPORT = [TRANSLATE_IMPORT_1, TRANSLATE_IMPORT_2].join('|');
|
|
22
|
+
|
|
23
|
+
const TRANSLATE_FUNCTION = /translate\(\s*'(?<key>[^']+)'(?:,\s*(?<interpolate>\{[^}]*\}))?\s*\)/g.source;
|
|
24
|
+
|
|
25
|
+
const CONTENT_TYPE_ATTRIBUTE = 'contentKey=(?:"(?<key>[^"]+)"|\\{[^\\}]+\\})\\s*';
|
|
26
|
+
const INTERPOLATE_ATTRIBUTE = 'interpolate=\\{(?<interpolate>\\{[^\\}]+\\})\\}\\s*';
|
|
27
|
+
const COMPONENT_ATTRIBUTE = 'component="(?<component>[^"]+)"\\s*';
|
|
28
|
+
const TRANSLATE_TAG = `<Translate\\s*(?:(?:${COMPONENT_ATTRIBUTE}|${INTERPOLATE_ATTRIBUTE}|${CONTENT_TYPE_ATTRIBUTE})+)>(?<translation>[\\s\\S]*?)<\\/Translate>`;
|
|
29
|
+
|
|
30
|
+
function getTranslationValue(generator, key, data) {
|
|
31
|
+
if (generator._getEntityClientTranslation) {
|
|
32
|
+
return generator._getEntityClientTranslation(key, data);
|
|
33
|
+
}
|
|
34
|
+
return (generator._getClientTranslation && generator._getClientTranslation(key, data)) || undefined;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const replaceTranslationKeysWithText = (generator, body, regexp, { keyPattern, interpolatePattern, wrapTranslation, escapeHtml } = {}) => {
|
|
38
|
+
const matches = body.matchAll(new RegExp(regexp, 'g'));
|
|
39
|
+
if (typeof wrapTranslation === 'string') {
|
|
40
|
+
wrapTranslation = [wrapTranslation, wrapTranslation];
|
|
41
|
+
}
|
|
42
|
+
for (const match of matches) {
|
|
43
|
+
const target = match[0];
|
|
44
|
+
|
|
45
|
+
let key = match.groups && match.groups.key;
|
|
46
|
+
if (!key && keyPattern) {
|
|
47
|
+
const keyMatch = target.match(new RegExp(keyPattern));
|
|
48
|
+
key = keyMatch && keyMatch.groups && keyMatch.groups.key;
|
|
49
|
+
}
|
|
50
|
+
if (!key) {
|
|
51
|
+
throw new Error(`Translation key not found for ${target}`);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
let interpolate = match.groups && match.groups.interpolate;
|
|
55
|
+
if (!interpolate && interpolatePattern) {
|
|
56
|
+
const interpolateMatch = target.match(new RegExp(interpolatePattern));
|
|
57
|
+
interpolate = interpolateMatch && interpolateMatch.groups && interpolateMatch.groups.interpolate;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
let data;
|
|
61
|
+
if (interpolate) {
|
|
62
|
+
const interpolateMatches = interpolate.matchAll(/(?<field>[^{\s:,}]+)(?::\s*(?<value>[^,}]+))?/g);
|
|
63
|
+
data = {};
|
|
64
|
+
for (const interpolateMatch of interpolateMatches) {
|
|
65
|
+
const field = interpolateMatch.groups.field;
|
|
66
|
+
let value = interpolateMatch.groups.value;
|
|
67
|
+
if (value === undefined) {
|
|
68
|
+
value = key;
|
|
69
|
+
}
|
|
70
|
+
value = value.trim();
|
|
71
|
+
if (/^\d+$/.test(value)) {
|
|
72
|
+
// convert integer
|
|
73
|
+
value = parseInt(value, 10);
|
|
74
|
+
} else if (/^'.*'$/.test(value) || /^".*"$/.test(value)) {
|
|
75
|
+
// extract string value
|
|
76
|
+
value = value.substring(1, value.length - 2);
|
|
77
|
+
} else {
|
|
78
|
+
// wrap expression
|
|
79
|
+
value = `{${value}}`;
|
|
80
|
+
}
|
|
81
|
+
data[field] = value;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const translation = getTranslationValue(generator, key, data);
|
|
86
|
+
|
|
87
|
+
let replacement = translation;
|
|
88
|
+
if (!replacement) {
|
|
89
|
+
replacement = wrapTranslation ? `${wrapTranslation[0]}${wrapTranslation[1]}` : '';
|
|
90
|
+
} else if (wrapTranslation) {
|
|
91
|
+
replacement = `${wrapTranslation[0]}${translation}${wrapTranslation[1]}`;
|
|
92
|
+
} else if (escapeHtml) {
|
|
93
|
+
// Escape specific chars
|
|
94
|
+
replacement = replacement.replace(/'/g, ''').replace(/"/g, '"');
|
|
95
|
+
}
|
|
96
|
+
body = body.replace(target, replacement);
|
|
97
|
+
}
|
|
98
|
+
return body;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Replace and cleanup translations.
|
|
103
|
+
*
|
|
104
|
+
* @type {import('../generator-base.js').EditFileCallback}
|
|
105
|
+
* @this {import('../generator-base.js')}
|
|
106
|
+
*/
|
|
107
|
+
function replaceReactTranslations(body, filePath) {
|
|
108
|
+
if (this.enableTranslation || !this._getClientTranslation) {
|
|
109
|
+
return body;
|
|
110
|
+
}
|
|
111
|
+
if (/\.tsx$/.test(filePath)) {
|
|
112
|
+
body = body.replace(new RegExp(TRANSLATE_IMPORT, 'g'), '');
|
|
113
|
+
body = replaceTranslationKeysWithText(this, body, `\\{\\s*${TRANSLATE_FUNCTION}\\s*\\}`, { wrapTranslation: '"' });
|
|
114
|
+
body = replaceTranslationKeysWithText(this, body, TRANSLATE_FUNCTION, { wrapTranslation: '"' });
|
|
115
|
+
body = replaceTranslationKeysWithText(this, body, TRANSLATE_TAG, {
|
|
116
|
+
keyPattern: CONTENT_TYPE_ATTRIBUTE,
|
|
117
|
+
interpolatePattern: INTERPOLATE_ATTRIBUTE,
|
|
118
|
+
escapeHtml: true,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return body;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
module.exports = {
|
|
125
|
+
replaceReactTranslations,
|
|
126
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2013-2022 the original author or authors from the JHipster project.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of the JHipster project, see https://www.jhipster.tech/
|
|
5
|
+
* for more information.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
const TRANSLATIONS_ATTRIBUTES = ['v-text', 'v-bind:placeholder', 'v-html', 'v-bind:title', 'v-bind:label', 'v-bind:value', 'v-bind:html']
|
|
21
|
+
.map(s => `(?:${s}="\\$t\\(.*?\\)")`)
|
|
22
|
+
.join('|');
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Replace and cleanup vue translations.
|
|
26
|
+
*
|
|
27
|
+
* @type {import('../generator-base.js').EditFileCallback}
|
|
28
|
+
* @this {import('../generator-base.js')}
|
|
29
|
+
*/
|
|
30
|
+
function replaceVueTranslations(body, filePath) {
|
|
31
|
+
if (this.enableTranslation || !this._getClientTranslation) {
|
|
32
|
+
return body;
|
|
33
|
+
}
|
|
34
|
+
if (/\.vue$/.test(filePath)) {
|
|
35
|
+
body = body.replace(new RegExp(`[\\s\\n]*(?:${TRANSLATIONS_ATTRIBUTES})`, 'g'), '');
|
|
36
|
+
}
|
|
37
|
+
return body;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
module.exports = {
|
|
41
|
+
replaceVueTranslations,
|
|
42
|
+
};
|
|
@@ -41,12 +41,10 @@ const commonFiles = {
|
|
|
41
41
|
{
|
|
42
42
|
file: 'gitattributes',
|
|
43
43
|
renameTo: () => '.gitattributes',
|
|
44
|
-
method: 'copy',
|
|
45
44
|
},
|
|
46
45
|
{
|
|
47
46
|
file: 'editorconfig',
|
|
48
47
|
renameTo: () => '.editorconfig',
|
|
49
|
-
method: 'copy',
|
|
50
48
|
},
|
|
51
49
|
{
|
|
52
50
|
file: 'sonar-project.properties',
|
|
@@ -58,12 +56,7 @@ const commonFiles = {
|
|
|
58
56
|
commitHooks: [
|
|
59
57
|
{
|
|
60
58
|
condition: generator => !generator.skipCommitHook,
|
|
61
|
-
templates: [
|
|
62
|
-
'.lintstagedrc.js',
|
|
63
|
-
{
|
|
64
|
-
file: '.husky/pre-commit',
|
|
65
|
-
},
|
|
66
|
-
],
|
|
59
|
+
templates: ['.lintstagedrc.js', '.husky/pre-commit'],
|
|
67
60
|
},
|
|
68
61
|
],
|
|
69
62
|
};
|
|
@@ -71,7 +64,7 @@ const commonFiles = {
|
|
|
71
64
|
function writeFiles() {
|
|
72
65
|
return {
|
|
73
66
|
writeFiles() {
|
|
74
|
-
return this.
|
|
67
|
+
return this.writeFiles({ sections: commonFiles });
|
|
75
68
|
},
|
|
76
69
|
};
|
|
77
70
|
}
|
|
@@ -37,7 +37,7 @@ let clientPackageMngrName = 'Npm';
|
|
|
37
37
|
let clientPackageMngrAddGlobal = 'install -g';
|
|
38
38
|
let clientPackageMngrAdd = 'install --save --save-exact';
|
|
39
39
|
let clientPackageMngrAddDev = 'install --save-dev --save-exact';
|
|
40
|
-
let DOCUMENTATION_ARCHIVE_URL = `${DOCUMENTATION_URL}`;
|
|
40
|
+
let DOCUMENTATION_ARCHIVE_URL = `${DOCUMENTATION_URL + DOCUMENTATION_ARCHIVE_PATH}v${jhipsterVersion}`;
|
|
41
41
|
_%>
|
|
42
42
|
This application was generated using JHipster <%= jhipsterVersion %>, you can find documentation and help at [<%= DOCUMENTATION_ARCHIVE_URL %>](<%= DOCUMENTATION_ARCHIVE_URL %>).
|
|
43
43
|
<%_ if (applicationTypeGateway || applicationTypeMicroservice) { _%>
|
|
@@ -50,7 +50,7 @@ This application is configured for Service Discovery and Configuration with <% i
|
|
|
50
50
|
|
|
51
51
|
Node is required for generation and recommended for development. `package.json` is always generated for a better development experience with prettier, commit hooks, scripts and so on.
|
|
52
52
|
|
|
53
|
-
In the project root, JHipster generates configuration files for tools like git, prettier, eslint,
|
|
53
|
+
In the project root, JHipster generates configuration files for tools like git, prettier, eslint, husky, and others that are well known and you can find references in the web.
|
|
54
54
|
|
|
55
55
|
<%_ if (configOptions.backendName === 'Java') { %>
|
|
56
56
|
`/src/*` structure follows default <%= configOptions.backendName %> structure.
|
|
@@ -109,7 +109,7 @@ spring:
|
|
|
109
109
|
client:
|
|
110
110
|
provider:
|
|
111
111
|
oidc:
|
|
112
|
-
issuer-uri: http://localhost:9080/
|
|
112
|
+
issuer-uri: http://localhost:9080/realms/jhipster
|
|
113
113
|
registration:
|
|
114
114
|
oidc:
|
|
115
115
|
client-id: web_app
|
|
@@ -117,6 +117,14 @@ spring:
|
|
|
117
117
|
scope: openid,profile,email
|
|
118
118
|
```
|
|
119
119
|
|
|
120
|
+
Some of Keycloak configuration is now done in build time and the other part before running the app, here is the [list](https://www.keycloak.org/server/all-config) of all build and configuration options.
|
|
121
|
+
|
|
122
|
+
Before moving to production, please make sure to follow this [guide](https://www.keycloak.org/server/configuration) for better security and performance.
|
|
123
|
+
|
|
124
|
+
Also, you should never use `start-dev` nor `KC_DB=dev-file` in production.
|
|
125
|
+
|
|
126
|
+
When using Kubernetes, importing should be done using init-containers (with a volume when using `db=dev-file`).
|
|
127
|
+
|
|
120
128
|
### Okta
|
|
121
129
|
|
|
122
130
|
If you'd like to use Okta instead of Keycloak, it's pretty quick using the [Okta CLI](https://cli.okta.com/). After you've installed it, run:
|
|
@@ -233,7 +241,7 @@ See Cypress' documentation for setting OS [environment variables](https://docs.c
|
|
|
233
241
|
<%_ } _%>
|
|
234
242
|
|
|
235
243
|
<%_ if (enableSwaggerCodegen) { _%>
|
|
236
|
-
### Doing API-First development using openapi-generator
|
|
244
|
+
### Doing API-First development using openapi-generator-cli
|
|
237
245
|
|
|
238
246
|
[OpenAPI-Generator]() is configured for this application. You can generate API code from the `src/main/resources/swagger/api.yml` definition file by running:
|
|
239
247
|
<%_ if (buildToolMaven) { _%>
|
|
@@ -399,7 +407,13 @@ You can also fully dockerize your application and all the services that it depen
|
|
|
399
407
|
To achieve this, first build a docker image of your app by running:
|
|
400
408
|
|
|
401
409
|
```
|
|
402
|
-
|
|
410
|
+
npm run java:docker
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
Or build a arm64 docker image when using an arm64 processor os like MacOS with M1 processor family running:
|
|
414
|
+
|
|
415
|
+
```
|
|
416
|
+
npm run java:docker:arm64
|
|
403
417
|
```
|
|
404
418
|
|
|
405
419
|
Then run:
|
|
@@ -408,6 +422,8 @@ Then run:
|
|
|
408
422
|
docker-compose -f src/main/docker/app.yml up -d
|
|
409
423
|
```
|
|
410
424
|
|
|
425
|
+
When running Docker Desktop on MacOS Big Sur or later, consider enabling experimental `Use the new Virtualization framework` for better processing performance ([disk access performance is worse](https://github.com/docker/roadmap/issues/7)).
|
|
426
|
+
|
|
411
427
|
For more information refer to [Using Docker and Docker-Compose][], this page also contains information on the docker-compose sub-generator (`jhipster docker-compose`), which is able to generate docker configurations for one or several JHipster applications.
|
|
412
428
|
|
|
413
429
|
## Continuous Integration (optional)
|