generator-jhipster 8.4.0 → 8.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generators/angular/resources/package.json +10 -10
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +2 -2
- 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/init/password-reset-init.component.spec.ts.ejs +2 -2
- 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/register/register.component.ts.ejs +3 -6
- 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/user-management/delete/user-management-delete-dialog.component.html.ejs +0 -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/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +0 -3
- 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_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +3 -3
- 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/navbar/active-menu.directive.ts.ejs +3 -3
- 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 +10 -8
- 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/app/generator.js +4 -13
- package/dist/generators/base/generator.js +15 -16
- package/dist/generators/base/priorities.js +12 -1
- package/dist/generators/base-application/generator.js +14 -2
- 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 +40 -9
- package/dist/generators/bootstrap-application-base/generator.js +7 -3
- package/dist/generators/bootstrap-application-server/generator.js +1 -0
- package/dist/generators/client/command.js +2 -2
- 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 +4 -4
- 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/mysql.yml.ejs +1 -1
- package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +14 -3
- package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +14 -3
- package/dist/generators/entity/generator.js +2 -10
- package/dist/generators/entity/prompts.js +6 -11
- package/dist/generators/gatling/README.md +15 -0
- 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 +8 -0
- package/dist/generators/generate-blueprint/generator.js +17 -10
- package/dist/generators/generate-blueprint/resources/package.json +1 -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 +24 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/index.mjs.ejs +1 -0
- package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +2 -2
- package/dist/generators/generate-blueprint/templates/README.md.ejs +16 -8
- package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -0
- package/dist/generators/generator-constants.js +1 -1
- package/dist/generators/info/generator.js +1 -3
- package/dist/generators/init/generator.js +2 -2
- package/dist/generators/init/resources/.node-version +1 -1
- package/dist/generators/java/generators/build-tool/command.js +4 -1
- 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/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 +1 -1
- package/dist/generators/kubernetes/files.js +1 -1
- package/dist/generators/kubernetes/templates/db/mysql.yml.ejs +0 -1
- package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +14 -3
- package/dist/generators/languages/generator.js +4 -2
- 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/generator.js +10 -0
- package/dist/generators/react/resources/package.json +24 -24
- 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/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/shared/reducers/reducer.utils.ts.ejs +2 -3
- package/dist/generators/server/command.js +0 -11
- package/dist/generators/server/generator.js +9 -70
- package/dist/generators/server/jdl/application-definition.js +3 -1
- package/dist/generators/server/resources/Dockerfile +12 -12
- package/dist/generators/server/resources/gradle/libs.versions.toml +7 -5
- package/dist/generators/server/resources/pom.xml +7 -7
- 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 +1 -0
- package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +1 -0
- package/dist/generators/server/templates/gradle.properties.ejs +1 -1
- package/dist/generators/server/templates/pom.xml.ejs +7 -5
- 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/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 +0 -20
- package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +65 -5
- package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +23 -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_skipUserManagement.java.ejs +43 -9
- package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +59 -21
- 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 +40 -7
- package/dist/generators/spring-boot/prompts.js +6 -70
- package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +368 -576
- 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-cloud/generators/gateway/command.js +5 -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-data-cassandra/generator.js +2 -2
- package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +3 -1
- package/dist/generators/vue/resources/package.json +15 -15
- 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/testing/helpers.js +4 -0
- package/dist/types/generators/base/api.d.ts +5 -1
- package/dist/types/generators/base/generator.d.ts +10 -4
- package/dist/types/generators/base/priorities.d.ts +4 -0
- package/dist/types/generators/base/shared-data.d.ts +1 -1
- 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-core/generator.d.ts +16 -1
- package/dist/types/generators/generator-constants.d.ts +1 -1
- 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/server/support/relationship.d.ts +2 -2
- package/dist/types/generators/server/types.d.ts +5 -0
- 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/testing/helpers.d.ts +13 -3
- package/package.json +24 -23
- /package/dist/jdl/converters/{types.js → parsed-jdl-to-jdl-object/types.js} +0 -0
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
"dayjs": "1.11.11"
|
|
4
4
|
},
|
|
5
5
|
"devDependencies": {
|
|
6
|
-
"@cypress/code-coverage": "3.12.
|
|
6
|
+
"@cypress/code-coverage": "3.12.39",
|
|
7
7
|
"babel-loader": "9.1.3",
|
|
8
8
|
"babel-plugin-istanbul": "6.1.1",
|
|
9
|
-
"cypress": "13.
|
|
9
|
+
"cypress": "13.10.0",
|
|
10
10
|
"cypress-audit": "1.1.0",
|
|
11
|
-
"eslint-plugin-cypress": "3.0
|
|
11
|
+
"eslint-plugin-cypress": "3.3.0",
|
|
12
12
|
"lighthouse": "12.0.0",
|
|
13
13
|
"nyc": "15.1.0",
|
|
14
|
-
"swagger-ui-dist": "5.17.
|
|
14
|
+
"swagger-ui-dist": "5.17.14"
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -136,6 +136,11 @@ export default class CommonGenerator extends BaseApplicationGenerator {
|
|
|
136
136
|
// Public API method used by the getter and also by Blueprints
|
|
137
137
|
get preparing() {
|
|
138
138
|
return this.asPreparingTaskGroup({
|
|
139
|
+
checkSuffix({ application }) {
|
|
140
|
+
if (application.entitySuffix === application.dtoSuffix) {
|
|
141
|
+
throw new Error('Entities cannot be generated as the entity suffix and DTO suffix are equals!');
|
|
142
|
+
}
|
|
143
|
+
},
|
|
139
144
|
setupConstants({ application }) {
|
|
140
145
|
// Make constants available in templates
|
|
141
146
|
application.MAIN_DIR = MAIN_DIR;
|
|
@@ -52,7 +52,7 @@ describe('login modal', () => {
|
|
|
52
52
|
cy.get(passwordLoginSelector).type('a-password');
|
|
53
53
|
cy.get(submitLoginSelector).click();
|
|
54
54
|
<%_ if (!clientFrameworkReact) { _%>
|
|
55
|
-
cy.wait('@authenticate').then(({ response }) => expect(response
|
|
55
|
+
cy.wait('@authenticate').then(({ response }) => expect(response?.statusCode).to.equal(<% if (authenticationTypeSession) { %>401<% } else { %>400<% } %>));
|
|
56
56
|
<%_ } _%>
|
|
57
57
|
// login page should stay open when login fails
|
|
58
58
|
cy.get(titleLoginSelector).should('be.visible');
|
|
@@ -62,7 +62,7 @@ describe('login modal', () => {
|
|
|
62
62
|
cy.get(usernameLoginSelector).type('a-login');
|
|
63
63
|
cy.get(submitLoginSelector).click();
|
|
64
64
|
<%_ if (!clientFrameworkReact) { _%>
|
|
65
|
-
cy.wait('@authenticate').then(({ response }) => expect(response
|
|
65
|
+
cy.wait('@authenticate').then(({ response }) => expect(response?.statusCode).to.equal(<% if (authenticationTypeSession) { %>401<% } else { %>400<% } %>));
|
|
66
66
|
cy.get(errorLoginSelector).should('be.visible');
|
|
67
67
|
<%_ } else { _%>
|
|
68
68
|
// login page should stay open when login fails
|
|
@@ -74,7 +74,7 @@ describe('login modal', () => {
|
|
|
74
74
|
cy.get(usernameLoginSelector).type(username);
|
|
75
75
|
cy.get(passwordLoginSelector).type('bad-password');
|
|
76
76
|
cy.get(submitLoginSelector).click();
|
|
77
|
-
cy.wait('@authenticate').then(({ response }) => expect(response
|
|
77
|
+
cy.wait('@authenticate').then(({ response }) => expect(response?.statusCode).to.equal(401));
|
|
78
78
|
cy.get(errorLoginSelector).should('be.visible');
|
|
79
79
|
});
|
|
80
80
|
|
|
@@ -82,7 +82,7 @@ describe('login modal', () => {
|
|
|
82
82
|
cy.get(usernameLoginSelector).type(username);
|
|
83
83
|
cy.get(passwordLoginSelector).type(password);
|
|
84
84
|
cy.get(submitLoginSelector).click();
|
|
85
|
-
cy.wait('@authenticate').then(({ response }) => expect(response
|
|
85
|
+
cy.wait('@authenticate').then(({ response }) => expect(response?.statusCode).to.equal(200));
|
|
86
86
|
cy.hash().should('eq', '');
|
|
87
87
|
});
|
|
88
88
|
});
|
|
@@ -80,7 +80,7 @@ describe('/account/password', () => {
|
|
|
80
80
|
cy.get(newPasswordSelector).type('jhipster');
|
|
81
81
|
cy.get(confirmPasswordSelector).type('jhipster');
|
|
82
82
|
cy.get(submitPasswordSelector).click();
|
|
83
|
-
cy.wait('@passwordSave').then(({ response }) => expect(response
|
|
83
|
+
cy.wait('@passwordSave').then(({ response }) => expect(response?.statusCode).to.equal(400));
|
|
84
84
|
});
|
|
85
85
|
|
|
86
86
|
it("should be able to update password", () => {
|
|
@@ -88,6 +88,6 @@ describe('/account/password', () => {
|
|
|
88
88
|
cy.get(newPasswordSelector).type(password);
|
|
89
89
|
cy.get(confirmPasswordSelector).type(password);
|
|
90
90
|
cy.get(submitPasswordSelector).click();
|
|
91
|
-
cy.wait('@passwordSave').then(({ response }) => expect(response
|
|
91
|
+
cy.wait('@passwordSave').then(({ response }) => expect(response?.statusCode).to.equal(200));
|
|
92
92
|
});
|
|
93
93
|
});
|
|
@@ -128,6 +128,6 @@ describe('<%= registerPage %>', () => {
|
|
|
128
128
|
cy.get(firstPasswordRegisterSelector).type('jondoe');
|
|
129
129
|
cy.get(secondPasswordRegisterSelector).type('jondoe');
|
|
130
130
|
cy.get(submitRegisterSelector).click();
|
|
131
|
-
cy.wait('@registerSave').then(({ response }) => expect(response
|
|
131
|
+
cy.wait('@registerSave').then(({ response }) => expect(response?.statusCode).to.equal(201));
|
|
132
132
|
});
|
|
133
133
|
});
|
|
@@ -54,6 +54,6 @@ describe('forgot your password', () => {
|
|
|
54
54
|
it('should be able to init reset password', () => {
|
|
55
55
|
cy.get(emailResetPasswordSelector).type('user@gmail.com');
|
|
56
56
|
cy.get(submitInitResetPasswordSelector).click({ force: true });
|
|
57
|
-
cy.wait('@initResetPassword').then(({ response }) => expect(response
|
|
57
|
+
cy.wait('@initResetPassword').then(({ response }) => expect(response?.statusCode).to.equal(200));
|
|
58
58
|
});
|
|
59
59
|
});
|
package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs
CHANGED
|
@@ -146,7 +146,7 @@ describe('<%= entityClass %> e2e test', () => {
|
|
|
146
146
|
cy.visit('/');
|
|
147
147
|
cy.clickOnEntityMenuItem('<%= entityPage %>');
|
|
148
148
|
cy.wait('@entitiesRequest').then(({ response }) => {
|
|
149
|
-
if (response
|
|
149
|
+
if (response?.body.length === 0) {
|
|
150
150
|
cy.get(entityTableSelector).should('not.exist');
|
|
151
151
|
} else {
|
|
152
152
|
cy.get(entityTableSelector).should('exist');
|
|
@@ -171,7 +171,7 @@ describe('<%= entityClass %> e2e test', () => {
|
|
|
171
171
|
cy.get(entityCreateSaveButtonSelector).should('exist');
|
|
172
172
|
cy.get(entityCreateCancelButtonSelector).click();
|
|
173
173
|
cy.wait('@entitiesRequest').then(({ response }) => {
|
|
174
|
-
expect(response
|
|
174
|
+
expect(response?.statusCode).to.equal(200);
|
|
175
175
|
});
|
|
176
176
|
cy.url().should('match', <%= entityInstance %>PageUrlPattern);
|
|
177
177
|
});
|
|
@@ -232,7 +232,7 @@ describe('<%= entityClass %> e2e test', () => {
|
|
|
232
232
|
cy.visit(<%= entityInstance %>PageUrl);
|
|
233
233
|
|
|
234
234
|
cy.wait('@entitiesRequest').then(({ response }) => {
|
|
235
|
-
if (response
|
|
235
|
+
if (response?.body.length === 0) {
|
|
236
236
|
this.skip();
|
|
237
237
|
}
|
|
238
238
|
});
|
|
@@ -244,7 +244,7 @@ describe('<%= entityClass %> e2e test', () => {
|
|
|
244
244
|
cy.getEntityDetailsHeading('<%= entityInstance %>');
|
|
245
245
|
cy.get(entityDetailsBackButtonSelector).click();
|
|
246
246
|
cy.wait('@entitiesRequest').then(({ response }) => {
|
|
247
|
-
expect(response
|
|
247
|
+
expect(response?.statusCode).to.equal(200);
|
|
248
248
|
});
|
|
249
249
|
cy.url().should('match', <%= entityInstance %>PageUrlPattern);
|
|
250
250
|
});
|
|
@@ -256,7 +256,7 @@ describe('<%= entityClass %> e2e test', () => {
|
|
|
256
256
|
cy.get(entityCreateSaveButtonSelector).should('exist');
|
|
257
257
|
cy.get(entityCreateCancelButtonSelector).click();
|
|
258
258
|
cy.wait('@entitiesRequest').then(({ response }) => {
|
|
259
|
-
expect(response
|
|
259
|
+
expect(response?.statusCode).to.equal(200);
|
|
260
260
|
});
|
|
261
261
|
cy.url().should('match', <%= entityInstance %>PageUrlPattern);
|
|
262
262
|
});
|
|
@@ -266,7 +266,7 @@ describe('<%= entityClass %> e2e test', () => {
|
|
|
266
266
|
cy.getEntityCreateUpdateHeading('<%= entityClass %>');
|
|
267
267
|
cy.get(entityCreateSaveButtonSelector).click();
|
|
268
268
|
cy.wait('@entitiesRequest').then(({ response }) => {
|
|
269
|
-
expect(response
|
|
269
|
+
expect(response?.statusCode).to.equal(200);
|
|
270
270
|
});
|
|
271
271
|
cy.url().should('match', <%= entityInstance %>PageUrlPattern);
|
|
272
272
|
});
|
|
@@ -284,10 +284,10 @@ describe('<%= entityClass %> e2e test', () => {
|
|
|
284
284
|
cy.getEntityDeleteDialogHeading('<%= entityInstance %>').should('exist');
|
|
285
285
|
cy.get(entityConfirmDeleteButtonSelector).click();
|
|
286
286
|
cy.wait('@deleteEntityRequest').then(({ response }) => {
|
|
287
|
-
expect(response
|
|
287
|
+
expect(response?.statusCode).to.equal(204);
|
|
288
288
|
});
|
|
289
289
|
cy.wait('@entitiesRequest').then(({ response }) => {
|
|
290
|
-
expect(response
|
|
290
|
+
expect(response?.statusCode).to.equal(200);
|
|
291
291
|
});
|
|
292
292
|
cy.url().should('match', <%= entityInstance %>PageUrlPattern);
|
|
293
293
|
<% if (cypressBootstrapEntities) { %>
|
|
@@ -351,11 +351,11 @@ describe('<%= entityClass %> e2e test', () => {
|
|
|
351
351
|
cy.get(entityCreateSaveButtonSelector).click();
|
|
352
352
|
|
|
353
353
|
cy.wait('@postEntityRequest').then(({ response }) => {
|
|
354
|
-
expect(response
|
|
354
|
+
expect(response?.statusCode).to.equal(201);
|
|
355
355
|
<%= entityInstance %> = response.body;
|
|
356
356
|
});
|
|
357
357
|
cy.wait('@entitiesRequest').then(({ response }) => {
|
|
358
|
-
expect(response
|
|
358
|
+
expect(response?.statusCode).to.equal(200);
|
|
359
359
|
});
|
|
360
360
|
cy.url().should('match', <%= entityInstance %>PageUrlPattern);
|
|
361
361
|
});
|
|
@@ -31,7 +31,7 @@ services:
|
|
|
31
31
|
# remove the "127.0.0.1:" prefix
|
|
32
32
|
ports:
|
|
33
33
|
- 127.0.0.1:3306:3306
|
|
34
|
-
command: mysqld --lower_case_table_names=1 --
|
|
34
|
+
command: mysqld --lower_case_table_names=1 --character_set_server=utf8mb4 --explicit_defaults_for_timestamp
|
|
35
35
|
healthcheck:
|
|
36
36
|
test: ["CMD", "mysql", "-e", "SHOW DATABASES;"]
|
|
37
37
|
interval: 5s
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"oauth2DevicePollingInterval": 5,
|
|
30
30
|
"enabled": true,
|
|
31
31
|
"sslRequired": "external",
|
|
32
|
-
"registrationAllowed":
|
|
32
|
+
"registrationAllowed": true,
|
|
33
33
|
"registrationEmailAsUsername": false,
|
|
34
34
|
"rememberMe": false,
|
|
35
35
|
"verifyEmail": false,
|
|
@@ -463,6 +463,9 @@
|
|
|
463
463
|
"requiredCredentials": [
|
|
464
464
|
"password"
|
|
465
465
|
],
|
|
466
|
+
"defaultGroups": [
|
|
467
|
+
"/Users"
|
|
468
|
+
],
|
|
466
469
|
"otpPolicyType": "totp",
|
|
467
470
|
"otpPolicyAlgorithm": "HmacSHA1",
|
|
468
471
|
"otpPolicyInitialCounter": 0,
|
|
@@ -2362,6 +2365,14 @@
|
|
|
2362
2365
|
"priority": 60,
|
|
2363
2366
|
"userSetupAllowed": false,
|
|
2364
2367
|
"autheticatorFlow": false
|
|
2368
|
+
},
|
|
2369
|
+
{
|
|
2370
|
+
"authenticator": "registration-terms-and-conditions",
|
|
2371
|
+
"authenticatorFlow": false,
|
|
2372
|
+
"requirement": "DISABLED",
|
|
2373
|
+
"priority": 70,
|
|
2374
|
+
"autheticatorFlow": false,
|
|
2375
|
+
"userSetupAllowed": false
|
|
2365
2376
|
}
|
|
2366
2377
|
]
|
|
2367
2378
|
},
|
|
@@ -2453,9 +2464,9 @@
|
|
|
2453
2464
|
"config": {}
|
|
2454
2465
|
},
|
|
2455
2466
|
{
|
|
2456
|
-
"alias": "
|
|
2467
|
+
"alias": "TERMS_AND_CONDITIONS",
|
|
2457
2468
|
"name": "Terms and Conditions",
|
|
2458
|
-
"providerId": "
|
|
2469
|
+
"providerId": "TERMS_AND_CONDITIONS",
|
|
2459
2470
|
"enabled": false,
|
|
2460
2471
|
"defaultAction": false,
|
|
2461
2472
|
"priority": 20,
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"oauth2DevicePollingInterval": 5,
|
|
30
30
|
"enabled": true,
|
|
31
31
|
"sslRequired": "external",
|
|
32
|
-
"registrationAllowed":
|
|
32
|
+
"registrationAllowed": true,
|
|
33
33
|
"registrationEmailAsUsername": false,
|
|
34
34
|
"rememberMe": false,
|
|
35
35
|
"verifyEmail": false,
|
|
@@ -463,6 +463,9 @@
|
|
|
463
463
|
"requiredCredentials": [
|
|
464
464
|
"password"
|
|
465
465
|
],
|
|
466
|
+
"defaultGroups": [
|
|
467
|
+
"/Users"
|
|
468
|
+
],
|
|
466
469
|
"otpPolicyType": "totp",
|
|
467
470
|
"otpPolicyAlgorithm": "HmacSHA1",
|
|
468
471
|
"otpPolicyInitialCounter": 0,
|
|
@@ -2364,6 +2367,14 @@
|
|
|
2364
2367
|
"priority": 60,
|
|
2365
2368
|
"userSetupAllowed": false,
|
|
2366
2369
|
"autheticatorFlow": false
|
|
2370
|
+
},
|
|
2371
|
+
{
|
|
2372
|
+
"authenticator": "registration-terms-and-conditions",
|
|
2373
|
+
"authenticatorFlow": false,
|
|
2374
|
+
"requirement": "DISABLED",
|
|
2375
|
+
"priority": 70,
|
|
2376
|
+
"autheticatorFlow": false,
|
|
2377
|
+
"userSetupAllowed": false
|
|
2367
2378
|
}
|
|
2368
2379
|
]
|
|
2369
2380
|
},
|
|
@@ -2455,9 +2466,9 @@
|
|
|
2455
2466
|
"config": {}
|
|
2456
2467
|
},
|
|
2457
2468
|
{
|
|
2458
|
-
"alias": "
|
|
2469
|
+
"alias": "TERMS_AND_CONDITIONS",
|
|
2459
2470
|
"name": "Terms and Conditions",
|
|
2460
|
-
"providerId": "
|
|
2471
|
+
"providerId": "TERMS_AND_CONDITIONS",
|
|
2461
2472
|
"enabled": false,
|
|
2462
2473
|
"defaultAction": false,
|
|
2463
2474
|
"priority": 20,
|
|
@@ -186,14 +186,6 @@ export default class EntityGenerator extends BaseApplicationGenerator {
|
|
|
186
186
|
askForFiltering: prompts.askForFiltering,
|
|
187
187
|
askForReadOnly: prompts.askForReadOnly,
|
|
188
188
|
askForPagination: prompts.askForPagination,
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
get [BaseApplicationGenerator.POST_PREPARING]() {
|
|
192
|
-
return this.delegateTasksToBlueprint(() => this.postPreparing);
|
|
193
|
-
}
|
|
194
|
-
// Public API method used by the getter and also by Blueprints
|
|
195
|
-
get default() {
|
|
196
|
-
return this.asDefaultTaskGroup({
|
|
197
189
|
async composeEntities() {
|
|
198
190
|
// We need to compose with others entities to update relationships.
|
|
199
191
|
await this.composeWithJHipster(GENERATOR_ENTITIES, {
|
|
@@ -206,8 +198,8 @@ export default class EntityGenerator extends BaseApplicationGenerator {
|
|
|
206
198
|
},
|
|
207
199
|
});
|
|
208
200
|
}
|
|
209
|
-
get [BaseApplicationGenerator.
|
|
210
|
-
return this.delegateTasksToBlueprint(() => this.
|
|
201
|
+
get [BaseApplicationGenerator.POST_PREPARING]() {
|
|
202
|
+
return this.delegateTasksToBlueprint(() => this.postPreparing);
|
|
211
203
|
}
|
|
212
204
|
// Public API method used by the getter and also by Blueprints
|
|
213
205
|
get end() {
|
|
@@ -22,19 +22,14 @@ import { isArray, lowerFirst, snakeCase, uniq, upperFirst } from 'lodash-es';
|
|
|
22
22
|
import { reservedKeywords, databaseTypes, applicationTypes, entityOptions, fieldTypes, validations, clientFrameworkTypes, } from '../../jdl/jhipster/index.js';
|
|
23
23
|
import { inputIsNumber, inputIsSignedDecimalNumber, inputIsSignedNumber } from './support/index.js';
|
|
24
24
|
const { isReservedPaginationWords, isReservedFieldName, isReservedTableName } = reservedKeywords;
|
|
25
|
-
const { CASSANDRA, SQL } = databaseTypes;
|
|
25
|
+
const { NO: NO_DATABASE, CASSANDRA, SQL } = databaseTypes;
|
|
26
26
|
const { GATEWAY } = applicationTypes;
|
|
27
27
|
const { FilteringTypes, MapperTypes, ServiceTypes, PaginationTypes } = entityOptions;
|
|
28
28
|
const { ANGULAR, REACT } = clientFrameworkTypes;
|
|
29
|
-
const { JPA_METAMODEL } = FilteringTypes;
|
|
30
|
-
const
|
|
31
|
-
const {
|
|
32
|
-
const
|
|
33
|
-
const { SERVICE_IMPL, SERVICE_CLASS } = ServiceTypes;
|
|
34
|
-
const NO_SERVICE = ServiceTypes.NO;
|
|
35
|
-
const { MAPSTRUCT } = MapperTypes;
|
|
36
|
-
const NO_MAPPER = MapperTypes.NO;
|
|
37
|
-
const NO_DATABASE = databaseTypes.NO;
|
|
29
|
+
const { NO: NO_FILTERING, JPA_METAMODEL } = FilteringTypes;
|
|
30
|
+
const { NO: NO_PAGINATION, INFINITE_SCROLL, PAGINATION } = PaginationTypes;
|
|
31
|
+
const { NO: NO_SERVICE, SERVICE_IMPL, SERVICE_CLASS } = ServiceTypes;
|
|
32
|
+
const { NO: NO_MAPPER, MAPSTRUCT } = MapperTypes;
|
|
38
33
|
const { CommonDBTypes, RelationalOnlyDBTypes, BlobTypes } = fieldTypes;
|
|
39
34
|
const { BIG_DECIMAL, BOOLEAN, DOUBLE, DURATION, ENUM, FLOAT, INTEGER, INSTANT, LOCAL_DATE, LONG, STRING, UUID, ZONED_DATE_TIME } = CommonDBTypes;
|
|
40
35
|
const { BYTES, BYTE_BUFFER } = RelationalOnlyDBTypes;
|
|
@@ -764,7 +759,7 @@ async function askForRelationship(...args) {
|
|
|
764
759
|
}
|
|
765
760
|
return true;
|
|
766
761
|
},
|
|
767
|
-
type: '
|
|
762
|
+
type: 'confirm',
|
|
768
763
|
name: 'bidirectional',
|
|
769
764
|
message: 'Do you want to generate a bidirectional relationship',
|
|
770
765
|
default: true,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Gatling sub-generator
|
|
2
|
+
|
|
3
|
+
Generates load testing simulations for entities using [Gatling](https://gatling.io/).
|
|
4
|
+
|
|
5
|
+
## Logging tips
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
|
|
9
|
+
{
|
|
10
|
+
// Log all HTTP requests
|
|
11
|
+
//context.getLogger("io.gatling.http").setLevel(Level.valueOf("TRACE"));
|
|
12
|
+
// Log failed HTTP requests
|
|
13
|
+
//context.getLogger("io.gatling.http").setLevel(Level.valueOf("DEBUG"));
|
|
14
|
+
}
|
|
15
|
+
```
|
|
@@ -28,7 +28,6 @@ import static io.gatling.javaapi.http.HttpDsl.headerRegex;
|
|
|
28
28
|
import static io.gatling.javaapi.http.HttpDsl.http;
|
|
29
29
|
import static io.gatling.javaapi.http.HttpDsl.status;
|
|
30
30
|
|
|
31
|
-
import ch.qos.logback.classic.LoggerContext;
|
|
32
31
|
import java.time.Duration;
|
|
33
32
|
import java.util.Map;
|
|
34
33
|
import java.util.Optional;
|
|
@@ -36,21 +35,14 @@ import io.gatling.javaapi.core.ChainBuilder;
|
|
|
36
35
|
import io.gatling.javaapi.core.ScenarioBuilder;
|
|
37
36
|
import io.gatling.javaapi.core.Simulation;
|
|
38
37
|
import io.gatling.javaapi.http.HttpProtocolBuilder;
|
|
39
|
-
import org.slf4j.LoggerFactory;
|
|
40
38
|
|
|
41
39
|
/**
|
|
42
40
|
* Performance test for the <%= entityClass %> entity.
|
|
41
|
+
*
|
|
42
|
+
* @see <a href="https://github.com/jhipster/generator-jhipster/tree/v<%- jhipsterVersion %>/generators/gatling#logging-tips">Logging tips</a>
|
|
43
43
|
*/
|
|
44
44
|
public class <%= entityClass %>GatlingTest extends Simulation {
|
|
45
45
|
|
|
46
|
-
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
|
|
47
|
-
{
|
|
48
|
-
// Log all HTTP requests
|
|
49
|
-
//context.getLogger("io.gatling.http").setLevel(Level.valueOf("TRACE"));
|
|
50
|
-
// Log failed HTTP requests
|
|
51
|
-
//context.getLogger("io.gatling.http").setLevel(Level.valueOf("DEBUG"));
|
|
52
|
-
}
|
|
53
|
-
|
|
54
46
|
String baseURL = Optional.ofNullable(System.getProperty("baseURL")).orElse("http://localhost:<%= serverPort %>");
|
|
55
47
|
|
|
56
48
|
HttpProtocolBuilder httpConf = http
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { GENERATOR_INIT } from '../generator-list.js';
|
|
2
2
|
import { ADDITIONAL_SUB_GENERATORS, ALL_GENERATORS, ALL_PRIORITIES, CLI_OPTION, DYNAMIC, GENERATE_SNAPSHOTS, JS, LINK_JHIPSTER_DEPENDENCY, LOCAL_BLUEPRINT_OPTION, SUB_GENERATORS, } from './constants.js';
|
|
3
3
|
const command = {
|
|
4
|
+
configs: {
|
|
5
|
+
githubRepository: {
|
|
6
|
+
cli: {
|
|
7
|
+
description: 'Github Repository',
|
|
8
|
+
type: String,
|
|
9
|
+
},
|
|
10
|
+
scope: 'storage',
|
|
11
|
+
},
|
|
12
|
+
githubWorkflows: {
|
|
13
|
+
cli: {
|
|
14
|
+
description: 'Generate github workflows',
|
|
15
|
+
type: Boolean,
|
|
16
|
+
},
|
|
17
|
+
scope: 'storage',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
4
20
|
options: {
|
|
5
21
|
[GENERATE_SNAPSHOTS]: {
|
|
6
22
|
description: 'Generate test snapshots',
|
|
@@ -35,6 +35,14 @@ export const files = {
|
|
|
35
35
|
'.blueprint/generate-sample/index.mjs',
|
|
36
36
|
],
|
|
37
37
|
},
|
|
38
|
+
{
|
|
39
|
+
condition: ctx => !ctx[LOCAL_BLUEPRINT_OPTION] && ctx.githubWorkflows,
|
|
40
|
+
templates: [
|
|
41
|
+
'.blueprint/github-build-matrix/build-matrix.mjs',
|
|
42
|
+
'.blueprint/github-build-matrix/generator.mjs',
|
|
43
|
+
'.blueprint/github-build-matrix/index.mjs',
|
|
44
|
+
],
|
|
45
|
+
},
|
|
38
46
|
{
|
|
39
47
|
condition: ctx => !ctx[LOCAL_BLUEPRINT_OPTION] && !ctx.sampleWritten,
|
|
40
48
|
templates: ['.blueprint/generate-sample/templates/samples/sample.jdl'],
|
|
@@ -25,7 +25,6 @@ import * as GENERATOR_LIST from '../generator-list.js';
|
|
|
25
25
|
import { files, generatorFiles } from './files.js';
|
|
26
26
|
import { packageJson } from '../../lib/index.js';
|
|
27
27
|
import { SKIP_COMMIT_HOOK } from '../init/constants.js';
|
|
28
|
-
import command from './command.js';
|
|
29
28
|
import { BLUEPRINT_API_VERSION, NODE_VERSION } from '../generator-constants.js';
|
|
30
29
|
const { GENERATOR_PROJECT_NAME, GENERATOR_INIT } = GENERATOR_LIST;
|
|
31
30
|
export default class extends BaseGenerator {
|
|
@@ -38,9 +37,9 @@ export default class extends BaseGenerator {
|
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
39
|
get initializing() {
|
|
41
|
-
return {
|
|
42
|
-
loadOptions() {
|
|
43
|
-
this.
|
|
40
|
+
return this.asInitializingTaskGroup({
|
|
41
|
+
async loadOptions() {
|
|
42
|
+
await this.parseCurrentJHipsterCommand();
|
|
44
43
|
if (this[ALL_GENERATORS]) {
|
|
45
44
|
this.config.set(allGeneratorsConfig());
|
|
46
45
|
}
|
|
@@ -48,7 +47,7 @@ export default class extends BaseGenerator {
|
|
|
48
47
|
this.config.defaults(defaultConfig({ config: this.jhipsterConfig }));
|
|
49
48
|
}
|
|
50
49
|
},
|
|
51
|
-
};
|
|
50
|
+
});
|
|
52
51
|
}
|
|
53
52
|
get [BaseGenerator.INITIALIZING]() {
|
|
54
53
|
return this.delegateTasksToBlueprint(() => this.initializing);
|
|
@@ -123,14 +122,15 @@ export default class extends BaseGenerator {
|
|
|
123
122
|
return this.delegateTasksToBlueprint(() => this.composing);
|
|
124
123
|
}
|
|
125
124
|
get loading() {
|
|
126
|
-
return {
|
|
127
|
-
createContext() {
|
|
125
|
+
return this.asLoadingTaskGroup({
|
|
126
|
+
async createContext() {
|
|
128
127
|
this.application = { ...defaultConfig(), ...this.config.getAll() };
|
|
128
|
+
await this.loadCurrentJHipsterCommandConfig(this.application);
|
|
129
129
|
},
|
|
130
130
|
async load() {
|
|
131
131
|
this.application.packagejs = packageJson;
|
|
132
132
|
},
|
|
133
|
-
};
|
|
133
|
+
});
|
|
134
134
|
}
|
|
135
135
|
get [BaseGenerator.LOADING]() {
|
|
136
136
|
return this.delegateTasksToBlueprint(() => this.loading);
|
|
@@ -152,6 +152,13 @@ export default class extends BaseGenerator {
|
|
|
152
152
|
preparePath() {
|
|
153
153
|
this.application.blueprintsPath = this.application[LOCAL_BLUEPRINT_OPTION] ? '.blueprint/' : 'generators/';
|
|
154
154
|
},
|
|
155
|
+
prepare() {
|
|
156
|
+
const { cli, cliName, baseName } = this.application;
|
|
157
|
+
this.application.githubRepository = this.jhipsterConfig.githubRepository ?? `jhipster/generator-jhipster-${baseName}`;
|
|
158
|
+
if (cli) {
|
|
159
|
+
this.application.cliName = cliName ?? `jhipster-${baseName}`;
|
|
160
|
+
}
|
|
161
|
+
},
|
|
155
162
|
};
|
|
156
163
|
}
|
|
157
164
|
get [BaseGenerator.PREPARING]() {
|
|
@@ -241,7 +248,7 @@ export default class extends BaseGenerator {
|
|
|
241
248
|
* yeoman-test version is loaded through generator-jhipster peer dependency.
|
|
242
249
|
* generator-jhipster uses a fixed version, blueprints must set a compatible range.
|
|
243
250
|
*/
|
|
244
|
-
'yeoman-test': '>=8.
|
|
251
|
+
'yeoman-test': '>=8.2.0',
|
|
245
252
|
},
|
|
246
253
|
engines: {
|
|
247
254
|
node: packagejs.engines.node,
|
|
@@ -251,7 +258,7 @@ export default class extends BaseGenerator {
|
|
|
251
258
|
addCliToPackageJson() {
|
|
252
259
|
if (!this.jhipsterConfig.cli || this.jhipsterConfig[LOCAL_BLUEPRINT_OPTION])
|
|
253
260
|
return;
|
|
254
|
-
const {
|
|
261
|
+
const { cliName } = this.application;
|
|
255
262
|
this.packageJson.merge({
|
|
256
263
|
bin: {
|
|
257
264
|
[cliName]: 'cli/cli.cjs',
|
|
@@ -22,6 +22,12 @@ const defaultCommands = {
|
|
|
22
22
|
desc: 'Generate a test sample',
|
|
23
23
|
blueprint: '@jhipster/jhipster-dev',
|
|
24
24
|
},
|
|
25
|
+
<%_ if (githubWorkflows) { _%>
|
|
26
|
+
'github-build-matrix': {
|
|
27
|
+
desc: 'Build a matrix of jobs for github actions',
|
|
28
|
+
blueprint: '@jhipster/jhipster-dev',
|
|
29
|
+
},
|
|
30
|
+
<%_ } _%>
|
|
25
31
|
};
|
|
26
32
|
|
|
27
33
|
export default defaultCommands;
|
package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs
CHANGED
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
+
import { readdir } from 'node:fs/promises';
|
|
19
20
|
import { GENERATOR_APP } from 'generator-jhipster/generators';
|
|
21
|
+
|
|
20
22
|
/**
|
|
21
23
|
* @type {import('generator-jhipster').JHipsterCommandDefinition}
|
|
22
24
|
*/
|
|
@@ -26,6 +28,24 @@ const command = {
|
|
|
26
28
|
type: String,
|
|
27
29
|
},
|
|
28
30
|
},
|
|
31
|
+
configs: {
|
|
32
|
+
sampleName: {
|
|
33
|
+
prompt: gen => ({
|
|
34
|
+
when: !gen.all,
|
|
35
|
+
type: 'list',
|
|
36
|
+
message: 'which sample do you want to generate?',
|
|
37
|
+
choices: async () => readdir(gen.templatePath('samples')),
|
|
38
|
+
}),
|
|
39
|
+
scope: 'generator',
|
|
40
|
+
},
|
|
41
|
+
all: {
|
|
42
|
+
description: 'Generate every sample in a workspace',
|
|
43
|
+
cli: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
},
|
|
46
|
+
scope: 'generator',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
29
49
|
options: {},
|
|
30
50
|
import: [GENERATOR_APP],
|
|
31
51
|
};
|
package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { readdir } from 'node:fs/promises';
|
|
2
2
|
import { readFileSync } from 'node:fs';
|
|
3
3
|
import BaseGenerator from 'generator-jhipster/generators/base';
|
|
4
|
-
import command from './command.mjs';
|
|
5
4
|
|
|
6
5
|
export default class extends BaseGenerator {
|
|
7
6
|
sampleName;
|
|
7
|
+
all;
|
|
8
8
|
|
|
9
9
|
constructor(args, opts, features) {
|
|
10
10
|
super(args, opts, { ...features, jhipsterBootstrap: false });
|
|
@@ -26,15 +26,7 @@ export default class extends BaseGenerator {
|
|
|
26
26
|
get [BaseGenerator.PROMPTING]() {
|
|
27
27
|
return this.asPromptingTaskGroup({
|
|
28
28
|
async askForSample() {
|
|
29
|
-
|
|
30
|
-
const answers = await this.prompt({
|
|
31
|
-
type: 'list',
|
|
32
|
-
name: 'sampleName',
|
|
33
|
-
message: 'which sample do you want to generate?',
|
|
34
|
-
choices: async () => readdir(this.templatePath('samples')),
|
|
35
|
-
})
|
|
36
|
-
this.sampleName = answers.sampleName;
|
|
37
|
-
}
|
|
29
|
+
await this.promptCurrentJHipsterCommand();
|
|
38
30
|
},
|
|
39
31
|
});
|
|
40
32
|
}
|
|
@@ -42,7 +34,11 @@ export default class extends BaseGenerator {
|
|
|
42
34
|
get [BaseGenerator.WRITING]() {
|
|
43
35
|
return this.asWritingTaskGroup({
|
|
44
36
|
async copySample() {
|
|
45
|
-
|
|
37
|
+
if (this.all) {
|
|
38
|
+
this.copyTemplate('samples/*.jdl', '');
|
|
39
|
+
} else {
|
|
40
|
+
this.copyTemplate(`samples/${this.sampleName}`, this.sampleName, { noGlob: true });
|
|
41
|
+
}
|
|
46
42
|
},
|
|
47
43
|
});
|
|
48
44
|
}
|
|
@@ -54,13 +50,13 @@ export default class extends BaseGenerator {
|
|
|
54
50
|
const projectVersion = `${packageJson.version}-git`;
|
|
55
51
|
|
|
56
52
|
await this.composeWithJHipster('jdl', {
|
|
57
|
-
generatorArgs: [this.sampleName],
|
|
53
|
+
generatorArgs: this.all ? await readdir(this.templatePath('samples')) : [this.sampleName],
|
|
58
54
|
generatorOptions: {
|
|
59
55
|
skipJhipsterDependencies: true,
|
|
60
56
|
insight: false,
|
|
61
57
|
skipChecks: true,
|
|
62
|
-
skipInstall: true,
|
|
63
58
|
projectVersion,
|
|
59
|
+
...(this.all ? { workspaces: true, monorepository: true } : { skipInstall: true }),
|
|
64
60
|
},
|
|
65
61
|
});
|
|
66
62
|
},
|