generator-jhipster 8.9.0 → 8.11.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/README.md +1 -1
- package/dist/cli/cli.mjs +0 -13
- package/dist/cli/download.mjs +2 -3
- package/dist/cli/environment-builder.mjs +5 -3
- package/dist/generators/angular/generator.d.ts +10 -1
- package/dist/generators/angular/resources/package.json +27 -27
- package/dist/generators/angular/templates/README.md.jhi.client.angular.ejs +1 -1
- package/dist/generators/angular/templates/eslint.config.js.jhi.angular.ejs +4 -6
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +6 -4
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +8 -13
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/app-page-title-strategy.ts.ejs +1 -3
- package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.ts.ejs +1 -2
- package/dist/generators/angular/templates/src/main/webapp/app/core/util/data-util.service.spec.ts.ejs +0 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +4 -5
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +7 -7
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +8 -6
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +8 -8
- package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.service.ts.ejs +3 -3
- package/dist/generators/app/generator.d.ts +4 -1
- package/dist/generators/base/api.d.ts +3 -1
- package/dist/generators/base/shared-data.js +1 -0
- package/dist/generators/base/support/contents.d.ts +10 -1
- package/dist/generators/base/support/contents.js +9 -0
- package/dist/generators/base/support/index.d.ts +1 -0
- package/dist/generators/base/support/index.js +1 -0
- package/dist/generators/base/support/needles.d.ts +14 -5
- package/dist/generators/base/support/needles.js +21 -17
- package/dist/generators/base/support/os.d.ts +1 -0
- package/dist/generators/base/support/os.js +20 -0
- package/dist/generators/base/support/write-files.d.ts +18 -0
- package/dist/generators/base/support/write-files.js +0 -26
- package/dist/generators/base-application/support/prepare-entity.js +14 -26
- package/dist/generators/base-application/support/update-application-entities-transform.js +3 -2
- package/dist/generators/base-application/types.d.ts +5 -0
- package/dist/generators/base-core/generator.js +7 -4
- package/dist/generators/bootstrap/generator.d.ts +6 -1
- package/dist/generators/bootstrap/generator.js +31 -2
- package/dist/generators/bootstrap/support/auto-crlf-transform.js +2 -2
- package/dist/generators/bootstrap/support/eslint-worker.js +5 -2
- package/dist/generators/bootstrap-application/generator.d.ts +4 -1
- package/dist/generators/bootstrap-application-base/generator.d.ts +12 -2
- package/dist/generators/bootstrap-application-base/generator.js +4 -3
- package/dist/generators/bootstrap-application-client/generator.d.ts +3 -1
- package/dist/generators/bootstrap-application-server/generator.d.ts +8 -1
- package/dist/generators/bootstrap-workspaces/generator.d.ts +9 -1
- package/dist/generators/ci-cd/generator.d.ts +6 -1
- package/dist/generators/client/generator.d.ts +13 -1
- package/dist/generators/client/generators/common/generator.d.ts +1 -1
- package/dist/generators/client/resources/package.json +5 -5
- package/dist/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs +8 -6
- package/dist/generators/common/generator.d.ts +8 -1
- package/dist/generators/common/resources/package.json +2 -2
- package/dist/generators/cucumber/generator.d.ts +2 -1
- package/dist/generators/cypress/generator.d.ts +7 -1
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/logout.cy.ts.ejs +11 -3
- package/dist/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +4 -4
- package/dist/generators/docker/generator.d.ts +4 -1
- package/dist/generators/docker-compose/generator.d.ts +23 -1
- package/dist/generators/entities/generator.d.ts +4 -1
- package/dist/generators/entity/generator.d.ts +5 -1
- package/dist/generators/export-jdl/generator.d.ts +3 -1
- package/dist/generators/feign-client/generator.d.ts +2 -1
- package/dist/generators/feign-client/templates/src/test/java/_package_/client/AuthorizationHeaderUtilTest.java.ejs +1 -1
- package/dist/generators/gatling/generator.d.ts +3 -1
- package/dist/generators/generate-blueprint/constants.d.ts +1 -1
- package/dist/generators/generate-blueprint/constants.js +1 -1
- package/dist/generators/generate-blueprint/files.js +2 -2
- package/dist/generators/generate-blueprint/generator.d.ts +10 -1
- package/dist/generators/generate-blueprint/generator.js +16 -16
- package/dist/generators/generate-blueprint/resources/package.json +3 -3
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +1 -1
- package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +1 -0
- package/dist/generators/generator-constants.d.ts +1 -1
- package/dist/generators/generator-constants.js +2 -2
- package/dist/generators/git/generator.d.ts +5 -1
- package/dist/generators/gradle/generator.d.ts +5 -1
- package/dist/generators/gradle/generators/code-quality/generator.d.ts +2 -1
- package/dist/generators/gradle/generators/jib/generator.d.ts +2 -1
- package/dist/generators/gradle/generators/node-gradle/generator.d.ts +2 -1
- package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/dist/generators/heroku/generator.d.ts +6 -1
- package/dist/generators/info/generator.d.ts +1 -1
- package/dist/generators/init/generator.d.ts +2 -1
- package/dist/generators/init/resources/.node-version +1 -1
- package/dist/generators/java/generators/bootstrap/generator.d.ts +8 -2
- package/dist/generators/java/generators/bootstrap/generator.js +17 -3
- package/dist/generators/java/generators/build-tool/generator.d.ts +2 -1
- package/dist/generators/java/generators/code-quality/generator.d.ts +2 -1
- package/dist/generators/java/generators/domain/generator.d.ts +6 -1
- package/dist/generators/java/generators/graalvm/generator.d.ts +6 -1
- package/dist/generators/java/generators/graalvm/internal/constants.d.ts +1 -1
- package/dist/generators/java/generators/graalvm/internal/constants.js +2 -2
- package/dist/generators/java/generators/graalvm/resources/gradle/libs.versions.toml +1 -1
- package/dist/generators/java/generators/jib/generator.d.ts +2 -1
- package/dist/generators/java/generators/node/generator.d.ts +4 -1
- package/dist/generators/java/generators/node/generator.js +2 -1
- package/dist/generators/java/generators/openapi-generator/generator.d.ts +2 -1
- package/dist/generators/java/generators/server/generator.d.ts +1 -1
- package/dist/generators/java/support/index.d.ts +2 -0
- package/dist/generators/java/support/index.js +2 -0
- package/dist/generators/java/support/java-enum.d.ts +8 -0
- package/dist/generators/java/support/java-enum.js +20 -0
- package/dist/generators/java/support/java-file-edit.d.ts +18 -0
- package/dist/generators/java/support/java-file-edit.js +94 -0
- package/dist/generators/java/types.d.ts +37 -1
- package/dist/generators/javascript/generators/bootstrap/generator.d.ts +4 -1
- package/dist/generators/javascript/generators/eslint/generator.d.ts +4 -1
- package/dist/generators/javascript/generators/eslint/templates/eslint.config.js.jhi.ejs +8 -0
- package/dist/generators/javascript/generators/husky/generator.d.ts +3 -1
- package/dist/generators/javascript/generators/prettier/generator.d.ts +4 -1
- package/dist/generators/javascript/resources/package.json +3 -3
- package/dist/generators/jdl/generator.d.ts +3 -1
- package/dist/generators/kubernetes/generator.d.ts +25 -19
- package/dist/generators/kubernetes-helm/generator.d.ts +18 -12
- package/dist/generators/kubernetes-knative/generator.d.ts +14 -8
- package/dist/generators/languages/generator.d.ts +9 -1
- package/dist/generators/languages/support/languages.js +1 -0
- package/dist/generators/languages/templates/entity/i18n/entity_he.json.ejs +78 -0
- package/dist/generators/languages/templates/src/main/resources/i18n/messages_he.properties.ejs +41 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/activate.json.ejs +27 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/configuration.json +11 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/error.json +15 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/gateway.json +16 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/global.json.ejs +172 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/health.json.ejs +75 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/home.json.ejs +20 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/login.json +20 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/logs.json +12 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/metrics.json +103 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/password.json +13 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/register.json +25 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/reset.json.ejs +45 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/sessions.json +16 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/settings.json +33 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/tracker.json +13 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/user-management.json +32 -0
- package/dist/generators/languages/templates/src/test/resources/i18n/messages_he.properties.ejs +4 -0
- package/dist/generators/liquibase/generator.d.ts +9 -1
- package/dist/generators/liquibase/generator.js +3 -19
- package/dist/generators/maven/generator.d.ts +6 -1
- package/dist/generators/maven/generators/code-quality/generator.d.ts +1 -1
- package/dist/generators/maven/generators/frontend-plugin/generator.d.ts +1 -1
- package/dist/generators/maven/generators/jib/generator.d.ts +1 -1
- package/dist/generators/project-name/generator.d.ts +3 -1
- package/dist/generators/react/generator.d.ts +15 -1
- package/dist/generators/react/resources/package.json +34 -34
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-delete-dialog.tsx.ejs +2 -1
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +4 -4
- package/dist/generators/react/templates/src/main/webapp/app/entities/menu.tsx.ejs +2 -2
- package/dist/generators/react/templates/src/main/webapp/app/entities/routes.tsx.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/modules/administration/administration.reducer.spec.ts.ejs +0 -6
- package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/application-profile.spec.ts.ejs +0 -6
- package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +0 -47
- package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/shared/util/entity-utils.ts.ejs +1 -1
- package/dist/generators/server/generator.d.ts +7 -1
- package/dist/generators/server/resources/Dockerfile +17 -17
- package/dist/generators/server/resources/gradle/libs.versions.toml +15 -15
- package/dist/generators/server/resources/pom.xml +16 -16
- package/dist/generators/server/types.d.ts +22 -0
- package/dist/generators/spring-boot/generator.d.ts +14 -2
- package/dist/generators/spring-boot/generator.js +35 -4
- package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +158 -148
- package/dist/generators/spring-boot/templates/src/main/java/_package_/Application.java.ejs +11 -0
- package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +12 -23
- package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +0 -1
- package/dist/generators/spring-boot/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +61 -5
- package/dist/generators/spring-boot/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +29 -1
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +7 -6
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +8 -6
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +8 -6
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +17 -11
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/errors/ExceptionTranslator.java.ejs +8 -3
- package/dist/generators/spring-boot/templates/src/main/resources/config/application.yml.ejs +3 -0
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +3 -3
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +4 -4
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +4 -4
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +3 -3
- package/dist/generators/spring-boot/templates/src/test/java/_package_/config/JHipsterBlockHoundIntegration.java.ejs +0 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/config/WebConfigurerTest.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/management/SecurityMetersServiceTests.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +2 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_imperative.java.ejs +35 -11
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_reactive.java.ejs +35 -6
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/JwtAuthenticationTestUtils.java.ejs +3 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TestAuthenticationResource.java.ejs +5 -5
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TokenAuthenticationIT.java.ejs +2 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.java.ejs +1 -4
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/oauth2/CustomClaimConverterIT.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/service/MailServiceIT.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_imperative.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_reactive.java.ejs +1 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +9 -15
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +8 -17
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT_skipUserManagement.java.ejs +6 -15
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/LogoutResourceIT.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +1 -1
- package/dist/generators/spring-cache/cleanup.d.ts +2 -20
- package/dist/generators/spring-cache/cleanup.js +24 -2
- package/dist/generators/spring-cache/files.js +0 -6
- package/dist/generators/spring-cache/generator.d.ts +5 -1
- package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
- package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +0 -14
- package/dist/generators/spring-cloud/generators/gateway/generator.d.ts +5 -1
- package/dist/generators/spring-cloud-stream/generator.d.ts +2 -1
- package/dist/generators/spring-cloud-stream/generators/kafka/generator.d.ts +2 -1
- package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +1 -1
- package/dist/generators/spring-cloud-stream/generators/pulsar/generator.d.ts +2 -1
- package/dist/generators/spring-data-cassandra/generator.d.ts +4 -1
- package/dist/generators/spring-data-couchbase/generator.d.ts +9 -1
- package/dist/generators/spring-data-elasticsearch/generator.d.ts +10 -1
- package/dist/generators/spring-data-mongodb/generator.d.ts +9 -1
- package/dist/generators/spring-data-neo4j/generator.d.ts +11 -1
- package/dist/generators/spring-data-relational/generator.d.ts +11 -1
- package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/timezone/HibernateTimeZoneIT.java.ejs +2 -2
- package/dist/generators/spring-websocket/generator.d.ts +2 -1
- package/dist/generators/upgrade/generator.d.ts +3 -1
- package/dist/generators/vue/cleanup.js +7 -1
- package/dist/generators/vue/files-vue.js +3 -8
- package/dist/generators/vue/generator.d.ts +9 -1
- package/dist/generators/vue/resources/package.json +31 -31
- package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +9 -9
- package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +21 -7
- package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +23 -9
- package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/change-password/change-password.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.component.spec.ts.ejs +22 -10
- package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +24 -5
- package/dist/generators/vue/templates/src/main/webapp/app/account/login-modal.ts.ejs +38 -0
- package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.spec.ts.ejs +0 -4
- package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.ts.ejs +3 -25
- package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.spec.ts.ejs +24 -8
- package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.ts.ejs +23 -9
- package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.spec.ts.ejs +20 -4
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.ts.ejs +23 -13
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/settings/settings.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/gateway/gateway.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/health/health.service.ts.ejs +10 -10
- package/dist/generators/vue/templates/src/main/webapp/app/admin/logs/logs.service.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics-modal.vue.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +5 -5
- package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.service.ts.ejs +6 -6
- package/dist/generators/vue/templates/src/main/webapp/app/app.component.ts.ejs +29 -7
- package/dist/generators/vue/templates/src/main/webapp/app/app.vue.ejs +19 -1
- package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.spec.ts.ejs +66 -51
- package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.ts.ejs +30 -8
- package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.spec.ts.ejs +41 -11
- package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.ts.ejs +10 -11
- package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.vue.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +43 -16
- package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +14 -9
- package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.ts.ejs +7 -7
- package/dist/generators/vue/templates/src/main/webapp/app/entities/user/user.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/locale/translation.service.ts.ejs +5 -5
- package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +18 -14
- package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.ts.ejs +4 -4
- package/dist/generators/workspaces/generator.d.ts +7 -1
- package/dist/generators/workspaces/support/applications-lookup.js +2 -2
- package/dist/lib/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +1 -1
- package/dist/lib/jdl/core/built-in-options/binary-options.d.ts +12 -1
- package/dist/lib/testing/apply-patch-to-template.d.ts +13 -0
- package/dist/lib/testing/apply-patch-to-template.js +90 -0
- package/dist/lib/testing/github.js +6 -3
- package/dist/lib/testing/helpers.d.ts +1 -0
- package/dist/lib/testing/helpers.js +15 -0
- package/dist/lib/utils/yo-rc.d.ts +3 -219
- package/package.json +36 -37
- package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheFactoryConfiguration.java.ejs +0 -49
|
@@ -50,7 +50,7 @@ describe('<%= entityAngularName %> Management Delete Component', () => {
|
|
|
50
50
|
});
|
|
51
51
|
|
|
52
52
|
describe('confirmDelete', () => {
|
|
53
|
-
it('
|
|
53
|
+
it('should call delete service on confirmDelete',
|
|
54
54
|
inject([],
|
|
55
55
|
fakeAsync(() => {
|
|
56
56
|
// GIVEN
|
|
@@ -67,7 +67,7 @@ describe('<%= entityAngularName %> Management Delete Component', () => {
|
|
|
67
67
|
)
|
|
68
68
|
);
|
|
69
69
|
|
|
70
|
-
it('
|
|
70
|
+
it('should not call delete service on clear', () => {
|
|
71
71
|
// GIVEN
|
|
72
72
|
jest.spyOn(service, 'delete');
|
|
73
73
|
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
|
|
25
25
|
<hr>
|
|
26
26
|
|
|
27
|
-
<<%= jhiPrefixDashed %>-alert-error
|
|
27
|
+
<<%= jhiPrefixDashed %>-alert-error />
|
|
28
28
|
|
|
29
|
-
<<%= jhiPrefixDashed %>-alert
|
|
29
|
+
<<%= jhiPrefixDashed %>-alert />
|
|
30
30
|
|
|
31
31
|
<dl class="row-md jh-entity-details">
|
|
32
32
|
<%_ for (const field of fields.filter(field => !field.hidden)) {
|
|
@@ -68,7 +68,7 @@ describe('<%= entityAngularName %> Management Detail Component', () => {
|
|
|
68
68
|
});
|
|
69
69
|
|
|
70
70
|
describe('OnInit', () => {
|
|
71
|
-
it('
|
|
71
|
+
it('should load <%= entityInstance %> on init', async () => {
|
|
72
72
|
const harness = await RouterTestingHarness.create();
|
|
73
73
|
const instance = await harness.navigateByUrl('/', <%= entityAngularName %>DetailComponent);
|
|
74
74
|
|
|
@@ -78,7 +78,7 @@ describe('<%= entityAngularName %> Management Detail Component', () => {
|
|
|
78
78
|
});
|
|
79
79
|
|
|
80
80
|
describe('PreviousState', () => {
|
|
81
|
-
it('
|
|
81
|
+
it('should navigate to previous state', () => {
|
|
82
82
|
jest.spyOn(window.history, 'back');
|
|
83
83
|
comp.previousState();
|
|
84
84
|
expect(window.history.back).toHaveBeenCalled();
|
|
@@ -87,7 +87,7 @@ describe('<%= entityAngularName %> Management Detail Component', () => {
|
|
|
87
87
|
|
|
88
88
|
<%_ if (anyFieldIsBlobDerived) { _%>
|
|
89
89
|
describe('byteSize', () => {
|
|
90
|
-
it('
|
|
90
|
+
it('should call byteSize from DataUtils', () => {
|
|
91
91
|
// GIVEN
|
|
92
92
|
jest.spyOn(dataUtils, 'byteSize');
|
|
93
93
|
const fakeBase64 = 'fake base64';
|
|
@@ -101,9 +101,8 @@ describe('<%= entityAngularName %> Management Detail Component', () => {
|
|
|
101
101
|
});
|
|
102
102
|
|
|
103
103
|
describe('openFile', () => {
|
|
104
|
-
it('
|
|
104
|
+
it('should call openFile from DataUtils', () => {
|
|
105
105
|
const newWindow = { ...window };
|
|
106
|
-
newWindow.document.write = jest.fn();
|
|
107
106
|
window.open = jest.fn(() => newWindow);
|
|
108
107
|
window.onload = jest.fn(() => newWindow) as any;
|
|
109
108
|
window.URL.createObjectURL = jest.fn() as any;
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
</div>
|
|
36
36
|
</h2>
|
|
37
37
|
|
|
38
|
-
<<%= jhiPrefixDashed %>-alert-error
|
|
38
|
+
<<%= jhiPrefixDashed %>-alert-error />
|
|
39
39
|
|
|
40
|
-
<<%= jhiPrefixDashed %>-alert
|
|
40
|
+
<<%= jhiPrefixDashed %>-alert />
|
|
41
41
|
<%_ if (searchEngineAny) { _%>
|
|
42
42
|
|
|
43
43
|
<form name="searchForm" class="row row-cols-sm-auto align-items-center">
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
<%_ } _%>
|
|
62
62
|
|
|
63
63
|
<%_ if (jpaMetamodelFiltering && paginationPagination) { _%>
|
|
64
|
-
<<%= jhiPrefixDashed %>-filter [filters]="filters"
|
|
64
|
+
<<%= jhiPrefixDashed %>-filter [filters]="filters" />
|
|
65
65
|
<%_ } _%>
|
|
66
66
|
|
|
67
67
|
@if (<%= entityInstancePlural %>().length === 0) {
|
|
@@ -221,7 +221,7 @@ _%>
|
|
|
221
221
|
@if (<%= entityInstancePlural %>().length > 0) {
|
|
222
222
|
<div>
|
|
223
223
|
<div class="d-flex justify-content-center">
|
|
224
|
-
<<%= jhiPrefixDashed %>-item-count [params]="{ page
|
|
224
|
+
<<%= jhiPrefixDashed %>-item-count [params]="{ page, totalItems, itemsPerPage }" />
|
|
225
225
|
</div>
|
|
226
226
|
|
|
227
227
|
<div class="d-flex justify-content-center">
|
|
@@ -124,7 +124,7 @@ describe('<%= entityAngularName %> Management Component', () => {
|
|
|
124
124
|
);
|
|
125
125
|
});
|
|
126
126
|
|
|
127
|
-
it('
|
|
127
|
+
it('should call load all on init', () => {
|
|
128
128
|
// WHEN
|
|
129
129
|
comp.ngOnInit();
|
|
130
130
|
|
|
@@ -134,7 +134,7 @@ describe('<%= entityAngularName %> Management Component', () => {
|
|
|
134
134
|
});
|
|
135
135
|
|
|
136
136
|
describe('track<%= primaryKey.nameCapitalized %>', () => {
|
|
137
|
-
it('
|
|
137
|
+
it('should forward to <%= entityInstance %>Service', () => {
|
|
138
138
|
const entity = <%- tsPrimaryKeySamples[0] %>;
|
|
139
139
|
jest.spyOn(service, 'get<%= entityAngularName %>Identifier');
|
|
140
140
|
const <%= primaryKey.name %> = comp.track<%= primaryKey.nameCapitalized %>(entity);
|
|
@@ -208,7 +208,7 @@ describe('<%= entityAngularName %> Service', () => {
|
|
|
208
208
|
});
|
|
209
209
|
|
|
210
210
|
describe('compare<%= entityAngularName %>', () => {
|
|
211
|
-
it('
|
|
211
|
+
it('should return true if both entities are null', () => {
|
|
212
212
|
const entity1 = null;
|
|
213
213
|
const entity2 = null;
|
|
214
214
|
|
|
@@ -217,7 +217,7 @@ describe('<%= entityAngularName %> Service', () => {
|
|
|
217
217
|
expect(compareResult).toEqual(true);
|
|
218
218
|
});
|
|
219
219
|
|
|
220
|
-
it('
|
|
220
|
+
it('should return false if one entity is null', () => {
|
|
221
221
|
const entity1 = <%- tsPrimaryKeySamples[0] %>;
|
|
222
222
|
const entity2 = null;
|
|
223
223
|
|
|
@@ -228,7 +228,7 @@ describe('<%= entityAngularName %> Service', () => {
|
|
|
228
228
|
expect(compareResult2).toEqual(false);
|
|
229
229
|
});
|
|
230
230
|
|
|
231
|
-
it('
|
|
231
|
+
it('should return false if primaryKey differs', () => {
|
|
232
232
|
const entity1 = <%- tsPrimaryKeySamples[0] %>;
|
|
233
233
|
const entity2 = <%- tsPrimaryKeySamples[1] %>;
|
|
234
234
|
|
|
@@ -239,7 +239,7 @@ describe('<%= entityAngularName %> Service', () => {
|
|
|
239
239
|
expect(compareResult2).toEqual(false);
|
|
240
240
|
});
|
|
241
241
|
|
|
242
|
-
it('
|
|
242
|
+
it('should return false if primaryKey matches', () => {
|
|
243
243
|
const entity1 = <%- tsPrimaryKeySamples[0] %>;
|
|
244
244
|
const entity2 = <%- tsPrimaryKeySamples[0] %>;
|
|
245
245
|
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
<h2 id="<%= jhiPrefixDashed %>-<%= entityFileName %>-heading" data-cy="<%= entityClass %>CreateUpdateHeading">__jhiTranslateTag__('<%- i18nKeyPrefix %>.home.createOrEditLabel')</h2>
|
|
23
23
|
|
|
24
24
|
<div>
|
|
25
|
-
<<%= jhiPrefixDashed %>-alert-error
|
|
25
|
+
<<%= jhiPrefixDashed %>-alert-error />
|
|
26
26
|
<%_ for (const field of fields.filter(field => !field.hidden)) {
|
|
27
27
|
const fieldName = field.fieldName;
|
|
28
28
|
const fieldNameHumanized = field.fieldNameHumanized;
|
|
@@ -177,7 +177,7 @@ _%>
|
|
|
177
177
|
<option [ngValue]="null" selected></option>
|
|
178
178
|
}
|
|
179
179
|
<%_ } else { _%>
|
|
180
|
-
@if (editForm.get(['<%- relationship.propertyName %>'])!.value
|
|
180
|
+
@if (editForm.get(['<%- relationship.propertyName %>'])!.value === null) {
|
|
181
181
|
<option [ngValue]="null" selected></option>
|
|
182
182
|
}
|
|
183
183
|
<%_ } _%>
|
|
@@ -90,7 +90,7 @@ describe('<%= entityAngularName %> Management Update Component', () => {
|
|
|
90
90
|
<%_ const relationshipsWithCustomSharedOptions = relationshipsByEntityNeedingOptions.filter(rel => !relationshipsWithCustomUniqueOptions.includes(rel)); _%>
|
|
91
91
|
<%_ if (relationshipsWithCustomSharedOptions.length > 0) { _%>
|
|
92
92
|
<%_ const otherEntity = relationshipsByEntityNeedingOptions[0].otherEntity; _%>
|
|
93
|
-
it('
|
|
93
|
+
it('should call <%= otherEntity.entityAngularName %> query and add missing value', () => {
|
|
94
94
|
const <%= entityInstance %> : I<%= entityAngularName %> = <%- testEntityPrimaryKey1 %>;
|
|
95
95
|
<%_ for (const relationship of relationshipsWithCustomSharedOptions) { _%>
|
|
96
96
|
<%_ const reference = relationship.reference _%>
|
|
@@ -128,7 +128,7 @@ describe('<%= entityAngularName %> Management Update Component', () => {
|
|
|
128
128
|
<%_ for (const relationship of relationshipsWithCustomUniqueOptions) { %>
|
|
129
129
|
<%_ const otherEntity = relationship.otherEntity _%>
|
|
130
130
|
<%_ const reference = relationship.reference _%>
|
|
131
|
-
it('
|
|
131
|
+
it('should call <%= reference.name %> query and add missing value', () => {
|
|
132
132
|
const <%= entityInstance %> : I<%= entityAngularName %> = <%- testEntityPrimaryKey1 %>;
|
|
133
133
|
const <%= reference.name %> : I<%= otherEntity.entityAngularName %> = <%- otherEntity.tsPrimaryKeySamples[0] %>;
|
|
134
134
|
<%= entityInstance %>.<%= reference.name %> = <%= reference.name %>;
|
|
@@ -148,7 +148,7 @@ describe('<%= entityAngularName %> Management Update Component', () => {
|
|
|
148
148
|
|
|
149
149
|
<%_ } _%>
|
|
150
150
|
<%_ } _%>
|
|
151
|
-
it('
|
|
151
|
+
it('should update editForm', () => {
|
|
152
152
|
const <%= entityInstance %>: I<%= entityAngularName %> = <%- testEntityPrimaryKey1 %>;
|
|
153
153
|
<%_ for (const relationshipsByEntityNeedingOptions of allRelationshipsByEntityNeedingOptions) { _%>
|
|
154
154
|
<%_ for (const relationship of relationshipsByEntityNeedingOptions) { _%>
|
|
@@ -174,7 +174,7 @@ describe('<%= entityAngularName %> Management Update Component', () => {
|
|
|
174
174
|
|
|
175
175
|
describe('save', () => {
|
|
176
176
|
<%_ if (updatableEntity) { _%>
|
|
177
|
-
it('
|
|
177
|
+
it('should call update service on save for existing entity', () => {
|
|
178
178
|
// GIVEN
|
|
179
179
|
const saveSubject = new Subject<HttpResponse<I<%= entityAngularName %>>>();
|
|
180
180
|
const <%= entityInstance %> = <%- testEntityPrimaryKey0 %>;
|
|
@@ -198,7 +198,7 @@ describe('<%= entityAngularName %> Management Update Component', () => {
|
|
|
198
198
|
});
|
|
199
199
|
|
|
200
200
|
<%_ } _%>
|
|
201
|
-
it('
|
|
201
|
+
it('should call create service on save for new entity', () => {
|
|
202
202
|
// GIVEN
|
|
203
203
|
const saveSubject = new Subject<HttpResponse<I<%= entityAngularName %>>>();
|
|
204
204
|
const <%= entityInstance %> = <%- testEntityPrimaryKey0 %>;
|
|
@@ -222,7 +222,7 @@ describe('<%= entityAngularName %> Management Update Component', () => {
|
|
|
222
222
|
});
|
|
223
223
|
<%_ if (updatableEntity) { _%>
|
|
224
224
|
|
|
225
|
-
it('
|
|
225
|
+
it('should set isSaving to false on error', () => {
|
|
226
226
|
// GIVEN
|
|
227
227
|
const saveSubject = new Subject<HttpResponse<I<%= entityAngularName %>>>();
|
|
228
228
|
const <%= entityInstance %> = <%- testEntityPrimaryKey0 %>;
|
|
@@ -253,7 +253,7 @@ _%>
|
|
|
253
253
|
const { otherEntity } = relationship[0];
|
|
254
254
|
_%>
|
|
255
255
|
describe('compare<%= otherEntity.entityAngularName %>', () => {
|
|
256
|
-
it('
|
|
256
|
+
it('should forward to <%= otherEntity.entityInstance %>Service', () => {
|
|
257
257
|
const entity = <%- otherEntity.tsPrimaryKeySamples[0] %>;
|
|
258
258
|
const entity2 = <%- otherEntity.tsPrimaryKeySamples[1] %>;
|
|
259
259
|
jest.spyOn(<%= otherEntity.entityInstance %>Service, 'compare<%= otherEntity.entityAngularName %>');
|
package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs
CHANGED
|
@@ -90,7 +90,7 @@ describe('Home Component', () => {
|
|
|
90
90
|
});
|
|
91
91
|
|
|
92
92
|
describe('ngOnInit', () => {
|
|
93
|
-
it('
|
|
93
|
+
it('should synchronize account variable with current account', () => {
|
|
94
94
|
<%_ if (!authenticationTypeOauth2) { _%>
|
|
95
95
|
// GIVEN
|
|
96
96
|
const authenticationState = new Subject<Account | null>();
|
|
@@ -128,7 +128,7 @@ describe('Home Component', () => {
|
|
|
128
128
|
|
|
129
129
|
describe('login', () => {
|
|
130
130
|
<%_ if (!authenticationTypeOauth2) { _%>
|
|
131
|
-
it('
|
|
131
|
+
it('should navigate to /login on login', () => {
|
|
132
132
|
// WHEN
|
|
133
133
|
comp.login();
|
|
134
134
|
|
|
@@ -136,7 +136,7 @@ describe('Home Component', () => {
|
|
|
136
136
|
expect(mockRouter.navigate).toHaveBeenCalledWith(['/login']);
|
|
137
137
|
});
|
|
138
138
|
<%_ } else { _%>
|
|
139
|
-
it('
|
|
139
|
+
it('should call loginService.login on login', () => {
|
|
140
140
|
// WHEN
|
|
141
141
|
comp.login();
|
|
142
142
|
|
|
@@ -148,7 +148,7 @@ describe('Home Component', () => {
|
|
|
148
148
|
|
|
149
149
|
<%_ if (!authenticationTypeOauth2) { _%>
|
|
150
150
|
describe('ngOnDestroy', () => {
|
|
151
|
-
it('
|
|
151
|
+
it('should destroy authentication state subscription on component destroy', () => {
|
|
152
152
|
// GIVEN
|
|
153
153
|
const authenticationState = new Subject<Account | null>();
|
|
154
154
|
mockAccountService.getAuthenticationState = jest.fn(() => authenticationState.asObservable());
|
package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.html.ejs
CHANGED
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
See the License for the specific language governing permissions and
|
|
17
17
|
limitations under the License.
|
|
18
18
|
-%>
|
|
19
|
-
<<%= jhiPrefixDashed %>-page-ribbon
|
|
19
|
+
<<%= jhiPrefixDashed %>-page-ribbon />
|
|
20
20
|
|
|
21
21
|
<div>
|
|
22
|
-
<router-outlet name="navbar"
|
|
22
|
+
<router-outlet name="navbar" />
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
25
|
<div class="container-fluid">
|
|
26
26
|
<div class="card jh-card">
|
|
27
|
-
<router-outlet
|
|
27
|
+
<router-outlet />
|
|
28
28
|
</div>
|
|
29
29
|
|
|
30
|
-
<<%= jhiPrefixDashed %>-footer
|
|
30
|
+
<<%= jhiPrefixDashed %>-footer />
|
|
31
31
|
</div>
|
|
@@ -76,7 +76,7 @@ describe('Navbar Component', () => {
|
|
|
76
76
|
profileService = TestBed.inject(ProfileService);
|
|
77
77
|
});
|
|
78
78
|
|
|
79
|
-
it('
|
|
79
|
+
it('should call profileService.getProfileInfo on init', () => {
|
|
80
80
|
// GIVEN
|
|
81
81
|
jest.spyOn(profileService, 'getProfileInfo').mockReturnValue(of(new ProfileInfo()));
|
|
82
82
|
|
|
@@ -87,7 +87,7 @@ describe('Navbar Component', () => {
|
|
|
87
87
|
expect(profileService.getProfileInfo).toHaveBeenCalled();
|
|
88
88
|
});
|
|
89
89
|
|
|
90
|
-
it('
|
|
90
|
+
it('should hold current authenticated user in variable account', () => {
|
|
91
91
|
// WHEN
|
|
92
92
|
comp.ngOnInit();
|
|
93
93
|
|
|
@@ -107,7 +107,7 @@ describe('Navbar Component', () => {
|
|
|
107
107
|
expect(comp.account()).toBeNull();
|
|
108
108
|
});
|
|
109
109
|
|
|
110
|
-
it('
|
|
110
|
+
it('should hold current authenticated user in variable account if user is authenticated before page load', () => {
|
|
111
111
|
// GIVEN
|
|
112
112
|
accountService.authenticate(account);
|
|
113
113
|
|
|
@@ -27,7 +27,7 @@ describe('Page Ribbon Component', () => {
|
|
|
27
27
|
profileService = TestBed.inject(ProfileService);
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
-
it('
|
|
30
|
+
it('should call profileService.getProfileInfo on init', () => {
|
|
31
31
|
// GIVEN
|
|
32
32
|
jest.spyOn(profileService, 'getProfileInfo').mockReturnValue(of(new ProfileInfo()));
|
|
33
33
|
|
|
@@ -16,9 +16,10 @@
|
|
|
16
16
|
See the License for the specific language governing permissions and
|
|
17
17
|
limitations under the License.
|
|
18
18
|
-%>
|
|
19
|
-
import { Component,
|
|
19
|
+
import { Component, Injector, OnInit, Signal, inject } from '@angular/core';
|
|
20
20
|
import { Observable } from 'rxjs';
|
|
21
21
|
import { map } from 'rxjs/operators';
|
|
22
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
22
23
|
|
|
23
24
|
import SharedModule from 'app/shared/shared.module';
|
|
24
25
|
import { ProfileService } from './profile.service';
|
|
@@ -26,9 +27,9 @@ import { ProfileService } from './profile.service';
|
|
|
26
27
|
@Component({
|
|
27
28
|
selector: '<%= jhiPrefixDashed %>-page-ribbon',
|
|
28
29
|
template: `
|
|
29
|
-
@if (
|
|
30
|
+
@if (ribbonEnvSignal; as ribbonEnv) {
|
|
30
31
|
<div class="ribbon">
|
|
31
|
-
<a href="">__jhiTranslateTagEnum__('global.ribbon', { "value": "ribbonEnv ?? ''" })</a>
|
|
32
|
+
<a href="">__jhiTranslateTagEnum__('global.ribbon', { "value": "ribbonEnv() ?? ''" })</a>
|
|
32
33
|
</div>
|
|
33
34
|
}
|
|
34
35
|
`,
|
|
@@ -36,11 +37,12 @@ import { ProfileService } from './profile.service';
|
|
|
36
37
|
imports: [SharedModule],
|
|
37
38
|
})
|
|
38
39
|
export default class PageRibbonComponent implements OnInit {
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
ribbonEnvSignal?: Signal<string | undefined>;
|
|
41
|
+
private readonly injector = inject(Injector);
|
|
41
42
|
private readonly profileService = inject(ProfileService);
|
|
42
43
|
|
|
43
44
|
ngOnInit(): void {
|
|
44
|
-
|
|
45
|
+
const ribbonEnv$: Observable<string | undefined> = this.profileService.getProfileInfo().pipe(map(profileInfo => profileInfo.ribbonEnv));
|
|
46
|
+
this.ribbonEnvSignal = toSignal(ribbonEnv$, { injector: this.injector });
|
|
45
47
|
}
|
|
46
48
|
}
|
package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs
CHANGED
|
@@ -65,7 +65,7 @@ describe('LoginComponent', () => {
|
|
|
65
65
|
});
|
|
66
66
|
|
|
67
67
|
describe('ngOnInit', () => {
|
|
68
|
-
it('
|
|
68
|
+
it('should call accountService.identity on Init', () => {
|
|
69
69
|
// GIVEN
|
|
70
70
|
mockAccountService.identity = jest.fn(() => of(null));
|
|
71
71
|
mockAccountService.getAuthenticationState = jest.fn(() => of(null));
|
|
@@ -77,7 +77,7 @@ describe('LoginComponent', () => {
|
|
|
77
77
|
expect(mockAccountService.identity).toHaveBeenCalled();
|
|
78
78
|
});
|
|
79
79
|
|
|
80
|
-
it('
|
|
80
|
+
it('should call accountService.isAuthenticated on Init', () => {
|
|
81
81
|
// GIVEN
|
|
82
82
|
mockAccountService.identity = jest.fn(() => of(null));
|
|
83
83
|
|
|
@@ -156,7 +156,7 @@ describe('LoginComponent', () => {
|
|
|
156
156
|
|
|
157
157
|
it('should stay on login form and show error message on login error', () => {
|
|
158
158
|
// GIVEN
|
|
159
|
-
mockLoginService.login = jest.fn(() => throwError(
|
|
159
|
+
mockLoginService.login = jest.fn(() => throwError(Error));
|
|
160
160
|
|
|
161
161
|
// WHEN
|
|
162
162
|
comp.login();
|
|
@@ -66,7 +66,7 @@ describe('Alert Error Component', () => {
|
|
|
66
66
|
});
|
|
67
67
|
|
|
68
68
|
describe('Error Handling', () => {
|
|
69
|
-
it('
|
|
69
|
+
it('should display an alert on status 0', () => {
|
|
70
70
|
// GIVEN
|
|
71
71
|
eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: { status: 0 } });
|
|
72
72
|
// THEN
|
|
@@ -74,7 +74,7 @@ describe('Alert Error Component', () => {
|
|
|
74
74
|
expect(comp.alerts()[0].<%= mainAlertField %>).toBe(<% if (enableTranslation) { %>'error.server.not.reachable'<% } else { %>'Server not reachable'<% } %>);
|
|
75
75
|
});
|
|
76
76
|
|
|
77
|
-
it('
|
|
77
|
+
it('should display an alert on status 404', () => {
|
|
78
78
|
// GIVEN
|
|
79
79
|
eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: { status: 404 } });
|
|
80
80
|
// THEN
|
|
@@ -82,7 +82,7 @@ describe('Alert Error Component', () => {
|
|
|
82
82
|
expect(comp.alerts()[0].<%= mainAlertField %>).toBe(<% if (enableTranslation) { %>'error.url.not.found'<% } else { %>'Not found'<% } %>);
|
|
83
83
|
});
|
|
84
84
|
|
|
85
|
-
it('
|
|
85
|
+
it('should display an alert on generic error', () => {
|
|
86
86
|
// GIVEN
|
|
87
87
|
eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: { error: { message: 'Error Message' } } });
|
|
88
88
|
eventManager.broadcast({ name: '<%= frontendAppName %>.httpError', content: { error: 'Second Error Message' } });
|
|
@@ -92,7 +92,7 @@ describe('Alert Error Component', () => {
|
|
|
92
92
|
expect(comp.alerts()[1].<%= mainAlertField %>).toBe('Second Error Message');
|
|
93
93
|
});
|
|
94
94
|
|
|
95
|
-
it('
|
|
95
|
+
it('should display an alert on status 400 for generic error', () => {
|
|
96
96
|
// GIVEN
|
|
97
97
|
const response = new HttpErrorResponse({
|
|
98
98
|
url: 'http://localhost:8080/api/foos',
|
|
@@ -113,7 +113,7 @@ describe('Alert Error Component', () => {
|
|
|
113
113
|
expect(comp.alerts()[0].<%= mainAlertField %>).toBe('error.validation');
|
|
114
114
|
});
|
|
115
115
|
|
|
116
|
-
it('
|
|
116
|
+
it('should display an alert on status 400 for generic error without message', () => {
|
|
117
117
|
// GIVEN
|
|
118
118
|
const response = new HttpErrorResponse({
|
|
119
119
|
url: 'http://localhost:8080/api/foos',
|
|
@@ -127,7 +127,7 @@ describe('Alert Error Component', () => {
|
|
|
127
127
|
expect(comp.alerts()[0].<%= mainAlertField %>).toBe('Bad Request');
|
|
128
128
|
});
|
|
129
129
|
|
|
130
|
-
it('
|
|
130
|
+
it('should display an alert on status 400 for invalid parameters', () => {
|
|
131
131
|
// GIVEN
|
|
132
132
|
const response = new HttpErrorResponse({
|
|
133
133
|
url: 'http://localhost:8080/api/foos',
|
|
@@ -149,7 +149,7 @@ describe('Alert Error Component', () => {
|
|
|
149
149
|
expect(comp.alerts()[0].<%= mainAlertField %>).toBe(<% if (enableTranslation) { %>'error.Size'<% } else { %>'Error on field "MinField"'<% } %>);
|
|
150
150
|
});
|
|
151
151
|
|
|
152
|
-
it('
|
|
152
|
+
it('should display an alert on status 400 for error headers', () => {
|
|
153
153
|
// GIVEN
|
|
154
154
|
const response = new HttpErrorResponse({
|
|
155
155
|
url: 'http://localhost:8080/api/foos',
|
|
@@ -167,7 +167,7 @@ describe('Alert Error Component', () => {
|
|
|
167
167
|
expect(comp.alerts()[0].<%= mainAlertField %>).toBe('Error Message');
|
|
168
168
|
});
|
|
169
169
|
|
|
170
|
-
it('
|
|
170
|
+
it('should display an alert on status 500 with detail', () => {
|
|
171
171
|
// GIVEN
|
|
172
172
|
const response = new HttpErrorResponse({
|
|
173
173
|
url: 'http://localhost:8080/api/foos',
|
|
@@ -44,7 +44,7 @@ describe('Alert Component', () => {
|
|
|
44
44
|
mockAlertService = TestBed.inject(AlertService);
|
|
45
45
|
});
|
|
46
46
|
|
|
47
|
-
it('
|
|
47
|
+
it('should call alertService.get on init', () => {
|
|
48
48
|
// WHEN
|
|
49
49
|
comp.ngOnInit();
|
|
50
50
|
|
|
@@ -52,7 +52,7 @@ describe('Alert Component', () => {
|
|
|
52
52
|
expect(mockAlertService.get).toHaveBeenCalled();
|
|
53
53
|
});
|
|
54
54
|
|
|
55
|
-
it('
|
|
55
|
+
it('should call alertService.clear on destroy', () => {
|
|
56
56
|
// WHEN
|
|
57
57
|
comp.ngOnDestroy();
|
|
58
58
|
|
|
@@ -30,7 +30,7 @@ import TranslateDirective from '../language/translate.directive';
|
|
|
30
30
|
<%_ if (enableTranslation) { _%>
|
|
31
31
|
<div <%= jhiPrefix %>Translate="global.item-count" [translateValues]="{ first: first(), second: second(), total: total() }"></div>
|
|
32
32
|
<%_ } else { _%>
|
|
33
|
-
<div>__jhiTransformTranslate__('global.item-count')</div>
|
|
33
|
+
<div>__jhiTransformTranslate__('global.item-count', { "first": "{{ first() }}", "second": "{{ second() }}", "total": "{{ total() }}" })</div>
|
|
34
34
|
<%_ } _%>
|
|
35
35
|
`,
|
|
36
36
|
<%_ if (enableTranslation) { _%>
|
package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.service.ts.ejs
CHANGED
|
@@ -26,7 +26,7 @@ export class SortService {
|
|
|
26
26
|
sensitivity: 'base',
|
|
27
27
|
});
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
startSort({ predicate, order }: Required<SortState>, fallback?: Required<SortState>): (a: any, b: any) => number {
|
|
30
30
|
const multiply = order === 'desc' ? -1 : 1;
|
|
31
31
|
return (a: any, b: any) => {
|
|
32
32
|
const compare = this.collator.compare(a[predicate], b[predicate]);
|
|
@@ -37,7 +37,7 @@ export class SortService {
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
parseSortParam(sortParam: string | undefined): SortState {
|
|
41
41
|
if (sortParam?.includes(',')) {
|
|
42
42
|
const split = sortParam.split(',');
|
|
43
43
|
if (split[0]) {
|
|
@@ -47,7 +47,7 @@ export class SortService {
|
|
|
47
47
|
return { predicate: sortParam?.length ? sortParam : undefined };
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
buildSortParam({ predicate, order }: SortState, fallback?: string): string[] {
|
|
51
51
|
const sortParam = predicate && order ? [`${predicate},${order}`] : [];
|
|
52
52
|
if (fallback && predicate !== fallback) {
|
|
53
53
|
sortParam.push(`${fallback},asc`);
|
|
@@ -18,7 +18,10 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import BaseApplicationGenerator from '../base-application/index.js';
|
|
20
20
|
export default class JHipsterAppGenerator extends BaseApplicationGenerator {
|
|
21
|
-
[
|
|
21
|
+
[BaseApplicationGenerator.INITIALIZING]: any;
|
|
22
|
+
[BaseApplicationGenerator.CONFIGURING]: any;
|
|
23
|
+
[BaseApplicationGenerator.COMPOSING_COMPONENT]: any;
|
|
24
|
+
[BaseApplicationGenerator.WRITING]: import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").WritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "cleanupOldFilesTask">;
|
|
22
25
|
beforeQueue(): Promise<void>;
|
|
23
26
|
get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "validate" | "validateNode" | "checkForNewJHVersion">;
|
|
24
27
|
get configuring(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "setup" | "defaults" | "fixConfig" | "loadGlobalConfig">;
|
|
@@ -18,6 +18,8 @@ export type JHipsterGeneratorOptions = BaseOptions &
|
|
|
18
18
|
programName: string;
|
|
19
19
|
positionalArguments?: unknown[];
|
|
20
20
|
createEnvBuilder?: any;
|
|
21
|
+
devBlueprintEnabled?: boolean;
|
|
22
|
+
|
|
21
23
|
/** @experimental */
|
|
22
24
|
jdlDefinition?: JDLApplicationConfig;
|
|
23
25
|
/** @experimental */
|
|
@@ -115,7 +117,7 @@ export type NeedleCallback = (content: string) => string;
|
|
|
115
117
|
|
|
116
118
|
export type EditFileCallback<Generator = CoreGenerator> = (this: Generator, content: string, filePath: string) => string;
|
|
117
119
|
|
|
118
|
-
export type EditFileOptions = { create?: boolean; ignoreNonExisting?: boolean | string; assertModified?: boolean };
|
|
120
|
+
export type EditFileOptions = { create?: boolean; ignoreNonExisting?: boolean | string; assertModified?: boolean; autoCrlf?: boolean };
|
|
119
121
|
|
|
120
122
|
export type CascatedEditFileCallback<Generator = CoreGenerator> = (
|
|
121
123
|
...callbacks: EditFileCallback<Generator>[]
|
|
@@ -16,6 +16,15 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
+
export declare const CRLF = "\r\n";
|
|
20
|
+
export declare const LF = "\n";
|
|
21
|
+
/**
|
|
22
|
+
* Check if a string contains CRLF line endings.
|
|
23
|
+
*
|
|
24
|
+
* @param str
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
export declare const hasCrlr: (str?: string) => boolean;
|
|
19
28
|
/**
|
|
20
29
|
* Replace line endings with the specified one.
|
|
21
30
|
*
|
|
@@ -23,7 +32,7 @@
|
|
|
23
32
|
* @param lineEnding
|
|
24
33
|
* @returns normalized line ending string
|
|
25
34
|
*/
|
|
26
|
-
export declare function normalizeLineEndings(str: string, lineEnding:
|
|
35
|
+
export declare function normalizeLineEndings(str: string, lineEnding: typeof LF | typeof CRLF): string;
|
|
27
36
|
/**
|
|
28
37
|
* @private
|
|
29
38
|
* @deprecated
|
|
@@ -16,6 +16,15 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
+
export const CRLF = '\r\n';
|
|
20
|
+
export const LF = '\n';
|
|
21
|
+
/**
|
|
22
|
+
* Check if a string contains CRLF line endings.
|
|
23
|
+
*
|
|
24
|
+
* @param str
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
export const hasCrlr = (str) => Boolean(str?.includes(CRLF));
|
|
19
28
|
/**
|
|
20
29
|
* Replace line endings with the specified one.
|
|
21
30
|
*
|
|
@@ -28,6 +28,7 @@ export { default as getHipster } from './hipster.js';
|
|
|
28
28
|
export * from './jhipster7-context.js';
|
|
29
29
|
export * from './namespace.js';
|
|
30
30
|
export * from './needles.js';
|
|
31
|
+
export * from './os.js';
|
|
31
32
|
export * from './path.js';
|
|
32
33
|
export { default as httpsGet } from './remote.js';
|
|
33
34
|
export * from './secret.js';
|
|
@@ -28,6 +28,7 @@ export { default as getHipster } from './hipster.js';
|
|
|
28
28
|
export * from './jhipster7-context.js';
|
|
29
29
|
export * from './namespace.js';
|
|
30
30
|
export * from './needles.js';
|
|
31
|
+
export * from './os.js';
|
|
31
32
|
export * from './path.js';
|
|
32
33
|
export { default as httpsGet } from './remote.js';
|
|
33
34
|
export * from './secret.js';
|