generator-jhipster 8.7.1 → 8.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cli/commands.d.mts +89 -89
- package/dist/cli/environment-builder.d.mts +7 -6
- package/dist/cli/environment-builder.mjs +5 -3
- package/dist/cli/jhipster-command.d.mts +2 -2
- package/dist/cli/jhipster-command.mjs +13 -4
- package/dist/cli/program.d.mts +53 -36
- package/dist/cli/program.mjs +41 -32
- package/dist/cli/utils.d.mts +2 -3
- package/dist/cli/utils.mjs +11 -21
- package/dist/generators/angular/generator.js +2 -2
- package/dist/generators/angular/resources/package.json +13 -13
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway-routes.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/service/user-management.service.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.ts.ejs +7 -7
- package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-jwt.service.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-session.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/core/auth/csrf.service.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/auth/state-storage.service.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/notification.interceptor.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +7 -7
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +7 -7
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/profile.service.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.service.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translate.directive.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translation.module.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.service.ts.ejs +1 -1
- package/dist/generators/base/api.d.ts +10 -4
- package/dist/generators/base/generator.d.ts +4 -0
- package/dist/generators/base/generator.js +10 -1
- package/dist/generators/base/shared-data.js +2 -0
- package/dist/generators/base/support/faker.d.ts +1 -1
- package/dist/generators/base/support/faker.js +1 -1
- package/dist/generators/base/support/timestamp.js +10 -2
- package/dist/generators/base-application/support/prepare-entity.js +6 -1
- package/dist/generators/base-application/support/prepare-field.js +40 -16
- package/dist/generators/base-application/support/prepare-relationship.d.ts +1 -1
- package/dist/generators/base-application/support/task-type-inference.d.ts +18 -18
- package/dist/generators/base-application/types.d.ts +4 -0
- package/dist/generators/base-core/generator.d.ts +7 -4
- package/dist/generators/base-core/generator.js +31 -35
- package/dist/generators/base-workspaces/generator.d.ts +34 -1
- package/dist/generators/base-workspaces/generator.js +1 -1
- package/dist/generators/base-workspaces/internal/docker-base.js +1 -3
- package/dist/generators/bootstrap/support/eslint-transform.js +2 -2
- package/dist/generators/bootstrap/support/java-unused-imports-transform.js +2 -2
- package/dist/generators/bootstrap/support/prettier-support.js +2 -2
- package/dist/generators/bootstrap-application-base/generator.d.ts +2 -2
- package/dist/generators/bootstrap-application-base/generator.js +19 -5
- package/dist/generators/bootstrap-application-base/utils.d.ts +3 -3
- package/dist/generators/bootstrap-application-base/utils.js +9 -3
- package/dist/generators/bootstrap-workspaces/command.d.ts +12 -2
- package/dist/generators/bootstrap-workspaces/command.js +5 -3
- package/dist/generators/bootstrap-workspaces/generator.d.ts +8 -2
- package/dist/generators/bootstrap-workspaces/generator.js +0 -2
- package/dist/generators/bootstrap-workspaces/index.d.ts +1 -0
- package/dist/generators/bootstrap-workspaces/index.js +1 -0
- package/dist/generators/client/command.d.ts +22 -0
- package/dist/generators/client/command.js +22 -0
- package/dist/generators/client/files-common.js +1 -1
- package/dist/generators/client/generator.js +4 -5
- package/dist/generators/client/prompts.js +10 -9
- package/dist/generators/client/resources/package.json +3 -3
- package/dist/generators/client/templates/webpack/webpack.microfrontend.js.jhi.ejs +16 -5
- package/dist/generators/common/generator.js +2 -2
- package/dist/generators/common/resources/package.json +1 -1
- package/dist/generators/cypress/files.js +6 -0
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +2 -2
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/logout.cy.ts.ejs +39 -0
- package/dist/generators/docker/generator.d.ts +1 -1
- package/dist/generators/docker/templates/docker/keycloak.yml.ejs +2 -1
- package/dist/generators/docker-compose/command.js +9 -1
- package/dist/generators/docker-compose/generator.d.ts +11 -53
- package/dist/generators/docker-compose/generator.js +24 -23
- package/dist/generators/generate-blueprint/command.d.ts +97 -20
- package/dist/generators/generate-blueprint/command.js +28 -0
- package/dist/generators/generate-blueprint/constants.d.ts +2 -2
- package/dist/generators/generate-blueprint/files.d.ts +1 -42
- package/dist/generators/generate-blueprint/files.js +27 -29
- package/dist/generators/generate-blueprint/generator.d.ts +5 -2
- package/dist/generators/generate-blueprint/generator.js +78 -22
- package/dist/generators/generate-blueprint/resources/package.json +3 -3
- package/dist/generators/generate-blueprint/templates/.github/workflows/samples.yml.ejs +6 -8
- package/dist/generators/generate-blueprint/templates/README.md.ejs +12 -2
- package/dist/generators/generate-blueprint/templates/cli/cli-customizations.cjs.ejs +2 -0
- package/dist/generators/generate-blueprint/templates/cli/cli.cjs.ejs +2 -1
- package/dist/generators/generate-blueprint/templates/cli/commands.cjs.ejs +1 -1
- package/dist/generators/generate-blueprint/templates/eslint.config.js.jhi.blueprint.ejs +3 -2
- package/dist/generators/generate-blueprint/templates/generators/generator/command.mjs.ejs +8 -12
- package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +8 -11
- package/dist/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +2 -2
- package/dist/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +2 -4
- package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +0 -1
- package/dist/generators/generator-constants.d.ts +2 -2
- package/dist/generators/generator-constants.js +3 -3
- package/dist/generators/git/command.d.ts +10 -0
- package/dist/generators/git/command.js +10 -0
- package/dist/generators/git/generator.d.ts +5 -4
- package/dist/generators/git/generator.js +6 -4
- package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +16 -10
- package/dist/generators/gradle/internal/needles.d.ts +3 -1
- package/dist/generators/gradle/internal/needles.js +10 -5
- package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/dist/generators/gradle/types.d.ts +3 -2
- package/dist/generators/init/command.d.ts +4 -20
- package/dist/generators/init/command.js +1 -1
- package/dist/generators/init/resources/.node-version +1 -1
- package/dist/generators/java/command.d.ts +3 -5
- package/dist/generators/java/command.js +1 -20
- package/dist/generators/java/generators/bootstrap/command.d.ts +7 -0
- package/dist/generators/java/generators/bootstrap/command.js +7 -0
- package/dist/generators/java/generators/build-tool/generator.js +37 -13
- package/dist/generators/java/generators/graalvm/command.d.ts +5 -0
- package/dist/generators/java/generators/graalvm/command.js +5 -0
- package/dist/generators/java/generators/graalvm/generator.d.ts +9 -0
- package/dist/generators/java/generators/graalvm/generator.js +222 -0
- package/dist/generators/java/generators/graalvm/index.d.ts +20 -0
- package/dist/generators/java/generators/graalvm/index.js +20 -0
- package/dist/generators/java/generators/graalvm/internal/maven-definition.d.ts +8 -0
- package/dist/generators/java/generators/graalvm/internal/maven-definition.js +130 -0
- package/dist/generators/java/generators/graalvm/resources/build.gradle +1 -0
- package/dist/generators/java/generators/graalvm/resources/gradle/libs.versions.toml +5 -0
- package/dist/generators/java/generators/graalvm/templates/README.md.jhi.native.ejs +53 -0
- package/dist/generators/java/generators/graalvm/templates/gradle/native.gradle.ejs +44 -0
- package/dist/generators/java/generators/graalvm/templates/src/main/java/_package_/config/NativeConfiguration.java.ejs +14 -0
- package/dist/generators/java/generators/node/generator.d.ts +6 -18
- package/dist/generators/java/generators/node/generator.js +31 -0
- package/dist/generators/java/generators/openapi-generator/generator.js +2 -2
- package/dist/generators/java/support/util.d.ts +1 -1
- package/dist/generators/java/types.d.ts +4 -1
- package/dist/generators/javascript/generators/bootstrap/command.d.ts +21 -20
- package/dist/generators/javascript/generators/bootstrap/generator.d.ts +1 -2
- package/dist/generators/javascript/generators/bootstrap/generator.js +9 -5
- package/dist/generators/javascript/types.d.ts +9 -2
- package/dist/generators/kubernetes/command.d.ts +12 -0
- package/dist/generators/kubernetes/command.js +12 -0
- package/dist/generators/kubernetes/index.d.ts +1 -0
- package/dist/generators/kubernetes/index.js +1 -0
- package/dist/generators/kubernetes-helm/index.d.ts +1 -0
- package/dist/generators/kubernetes-helm/index.js +1 -0
- package/dist/generators/kubernetes-knative/generator.d.ts +1 -1
- package/dist/generators/kubernetes-knative/index.d.ts +1 -0
- package/dist/generators/kubernetes-knative/index.js +1 -0
- package/dist/generators/languages/entity-files.d.ts +3 -2
- package/dist/generators/languages/entity-files.js +0 -1
- package/dist/generators/languages/generator.d.ts +1 -0
- package/dist/generators/languages/generator.js +1 -0
- package/dist/generators/liquibase/files.js +8 -0
- package/dist/generators/liquibase/generator.d.ts +1 -1
- package/dist/generators/liquibase/generator.js +15 -0
- package/dist/generators/liquibase/templates/src/main/resources/META-INF/native-image/liquibase/reflect-config.json +145 -0
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/add_relationship_constraints.ejs +81 -0
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs +2 -62
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +3 -60
- package/dist/generators/maven/generators/frontend-plugin/generator.js +10 -5
- package/dist/generators/maven/types.d.ts +3 -6
- package/dist/generators/project-name/command.d.ts +25 -20
- package/dist/generators/project-name/command.js +20 -4
- package/dist/generators/project-name/generator.d.ts +3 -12
- package/dist/generators/project-name/generator.js +6 -38
- package/dist/generators/react/generator.d.ts +1 -1
- package/dist/generators/react/generator.js +15 -2
- package/dist/generators/react/resources/package.json +25 -24
- package/dist/generators/react/templates/package.json.ejs +0 -3
- package/dist/generators/server/generator.d.ts +1 -7
- package/dist/generators/server/generator.js +22 -50
- package/dist/generators/server/resources/Dockerfile +12 -12
- package/dist/generators/server/resources/gradle/libs.versions.toml +10 -7
- package/dist/generators/server/resources/pom.xml +11 -11
- package/dist/generators/server/types.d.ts +8 -0
- package/dist/generators/spring-boot/cleanup.js +2 -2
- package/dist/generators/spring-boot/command.d.ts +19 -0
- package/dist/generators/spring-boot/command.js +19 -0
- package/dist/generators/spring-boot/generator.d.ts +1 -1
- package/dist/generators/spring-boot/generator.js +4 -1
- package/dist/generators/spring-boot/prompts.js +12 -12
- package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +107 -106
- package/dist/generators/spring-boot/templates/README.md.jhi.spring-boot.ejs +22 -16
- package/dist/generators/spring-boot/templates/gradle/profile_dev.gradle.ejs +2 -46
- package/dist/generators/spring-boot/templates/gradle/profile_prod.gradle.ejs +1 -47
- package/dist/generators/spring-boot/templates/src/main/java/_package_/Application.java.ejs +4 -1
- package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +29 -6
- package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +32 -6
- package/dist/generators/spring-boot/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +13 -8
- package/dist/generators/spring-boot/templates/src/main/java/_package_/domain/User.java.ejs +2 -3
- package/dist/generators/spring-boot/templates/src/main/resources/config/application-dev.yml.ejs +8 -3
- package/dist/generators/spring-boot/templates/src/main/resources/config/application.yml.ejs +4 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +8 -7
- package/dist/generators/spring-cache/generator.d.ts +2 -1
- package/dist/generators/spring-cache/generator.js +18 -0
- package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
- package/dist/generators/spring-cloud/generators/gateway/generator.js +2 -2
- package/dist/generators/spring-data-couchbase/generator.js +2 -2
- package/dist/generators/spring-data-mongodb/generator.d.ts +1 -1
- package/dist/generators/spring-data-relational/files.d.ts +1 -0
- package/dist/generators/spring-data-relational/files.js +6 -0
- package/dist/generators/spring-data-relational/generator.d.ts +2 -1
- package/dist/generators/spring-data-relational/generator.js +63 -2
- package/dist/generators/spring-data-relational/internal/dependencies.d.ts +87 -7
- package/dist/generators/spring-data-relational/internal/dependencies.js +30 -18
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_persistable.ejs +6 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_reactive.ejs +1 -2
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +8 -3
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/JacksonNativeConfiguration.java.ejs +98 -0
- package/dist/generators/vue/files-vue.js +4 -1
- package/dist/generators/vue/generator.d.ts +1 -1
- package/dist/generators/vue/generator.js +84 -3
- package/dist/generators/vue/resources/package.json +20 -19
- package/dist/generators/vue/support/update-languages.js +1 -1
- package/dist/generators/vue/templates/module-federation.config.cjs.ejs +55 -0
- package/dist/generators/vue/templates/package.json.ejs +11 -62
- package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +1 -1
- package/dist/generators/vue/templates/vite.config.mts.ejs +15 -21
- package/dist/generators/workspaces/generator.d.ts +20 -9
- package/dist/generators/workspaces/generator.js +3 -3
- package/dist/lib/application/field-types.d.ts +2 -1
- package/dist/lib/command/converter.d.ts +6 -2
- package/dist/lib/command/converter.js +4 -1
- package/dist/lib/command/load.js +1 -0
- package/dist/lib/command/lookup-commands-configs.js +9 -12
- package/dist/lib/command/support/merge-union.d.ts +17 -6
- package/dist/lib/command/types.d.ts +38 -11
- package/dist/lib/eslint/index.d.ts +6 -14
- package/dist/lib/eslint/index.js +1 -2
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +7 -3
- package/dist/lib/jdl/core/parsing/validator.js +2 -2
- package/dist/lib/jhipster/default-application-options.d.ts +83 -15
- package/dist/lib/jhipster/default-application-options.js +26 -27
- package/dist/lib/testing/get-generator.d.ts +1 -0
- package/dist/lib/testing/get-generator.js +6 -2
- package/dist/lib/testing/github-group.d.ts +6 -0
- package/dist/lib/testing/github-group.js +56 -0
- package/dist/lib/testing/github-matrix.d.ts +38 -0
- package/dist/lib/testing/github-matrix.js +72 -0
- package/dist/lib/testing/github.d.ts +1 -0
- package/dist/lib/testing/github.js +6 -2
- package/dist/lib/testing/helpers.d.ts +41 -3
- package/dist/lib/testing/helpers.js +74 -12
- package/dist/lib/testing/index.d.ts +2 -0
- package/dist/lib/testing/index.js +2 -0
- package/dist/lib/testing/support/matcher.d.ts +2 -2
- package/dist/lib/testing/support/matcher.js +3 -3
- package/dist/lib/types/application/application.d.ts +6 -1
- package/dist/lib/types/application/entity.d.ts +3 -1
- package/dist/lib/types/application/field.d.ts +16 -4
- package/dist/lib/types/application/options.d.ts +4 -0
- package/dist/lib/types/application/relationship.d.ts +1 -0
- package/dist/lib/types/application/yo-rc.d.ts +4 -0
- package/dist/lib/types/base/entity.d.ts +1 -0
- package/dist/lib/utils/logger.d.ts +1 -1
- package/dist/lib/utils/yo-rc.d.ts +27 -3
- package/package.json +33 -31
- package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +0 -6
- package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +0 -45
|
@@ -52,6 +52,28 @@ const command = {
|
|
|
52
52
|
],
|
|
53
53
|
scope: 'storage',
|
|
54
54
|
},
|
|
55
|
+
clientTheme: {
|
|
56
|
+
cli: {
|
|
57
|
+
type: String,
|
|
58
|
+
hide: true,
|
|
59
|
+
},
|
|
60
|
+
scope: 'storage',
|
|
61
|
+
},
|
|
62
|
+
clientThemeVariant: {
|
|
63
|
+
cli: {
|
|
64
|
+
type: String,
|
|
65
|
+
hide: true,
|
|
66
|
+
},
|
|
67
|
+
scope: 'storage',
|
|
68
|
+
},
|
|
69
|
+
clientBundler: {
|
|
70
|
+
cli: {
|
|
71
|
+
type: String,
|
|
72
|
+
hide: true,
|
|
73
|
+
},
|
|
74
|
+
choices: ['webpack', 'vite'],
|
|
75
|
+
scope: 'storage',
|
|
76
|
+
},
|
|
55
77
|
microfrontend: {
|
|
56
78
|
description: 'Enable microfrontend support',
|
|
57
79
|
cli: {
|
|
@@ -24,7 +24,7 @@ export const files = {
|
|
|
24
24
|
templates: ['README.md.jhi.client', '.prettierignore.jhi.client'],
|
|
25
25
|
},
|
|
26
26
|
clientRootTemplatesBlock({
|
|
27
|
-
condition: generator => generator.microfrontend && (generator.clientFrameworkVue || generator.clientFrameworkReact),
|
|
27
|
+
condition: generator => generator.microfrontend && generator.clientBundlerWebpack && (generator.clientFrameworkVue || generator.clientFrameworkReact),
|
|
28
28
|
templates: ['webpack/webpack.microfrontend.js.jhi'],
|
|
29
29
|
}),
|
|
30
30
|
{
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
/**
|
|
3
2
|
* Copyright 2013-2024 the original author or authors from the JHipster project.
|
|
4
3
|
*
|
|
@@ -26,7 +25,7 @@ import { loadStoredAppOptions } from '../app/support/index.js';
|
|
|
26
25
|
import { addEnumerationFiles } from './entity-files.js';
|
|
27
26
|
import { writeFiles as writeCommonFiles } from './files-common.js';
|
|
28
27
|
import { askForClientTheme, askForClientThemeVariant } from './prompts.js';
|
|
29
|
-
const { ANGULAR,
|
|
28
|
+
const { ANGULAR, NO: CLIENT_FRAMEWORK_NO } = clientFrameworkTypes;
|
|
30
29
|
const { CYPRESS } = testFrameworkTypes;
|
|
31
30
|
export default class JHipsterClientGenerator extends BaseApplicationGenerator {
|
|
32
31
|
async beforeQueue() {
|
|
@@ -67,6 +66,7 @@ export default class JHipsterClientGenerator extends BaseApplicationGenerator {
|
|
|
67
66
|
}
|
|
68
67
|
},
|
|
69
68
|
upgradeAngular() {
|
|
69
|
+
// @ts-ignore deprecated value
|
|
70
70
|
if (this.jhipsterConfig.clientFramework === 'angularX') {
|
|
71
71
|
this.jhipsterConfig.clientFramework = ANGULAR;
|
|
72
72
|
}
|
|
@@ -94,7 +94,7 @@ export default class JHipsterClientGenerator extends BaseApplicationGenerator {
|
|
|
94
94
|
return this.asComposingTaskGroup({
|
|
95
95
|
async composing() {
|
|
96
96
|
const { clientFramework, testFrameworks } = this.jhipsterConfigWithDefaults;
|
|
97
|
-
if ([
|
|
97
|
+
if (['angular', 'react', 'vue'].includes(clientFramework)) {
|
|
98
98
|
await this.composeWithJHipster(clientFramework);
|
|
99
99
|
}
|
|
100
100
|
if (Array.isArray(testFrameworks) && testFrameworks.includes(CYPRESS)) {
|
|
@@ -131,7 +131,6 @@ export default class JHipsterClientGenerator extends BaseApplicationGenerator {
|
|
|
131
131
|
},
|
|
132
132
|
prepareForTemplates({ application }) {
|
|
133
133
|
application.webappLoginRegExp = LOGIN_REGEX_JS;
|
|
134
|
-
application.clientFrameworkBuiltIn = [ANGULAR, VUE, REACT].includes(application.clientFramework);
|
|
135
134
|
},
|
|
136
135
|
addExternalResource({ application, source }) {
|
|
137
136
|
if (!application.clientFrameworkBuiltIn) {
|
|
@@ -206,7 +205,7 @@ export default class JHipsterClientGenerator extends BaseApplicationGenerator {
|
|
|
206
205
|
}
|
|
207
206
|
},
|
|
208
207
|
microfrontend({ application, source }) {
|
|
209
|
-
if (!application.microfrontend || !application.clientFrameworkBuiltIn) {
|
|
208
|
+
if (!application.microfrontend || !application.clientFrameworkBuiltIn || !application.clientBundlerWebpack) {
|
|
210
209
|
return;
|
|
211
210
|
}
|
|
212
211
|
if (application.clientFrameworkAngular) {
|
|
@@ -22,15 +22,16 @@ export const askForClientTheme = asPromptingTask(async function askForClientThem
|
|
|
22
22
|
if (control.existingProject && !this.options.askAnswered)
|
|
23
23
|
return;
|
|
24
24
|
const config = this.jhipsterConfigWithDefaults;
|
|
25
|
+
const { clientFramework } = config;
|
|
25
26
|
await this.prompt({
|
|
26
27
|
type: 'list',
|
|
27
28
|
name: 'clientTheme',
|
|
28
|
-
when: () => ['angular', 'react', 'vue'].includes(
|
|
29
|
+
when: () => ['angular', 'react', 'vue'].includes(clientFramework),
|
|
29
30
|
message: 'Would you like to use a Bootswatch theme (https://bootswatch.com/)?',
|
|
30
31
|
choices: async () => {
|
|
31
|
-
const bootswatchChoices = await retrieveOnlineBootswatchThemes().catch(errorMessage => {
|
|
32
|
+
const bootswatchChoices = await retrieveOnlineBootswatchThemes({ clientFramework }).catch(errorMessage => {
|
|
32
33
|
this.log.warn(errorMessage);
|
|
33
|
-
return retrieveLocalBootswatchThemes();
|
|
34
|
+
return retrieveLocalBootswatchThemes({ clientFramework });
|
|
34
35
|
});
|
|
35
36
|
return [
|
|
36
37
|
{
|
|
@@ -63,13 +64,13 @@ export const askForClientThemeVariant = asPromptingTask(async function askForCli
|
|
|
63
64
|
default: config.clientThemeVariant,
|
|
64
65
|
}, this.config);
|
|
65
66
|
});
|
|
66
|
-
async function retrieveOnlineBootswatchThemes() {
|
|
67
|
-
return _retrieveBootswatchThemes(true);
|
|
67
|
+
async function retrieveOnlineBootswatchThemes({ clientFramework }) {
|
|
68
|
+
return _retrieveBootswatchThemes({ clientFramework, useApi: true });
|
|
68
69
|
}
|
|
69
|
-
async function retrieveLocalBootswatchThemes() {
|
|
70
|
-
return _retrieveBootswatchThemes(false);
|
|
70
|
+
async function retrieveLocalBootswatchThemes({ clientFramework }) {
|
|
71
|
+
return _retrieveBootswatchThemes({ clientFramework, useApi: false });
|
|
71
72
|
}
|
|
72
|
-
async function _retrieveBootswatchThemes(useApi) {
|
|
73
|
+
async function _retrieveBootswatchThemes({ clientFramework, useApi }) {
|
|
73
74
|
const errorMessage = 'Could not fetch bootswatch themes from API. Using default ones.';
|
|
74
75
|
if (!useApi) {
|
|
75
76
|
return [
|
|
@@ -101,7 +102,7 @@ async function _retrieveBootswatchThemes(useApi) {
|
|
|
101
102
|
];
|
|
102
103
|
}
|
|
103
104
|
return new Promise((resolve, reject) => {
|
|
104
|
-
httpsGet(
|
|
105
|
+
httpsGet(`https://bootswatch.com/api/${clientFramework === 'vue' ? '4' : '5'}.json`, body => {
|
|
105
106
|
try {
|
|
106
107
|
const { themes } = JSON.parse(body);
|
|
107
108
|
const bootswatchChoices = themes.map(theme => ({
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
"dayjs": "1.11.13"
|
|
4
4
|
},
|
|
5
5
|
"devDependencies": {
|
|
6
|
-
"@cypress/code-coverage": "3.13.
|
|
6
|
+
"@cypress/code-coverage": "3.13.4",
|
|
7
7
|
"babel-loader": "9.2.1",
|
|
8
8
|
"babel-plugin-istanbul": "7.0.0",
|
|
9
|
-
"cypress": "13.
|
|
9
|
+
"cypress": "13.15.1",
|
|
10
10
|
"cypress-audit": "1.1.0",
|
|
11
|
-
"eslint-plugin-cypress": "
|
|
11
|
+
"eslint-plugin-cypress": "4.0.0",
|
|
12
12
|
"lighthouse": "12.2.1",
|
|
13
13
|
"nyc": "17.1.0",
|
|
14
14
|
"swagger-ui-dist": "5.17.14"
|
|
@@ -26,8 +26,9 @@
|
|
|
26
26
|
});
|
|
27
27
|
_&>
|
|
28
28
|
|
|
29
|
-
const ModuleFederationPlugin = require('
|
|
29
|
+
const { ModuleFederationPlugin } = require('@module-federation/enhanced/webpack');
|
|
30
30
|
<&- fragments.importsSection() &>
|
|
31
|
+
<%_ if (!clientFrameworkVue) { _%>
|
|
31
32
|
const packageJson = require('../package.json');
|
|
32
33
|
// Microfrontend api, should match across gateway and microservices.
|
|
33
34
|
const apiVersion = '0.0.1';
|
|
@@ -41,6 +42,7 @@ const shareDependencies = ({ skipList = [] } = {}) =>
|
|
|
41
42
|
.filter(([dependency]) => !skipList.includes(dependency))
|
|
42
43
|
.map(([dependency, version]) => [dependency, { ...sharedDefaults, version, requiredVersion: version }]),
|
|
43
44
|
);
|
|
45
|
+
<%_ } _%>
|
|
44
46
|
|
|
45
47
|
module.exports = () => {
|
|
46
48
|
return {
|
|
@@ -51,18 +53,27 @@ module.exports = () => {
|
|
|
51
53
|
},
|
|
52
54
|
<&- fragments.configSection() &>
|
|
53
55
|
plugins: [
|
|
54
|
-
new ModuleFederationPlugin(
|
|
55
|
-
<%_ if (
|
|
56
|
+
new ModuleFederationPlugin(
|
|
57
|
+
<%_ if (clientFrameworkVue) { _%>
|
|
58
|
+
require('../module-federation.config.cjs'),
|
|
59
|
+
<%_ } else { -%>
|
|
60
|
+
{
|
|
61
|
+
<%_ if (applicationTypeMicroservice) { _%>
|
|
56
62
|
name: '<%= lowercaseBaseName %>',
|
|
57
63
|
filename: 'remoteEntry.js',
|
|
58
|
-
<%_ } _%>
|
|
64
|
+
<%_ } _%>
|
|
59
65
|
shareScope: 'default',
|
|
66
|
+
dts: false,
|
|
67
|
+
manifest: false,
|
|
60
68
|
<&- fragments.moduleFederationSection() &>
|
|
61
|
-
}
|
|
69
|
+
}
|
|
70
|
+
<%_ } -%>
|
|
71
|
+
),
|
|
62
72
|
<&- fragments.pluginsSection() &>
|
|
63
73
|
],
|
|
64
74
|
output: {
|
|
65
75
|
publicPath: 'auto',
|
|
76
|
+
scriptType: 'text/javascript',
|
|
66
77
|
},
|
|
67
78
|
};
|
|
68
79
|
};
|
|
@@ -162,8 +162,8 @@ export default class CommonGenerator extends BaseApplicationGenerator {
|
|
|
162
162
|
// Public API method used by the getter and also by Blueprints
|
|
163
163
|
get writing() {
|
|
164
164
|
return this.asWritingTaskGroup({
|
|
165
|
-
cleanup({ application, control }) {
|
|
166
|
-
control.cleanupFiles({
|
|
165
|
+
async cleanup({ application, control }) {
|
|
166
|
+
await control.cleanupFiles({
|
|
167
167
|
'7.1.1': [[!application.skipCommitHook, '.huskyrc']],
|
|
168
168
|
'7.6.1': [[application.skipClient, 'npmw', 'npmw.cmd']],
|
|
169
169
|
'8.0.0-rc.2': [[!application.skipCommitHook, '.lintstagedrc.js']],
|
|
@@ -48,6 +48,12 @@ export const cypressFiles = {
|
|
|
48
48
|
'tsconfig.json',
|
|
49
49
|
],
|
|
50
50
|
},
|
|
51
|
+
{
|
|
52
|
+
condition: generator => !generator.applicationTypeMicroservice,
|
|
53
|
+
path: CYPRESS_TEMPLATE_SOURCE_DIR,
|
|
54
|
+
renameTo: (ctx, file) => `${ctx.cypressDir}${file}`,
|
|
55
|
+
templates: ['e2e/account/logout.cy.ts'],
|
|
56
|
+
},
|
|
51
57
|
{
|
|
52
58
|
condition: generator => !generator.authenticationTypeOauth2,
|
|
53
59
|
path: CYPRESS_TEMPLATE_SOURCE_DIR,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
submitLoginSelector,
|
|
25
25
|
} from '../../support/commands';
|
|
26
26
|
|
|
27
|
-
describe('login
|
|
27
|
+
describe('login page', () => {
|
|
28
28
|
const username = Cypress.env('E2E_USERNAME') ?? '<%= skipUserManagement && (applicationTypeMonolith || applicationTypeGateway) ? 'admin' : 'user' %>';
|
|
29
29
|
const password = Cypress.env('E2E_PASSWORD') ?? '<%= skipUserManagement && (applicationTypeMonolith || applicationTypeGateway) ? 'admin' : 'user' %>';
|
|
30
30
|
|
|
@@ -78,7 +78,7 @@ describe('login modal', () => {
|
|
|
78
78
|
cy.get(errorLoginSelector).should('be.visible');
|
|
79
79
|
});
|
|
80
80
|
|
|
81
|
-
it('go to
|
|
81
|
+
it('go to home page when successfully logs in', () => {
|
|
82
82
|
cy.get(usernameLoginSelector).type(username);
|
|
83
83
|
cy.get(passwordLoginSelector).type(password);
|
|
84
84
|
cy.get(submitLoginSelector).click();
|
package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/logout.cy.ts.ejs
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<%#
|
|
2
|
+
Copyright 2013-2024 the original author or authors from the JHipster project.
|
|
3
|
+
|
|
4
|
+
This file is part of the JHipster project, see https://www.jhipster.tech/
|
|
5
|
+
for more information.
|
|
6
|
+
|
|
7
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
you may not use this file except in compliance with the License.
|
|
9
|
+
You may obtain a copy of the License at
|
|
10
|
+
|
|
11
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
|
|
13
|
+
Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
See the License for the specific language governing permissions and
|
|
17
|
+
limitations under the License.
|
|
18
|
+
-%>
|
|
19
|
+
import {
|
|
20
|
+
accountMenuSelector,
|
|
21
|
+
navbarSelector,
|
|
22
|
+
loginItemSelector,
|
|
23
|
+
} from '../../support/commands';
|
|
24
|
+
|
|
25
|
+
describe('logout', () => {
|
|
26
|
+
const username = Cypress.env('E2E_USERNAME') ?? 'user';
|
|
27
|
+
const password = Cypress.env('E2E_PASSWORD') ?? 'user';
|
|
28
|
+
|
|
29
|
+
it<%- clientFrameworkReact ? '.skip' : '' %>('go to home page when successfully logs out', () => {
|
|
30
|
+
cy.login(username, password);
|
|
31
|
+
cy.visit('');
|
|
32
|
+
cy.clickOnLogoutItem();
|
|
33
|
+
// Wait logout
|
|
34
|
+
cy.wait(500); // eslint-disable-line cypress/no-unnecessary-waiting
|
|
35
|
+
cy.visit('');
|
|
36
|
+
cy.get(navbarSelector).get(accountMenuSelector).click();
|
|
37
|
+
cy.get(navbarSelector).get(accountMenuSelector).get(loginItemSelector).should('be.visible');
|
|
38
|
+
});
|
|
39
|
+
});
|
|
@@ -23,7 +23,7 @@ export default class DockerGenerator extends BaseApplicationGenerator {
|
|
|
23
23
|
get loading(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").TaskParamWithApplicationDefaults<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "loading">;
|
|
24
24
|
get preparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "dockerServices" | "addAppServices">;
|
|
25
25
|
get writing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").WritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "writeDockerFiles">;
|
|
26
|
-
get postWriting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PostWritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "
|
|
26
|
+
get postWriting(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PostWritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "packageJsonScripts" | "dockerServices">;
|
|
27
27
|
/**
|
|
28
28
|
* @private
|
|
29
29
|
* Returns the JDBC URL for a databaseType
|
|
@@ -43,7 +43,8 @@ services:
|
|
|
43
43
|
test: 'bash /opt/keycloak/health-check.sh'
|
|
44
44
|
interval: 5s
|
|
45
45
|
timeout: 5s
|
|
46
|
-
retries
|
|
46
|
+
# Increased retries due to slow Keycloak startup in GitHub Actions using MacOS
|
|
47
|
+
retries: 50
|
|
47
48
|
start_period: 10s
|
|
48
49
|
<%_ if (backendTypeSpringBoot) { _%>
|
|
49
50
|
labels:
|
|
@@ -5,54 +5,17 @@ import BaseWorkspacesGenerator from '../base-workspaces/index.js';
|
|
|
5
5
|
*/
|
|
6
6
|
export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
|
|
7
7
|
existingDeployment: any;
|
|
8
|
+
jwtSecretKey: string;
|
|
8
9
|
beforeQueue(): Promise<void>;
|
|
9
|
-
get initializing():
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
get
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
get
|
|
18
|
-
askForMonitoring({ workspaces }: {
|
|
19
|
-
workspaces: any;
|
|
20
|
-
}): Promise<void>;
|
|
21
|
-
askForClustersMode({ workspaces, applications }: {
|
|
22
|
-
workspaces: any;
|
|
23
|
-
applications: any;
|
|
24
|
-
}): Promise<void>;
|
|
25
|
-
askForServiceDiscovery({ workspaces, applications }: {
|
|
26
|
-
workspaces: any;
|
|
27
|
-
applications: any;
|
|
28
|
-
}): Promise<void>;
|
|
29
|
-
};
|
|
30
|
-
get configuringWorkspaces(): {
|
|
31
|
-
configureBaseDeployment({ applications }: {
|
|
32
|
-
applications: any;
|
|
33
|
-
}): void;
|
|
34
|
-
};
|
|
35
|
-
get loadingWorkspaces(): {
|
|
36
|
-
loadBaseDeployment({ deployment }: {
|
|
37
|
-
deployment: any;
|
|
38
|
-
}): void;
|
|
39
|
-
loadPlatformConfig({ deployment }: {
|
|
40
|
-
deployment: any;
|
|
41
|
-
}): void;
|
|
42
|
-
};
|
|
43
|
-
get preparingWorkspaces(): {
|
|
44
|
-
prepareDeployment({ deployment, applications }: {
|
|
45
|
-
deployment: any;
|
|
46
|
-
applications: any;
|
|
47
|
-
}): void;
|
|
48
|
-
};
|
|
49
|
-
get default(): {
|
|
50
|
-
setAppsYaml({ workspaces, deployment, applications }: {
|
|
51
|
-
workspaces: any;
|
|
52
|
-
deployment: any;
|
|
53
|
-
applications: any;
|
|
54
|
-
}): Promise<void>;
|
|
55
|
-
};
|
|
10
|
+
get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "checkDocker" | "sayHello" | "checkDockerCompose">;
|
|
11
|
+
get loading(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl & {
|
|
12
|
+
applications: import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>[];
|
|
13
|
+
}, "loadWorkspacesConfig">;
|
|
14
|
+
get promptingWorkspaces(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, any, "askForMonitoring" | "askForClustersMode" | "askForServiceDiscovery">;
|
|
15
|
+
get configuringWorkspaces(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, any, "configureBaseDeployment">;
|
|
16
|
+
get loadingWorkspaces(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, any, "loadBaseDeployment" | "loadPlatformConfig">;
|
|
17
|
+
get preparingWorkspaces(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, any, "prepareDeployment">;
|
|
18
|
+
get default(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, any, "setAppsYaml">;
|
|
56
19
|
get writing(): {
|
|
57
20
|
cleanup(): void;
|
|
58
21
|
writeDockerCompose({ deployment }: {
|
|
@@ -68,12 +31,7 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
|
|
|
68
31
|
deployment: any;
|
|
69
32
|
}): void;
|
|
70
33
|
};
|
|
71
|
-
get end():
|
|
72
|
-
end({ workspaces, applications }: {
|
|
73
|
-
workspaces: any;
|
|
74
|
-
applications: any;
|
|
75
|
-
}): void;
|
|
76
|
-
};
|
|
34
|
+
get end(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, any, "end">;
|
|
77
35
|
checkApplicationsDockerImages({ workspaces, applications }: {
|
|
78
36
|
workspaces: any;
|
|
79
37
|
applications: any;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
/**
|
|
3
2
|
* Copyright 2013-2024 the original author or authors from the JHipster project.
|
|
4
3
|
*
|
|
@@ -41,9 +40,10 @@ const { Options: DeploymentOptions } = deploymentOptions;
|
|
|
41
40
|
*/
|
|
42
41
|
export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
|
|
43
42
|
existingDeployment;
|
|
43
|
+
jwtSecretKey;
|
|
44
44
|
async beforeQueue() {
|
|
45
45
|
this.parseJHipsterArguments(command.arguments);
|
|
46
|
-
if (this.appsFolders
|
|
46
|
+
if (this.appsFolders && this.appsFolders.length > 0) {
|
|
47
47
|
this.jhipsterConfig.appsFolders = this.appsFolders;
|
|
48
48
|
}
|
|
49
49
|
await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_WORKSPACES);
|
|
@@ -52,7 +52,7 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
get initializing() {
|
|
55
|
-
return {
|
|
55
|
+
return this.asInitializingTaskGroup({
|
|
56
56
|
sayHello() {
|
|
57
57
|
this.log.log(chalk.white(`${chalk.bold('🐳')} Welcome to the JHipster Docker Compose Sub-Generator ${chalk.bold('🐳')}`));
|
|
58
58
|
this.log.log(chalk.white(`Files will be generated in folder: ${chalk.yellow(this.destinationRoot())}`));
|
|
@@ -68,23 +68,23 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
|
|
|
68
68
|
`);
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
|
-
};
|
|
71
|
+
});
|
|
72
72
|
}
|
|
73
73
|
get [BaseWorkspacesGenerator.INITIALIZING]() {
|
|
74
74
|
return this.delegateTasksToBlueprint(() => this.initializing);
|
|
75
75
|
}
|
|
76
76
|
get loading() {
|
|
77
|
-
return {
|
|
77
|
+
return this.asLoadingTaskGroup({
|
|
78
78
|
loadWorkspacesConfig() {
|
|
79
79
|
this.loadWorkspacesConfig();
|
|
80
80
|
},
|
|
81
|
-
};
|
|
81
|
+
});
|
|
82
82
|
}
|
|
83
83
|
get [BaseWorkspacesGenerator.LOADING]() {
|
|
84
84
|
return this.delegateTasksToBlueprint(() => this.loading);
|
|
85
85
|
}
|
|
86
86
|
get promptingWorkspaces() {
|
|
87
|
-
return {
|
|
87
|
+
return this.asAnyTaskGroup({
|
|
88
88
|
async askForMonitoring({ workspaces }) {
|
|
89
89
|
if (workspaces.existingWorkspaces && !this.options.askAnswered)
|
|
90
90
|
return;
|
|
@@ -100,50 +100,51 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
|
|
|
100
100
|
return;
|
|
101
101
|
await this.askForServiceDiscovery({ applications });
|
|
102
102
|
},
|
|
103
|
-
};
|
|
103
|
+
});
|
|
104
104
|
}
|
|
105
105
|
get [BaseWorkspacesGenerator.PROMPTING_WORKSPACES]() {
|
|
106
106
|
return this.delegateTasksToBlueprint(() => this.promptingWorkspaces);
|
|
107
107
|
}
|
|
108
108
|
get configuringWorkspaces() {
|
|
109
|
-
return {
|
|
109
|
+
return this.asAnyTaskGroup({
|
|
110
110
|
configureBaseDeployment({ applications }) {
|
|
111
|
-
this.jhipsterConfig.jwtSecretKey =
|
|
111
|
+
this.jhipsterConfig.jwtSecretKey =
|
|
112
|
+
this.jhipsterConfig.jwtSecretKey ?? this.jwtSecretKey ?? createBase64Secret(this.options.reproducibleTests);
|
|
112
113
|
if (applications.some(app => app.serviceDiscoveryEureka)) {
|
|
113
114
|
this.jhipsterConfig.adminPassword = this.jhipsterConfig.adminPassword ?? 'admin';
|
|
114
115
|
}
|
|
115
116
|
},
|
|
116
|
-
};
|
|
117
|
+
});
|
|
117
118
|
}
|
|
118
119
|
get [BaseWorkspacesGenerator.CONFIGURING_WORKSPACES]() {
|
|
119
120
|
return this.delegateTasksToBlueprint(() => this.configuringWorkspaces);
|
|
120
121
|
}
|
|
121
122
|
get loadingWorkspaces() {
|
|
122
|
-
return {
|
|
123
|
-
loadBaseDeployment({ deployment }) {
|
|
123
|
+
return this.asAnyTaskGroup({
|
|
124
|
+
async loadBaseDeployment({ deployment }) {
|
|
124
125
|
deployment.jwtSecretKey = this.jhipsterConfig.jwtSecretKey;
|
|
125
|
-
loadDockerDependenciesTask.call(this, { context: deployment });
|
|
126
|
+
await loadDockerDependenciesTask.call(this, { context: deployment });
|
|
126
127
|
},
|
|
127
128
|
loadPlatformConfig({ deployment }) {
|
|
128
129
|
this.loadDeploymentConfig({ deployment });
|
|
129
130
|
},
|
|
130
|
-
};
|
|
131
|
+
});
|
|
131
132
|
}
|
|
132
133
|
get [BaseWorkspacesGenerator.LOADING_WORKSPACES]() {
|
|
133
134
|
return this.delegateTasksToBlueprint(() => this.loadingWorkspaces);
|
|
134
135
|
}
|
|
135
136
|
get preparingWorkspaces() {
|
|
136
|
-
return {
|
|
137
|
+
return this.asAnyTaskGroup({
|
|
137
138
|
prepareDeployment({ deployment, applications }) {
|
|
138
139
|
this.prepareDeploymentDerivedProperties({ deployment, applications });
|
|
139
140
|
},
|
|
140
|
-
};
|
|
141
|
+
});
|
|
141
142
|
}
|
|
142
143
|
get [BaseWorkspacesGenerator.PREPARING_WORKSPACES]() {
|
|
143
144
|
return this.delegateTasksToBlueprint(() => this.preparingWorkspaces);
|
|
144
145
|
}
|
|
145
146
|
get default() {
|
|
146
|
-
return {
|
|
147
|
+
return this.asAnyTaskGroup({
|
|
147
148
|
async setAppsYaml({ workspaces, deployment, applications }) {
|
|
148
149
|
const faker = await createFaker();
|
|
149
150
|
deployment.keycloakRedirectUris = '';
|
|
@@ -265,14 +266,14 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
|
|
|
265
266
|
}
|
|
266
267
|
// Add Memcached support
|
|
267
268
|
if (appConfig.cacheProviderMemcached) {
|
|
268
|
-
const memcachedYaml = parseYaml(this.readDestination(`${path}/src/main/docker/memcached.yml`));
|
|
269
|
+
const memcachedYaml = parseYaml(this.readDestination(`${path}/src/main/docker/memcached.yml`).toString());
|
|
269
270
|
const memcachedConfig = memcachedYaml.services.memcached;
|
|
270
271
|
delete memcachedConfig.ports;
|
|
271
272
|
parentConfiguration[`${lowercaseBaseName}-memcached`] = memcachedConfig;
|
|
272
273
|
}
|
|
273
274
|
// Add Redis support
|
|
274
275
|
if (appConfig.cacheProviderRedis) {
|
|
275
|
-
const redisYaml = parseYaml(this.readDestination(`${path}/src/main/docker/redis.yml`));
|
|
276
|
+
const redisYaml = parseYaml(this.readDestination(`${path}/src/main/docker/redis.yml`).toString());
|
|
276
277
|
const redisConfig = redisYaml.services.redis;
|
|
277
278
|
delete redisConfig.ports;
|
|
278
279
|
parentConfiguration[`${lowercaseBaseName}-redis`] = redisConfig;
|
|
@@ -290,7 +291,7 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
|
|
|
290
291
|
return yamlString;
|
|
291
292
|
});
|
|
292
293
|
},
|
|
293
|
-
};
|
|
294
|
+
});
|
|
294
295
|
}
|
|
295
296
|
get [BaseWorkspacesGenerator.DEFAULT]() {
|
|
296
297
|
return this.delegateTasksToBlueprint(() => this.default);
|
|
@@ -302,7 +303,7 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
|
|
|
302
303
|
return this.delegateTasksToBlueprint(() => this.writing);
|
|
303
304
|
}
|
|
304
305
|
get end() {
|
|
305
|
-
return {
|
|
306
|
+
return this.asAnyTaskGroup({
|
|
306
307
|
end({ workspaces, applications }) {
|
|
307
308
|
this.checkApplicationsDockerImages({ workspaces, applications });
|
|
308
309
|
this.log.verboseInfo(`You can launch all your infrastructure by running : ${chalk.cyan('docker compose up -d')}`);
|
|
@@ -315,7 +316,7 @@ export default class DockerComposeGenerator extends BaseWorkspacesGenerator {
|
|
|
315
316
|
this.log.log('\n');
|
|
316
317
|
}
|
|
317
318
|
},
|
|
318
|
-
};
|
|
319
|
+
});
|
|
319
320
|
}
|
|
320
321
|
get [BaseWorkspacesGenerator.END]() {
|
|
321
322
|
return this.delegateTasksToBlueprint(() => this.end);
|