generator-jhipster 8.4.0 → 8.6.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 +3 -4
- package/dist/cli/commands.mjs +2 -0
- package/dist/cli/environment-builder.mjs +5 -0
- package/dist/cli/program.mjs +10 -4
- package/dist/generators/angular/entity-files-angular.js +6 -7
- package/dist/generators/angular/resources/package.json +20 -20
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +4 -3
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.service.spec.ts.ejs +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.spec.ts.ejs +4 -5
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.service.spec.ts.ejs +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +6 -5
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +3 -6
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +3 -6
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.spec.ts.ejs +2 -3
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +3 -6
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.service.spec.ts.ejs +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +3 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.spec.ts.ejs +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +4 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.service.spec.ts.ejs +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +11 -11
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.service.spec.ts.ejs +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +0 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +3 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/app-page-title-strategy.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +0 -1
- package/dist/generators/angular/templates/src/main/webapp/app/app.config.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/config/uib-pagination.config.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +7 -5
- package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-jwt.service.spec.ts.ejs +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/core/auth/user-route-access.service.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/auth-expired.interceptor.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/auth.interceptor.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/error-handler.interceptor.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.spec.ts.ejs +6 -6
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +0 -3
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +3 -4
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +2 -3
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +4 -5
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +5 -3
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +5 -6
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +11 -17
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +6 -6
- 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 +3 -2
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -4
- package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +11 -9
- package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +3 -8
- package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +6 -2
- package/dist/generators/angular/templates/src/main/webapp/app/shared/language/find-language-from-key.pipe.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translation.module.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.spec.ts.ejs +10 -10
- package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +6 -7
- package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.directive.spec.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/content/scss/global.scss.ejs +2 -0
- package/dist/generators/app/generator.js +4 -13
- package/dist/generators/base/command.js +1 -0
- package/dist/generators/base/generator.js +22 -28
- package/dist/generators/base/internal/command.js +13 -0
- package/dist/generators/base/internal/index.js +1 -0
- package/dist/generators/base/priorities.js +12 -1
- package/dist/generators/base/shared-data.js +74 -2
- package/dist/generators/base/support/config.js +1 -1
- package/dist/generators/base/support/jhipster7-context.js +155 -52
- package/dist/generators/base-application/generator.js +15 -3
- package/dist/generators/base-application/priorities.js +1 -0
- package/dist/generators/base-application/support/prepare-entity.js +7 -8
- package/dist/generators/base-application/support/prepare-relationship.js +3 -2
- package/dist/generators/base-core/generator.js +132 -63
- package/dist/generators/bootstrap/generator.js +1 -1
- package/dist/generators/bootstrap/support/eslint-worker.js +14 -12
- package/dist/generators/bootstrap/support/multi-step-transform/template-file.js +6 -1
- package/dist/generators/bootstrap-application/generator.js +1 -1
- package/dist/generators/bootstrap-application-base/generator.js +7 -3
- package/dist/generators/bootstrap-application-client/generator.js +5 -1
- package/dist/generators/bootstrap-application-server/generator.js +1 -0
- package/dist/generators/ci-cd/generator.js +1 -1
- package/dist/generators/ci-cd/templates/docker-registry.yml.ejs +0 -1
- package/dist/generators/ci-cd/templates/jenkins/jenkins.yml.ejs +0 -1
- package/dist/generators/client/command.js +2 -2
- package/dist/generators/client/generator.js +2 -3
- package/dist/generators/client/generators/common/command.js +5 -0
- package/dist/generators/client/generators/common/generator.js +79 -0
- package/dist/generators/client/generators/common/index.js +20 -0
- package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/headers.ts.ejs +57 -0
- package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/problem-details.ts.ejs +51 -0
- package/dist/generators/client/resources/package.json +6 -6
- package/dist/generators/client/support/filter-entities.js +1 -1
- package/dist/generators/client/templates/.eslintignore.ejs +9 -5
- package/dist/generators/client/templates/README.md.jhi.client.ejs +29 -20
- package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
- package/dist/generators/common/generator.js +5 -0
- package/dist/generators/common/resources/package.json +2 -2
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +4 -4
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/password-page.cy.ts.ejs +2 -2
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/register-page.cy.ts.ejs +1 -1
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/reset-password-page.cy.ts.ejs +1 -1
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +10 -10
- package/dist/generators/docker/templates/docker/keycloak.yml.ejs +2 -1
- package/dist/generators/docker/templates/docker/mariadb.yml.ejs +1 -1
- package/dist/generators/docker/templates/docker/mysql.yml.ejs +1 -2
- package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +14 -3
- package/dist/generators/docker/templates/docker/realm-config/keycloak-health-check.sh +2 -2
- package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +1 -0
- package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +14 -3
- package/dist/generators/docker-compose/templates/realm-config/keycloak-health-check.sh +2 -2
- package/dist/generators/entity/generator.js +2 -10
- package/dist/generators/entity/prompts.js +6 -11
- package/dist/generators/feign-client/templates/src/main/java/_package_/client/AuthorizationHeaderUtil.java.ejs +1 -1
- package/dist/generators/gatling/README.md +15 -0
- package/dist/generators/gatling/generator.js +0 -1
- package/dist/generators/gatling/templates/src/test/java/gatling/simulations/_entityClass_GatlingTest.java.ejs +2 -10
- package/dist/generators/generate-blueprint/command.js +16 -0
- package/dist/generators/generate-blueprint/files.js +11 -1
- package/dist/generators/generate-blueprint/generator.js +34 -17
- package/dist/generators/generate-blueprint/resources/package.json +3 -1
- package/dist/generators/generate-blueprint/templates/.blueprint/cli/commands.mjs.ejs +6 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +20 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +9 -13
- package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/build-matrix.mjs.ejs +22 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +20 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/index.mjs.ejs +1 -0
- package/dist/generators/generate-blueprint/templates/.github/workflows/build-cache.yml.ejs +39 -0
- package/dist/generators/generate-blueprint/templates/.github/workflows/samples.yml.ejs +105 -0
- package/dist/generators/generate-blueprint/templates/.prettierignore.jhi.blueprint.ejs +1 -1
- package/dist/generators/generate-blueprint/templates/README.md.ejs +16 -8
- package/dist/generators/generate-blueprint/templates/eslint.config.js.ejs +33 -0
- package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -0
- package/dist/generators/generator-constants.js +2 -2
- package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/dist/generators/heroku/generator.js +1 -1
- package/dist/generators/info/generator.js +1 -3
- package/dist/generators/info/support/extract-info.js +60 -0
- package/dist/generators/info/support/index.js +1 -0
- package/dist/generators/init/generator.js +2 -2
- package/dist/generators/init/resources/.node-version +1 -1
- package/dist/generators/init/resources/package.json +2 -2
- package/dist/generators/java/generators/bootstrap/generator.js +9 -2
- package/dist/generators/java/generators/build-tool/command.js +6 -3
- package/dist/generators/java/generators/domain/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +1 -5
- package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +3 -3
- package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +3 -3
- package/dist/generators/java/generators/node/templates/npmw +1 -5
- package/dist/generators/java/support/add-java-annotation.js +28 -7
- package/dist/generators/java/support/generated-annotation-transform.js +1 -1
- package/dist/generators/java/support/index.js +1 -1
- package/dist/generators/jdl/generator.js +7 -7
- package/dist/generators/kubernetes/files.js +1 -1
- package/dist/generators/kubernetes/templates/db/mysql.yml.ejs +1 -1
- package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +14 -3
- package/dist/generators/languages/generator.js +5 -2
- package/dist/generators/liquibase/templates/src/main/java/_package_/config/LiquibaseConfiguration.java.ejs +1 -1
- package/dist/generators/maven/command.js +15 -0
- package/dist/generators/maven/generator.js +6 -1
- package/dist/generators/maven/index.js +1 -0
- package/dist/generators/maven/internal/xml-store.js +7 -6
- package/dist/generators/maven/support/pom-store.js +24 -9
- package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +2 -2
- package/dist/generators/maven/templates/mvnw +185 -243
- package/dist/generators/maven/templates/mvnw.cmd +121 -180
- package/dist/generators/react/entity-files-react.js +7 -7
- package/dist/generators/react/generator.js +10 -0
- package/dist/generators/react/resources/package.json +28 -28
- package/dist/generators/react/templates/src/main/webapp/app/app.tsx.ejs +9 -0
- package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.ts.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.spec.ts.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.ts.ejs +80 -87
- package/dist/generators/react/templates/src/main/webapp/app/config/store.ts.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/config/translation.ts.ejs +4 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +3 -3
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +12 -7
- package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +15 -1
- package/dist/generators/react/templates/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +4 -0
- package/dist/generators/react/templates/src/main/webapp/app/modules/login/logout.tsx.ejs +5 -3
- package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.tsx.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/shared/layout/header/header.tsx.ejs +0 -9
- package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +1 -3
- package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +29 -6
- package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +2 -3
- package/dist/generators/react/templates/src/main/webapp/app/shared/util/url-utils.ts.ejs +1 -1
- package/dist/generators/server/command.js +0 -11
- package/dist/generators/server/generator.js +16 -75
- package/dist/generators/server/jdl/application-definition.js +3 -1
- package/dist/generators/server/resources/Dockerfile +13 -13
- package/dist/generators/server/resources/gradle/libs.versions.toml +9 -7
- package/dist/generators/server/resources/pom.xml +16 -16
- package/dist/generators/server/support/config.js +4 -8
- package/dist/generators/server/support/prepare-entity.js +5 -6
- package/dist/generators/server/support/relationship.js +5 -2
- package/dist/generators/server/templates/build.gradle.ejs +5 -3
- package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +2 -1
- package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +2 -1
- package/dist/generators/server/templates/gradle.properties.ejs +1 -1
- package/dist/generators/server/templates/pom.xml.ejs +7 -31
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/_package_/config/AsyncConfiguration.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/_package_/config/Constants.java.ejs +0 -2
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +1 -18
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +1 -15
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +1 -21
- package/dist/generators/server/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/_package_/security/PersistentTokenRememberMeServices.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +65 -5
- package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/AudienceValidator.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/_package_/service/MailService.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +34 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/mapper/UserMapper.java.ejs +8 -4
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +44 -10
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
- package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +60 -22
- package/dist/generators/server/templates/src/main/resources/config/bootstrap.yml.ejs +1 -1
- package/dist/generators/server/templates/src/main/resources/swagger/api.yml.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +31 -13
- package/dist/generators/server/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +84 -17
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +62 -6
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +22 -0
- package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +20 -10
- package/dist/generators/spring-boot/command.js +117 -6
- package/dist/generators/spring-boot/files.js +0 -5
- package/dist/generators/spring-boot/generator.js +44 -9
- package/dist/generators/spring-boot/prompts.js +6 -70
- package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +374 -582
- package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/UserService.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/PublicUserResource.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/UserResource.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/_entityClass_Resource.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +47 -11
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +60 -24
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +195 -318
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +58 -51
- package/dist/generators/spring-cache/internal/dependencies.js +2 -2
- 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 +3 -3
- package/dist/generators/spring-cloud/generators/gateway/command.js +10 -1
- package/dist/generators/spring-cloud/generators/gateway/generator.js +13 -0
- package/dist/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.js +6 -0
- package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaConsumer_imperative.java.ejs +1 -1
- package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaConsumer_reactive.java.ejs +1 -1
- package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/web/rest/KafkaResource_imperative.java.ejs +1 -1
- package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/web/rest/KafkaResource_reactive.java.ejs +1 -1
- package/dist/generators/spring-data-cassandra/generator.js +2 -2
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +1 -1
- package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/config/DatabaseConfiguration.java_neo4j.ejs +18 -2
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +1 -1
- package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +3 -1
- package/dist/generators/vue/entity-files-vue.js +7 -7
- package/dist/generators/vue/resources/package.json +21 -21
- package/dist/generators/vue/templates/.eslintrc.cjs.ejs +7 -0
- package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.spec.ts.ejs +8 -8
- package/dist/generators/vue/templates/src/main/webapp/app/shared/data/data-utils.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/tsconfig.app.json.ejs +1 -1
- package/dist/generators/vue/templates/vite.config.mts.ejs +5 -4
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -1
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +4 -4
- package/dist/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.js +9 -9
- package/dist/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.js +2 -2
- package/dist/jdl/converters/json-to-jdl-application-converter.js +1 -1
- package/dist/jdl/converters/json-to-jdl-converter.js +6 -5
- package/dist/jdl/converters/json-to-jdl-entity-converter.js +14 -14
- package/dist/jdl/converters/json-to-jdl-option-converter.js +1 -2
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -1
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/option-converter.js +2 -2
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +7 -6
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.js +1 -1
- package/dist/jdl/exporters/applications/jhipster-application-formatter.js +16 -23
- package/dist/jdl/exporters/config.js +1 -0
- package/dist/jdl/exporters/jhipster-deployment-exporter.js +5 -5
- package/dist/jdl/exporters/jhipster-entity-exporter.js +1 -1
- package/dist/jdl/jdl-importer.js +22 -20
- package/dist/jdl/jhipster/binary-options.js +12 -8
- package/dist/jdl/jhipster/json-entity.js +1 -1
- package/dist/jdl/models/abstract-jdl-option.js +2 -2
- package/dist/jdl/models/jdl-application-configuration-factory.js +2 -0
- package/dist/jdl/models/jdl-binary-option.js +2 -2
- package/dist/jdl/models/jdl-deployment.js +11 -0
- package/dist/jdl/models/jdl-entity.js +1 -1
- package/dist/jdl/models/jdl-enum.js +1 -1
- package/dist/jdl/models/jdl-enums.js +0 -18
- package/dist/jdl/models/jdl-field.js +2 -2
- package/dist/jdl/models/jdl-object-wrapper.js +1 -0
- package/dist/jdl/models/jdl-object.js +23 -45
- package/dist/jdl/models/jdl-options.js +0 -18
- package/dist/jdl/models/jdl-relationships.js +8 -16
- package/dist/jdl/models/jdl-unary-option.js +1 -1
- package/dist/jdl/models/list-jdl-application-configuration-option.js +5 -2
- package/dist/jdl/parsing/jdl-ast-builder-visitor.js +12 -0
- package/dist/jdl/parsing/jdl-parser.js +14 -0
- package/dist/jdl/parsing/lexer/lexer.js +17 -11
- package/dist/jdl/parsing/validator.js +16 -2
- package/dist/jdl/readers/json-reader.js +1 -1
- package/dist/jdl/utils/array-utils.js +6 -0
- package/dist/jdl/utils/set-utils.js +3 -2
- package/dist/jdl/validators/jdl-without-application-validator.js +2 -2
- package/dist/lib/eslint/base.js +25 -0
- package/dist/lib/eslint/recommended.js +22 -0
- package/dist/testing/github.js +32 -0
- package/dist/testing/helpers.js +13 -0
- package/dist/testing/index.js +2 -0
- package/dist/testing/sample-config.js +31 -0
- package/dist/types/cli/commands.d.mts +2 -0
- package/dist/types/cli/environment-builder.d.mts +1 -0
- package/dist/types/generators/base/api.d.ts +19 -8
- package/dist/types/generators/base/generator.d.ts +10 -4
- package/dist/types/generators/base/internal/command.d.ts +2 -0
- package/dist/types/generators/base/internal/index.d.ts +1 -0
- package/dist/types/generators/base/priorities.d.ts +4 -0
- package/dist/types/generators/base/shared-data.d.ts +11 -2
- package/dist/types/generators/base/types.d.ts +12 -0
- package/dist/types/generators/base-application/priorities.d.ts +2 -0
- package/dist/types/generators/base-application/support/entity.d.ts +2 -2
- package/dist/types/generators/base-application/support/prepare-entity.d.ts +3 -3
- package/dist/types/generators/base-application/support/relationship.d.ts +5 -5
- package/dist/types/generators/base-application/types.d.ts +11 -0
- package/dist/types/generators/base-core/generator.d.ts +18 -2
- package/dist/types/generators/generator-constants.d.ts +1 -1
- package/dist/types/generators/info/support/extract-info.d.ts +14 -0
- package/dist/types/generators/info/support/index.d.ts +1 -0
- package/dist/types/generators/java/support/add-java-annotation.d.ts +10 -20
- package/dist/types/generators/java/support/doc.d.ts +1 -1
- package/dist/types/generators/java/support/index.d.ts +1 -1
- package/dist/types/generators/java/types.d.ts +12 -0
- package/dist/types/generators/maven/internal/xml-store.d.ts +3 -2
- package/dist/types/generators/maven/support/pom-store.d.ts +5 -2
- package/dist/types/generators/maven/types.d.ts +1 -0
- package/dist/types/generators/server/support/relationship.d.ts +2 -2
- package/dist/types/generators/server/types.d.ts +7 -1
- package/dist/types/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.d.ts +2 -0
- package/dist/types/generators/spring-cloud/generators/gateway/types.d.ts +4 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +2 -2
- package/dist/types/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.d.ts +2 -1
- package/dist/types/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.d.ts +3 -1
- package/dist/types/jdl/converters/json-to-jdl-application-converter.d.ts +9 -2
- package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +3 -3
- package/dist/types/jdl/converters/json-to-jdl-entity-converter.d.ts +2 -4
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/application-converter.d.ts +3 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/deployment-converter.d.ts +2 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.d.ts +3 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.d.ts +2 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/field-converter.d.ts +2 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +3 -3
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.d.ts +2 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.d.ts +2 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/types.d.ts +110 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.d.ts +2 -1
- package/dist/types/jdl/converters/types.d.ts +102 -14
- package/dist/types/jdl/exporters/applications/jhipster-application-formatter.d.ts +4 -4
- package/dist/types/jdl/exporters/config.d.ts +2 -1
- package/dist/types/jdl/exporters/export-utils.d.ts +2 -1
- package/dist/types/jdl/exporters/jdl-exporter.d.ts +2 -1
- package/dist/types/jdl/exporters/jhipster-deployment-exporter.d.ts +3 -1
- package/dist/types/jdl/exporters/jhipster-entity-exporter.d.ts +3 -1
- package/dist/types/jdl/exporters/types.d.ts +61 -0
- package/dist/types/jdl/jhipster/binary-options.d.ts +8 -26
- package/dist/types/jdl/jhipster/field-types.d.ts +2 -2
- package/dist/types/jdl/jhipster/json-entity.d.ts +2 -2
- package/dist/types/jdl/models/abstract-jdl-option.d.ts +14 -9
- package/dist/types/jdl/models/boolean-jdl-application-configuration-option.d.ts +1 -1
- package/dist/types/jdl/models/integer-jdl-application-configuration-option.d.ts +1 -1
- package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +1 -1
- package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +4 -4
- package/dist/types/jdl/models/jdl-application-configuration.d.ts +4 -4
- package/dist/types/jdl/models/jdl-application-definition.d.ts +4 -4
- package/dist/types/jdl/models/jdl-application-entities.d.ts +4 -4
- package/dist/types/jdl/models/jdl-application.d.ts +16 -13
- package/dist/types/jdl/models/jdl-binary-option.d.ts +5 -3
- package/dist/types/jdl/models/jdl-deployment.d.ts +13 -1
- package/dist/types/jdl/models/jdl-entity.d.ts +5 -5
- package/dist/types/jdl/models/jdl-enum-value.d.ts +4 -4
- package/dist/types/jdl/models/jdl-enum.d.ts +9 -5
- package/dist/types/jdl/models/jdl-enums.d.ts +6 -5
- package/dist/types/jdl/models/jdl-field.d.ts +10 -8
- package/dist/types/jdl/models/jdl-object-wrapper.d.ts +25 -0
- package/dist/types/jdl/models/jdl-object.d.ts +23 -19
- package/dist/types/jdl/models/jdl-options.d.ts +7 -24
- package/dist/types/jdl/models/jdl-relationship.d.ts +16 -10
- package/dist/types/jdl/models/jdl-relationships.d.ts +5 -5
- package/dist/types/jdl/models/jdl-validation.d.ts +3 -3
- package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +4 -3
- package/dist/types/jdl/models/string-jdl-application-configuration-option.d.ts +2 -2
- package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +1 -0
- package/dist/types/jdl/parsing/jdl-parser.d.ts +1 -0
- package/dist/types/jdl/parsing/jdl-parsing-types.d.ts +23 -0
- package/dist/types/jdl/parsing/lexer/lexer.d.ts +6 -2
- package/dist/types/jdl/parsing/validator.d.ts +1 -1
- package/dist/types/jdl/utils/array-utils.d.ts +1 -0
- package/dist/types/jdl/utils/set-utils.d.ts +1 -19
- package/dist/types/jdl/validators/deployment-validator.d.ts +2 -1
- package/dist/types/lib/eslint/base.d.ts +20 -0
- package/dist/types/lib/eslint/recommended.d.ts +20 -0
- package/dist/types/testing/github.d.ts +11 -0
- package/dist/types/testing/helpers.d.ts +21 -3
- package/dist/types/testing/index.d.ts +2 -0
- package/dist/types/testing/sample-config.d.ts +4 -0
- package/package.json +35 -30
- package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +0 -35
- /package/dist/jdl/converters/{types.js → parsed-jdl-to-jdl-object/types.js} +0 -0
package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.directive.spec.ts.ejs
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
See the License for the specific language governing permissions and
|
|
17
17
|
limitations under the License.
|
|
18
18
|
-%>
|
|
19
|
-
import { Component, DebugElement } from '@angular/core';
|
|
19
|
+
import { Component, DebugElement, Type } from '@angular/core';
|
|
20
20
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
21
21
|
import { By } from '@angular/platform-browser';
|
|
22
22
|
|
|
@@ -57,7 +57,7 @@ describe('Directive: SortDirective', () => {
|
|
|
57
57
|
|
|
58
58
|
it('should invoke sortChange function', () => {
|
|
59
59
|
// GIVEN
|
|
60
|
-
const sortDirective = tableRow.injector.get(SortDirective);
|
|
60
|
+
const sortDirective = tableRow.injector.get(SortDirective as Type<SortDirective>);
|
|
61
61
|
|
|
62
62
|
// WHEN
|
|
63
63
|
fixture.detectChanges();
|
|
@@ -70,7 +70,7 @@ describe('Directive: SortDirective', () => {
|
|
|
70
70
|
|
|
71
71
|
it('should change sort order to descending, neutral when same field is sorted again', () => {
|
|
72
72
|
// GIVEN
|
|
73
|
-
const sortDirective = tableRow.injector.get(SortDirective);
|
|
73
|
+
const sortDirective = tableRow.injector.get(SortDirective as Type<SortDirective>);
|
|
74
74
|
|
|
75
75
|
// WHEN
|
|
76
76
|
fixture.detectChanges();
|
|
@@ -89,7 +89,7 @@ describe('Directive: SortDirective', () => {
|
|
|
89
89
|
|
|
90
90
|
it('should change sort order to ascending when different field is sorted', () => {
|
|
91
91
|
// GIVEN
|
|
92
|
-
const sortDirective = tableRow.injector.get(SortDirective);
|
|
92
|
+
const sortDirective = tableRow.injector.get(SortDirective as Type<SortDirective>);
|
|
93
93
|
|
|
94
94
|
// WHEN
|
|
95
95
|
fixture.detectChanges();
|
|
@@ -114,8 +114,8 @@ export default class JHipsterAppGenerator extends BaseApplicationGenerator {
|
|
|
114
114
|
get [BaseApplicationGenerator.CONFIGURING]() {
|
|
115
115
|
return this.delegateTasksToBlueprint(() => this.configuring);
|
|
116
116
|
}
|
|
117
|
-
get
|
|
118
|
-
return this.
|
|
117
|
+
get composingComponent() {
|
|
118
|
+
return this.asComposingComponentTaskGroup({
|
|
119
119
|
/**
|
|
120
120
|
* Composing with others generators, must be executed after `configuring` priority to let others
|
|
121
121
|
* generators `configuring` priority to run.
|
|
@@ -138,19 +138,10 @@ export default class JHipsterAppGenerator extends BaseApplicationGenerator {
|
|
|
138
138
|
await this.composeWithJHipster(GENERATOR_CLIENT);
|
|
139
139
|
}
|
|
140
140
|
},
|
|
141
|
-
/**
|
|
142
|
-
* At this point every other generator should already be configured, so, enforce defaults fallback.
|
|
143
|
-
*/
|
|
144
|
-
saveConfigWithDefaults() {
|
|
145
|
-
const config = this.jhipsterConfigWithDefaults;
|
|
146
|
-
if (config.entitySuffix === config.dtoSuffix) {
|
|
147
|
-
throw new Error('Entities cannot be generated as the entity suffix and DTO suffix are equals !');
|
|
148
|
-
}
|
|
149
|
-
},
|
|
150
141
|
});
|
|
151
142
|
}
|
|
152
|
-
get [BaseApplicationGenerator.
|
|
153
|
-
return this.delegateTasksToBlueprint(() => this.
|
|
143
|
+
get [BaseApplicationGenerator.COMPOSING_COMPONENT]() {
|
|
144
|
+
return this.delegateTasksToBlueprint(() => this.composingComponent);
|
|
154
145
|
}
|
|
155
146
|
get writing() {
|
|
156
147
|
return this.asWritingTaskGroup({
|
|
@@ -20,14 +20,12 @@ import fs from 'fs';
|
|
|
20
20
|
import path from 'path';
|
|
21
21
|
import chalk from 'chalk';
|
|
22
22
|
import semver from 'semver';
|
|
23
|
-
import { defaults } from 'lodash-es';
|
|
24
23
|
import { packageJson } from '../../lib/index.js';
|
|
25
|
-
import { packageNameToNamespace
|
|
24
|
+
import { packageNameToNamespace } from './support/index.js';
|
|
26
25
|
import { mergeBlueprints, parseBluePrints, loadBlueprintsFromConfiguration, normalizeBlueprintName } from './internal/index.js';
|
|
27
26
|
import { PRIORITY_NAMES } from './priorities.js';
|
|
28
27
|
import CoreGenerator from '../base-core/index.js';
|
|
29
28
|
import { LOCAL_BLUEPRINT_PACKAGE_NAMESPACE } from './support/constants.js';
|
|
30
|
-
import { getConfigWithDefaults } from '../../jdl/index.js';
|
|
31
29
|
import { loadStoredAppOptions } from '../app/support/index.js';
|
|
32
30
|
/**
|
|
33
31
|
* Base class that contains blueprints support.
|
|
@@ -160,6 +158,20 @@ export default class JHipsterBaseBlueprintGenerator extends CoreGenerator {
|
|
|
160
158
|
asComposingTaskGroup(taskGroup) {
|
|
161
159
|
return taskGroup;
|
|
162
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Priority API stub for blueprints.
|
|
163
|
+
*
|
|
164
|
+
* ComposingComponent priority should be used to handle component configuration order.
|
|
165
|
+
*/
|
|
166
|
+
get composingComponent() {
|
|
167
|
+
return {};
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Utility method to get typed objects for autocomplete.
|
|
171
|
+
*/
|
|
172
|
+
asComposingComponentTaskGroup(taskGroup) {
|
|
173
|
+
return taskGroup;
|
|
174
|
+
}
|
|
163
175
|
/**
|
|
164
176
|
* Priority API stub for blueprints.
|
|
165
177
|
*
|
|
@@ -343,19 +355,6 @@ export default class JHipsterBaseBlueprintGenerator extends CoreGenerator {
|
|
|
343
355
|
asEndTaskGroup(taskGroup) {
|
|
344
356
|
return taskGroup;
|
|
345
357
|
}
|
|
346
|
-
/**
|
|
347
|
-
* JHipster config with default values fallback
|
|
348
|
-
*/
|
|
349
|
-
get jhipsterConfigWithDefaults() {
|
|
350
|
-
const configWithDefaults = getConfigWithDefaults(removeFieldsWithNullishValues(this.config.getAll()));
|
|
351
|
-
defaults(configWithDefaults, {
|
|
352
|
-
skipFakeData: false,
|
|
353
|
-
skipCheckLengthOfIdentifier: false,
|
|
354
|
-
enableGradleEnterprise: false,
|
|
355
|
-
pages: [],
|
|
356
|
-
});
|
|
357
|
-
return configWithDefaults;
|
|
358
|
-
}
|
|
359
358
|
/**
|
|
360
359
|
* @protected
|
|
361
360
|
* Composes with blueprint generators, if any.
|
|
@@ -569,23 +568,18 @@ export default class JHipsterBaseBlueprintGenerator extends CoreGenerator {
|
|
|
569
568
|
return;
|
|
570
569
|
}
|
|
571
570
|
const mainGeneratorJhipsterVersion = packageJson.version;
|
|
572
|
-
const
|
|
573
|
-
|
|
574
|
-
|
|
571
|
+
const compatibleJhipsterRange = blueprintPackageJson.engines?.['generator-jhipster'] ??
|
|
572
|
+
blueprintPackageJson.dependencies?.['generator-jhipster'] ??
|
|
573
|
+
blueprintPackageJson.peerDependencies?.['generator-jhipster'];
|
|
574
|
+
if (compatibleJhipsterRange) {
|
|
575
|
+
if (!semver.valid(compatibleJhipsterRange) && !semver.validRange(compatibleJhipsterRange)) {
|
|
575
576
|
this.log.verboseInfo(`Blueprint ${blueprintPkgName} contains generator-jhipster dependency with non comparable version`);
|
|
576
577
|
return;
|
|
577
578
|
}
|
|
578
|
-
if (semver.satisfies(mainGeneratorJhipsterVersion,
|
|
579
|
-
return;
|
|
580
|
-
}
|
|
581
|
-
throw new Error(`The installed ${chalk.yellow(blueprintPkgName)} blueprint targets JHipster v${blueprintJhipsterVersion} and is not compatible with this JHipster version. Either update the blueprint or JHipster. You can also disable this check using --skip-checks at your own risk`);
|
|
582
|
-
}
|
|
583
|
-
const blueprintPeerJhipsterVersion = blueprintPackageJson.peerDependencies && blueprintPackageJson.peerDependencies['generator-jhipster'];
|
|
584
|
-
if (blueprintPeerJhipsterVersion) {
|
|
585
|
-
if (semver.satisfies(mainGeneratorJhipsterVersion, blueprintPeerJhipsterVersion, { includePrerelease: true })) {
|
|
579
|
+
if (semver.satisfies(mainGeneratorJhipsterVersion, compatibleJhipsterRange, { includePrerelease: true })) {
|
|
586
580
|
return;
|
|
587
581
|
}
|
|
588
|
-
throw new Error(`The installed ${chalk.yellow(blueprintPkgName)} blueprint targets JHipster ${
|
|
582
|
+
throw new Error(`The installed ${chalk.yellow(blueprintPkgName)} blueprint targets JHipster v${compatibleJhipsterRange} and is not compatible with this JHipster version. Either update the blueprint or JHipster. You can also disable this check using --skip-checks at your own risk`);
|
|
589
583
|
}
|
|
590
584
|
this.log.warn(`Could not retrieve version of JHipster declared by blueprint '${blueprintPkgName}'`);
|
|
591
585
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const extractArgumentsFromConfigs = (configs) => {
|
|
2
|
+
if (!configs)
|
|
3
|
+
return {};
|
|
4
|
+
return Object.fromEntries(Object.entries(configs)
|
|
5
|
+
.filter(([_name, def]) => def.argument)
|
|
6
|
+
.map(([name, def]) => [
|
|
7
|
+
name,
|
|
8
|
+
{
|
|
9
|
+
description: def.description,
|
|
10
|
+
...def.argument,
|
|
11
|
+
},
|
|
12
|
+
]));
|
|
13
|
+
};
|
|
@@ -32,6 +32,8 @@ const END = 'end';
|
|
|
32
32
|
/** Custom priorities */
|
|
33
33
|
const COMPOSING = 'composing';
|
|
34
34
|
const COMPOSING_QUEUE = `${QUEUE_PREFIX}${COMPOSING}`;
|
|
35
|
+
const COMPOSING_COMPONENT = 'composingComponent';
|
|
36
|
+
const COMPOSING_COMPONENT_QUEUE = `${QUEUE_PREFIX}${COMPOSING_COMPONENT}`;
|
|
35
37
|
const LOADING = 'loading';
|
|
36
38
|
const LOADING_QUEUE = `${QUEUE_PREFIX}${LOADING}`;
|
|
37
39
|
const PREPARING = 'preparing';
|
|
@@ -70,9 +72,15 @@ export const CUSTOM_PRIORITIES = [
|
|
|
70
72
|
{
|
|
71
73
|
priorityName: COMPOSING,
|
|
72
74
|
queueName: COMPOSING_QUEUE,
|
|
73
|
-
before:
|
|
75
|
+
before: COMPOSING_COMPONENT,
|
|
74
76
|
args: generator => generator.getArgsForPriority(COMPOSING),
|
|
75
77
|
},
|
|
78
|
+
{
|
|
79
|
+
priorityName: COMPOSING_COMPONENT,
|
|
80
|
+
queueName: COMPOSING_COMPONENT_QUEUE,
|
|
81
|
+
before: LOADING,
|
|
82
|
+
args: generator => generator.getArgsForPriority(COMPOSING_COMPONENT),
|
|
83
|
+
},
|
|
76
84
|
{
|
|
77
85
|
priorityName: LOADING,
|
|
78
86
|
queueName: LOADING_QUEUE,
|
|
@@ -140,6 +148,7 @@ export const PRIORITY_NAMES = {
|
|
|
140
148
|
PROMPTING,
|
|
141
149
|
CONFIGURING,
|
|
142
150
|
COMPOSING,
|
|
151
|
+
COMPOSING_COMPONENT,
|
|
143
152
|
LOADING,
|
|
144
153
|
PREPARING,
|
|
145
154
|
POST_PREPARING,
|
|
@@ -158,6 +167,7 @@ export const PRIORITY_NAMES_LIST = [
|
|
|
158
167
|
PROMPTING,
|
|
159
168
|
CONFIGURING,
|
|
160
169
|
COMPOSING,
|
|
170
|
+
COMPOSING_COMPONENT,
|
|
161
171
|
LOADING,
|
|
162
172
|
PREPARING,
|
|
163
173
|
POST_PREPARING,
|
|
@@ -175,6 +185,7 @@ export const QUEUES = {
|
|
|
175
185
|
PROMPTING_QUEUE: PROMPTING,
|
|
176
186
|
CONFIGURING_QUEUE: CONFIGURING,
|
|
177
187
|
COMPOSING_QUEUE,
|
|
188
|
+
COMPOSING_COMPONENT_QUEUE,
|
|
178
189
|
LOADING_QUEUE,
|
|
179
190
|
PREPARING_QUEUE,
|
|
180
191
|
POST_PREPARING_QUEUE,
|
|
@@ -16,13 +16,30 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
+
import { existsSync, readFileSync, statSync } from 'fs';
|
|
20
|
+
import { rm } from 'fs/promises';
|
|
21
|
+
import { isAbsolute, join, relative } from 'path';
|
|
22
|
+
import { lt as semverLessThan } from 'semver';
|
|
19
23
|
import { defaults } from 'lodash-es';
|
|
24
|
+
import { create } from 'mem-fs-editor';
|
|
25
|
+
import { GENERATOR_JHIPSTER } from '../generator-constants.js';
|
|
20
26
|
export default class SharedData {
|
|
21
27
|
_storage;
|
|
22
|
-
|
|
28
|
+
_editor;
|
|
29
|
+
_log;
|
|
30
|
+
_logCwd;
|
|
31
|
+
constructor(storage, { memFs, destinationPath, log, logCwd }, initialControl = {}) {
|
|
23
32
|
if (!storage) {
|
|
24
33
|
throw new Error('Storage is required for SharedData');
|
|
25
34
|
}
|
|
35
|
+
this._editor = create(memFs);
|
|
36
|
+
this._log = log;
|
|
37
|
+
this._logCwd = logCwd;
|
|
38
|
+
let jhipsterOldVersion;
|
|
39
|
+
if (existsSync(join(destinationPath, '.yo-rc.json'))) {
|
|
40
|
+
jhipsterOldVersion = JSON.parse(readFileSync(join(destinationPath, '.yo-rc.json'), 'utf-8').toString())[GENERATOR_JHIPSTER]
|
|
41
|
+
?.jhipsterVersion;
|
|
42
|
+
}
|
|
26
43
|
// Backward compatibility sharedData
|
|
27
44
|
this._storage = storage;
|
|
28
45
|
defaults(this._storage, {
|
|
@@ -34,7 +51,62 @@ export default class SharedData {
|
|
|
34
51
|
control: initialControl,
|
|
35
52
|
props: {},
|
|
36
53
|
});
|
|
37
|
-
this._storage.sharedApplication
|
|
54
|
+
defaults(this._storage.sharedApplication, {
|
|
55
|
+
nodeDependencies: {},
|
|
56
|
+
customizeTemplatePaths: [],
|
|
57
|
+
});
|
|
58
|
+
let customizeRemoveFiles = [];
|
|
59
|
+
const removeFiles = async (assertions, ...files) => {
|
|
60
|
+
if (typeof assertions === 'string') {
|
|
61
|
+
files = [assertions, ...files];
|
|
62
|
+
assertions = {};
|
|
63
|
+
}
|
|
64
|
+
for (const customize of customizeRemoveFiles) {
|
|
65
|
+
files = files.map(customize).filter(file => file);
|
|
66
|
+
}
|
|
67
|
+
const { removedInVersion } = assertions;
|
|
68
|
+
if (removedInVersion && jhipsterOldVersion && !semverLessThan(jhipsterOldVersion, removedInVersion)) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const absolutePaths = files.map(file => (isAbsolute(file) ? file : join(destinationPath, file)));
|
|
72
|
+
// Delete from memory fs to keep updated.
|
|
73
|
+
this._editor.delete(absolutePaths);
|
|
74
|
+
await Promise.all(absolutePaths.map(async (file) => {
|
|
75
|
+
const relativePath = relative(logCwd, file);
|
|
76
|
+
try {
|
|
77
|
+
if (statSync(file).isFile()) {
|
|
78
|
+
this._log.info(`Removing legacy file ${relativePath}`);
|
|
79
|
+
await rm(file, { force: true });
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
this._log.info(`Could not remove legacy file ${relativePath}`);
|
|
84
|
+
}
|
|
85
|
+
}));
|
|
86
|
+
};
|
|
87
|
+
defaults(this._storage.control, {
|
|
88
|
+
jhipsterOldVersion,
|
|
89
|
+
removeFiles,
|
|
90
|
+
customizeRemoveFiles: [],
|
|
91
|
+
cleanupFiles: async (cleanup) => {
|
|
92
|
+
await Promise.all(Object.entries(cleanup).map(async ([version, files]) => {
|
|
93
|
+
const stringFiles = [];
|
|
94
|
+
for (const file of files) {
|
|
95
|
+
if (Array.isArray(file)) {
|
|
96
|
+
const [condition, ...fileParts] = file;
|
|
97
|
+
if (condition) {
|
|
98
|
+
stringFiles.push(join(...fileParts));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
stringFiles.push(file);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
await removeFiles({ removedInVersion: version }, ...stringFiles);
|
|
106
|
+
}));
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
customizeRemoveFiles = this._storage.control.customizeRemoveFiles;
|
|
38
110
|
}
|
|
39
111
|
getSource() {
|
|
40
112
|
return this._storage.sharedSource;
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
+
import { camelCase } from 'lodash-es';
|
|
4
|
+
import { isReservedTableName } from '../../../jdl/jhipster/reserved-keywords.js';
|
|
5
|
+
import { upperFirstCamelCase } from './string.js';
|
|
6
|
+
import { getJavaValueGeneratorForType, getJoinTableName, getPrimaryKeyValue, getSpecificationBuildForType, hibernateSnakeCase, } from '../../server/support/index.js';
|
|
7
|
+
import { getDBCExtraOption } from '../../spring-data-relational/support/database-data.js';
|
|
8
|
+
import { getJdbcUrl, getR2dbcUrl } from '../../spring-data-relational/support/database-url.js';
|
|
9
|
+
import { fieldTypes } from '../../../jdl/index.js';
|
|
10
|
+
const { BYTES, BYTE_BUFFER } = fieldTypes.RelationalOnlyDBTypes;
|
|
3
11
|
const deprecatedProperties = {
|
|
4
12
|
GRADLE_VERSION: {
|
|
5
13
|
replacement: 'gradleVersion',
|
|
@@ -17,6 +25,18 @@ const deprecatedProperties = {
|
|
|
17
25
|
replacement: 'jhipsterDependenciesVersion',
|
|
18
26
|
get: ({ data }) => data.jhipsterDependenciesVersion,
|
|
19
27
|
},
|
|
28
|
+
JAVA_VERSION: {
|
|
29
|
+
replacement: 'javaVersion',
|
|
30
|
+
get: ({ data }) => data.javaVersion,
|
|
31
|
+
},
|
|
32
|
+
JAVA_COMPATIBLE_VERSIONS: {
|
|
33
|
+
replacement: 'javaCompatibleVersions',
|
|
34
|
+
get: ({ data }) => data.javaCompatibleVersions,
|
|
35
|
+
},
|
|
36
|
+
SPRING_BOOT_VERSION: {
|
|
37
|
+
replacement: "javaDependencies['spring-boot']",
|
|
38
|
+
get: ({ data }) => data.javaDependencies['spring-boot'],
|
|
39
|
+
},
|
|
20
40
|
DOCKER_DIR: {
|
|
21
41
|
replacement: 'dockerServicesDir',
|
|
22
42
|
get: ({ data }) => data.dockerServicesDir,
|
|
@@ -123,7 +143,7 @@ const deprecatedProperties = {
|
|
|
123
143
|
},
|
|
124
144
|
dependabotPackageJson: {
|
|
125
145
|
replacement: 'nodeDependencies',
|
|
126
|
-
get: ({ data }) => data.nodeDependencies,
|
|
146
|
+
get: ({ data }) => ({ dependencies: data.nodeDependencies, devDependencies: data.nodeDependencies }),
|
|
127
147
|
},
|
|
128
148
|
cacheManagerIsAvailable: {
|
|
129
149
|
replacement: 'cacheProviderAny',
|
|
@@ -157,31 +177,113 @@ const deprecatedProperties = {
|
|
|
157
177
|
replacement: 'prodDatabaseTypeMssql',
|
|
158
178
|
get: ({ data }) => data.prodDatabaseTypeMssql,
|
|
159
179
|
},
|
|
180
|
+
cacheProviderEhCache: {
|
|
181
|
+
replacement: 'cacheProviderEhcache',
|
|
182
|
+
get: ({ data }) => data.cacheProviderEhcache,
|
|
183
|
+
},
|
|
184
|
+
getJDBCUrl: {
|
|
185
|
+
replacement: '(prod/dev)(Jdbc/Liquibase)Url or this.getJDBCUrl',
|
|
186
|
+
get: () => getJdbcUrl,
|
|
187
|
+
},
|
|
188
|
+
getR2DBCUrl: {
|
|
189
|
+
replacement: '(prod/dev)R2dbcUrl of this.getR2DBCUrl',
|
|
190
|
+
get: () => getR2dbcUrl,
|
|
191
|
+
},
|
|
192
|
+
getDBCExtraOption: {
|
|
193
|
+
replacement: '???',
|
|
194
|
+
get: () => getDBCExtraOption,
|
|
195
|
+
},
|
|
196
|
+
getPrimaryKeyValue: {
|
|
197
|
+
replacement: 'current generator this.getPrimaryKeyValue',
|
|
198
|
+
get: () => getPrimaryKeyValue,
|
|
199
|
+
},
|
|
200
|
+
getJoinTableName: {
|
|
201
|
+
replacement: 'joinTable property',
|
|
202
|
+
get: () => (...args) => getJoinTableName(...args).value,
|
|
203
|
+
},
|
|
204
|
+
getJavaValueGeneratorForType: {
|
|
205
|
+
replacement: 'javaValueGenerator property',
|
|
206
|
+
get: () => type => getJavaValueGeneratorForType(type).replace('longCount', 'count'),
|
|
207
|
+
},
|
|
208
|
+
asEntity: {
|
|
209
|
+
replacement: 'persistClass property',
|
|
210
|
+
get: ({ data }) => name => `${name}${data.entitySuffix}`,
|
|
211
|
+
},
|
|
212
|
+
asDto: {
|
|
213
|
+
replacement: 'restClass property',
|
|
214
|
+
get: ({ data }) => name => `${name}${data.dtoSuffix}`,
|
|
215
|
+
},
|
|
216
|
+
upperFirstCamelCase: {
|
|
217
|
+
replacement: 'upperFirstCamelCase* property alternative',
|
|
218
|
+
get: () => upperFirstCamelCase,
|
|
219
|
+
},
|
|
220
|
+
hasOauthUser: {
|
|
221
|
+
replacement: 'authenticationTypeOauth2 && generateBuiltInUserEntity',
|
|
222
|
+
get: ({ data }) => data.authenticationTypeOauth2 && data.generateBuiltInUserEntity,
|
|
223
|
+
},
|
|
224
|
+
getPrettierExtensions: {
|
|
225
|
+
replacement: 'prettierExtensions',
|
|
226
|
+
get: ({ data }) => () => data.prettierExtensions,
|
|
227
|
+
},
|
|
228
|
+
_generateSqlSafeName: {
|
|
229
|
+
replacement: 'relationshipSqlSafeName',
|
|
230
|
+
get: () => name => (isReservedTableName(name, 'sql') ? `e_${name}` : name),
|
|
231
|
+
},
|
|
232
|
+
isFilterableType: {
|
|
233
|
+
replacement: 'filterableField property',
|
|
234
|
+
get: () => fieldType => ![BYTES, BYTE_BUFFER].includes(fieldType),
|
|
235
|
+
},
|
|
236
|
+
getSpecificationBuilder: {
|
|
237
|
+
replacement: 'field.fieldJavaBuildSpecification || primaryKey.javaBuildSpecification',
|
|
238
|
+
get: () => getSpecificationBuildForType,
|
|
239
|
+
},
|
|
240
|
+
getColumnName: {
|
|
241
|
+
replacement: 'entityTableName || relationship.columnName',
|
|
242
|
+
get: () => hibernateSnakeCase,
|
|
243
|
+
},
|
|
244
|
+
isUsingBuiltInUser: {
|
|
245
|
+
replacement: 'generateBuiltInUserEntity',
|
|
246
|
+
get: ({ data }) => () => data.generateBuiltInUserEntity,
|
|
247
|
+
},
|
|
248
|
+
isUsingBuiltInAuthority: {
|
|
249
|
+
replacement: 'generateBuiltInAuthorityEntity',
|
|
250
|
+
get: ({ data }) => () => data.generateBuiltInAuthorityEntity,
|
|
251
|
+
},
|
|
252
|
+
jhipsterConfig: {
|
|
253
|
+
replacement: 'none',
|
|
254
|
+
get: ({ generator }) => generator.config?.getAll?.(),
|
|
255
|
+
},
|
|
256
|
+
configOptions: {
|
|
257
|
+
replacement: 'none',
|
|
258
|
+
get: () => ({}),
|
|
259
|
+
},
|
|
160
260
|
};
|
|
161
261
|
const ejsBuiltInProperties = ['__append', '__line', 'escapeFn', 'include', 'undefined'];
|
|
162
262
|
const javascriptBuiltInProperties = ['parseInt', 'Boolean', 'JSON', 'Object', 'toString'];
|
|
163
|
-
const
|
|
263
|
+
const getPropertBuilder = ({ log = msg => console.log(msg) } = {}) => (context, prop) => {
|
|
164
264
|
if (typeof prop === 'symbol') {
|
|
165
265
|
return undefined;
|
|
166
266
|
}
|
|
267
|
+
const { generator, data } = context;
|
|
268
|
+
const value = prop in data ? data[prop] : undefined;
|
|
167
269
|
if (prop in deprecatedProperties) {
|
|
168
270
|
const { replacement, get } = deprecatedProperties[prop];
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
271
|
+
const fallBackValue = get(context);
|
|
272
|
+
const valueDesc = prop in data ? `Value: ${value}, ` : '';
|
|
273
|
+
log(`Template data ${chalk.yellow(String(prop))} was removed and should be replaced with ${chalk.yellow(replacement)}. ${valueDesc}FallbackValue: ${fallBackValue}`);
|
|
274
|
+
return value ?? fallBackValue;
|
|
172
275
|
}
|
|
173
276
|
if (prop?.startsWith?.('DOCKER_')) {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
277
|
+
const container = camelCase(prop.replace('DOCKER_', '').replace('_CONTAINER', ''));
|
|
278
|
+
log(`Template data ${chalk.yellow(String(prop))} was removed and should be replaced with ${chalk.yellow(`dockerContainers.${container}`)}.`);
|
|
279
|
+
return value ?? data.dockerContainers[container];
|
|
177
280
|
}
|
|
178
|
-
const { generator, data } = context;
|
|
179
281
|
if (prop in data) {
|
|
180
|
-
return
|
|
282
|
+
return value;
|
|
181
283
|
}
|
|
182
284
|
if (prop in generator) {
|
|
183
|
-
|
|
184
|
-
|
|
285
|
+
log(`Template data ${chalk.yellow(String(prop))} is a generator property.`);
|
|
286
|
+
log(`Change the template to '${chalk.yellow(`this.${String(prop)}`)}'`);
|
|
185
287
|
return generator[prop];
|
|
186
288
|
}
|
|
187
289
|
// console.log(`Template data '${chalk.yellow(String(prop))}' not found. Check your data.`);
|
|
@@ -191,47 +293,48 @@ const getProperty = (context, prop) => {
|
|
|
191
293
|
}
|
|
192
294
|
return undefined;
|
|
193
295
|
};
|
|
194
|
-
const createHandler = ({
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
if (!ignoreWarnings) {
|
|
223
|
-
console.log(`${chalk.yellow(prop)} is a javascript built in symbol, its use is discouraged inside templates`);
|
|
296
|
+
const createHandler = ({ log } = {}) => {
|
|
297
|
+
const getProperty = getPropertBuilder({ log });
|
|
298
|
+
return {
|
|
299
|
+
...Object.fromEntries([
|
|
300
|
+
'apply',
|
|
301
|
+
'construct',
|
|
302
|
+
'defineProperty',
|
|
303
|
+
'deleteProperty',
|
|
304
|
+
'getOwnPropertyDescriptor',
|
|
305
|
+
'getPrototypeOf',
|
|
306
|
+
'isExtensible',
|
|
307
|
+
'ownKeys',
|
|
308
|
+
'preventExtensions',
|
|
309
|
+
'setPrototypeOf',
|
|
310
|
+
'set',
|
|
311
|
+
].map(method => [method, (...args) => console.log(`Fixme: template data called ${method}(${args?.pop() ?? ''})`)])),
|
|
312
|
+
ownKeys: ({ data }) => {
|
|
313
|
+
return Reflect.ownKeys(data);
|
|
314
|
+
},
|
|
315
|
+
getPrototypeOf: ({ data }) => {
|
|
316
|
+
return Object.getPrototypeOf(data);
|
|
317
|
+
},
|
|
318
|
+
getOwnPropertyDescriptor: ({ data }, prop) => {
|
|
319
|
+
return Object.getOwnPropertyDescriptor(data, prop);
|
|
320
|
+
},
|
|
321
|
+
has: (context, prop) => {
|
|
322
|
+
if (ejsBuiltInProperties.includes(prop)) {
|
|
323
|
+
return false;
|
|
224
324
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
}
|
|
325
|
+
if (javascriptBuiltInProperties.includes(prop)) {
|
|
326
|
+
log(`${chalk.yellow(prop)} is a javascript built in symbol, its use is discouraged inside templates`);
|
|
327
|
+
return false;
|
|
328
|
+
}
|
|
329
|
+
const propValue = getProperty(context, prop);
|
|
330
|
+
if (propValue === undefined) {
|
|
331
|
+
return prop in context.data;
|
|
332
|
+
}
|
|
333
|
+
return propValue !== undefined;
|
|
334
|
+
},
|
|
335
|
+
get: getProperty,
|
|
336
|
+
};
|
|
337
|
+
};
|
|
235
338
|
export default function createJHipster7Context(generator, data, options) {
|
|
236
339
|
return new Proxy({ generator, data }, createHandler(options));
|
|
237
340
|
}
|