generator-jhipster 8.7.1 → 8.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- 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.model.ts.ejs +1 -3
- 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.model.ts.ejs +1 -6
- 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/common/templates/sonar-project.properties.ejs +13 -7
- 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 +26 -25
- 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 +2 -2
- package/dist/generators/spring-boot/generator.js +5 -9
- 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 +22 -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 +21 -20
- 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/linters/rules.d.ts +1 -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 +28 -28
- 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
|
@@ -1,8 +1,19 @@
|
|
|
1
|
-
type Compute<T> = { [K in keyof T]: T[K] } | never;
|
|
2
|
-
type AllKeys<T> = T extends any ? keyof T : never;
|
|
3
1
|
/**
|
|
4
|
-
* Based on https://github.com/sindresorhus/type-fest/issues/610
|
|
2
|
+
* Based on https://github.com/sindresorhus/type-fest/issues/610#issuecomment-2398118998
|
|
5
3
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import type { EmptyObject, IsNever, KeysOfUnion, Simplify, UnionToIntersection } from 'type-fest';
|
|
5
|
+
|
|
6
|
+
type _MergeUnionKnownKeys<BaseType, Keys extends keyof BaseType = keyof BaseType> = {
|
|
7
|
+
[K in Keys]: Keys extends K ? BaseType[Keys] : never;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
type IsUnion<T> = [T] extends [UnionToIntersection<T>] ? false : true;
|
|
11
|
+
|
|
12
|
+
export type MergeUnion<BaseType> =
|
|
13
|
+
IsNever<BaseType> extends false
|
|
14
|
+
? Simplify<
|
|
15
|
+
_MergeUnionKnownKeys<BaseType> & {
|
|
16
|
+
[K in KeysOfUnion<BaseType>]?: BaseType extends object ? (K extends keyof BaseType ? BaseType[K] : never) : never;
|
|
17
|
+
}
|
|
18
|
+
>
|
|
19
|
+
: EmptyObject;
|
|
@@ -31,19 +31,24 @@ export type PromptSpec = {
|
|
|
31
31
|
|
|
32
32
|
type JHipsterArgumentConfig = SetOptional<ArgumentSpec, 'name'> & { scope?: CommandConfigScope };
|
|
33
33
|
|
|
34
|
+
type CliSpec = Omit<SetOptional<CliOptionSpec, 'name'>, 'storage'> & {
|
|
35
|
+
env?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Imply other options.
|
|
38
|
+
*/
|
|
39
|
+
implies?: Record<string, any>;
|
|
40
|
+
};
|
|
41
|
+
|
|
34
42
|
export type ConfigSpec<ConfigContext> = {
|
|
35
43
|
readonly description?: string;
|
|
36
44
|
readonly choices?: JHispterChoices;
|
|
37
|
-
|
|
38
|
-
readonly cli?: SetOptional<CliOptionSpec, 'name'> & { env?: string };
|
|
45
|
+
readonly cli?: CliSpec;
|
|
39
46
|
readonly argument?: JHipsterArgumentConfig;
|
|
47
|
+
readonly internal?: true;
|
|
40
48
|
readonly prompt?:
|
|
41
49
|
| PromptSpec
|
|
42
50
|
| ((gen: ConfigContext & { jhipsterConfigWithDefaults: Record<string, any> }, config: ConfigSpec<ConfigContext>) => PromptSpec);
|
|
43
51
|
readonly jdl?: Omit<JHipsterOptionDefinition, 'name' | 'knownChoices'>;
|
|
44
|
-
readonly storage?: {
|
|
45
|
-
readonly type?: typeof Boolean | typeof String | typeof Number | typeof Array;
|
|
46
|
-
};
|
|
47
52
|
readonly scope?: CommandConfigScope;
|
|
48
53
|
/**
|
|
49
54
|
* The callback receives the generator as input for 'generator' scope.
|
|
@@ -69,7 +74,10 @@ export type JHipsterArguments = Record<string, JHipsterArgumentConfig>;
|
|
|
69
74
|
|
|
70
75
|
export type JHipsterOptions = Record<string, JHipsterOption>;
|
|
71
76
|
|
|
72
|
-
export type JHipsterConfig<ConfigContext = any> = RequireAtLeastOne<
|
|
77
|
+
export type JHipsterConfig<ConfigContext = any> = RequireAtLeastOne<
|
|
78
|
+
ConfigSpec<ConfigContext>,
|
|
79
|
+
'argument' | 'cli' | 'prompt' | 'jdl' | 'internal'
|
|
80
|
+
>;
|
|
73
81
|
|
|
74
82
|
export type JHipsterConfigs<ConfigContext = any> = Record<string, JHipsterConfig<ConfigContext>>;
|
|
75
83
|
|
|
@@ -194,6 +202,12 @@ type DerivedPropertiesWithInferenceUnionFromParseableConfigs<U extends Parseable
|
|
|
194
202
|
: never;
|
|
195
203
|
};
|
|
196
204
|
|
|
205
|
+
/**
|
|
206
|
+
* @example
|
|
207
|
+
* ```ts
|
|
208
|
+
* type ExplodedCommandChoices = ExplodeCommandChoicesNoInference<{ clientFramework: { choices: ['angular', 'no'], scope: 'storage' }, clientTestFramework: { choices: ['cypress', 'no'], scope: 'storage' } }>
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
197
211
|
type ExplodeCommandChoicesNoInference<U extends ParseableConfigs> = {
|
|
198
212
|
[K in keyof U]: U[K] extends infer RequiredChoices
|
|
199
213
|
? RequiredChoices extends { choices: any }
|
|
@@ -222,19 +236,32 @@ type PrepareConfigsWithType<U extends ParseableConfigs> = Simplify<{
|
|
|
222
236
|
/** Keep Options/Config filtered by choices */
|
|
223
237
|
type OnlyChoices<D, C extends boolean> = D extends { choices: JHispterChoices } ? (C extends true ? D : never) : C extends true ? never : D;
|
|
224
238
|
|
|
225
|
-
/**
|
|
226
|
-
|
|
239
|
+
/**
|
|
240
|
+
* Keep Options/Config filtered by choices
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* ```ts
|
|
244
|
+
* type ConfigsWithChoice = OnlyConfigsWithChoice<{ clientFramework: { choices: ['angular', 'no'], scope: 'storage' }, clientTestFramework: { choices: ['cypress', 'no'], scope: 'storage' } }>
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
247
|
+
type OnlyConfigsWithChoice<D extends ParseableConfigs, C extends boolean> = {
|
|
227
248
|
[K in keyof D as OnlyChoices<D[K], C> extends never ? never : K]: D[K];
|
|
228
249
|
};
|
|
229
250
|
|
|
251
|
+
/**
|
|
252
|
+
* @example
|
|
253
|
+
* ```
|
|
254
|
+
* type Prop = ExportApplicationPropertiesFromCommand<{ configs: { clientFramework: { choices: ['angular', 'no'], scope: 'storage' }, bar: { scope: 'storage' } } }>;
|
|
255
|
+
* ```
|
|
256
|
+
*/
|
|
230
257
|
export type ExportApplicationPropertiesFromCommand<C extends ParseableCommand> =
|
|
231
258
|
MergeConfigsOptions<C, 'storage'> extends infer Merged
|
|
232
259
|
? Merged extends ParseableConfigs
|
|
233
260
|
? // Add value inference to properties with choices
|
|
234
|
-
// ? PrepareConfigsWithType<
|
|
261
|
+
// ? PrepareConfigsWithType<OnlyConfigsWithChoice<F, false>> & ValueOf<ExplodeCommandChoicesWithInference<OnlyConfigsWithChoice<F, true>>>
|
|
235
262
|
Simplify<
|
|
236
|
-
PrepareConfigsWithType<
|
|
237
|
-
MergeUnion<ValueOf<ExplodeCommandChoicesNoInference<
|
|
263
|
+
PrepareConfigsWithType<OnlyConfigsWithChoice<Merged, false>> &
|
|
264
|
+
MergeUnion<ValueOf<ExplodeCommandChoicesNoInference<OnlyConfigsWithChoice<Merged, true>>>>
|
|
238
265
|
>
|
|
239
266
|
: never
|
|
240
267
|
: never;
|
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
declare
|
|
2
|
-
recommended
|
|
3
|
-
base
|
|
4
|
-
|
|
5
|
-
files?: (string[] | string)[];
|
|
6
|
-
ignores?: string[];
|
|
7
|
-
languageOptions?: import("@typescript-eslint/utils/ts-eslint").FlatConfig.LanguageOptions;
|
|
8
|
-
linterOptions?: import("@typescript-eslint/utils/ts-eslint").FlatConfig.LinterOptions;
|
|
9
|
-
name?: string;
|
|
10
|
-
plugins?: import("@typescript-eslint/utils/ts-eslint").FlatConfig.Plugins;
|
|
11
|
-
processor?: import("@typescript-eslint/utils/ts-eslint").FlatConfig.Processor | string;
|
|
12
|
-
rules?: import("@typescript-eslint/utils/ts-eslint").FlatConfig.Rules;
|
|
13
|
-
settings?: import("@typescript-eslint/utils/ts-eslint").FlatConfig.Settings;
|
|
14
|
-
};
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
export { recommended };
|
|
3
|
+
export { base };
|
|
4
|
+
}
|
|
15
5
|
export default _default;
|
|
6
|
+
import recommended from './recommended.js';
|
|
7
|
+
import base from './base.js';
|
package/dist/lib/eslint/index.js
CHANGED
package/dist/lib/index.d.ts
CHANGED
package/dist/lib/index.js
CHANGED
|
@@ -4,11 +4,15 @@ import { fileURLToPath } from 'url';
|
|
|
4
4
|
const __filename = fileURLToPath(import.meta.url);
|
|
5
5
|
const __dirname = dirname(__filename);
|
|
6
6
|
export const isDistFolder = () => {
|
|
7
|
-
return basename(
|
|
7
|
+
return basename(dirname(__dirname)) === 'dist';
|
|
8
8
|
};
|
|
9
9
|
export const getPackageRoot = (relativePath) => {
|
|
10
|
-
const sourceRoot =
|
|
11
|
-
const packageDirectory = isDistFolder() ?
|
|
10
|
+
const sourceRoot = dirname(__dirname);
|
|
11
|
+
const packageDirectory = isDistFolder() ? dirname(sourceRoot) : sourceRoot;
|
|
12
12
|
return relativePath ? join(packageDirectory, relativePath) : packageDirectory;
|
|
13
13
|
};
|
|
14
|
+
export const getSourceRoot = (relativePath) => {
|
|
15
|
+
const sourceRoot = dirname(__dirname);
|
|
16
|
+
return relativePath ? join(sourceRoot, relativePath) : sourceRoot;
|
|
17
|
+
};
|
|
14
18
|
export const packageJson = JSON.parse(readFileSync(getPackageRoot('package.json')).toString());
|
|
@@ -28,9 +28,7 @@ export declare const rulesNames: {
|
|
|
28
28
|
ENUM_UNUSED: string;
|
|
29
29
|
};
|
|
30
30
|
type RuleNames = keyof typeof rulesNames;
|
|
31
|
-
export declare const rules:
|
|
32
|
-
[key in RuleNames]: Rule;
|
|
33
|
-
};
|
|
31
|
+
export declare const rules: Record<RuleNames, Rule>;
|
|
34
32
|
/**
|
|
35
33
|
* Gets and returns the rule having the passed name.
|
|
36
34
|
* @param ruleName - the name of the rule to fetch
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
19
|
/* eslint-disable no-useless-escape */
|
|
20
|
-
import { first, flatten, includes
|
|
20
|
+
import { first, flatten, includes } from 'lodash-es';
|
|
21
21
|
import { tokenMatcher as matchesToken } from 'chevrotain';
|
|
22
22
|
import { ALPHABETIC, ALPHABETIC_DASH_LOWER, ALPHABETIC_LOWER, ALPHANUMERIC, ALPHANUMERIC_DASH, ALPHANUMERIC_SPACE, ALPHANUMERIC_UNDERSCORE, } from '../built-in-options/validation-patterns.js';
|
|
23
23
|
const CONSTANT_PATTERN = /^[A-Z_]+$/;
|
|
@@ -352,7 +352,7 @@ export default function performAdditionalSyntaxChecks(cst, runtime) {
|
|
|
352
352
|
this.visit(context.deploymentConfigValue, context.DEPLOYMENT_KEY[0]);
|
|
353
353
|
}
|
|
354
354
|
deploymentConfigValue(context, configKey) {
|
|
355
|
-
const configValue = first(first(values(context)));
|
|
355
|
+
const configValue = first(first(Object.values(context)));
|
|
356
356
|
this.checkDeploymentConfigPropSyntax(configKey, configValue);
|
|
357
357
|
}
|
|
358
358
|
}
|
|
@@ -16,18 +16,86 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export declare function
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
19
|
+
import type { ApplicationConfiguration } from '../types/application/yo-rc.js';
|
|
20
|
+
type ApplicationDefaults = Partial<ApplicationConfiguration>;
|
|
21
|
+
export declare function getConfigWithDefaults(customOptions?: ApplicationDefaults): Partial<{
|
|
22
|
+
jhipsterVersion?: string | undefined;
|
|
23
|
+
baseName: string;
|
|
24
|
+
creationTimestamp?: number | undefined;
|
|
25
|
+
lastLiquibaseTimestamp?: number | undefined;
|
|
26
|
+
blueprints?: {
|
|
27
|
+
name: string;
|
|
28
|
+
}[] | undefined;
|
|
29
|
+
testFrameworks?: string[] | undefined;
|
|
30
|
+
microfrontends?: {
|
|
31
|
+
baseName: string;
|
|
32
|
+
}[] | undefined;
|
|
33
|
+
skipClient?: boolean | undefined;
|
|
34
|
+
skipServer?: boolean | undefined;
|
|
35
|
+
jhiPrefix?: string | undefined;
|
|
36
|
+
entitySuffix?: string | undefined;
|
|
37
|
+
dtoSuffix?: string | undefined;
|
|
38
|
+
pkType?: string | undefined;
|
|
39
|
+
clientPackageManager?: string | undefined;
|
|
40
|
+
jdlStore?: string | undefined;
|
|
41
|
+
skipJhipsterDependencies?: boolean | undefined;
|
|
42
|
+
clientFramework?: "no" | "angular" | "react" | "vue" | undefined;
|
|
43
|
+
clientTheme?: string | undefined;
|
|
44
|
+
clientThemeVariant?: string | undefined;
|
|
45
|
+
clientBundler?: "webpack" | "vite" | undefined;
|
|
46
|
+
microfrontend?: boolean | undefined;
|
|
47
|
+
clientTestFrameworks?: "cypress" | undefined;
|
|
48
|
+
withAdminUi?: boolean | undefined;
|
|
49
|
+
clientRootDir?: string | undefined;
|
|
50
|
+
monorepository?: boolean | undefined;
|
|
51
|
+
packageName?: string | undefined;
|
|
52
|
+
packageFolder?: string | undefined;
|
|
53
|
+
withGeneratedFlag?: boolean | undefined;
|
|
54
|
+
buildTool?: string | undefined;
|
|
55
|
+
packageJsonNodeEngine?: unknown;
|
|
56
|
+
packageJsonType?: "commonjs" | "module" | undefined;
|
|
57
|
+
prettierTabWidth?: number | undefined;
|
|
58
|
+
languages?: unknown[] | undefined;
|
|
59
|
+
enableTranslation?: boolean | undefined;
|
|
60
|
+
nativeLanguage?: string | undefined;
|
|
61
|
+
incrementalChangelog?: boolean | undefined;
|
|
62
|
+
skipFakeData?: boolean | undefined;
|
|
63
|
+
applicationType?: "monolith" | "microservice" | "gateway" | undefined;
|
|
64
|
+
skipUserManagement?: boolean | undefined;
|
|
65
|
+
cacheProvider?: string | undefined;
|
|
66
|
+
enableSwaggerCodegen?: boolean | undefined;
|
|
67
|
+
enableHibernateCache?: boolean | undefined;
|
|
68
|
+
searchEngine?: string | undefined;
|
|
69
|
+
skipCheckLengthOfIdentifier?: boolean | undefined;
|
|
70
|
+
websocket?: string | undefined;
|
|
71
|
+
reactive?: boolean | undefined;
|
|
72
|
+
serverPort?: unknown;
|
|
73
|
+
serviceDiscoveryType?: "no" | "eureka" | "consul" | undefined;
|
|
74
|
+
jwtSecretKey?: string | undefined;
|
|
75
|
+
authenticationType?: "session" | "jwt" | "oauth2" | undefined;
|
|
76
|
+
feignClient?: boolean | undefined;
|
|
77
|
+
syncUserWithIdp?: boolean | undefined;
|
|
78
|
+
defaultPackaging?: "jar" | "war" | undefined;
|
|
79
|
+
databaseType?: "sql" | "mongodb" | "cassandra" | "couchbase" | "neo4j" | "no" | undefined;
|
|
80
|
+
messageBroker?: "no" | "kafka" | "pulsar" | undefined;
|
|
81
|
+
databaseMigration?: "liquibase" | undefined;
|
|
82
|
+
graalvmSupport?: boolean | undefined;
|
|
83
|
+
routes?: unknown[] | undefined;
|
|
84
|
+
prodDatabaseType?: "mysql" | "mariadb" | "postgresql" | "mssql" | "oracle" | undefined;
|
|
85
|
+
devDatabaseType?: string | undefined;
|
|
86
|
+
}>;
|
|
87
|
+
export declare function getConfigForClientApplication(options?: ApplicationDefaults): ApplicationDefaults;
|
|
88
|
+
export declare function getConfigForAuthenticationType(options?: ApplicationDefaults): ApplicationDefaults;
|
|
89
|
+
export declare function getConfigForPackageName(options?: ApplicationDefaults): ApplicationDefaults;
|
|
90
|
+
export declare function getConfigForCacheProvider(options?: ApplicationDefaults): ApplicationDefaults;
|
|
91
|
+
export declare function getConfigForReactive(options?: ApplicationDefaults): ApplicationDefaults;
|
|
92
|
+
export declare function getConfigForTranslation(options?: ApplicationDefaults): ApplicationDefaults;
|
|
93
|
+
export declare function getConfigForDatabaseType(options?: ApplicationDefaults): ApplicationDefaults;
|
|
94
|
+
export declare function getServerConfigForMonolithApplication(customOptions?: ApplicationDefaults): ApplicationDefaults;
|
|
95
|
+
export declare function getConfigForMonolithApplication(customOptions?: ApplicationDefaults): ApplicationDefaults;
|
|
96
|
+
export declare function getServerConfigForGatewayApplication(customOptions?: ApplicationDefaults): ApplicationDefaults;
|
|
97
|
+
export declare function getConfigForGatewayApplication(customOptions?: ApplicationDefaults): ApplicationDefaults;
|
|
98
|
+
export declare function getServerConfigForMicroserviceApplication(customOptions?: ApplicationDefaults): ApplicationDefaults;
|
|
99
|
+
export declare function getConfigForMicroserviceApplication(customOptions?: ApplicationDefaults): ApplicationDefaults;
|
|
100
|
+
export declare function getDefaultConfigForNewApplication(customOptions?: ApplicationDefaults): ApplicationDefaults;
|
|
101
|
+
export {};
|
|
@@ -26,13 +26,12 @@ import clientFrameworkTypes from './client-framework-types.js';
|
|
|
26
26
|
import buildToolTypes from './build-tool-types.js';
|
|
27
27
|
const { MONOLITH, MICROSERVICE, GATEWAY } = applicationTypes;
|
|
28
28
|
const { CONSUL } = serviceDiscoveryTypes;
|
|
29
|
-
const {
|
|
30
|
-
const NO_DATABASE_TYPE = databaseTypes.NO;
|
|
29
|
+
const { SQL, POSTGRESQL } = databaseTypes;
|
|
31
30
|
const { OptionNames, OptionValues } = applicationOptions;
|
|
32
31
|
const { JWT, OAUTH2 } = authenticationTypes;
|
|
33
32
|
const { ANGULAR, NO: NO_CLIENT_FRAMEWORK } = clientFrameworkTypes;
|
|
34
33
|
const { EHCACHE, HAZELCAST } = cacheTypes;
|
|
35
|
-
const NO_CACHE_PROVIDER = cacheTypes
|
|
34
|
+
const { NO: NO_CACHE_PROVIDER, MEMCACHED } = cacheTypes;
|
|
36
35
|
const NO_SERVICE_DISCOVERY = serviceDiscoveryTypes.NO;
|
|
37
36
|
const { MAVEN } = buildToolTypes;
|
|
38
37
|
const { APPLICATION_TYPE, AUTHENTICATION_TYPE, BASE_NAME, BUILD_TOOL, CACHE_PROVIDER, CLIENT_FRAMEWORK, CLIENT_THEME, CLIENT_THEME_VARIANT, WITH_ADMIN_UI, DATABASE_TYPE, DEV_DATABASE_TYPE, DTO_SUFFIX, ENABLE_HIBERNATE_CACHE, ENABLE_SWAGGER_CODEGEN, ENABLE_TRANSLATION, ENTITY_SUFFIX, JHI_PREFIX, LANGUAGES, NATIVE_LANGUAGE, PACKAGE_FOLDER, PACKAGE_NAME, PROD_DATABASE_TYPE, REACTIVE, SEARCH_ENGINE, SERVER_PORT, SERVICE_DISCOVERY_TYPE, SKIP_CLIENT, SKIP_USER_MANAGEMENT, TEST_FRAMEWORKS, WEBSOCKET, ENABLE_GRADLE_ENTERPRISE, GRADLE_ENTERPRISE_HOST, } = OptionNames;
|
|
@@ -49,7 +48,7 @@ const commonDefaultOptions = {
|
|
|
49
48
|
[WEBSOCKET]: OptionValues[WEBSOCKET].no,
|
|
50
49
|
};
|
|
51
50
|
export function getConfigWithDefaults(customOptions = {}) {
|
|
52
|
-
const applicationType =
|
|
51
|
+
const applicationType = customOptions.applicationType;
|
|
53
52
|
if (applicationType === GATEWAY) {
|
|
54
53
|
return getConfigForGatewayApplication(customOptions);
|
|
55
54
|
}
|
|
@@ -62,18 +61,28 @@ export function getConfigForClientApplication(options = {}) {
|
|
|
62
61
|
if (options[SKIP_CLIENT]) {
|
|
63
62
|
options[CLIENT_FRAMEWORK] = NO_CLIENT_FRAMEWORK;
|
|
64
63
|
}
|
|
64
|
+
const clientFramework = options[CLIENT_FRAMEWORK];
|
|
65
|
+
if (clientFramework === NO_CLIENT_FRAMEWORK) {
|
|
66
|
+
return options;
|
|
67
|
+
}
|
|
65
68
|
if (options[OptionNames.MICROFRONTEND] === undefined) {
|
|
66
69
|
options[OptionNames.MICROFRONTEND] = Boolean(options[OptionNames.MICROFRONTENDS]?.length);
|
|
67
70
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
71
|
+
if (!options[CLIENT_THEME]) {
|
|
72
|
+
options[CLIENT_THEME] = OptionValues[CLIENT_THEME];
|
|
73
|
+
options[CLIENT_THEME_VARIANT] = '';
|
|
74
|
+
}
|
|
75
|
+
else if (options[CLIENT_THEME] !== OptionValues[CLIENT_THEME] && !options[CLIENT_THEME_VARIANT]) {
|
|
76
|
+
options[CLIENT_THEME_VARIANT] = 'primary';
|
|
77
|
+
}
|
|
78
|
+
if (clientFramework === 'vue') {
|
|
79
|
+
options.clientBundler = options.microfrontend || options.applicationType === 'microservice' ? 'webpack' : 'vite';
|
|
80
|
+
}
|
|
81
|
+
else if (clientFramework === 'react') {
|
|
82
|
+
options.clientBundler = 'webpack';
|
|
83
|
+
}
|
|
84
|
+
else if (clientFramework === 'angular') {
|
|
85
|
+
options.clientBundler = 'webpack';
|
|
77
86
|
}
|
|
78
87
|
return options;
|
|
79
88
|
}
|
|
@@ -101,9 +110,11 @@ export function getConfigForPackageName(options = {}) {
|
|
|
101
110
|
return options;
|
|
102
111
|
}
|
|
103
112
|
export function getConfigForCacheProvider(options = {}) {
|
|
104
|
-
if (options[REACTIVE]) {
|
|
113
|
+
if (options[REACTIVE] || options[CACHE_PROVIDER] === undefined) {
|
|
105
114
|
options[CACHE_PROVIDER] = NO_CACHE_PROVIDER;
|
|
106
115
|
}
|
|
116
|
+
options[ENABLE_HIBERNATE_CACHE] ??=
|
|
117
|
+
options[DATABASE_TYPE] === SQL && !options[REACTIVE] && ![NO_CACHE_PROVIDER, MEMCACHED].includes(options[CACHE_PROVIDER]);
|
|
107
118
|
return options;
|
|
108
119
|
}
|
|
109
120
|
export function getConfigForReactive(options = {}) {
|
|
@@ -136,17 +147,6 @@ export function getConfigForDatabaseType(options = {}) {
|
|
|
136
147
|
options[DEV_DATABASE_TYPE] = options[PROD_DATABASE_TYPE];
|
|
137
148
|
}
|
|
138
149
|
}
|
|
139
|
-
else if ([MONGODB, COUCHBASE, CASSANDRA, NEO4J, NO_DATABASE_TYPE].includes(options[DATABASE_TYPE])) {
|
|
140
|
-
if (NO_DATABASE_TYPE !== options[DATABASE_TYPE]) {
|
|
141
|
-
options[ENABLE_HIBERNATE_CACHE] = false;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
if (options[REACTIVE]) {
|
|
145
|
-
options[ENABLE_HIBERNATE_CACHE] = false;
|
|
146
|
-
}
|
|
147
|
-
if (options[ENABLE_HIBERNATE_CACHE] === undefined) {
|
|
148
|
-
options[ENABLE_HIBERNATE_CACHE] = true;
|
|
149
|
-
}
|
|
150
150
|
return options;
|
|
151
151
|
}
|
|
152
152
|
export function getServerConfigForMonolithApplication(customOptions = {}) {
|
|
@@ -168,8 +168,8 @@ export function getConfigForMonolithApplication(customOptions = {}) {
|
|
|
168
168
|
let options = getServerConfigForMonolithApplication(customOptions);
|
|
169
169
|
options = getConfigForClientApplication(options);
|
|
170
170
|
options = getConfigForPackageName(options);
|
|
171
|
-
options = getConfigForCacheProvider(options);
|
|
172
171
|
options = getConfigForDatabaseType(options);
|
|
172
|
+
options = getConfigForCacheProvider(options);
|
|
173
173
|
options = getConfigForReactive(options);
|
|
174
174
|
options = getConfigForTranslation(options);
|
|
175
175
|
return getConfigForAuthenticationType(options);
|
|
@@ -195,8 +195,8 @@ export function getConfigForGatewayApplication(customOptions = {}) {
|
|
|
195
195
|
let options = getServerConfigForGatewayApplication(customOptions);
|
|
196
196
|
options = getConfigForClientApplication(options);
|
|
197
197
|
options = getConfigForPackageName(options);
|
|
198
|
-
options = getConfigForCacheProvider(options);
|
|
199
198
|
options = getConfigForDatabaseType(options);
|
|
199
|
+
options = getConfigForCacheProvider(options);
|
|
200
200
|
options = getConfigForReactive(options);
|
|
201
201
|
options = getConfigForTranslation(options);
|
|
202
202
|
return getConfigForAuthenticationType(options);
|
|
@@ -222,8 +222,8 @@ export function getConfigForMicroserviceApplication(customOptions = {}) {
|
|
|
222
222
|
let options = getServerConfigForMicroserviceApplication(customOptions);
|
|
223
223
|
options = getConfigForClientApplication(options);
|
|
224
224
|
options = getConfigForPackageName(options);
|
|
225
|
-
options = getConfigForCacheProvider(options);
|
|
226
225
|
options = getConfigForDatabaseType(options);
|
|
226
|
+
options = getConfigForCacheProvider(options);
|
|
227
227
|
options = getConfigForReactive(options);
|
|
228
228
|
options = getConfigForTranslation(options);
|
|
229
229
|
return getConfigForAuthenticationType(options);
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { dirname, resolve } from 'path';
|
|
1
|
+
import { dirname, join, resolve } from 'path';
|
|
2
2
|
import { existsSync } from 'fs';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
const __filename = fileURLToPath(import.meta.url);
|
|
5
5
|
const __dirname = dirname(__filename);
|
|
6
|
+
export const getGeneratorRelativeFolder = (generatorName) => {
|
|
7
|
+
generatorName = generatorName.replace('jhipster:', '');
|
|
8
|
+
return join('generators', generatorName.split(':').join('/generators/'));
|
|
9
|
+
};
|
|
6
10
|
export const getGeneratorFolder = (generatorName) => {
|
|
7
|
-
return resolve(__dirname, '
|
|
11
|
+
return resolve(__dirname, '../..', getGeneratorRelativeFolder(generatorName));
|
|
8
12
|
};
|
|
9
13
|
const getGenerator = (generatorName) => {
|
|
10
14
|
const generatorFolder = getGeneratorFolder(generatorName);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { GitHubMatrixGroup } from './github-matrix.js';
|
|
2
|
+
export declare const getGithubSamplesGroups: (samplesGroupFolder: string) => Promise<string[]>;
|
|
3
|
+
export declare const getGithubSamplesGroup: (samplesGroupFolder: string, group: string) => Promise<{
|
|
4
|
+
samples: GitHubMatrixGroup;
|
|
5
|
+
warnings: string[];
|
|
6
|
+
}>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { readFile, readdir } from 'node:fs/promises';
|
|
2
|
+
import { extname, join } from 'node:path';
|
|
3
|
+
import { getUnknownGitHubMatrixGroupProperties } from './github-matrix.js';
|
|
4
|
+
export const getGithubSamplesGroups = async (samplesGroupFolder) => {
|
|
5
|
+
const samplesFolderContent = await readdir(samplesGroupFolder);
|
|
6
|
+
return samplesFolderContent.filter(sample => ['.json', '.js', '.ts', ''].includes(extname(sample)));
|
|
7
|
+
};
|
|
8
|
+
export const getGithubSamplesGroup = async (samplesGroupFolder, group) => {
|
|
9
|
+
const warnings = [];
|
|
10
|
+
let samples = {};
|
|
11
|
+
const samplesFolderContent = await getGithubSamplesGroups(samplesGroupFolder);
|
|
12
|
+
if (samplesFolderContent.includes(`${group}.js`) || samplesFolderContent.includes(`${group}.ts`)) {
|
|
13
|
+
const jsGroup = await import(join(samplesGroupFolder, `${group}.js`));
|
|
14
|
+
samples = Object.fromEntries(Object.entries(jsGroup.default).map(([sample, value]) => [sample, { ...value, 'samples-group': group }]));
|
|
15
|
+
}
|
|
16
|
+
else if (samplesFolderContent.includes(`${group}.json`)) {
|
|
17
|
+
const jsonFile = await readFile(join(samplesGroupFolder, `${group}.json`));
|
|
18
|
+
samples = Object.fromEntries(Object.entries(JSON.parse(jsonFile.toString())).map(([sample, value]) => [
|
|
19
|
+
sample,
|
|
20
|
+
{ ...value, 'samples-group': group },
|
|
21
|
+
]));
|
|
22
|
+
}
|
|
23
|
+
else if (samplesFolderContent.includes(group)) {
|
|
24
|
+
const samplesFolderContent = await readdir(join(samplesGroupFolder, group));
|
|
25
|
+
if (samplesFolderContent.length > 0) {
|
|
26
|
+
// Support jdl files and folder (with .yo-rc.json files)
|
|
27
|
+
samples = Object.fromEntries(samplesFolderContent
|
|
28
|
+
.filter(sample => ['', '.jdl'].includes(extname(sample)))
|
|
29
|
+
.map(sample => [
|
|
30
|
+
sample.replace('.jdl', ''),
|
|
31
|
+
{
|
|
32
|
+
'samples-group': group,
|
|
33
|
+
'sample-type': extname(sample) === '.jdl' ? 'jdl' : 'yo-rc',
|
|
34
|
+
},
|
|
35
|
+
]));
|
|
36
|
+
if (samplesFolderContent.includes('samples.json')) {
|
|
37
|
+
const jsonFile = await readFile(join(samplesGroupFolder, group, 'samples.json'));
|
|
38
|
+
const jsonSamples = JSON.parse(jsonFile.toString());
|
|
39
|
+
for (const [sample, value] of Object.entries(jsonSamples)) {
|
|
40
|
+
if (!samples[sample]) {
|
|
41
|
+
throw new Error(`Sample ${sample} not found in ${group}`);
|
|
42
|
+
}
|
|
43
|
+
samples[sample] = { ...samples[sample], ...value };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (!samples) {
|
|
49
|
+
throw new Error();
|
|
50
|
+
}
|
|
51
|
+
const unknownProperties = getUnknownGitHubMatrixGroupProperties(samples);
|
|
52
|
+
if (unknownProperties.length) {
|
|
53
|
+
warnings.push(`Unknown properties in ${group}: ${unknownProperties.join(', ')}`);
|
|
54
|
+
}
|
|
55
|
+
return { samples, warnings };
|
|
56
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type GitHubMatrix = {
|
|
2
|
+
os: string;
|
|
3
|
+
'node-version': string;
|
|
4
|
+
'java-version': string;
|
|
5
|
+
'default-environment': string;
|
|
6
|
+
'job-name': string;
|
|
7
|
+
sample: string;
|
|
8
|
+
'samples-group'?: string;
|
|
9
|
+
'sample-type'?: string;
|
|
10
|
+
args?: string;
|
|
11
|
+
'jwt-secret-key'?: string;
|
|
12
|
+
jdl?: string;
|
|
13
|
+
};
|
|
14
|
+
export type GitHubMatrixGroup = Record<string, Partial<Omit<GitHubMatrix, 'job-name'>> & {
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
export type GitHubMatrixOutput = {
|
|
18
|
+
include: GitHubMatrix[];
|
|
19
|
+
};
|
|
20
|
+
export declare const getUnknownGitHubMatrixProperties: (matrix: Partial<GitHubMatrix>) => string[];
|
|
21
|
+
export declare const getUnknownGitHubMatrixGroupProperties: (matrixRecord: GitHubMatrixGroup) => string[];
|
|
22
|
+
export declare const defaultGithubEnvironment: {
|
|
23
|
+
os: string;
|
|
24
|
+
'node-version': string;
|
|
25
|
+
'java-version': string;
|
|
26
|
+
'npm-version': any;
|
|
27
|
+
'default-environment': string;
|
|
28
|
+
'jwt-secret-key': string;
|
|
29
|
+
};
|
|
30
|
+
type RandomEnvironmentOptions = {
|
|
31
|
+
useVersionPlaceholders?: boolean;
|
|
32
|
+
javaVersions?: string[];
|
|
33
|
+
nodeVersions?: string[];
|
|
34
|
+
};
|
|
35
|
+
export declare const convertToGitHubMatrix: (matrix: GitHubMatrixGroup, options?: {
|
|
36
|
+
randomEnvironment?: boolean;
|
|
37
|
+
} & RandomEnvironmentOptions) => GitHubMatrixOutput;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { RECOMMENDED_JAVA_VERSION, RECOMMENDED_NODE_VERSION } from '../../generators/index.js';
|
|
5
|
+
import { getSourceRoot } from '../index.js';
|
|
6
|
+
import { JAVA_COMPATIBLE_VERSIONS, JAVA_VERSION, NODE_VERSION } from '../../generators/generator-constants.js';
|
|
7
|
+
const knwonGitHubMatrixProperties = [
|
|
8
|
+
'os',
|
|
9
|
+
'node-version',
|
|
10
|
+
'java-version',
|
|
11
|
+
'default-environment',
|
|
12
|
+
'job-name',
|
|
13
|
+
'sample',
|
|
14
|
+
'samples-group',
|
|
15
|
+
'sample-type',
|
|
16
|
+
'args',
|
|
17
|
+
'jwt-secret',
|
|
18
|
+
'jdl',
|
|
19
|
+
];
|
|
20
|
+
export const getUnknownGitHubMatrixProperties = (matrix) => {
|
|
21
|
+
return Object.keys(matrix).filter(key => !knwonGitHubMatrixProperties.includes(key));
|
|
22
|
+
};
|
|
23
|
+
export const getUnknownGitHubMatrixGroupProperties = (matrixRecord) => {
|
|
24
|
+
let unknownProperties = [];
|
|
25
|
+
for (const matrix of Object.values(matrixRecord)) {
|
|
26
|
+
unknownProperties = [...new Set([...unknownProperties, ...getUnknownGitHubMatrixProperties(matrix)])];
|
|
27
|
+
}
|
|
28
|
+
return unknownProperties;
|
|
29
|
+
};
|
|
30
|
+
const NPM_VERSION = JSON.parse(readFileSync(join(getSourceRoot(), 'generators/common/resources/package.json'), 'utf-8')).devDependencies
|
|
31
|
+
.npm;
|
|
32
|
+
export const defaultGithubEnvironment = {
|
|
33
|
+
os: 'ubuntu-latest',
|
|
34
|
+
'node-version': RECOMMENDED_NODE_VERSION,
|
|
35
|
+
'java-version': RECOMMENDED_JAVA_VERSION,
|
|
36
|
+
'npm-version': NPM_VERSION,
|
|
37
|
+
'default-environment': 'prod',
|
|
38
|
+
'jwt-secret-key': 'ZjY4MTM4YjI5YzMwZjhjYjI2OTNkNTRjMWQ5Y2Q0Y2YwOWNmZTE2NzRmYzU3NTMwM2NjOTE3MTllOTM3MWRkMzcyYTljMjVmNmQ0Y2MxOTUzODc0MDhhMTlkMDIxMzI2YzQzZDM2ZDE3MmQ3NjVkODk3OTVmYzljYTQyZDNmMTQ=',
|
|
39
|
+
};
|
|
40
|
+
const randomReproducibleValue = (seed, choices, options) => {
|
|
41
|
+
const { useVersionPlaceholders } = options ?? {};
|
|
42
|
+
const index = createHash('shake256', { outputLength: 1 }).update(seed, 'utf8').digest('binary').charCodeAt(0) % choices.length;
|
|
43
|
+
if (useVersionPlaceholders) {
|
|
44
|
+
return `[${index}]`;
|
|
45
|
+
}
|
|
46
|
+
return choices[index];
|
|
47
|
+
};
|
|
48
|
+
const randomEnvironmentMatrix = (key, options) => {
|
|
49
|
+
const { useVersionPlaceholders, javaVersions = [JAVA_VERSION, ...JAVA_COMPATIBLE_VERSIONS], nodeVersions = [NODE_VERSION, '18', '20'], } = options;
|
|
50
|
+
const javaVersion = randomReproducibleValue(`java-${key}`, javaVersions, { useVersionPlaceholders });
|
|
51
|
+
const nodeVersion = randomReproducibleValue(`node-${key}`, nodeVersions, { useVersionPlaceholders });
|
|
52
|
+
return {
|
|
53
|
+
'job-name': `${key} (n${nodeVersion}/j${javaVersion})`,
|
|
54
|
+
'java-version': javaVersion,
|
|
55
|
+
'node-version': nodeVersion,
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
export const convertToGitHubMatrix = (matrix, options) => {
|
|
59
|
+
const { randomEnvironment, useVersionPlaceholders, ...randomEnvironmentOptions } = options ?? {};
|
|
60
|
+
return {
|
|
61
|
+
include: Object.entries(matrix)
|
|
62
|
+
.filter(([_key, value]) => !value.disabled)
|
|
63
|
+
.map(([key, value]) => ({
|
|
64
|
+
'job-name': key,
|
|
65
|
+
sample: key,
|
|
66
|
+
...defaultGithubEnvironment,
|
|
67
|
+
...(useVersionPlaceholders ? { 'java-version': 'JAVA-VERSION', 'node-version': 'NODE-VERSION', 'npm-version': 'NPM-VERSION' } : {}),
|
|
68
|
+
...value,
|
|
69
|
+
...(randomEnvironment ? randomEnvironmentMatrix(key, { useVersionPlaceholders, ...randomEnvironmentOptions }) : {}),
|
|
70
|
+
})),
|
|
71
|
+
};
|
|
72
|
+
};
|
|
@@ -3,6 +3,7 @@ export declare const parseIssue: (issue: string) => undefined | {
|
|
|
3
3
|
repository: string;
|
|
4
4
|
issue: string;
|
|
5
5
|
};
|
|
6
|
+
export declare const getGithubOutputFile: () => string | undefined;
|
|
6
7
|
export declare const setGithubTaskOutput: (name: string, value: string | boolean | number) => void;
|
|
7
8
|
export declare const getGithubIssue: ({ owner, repository, issue }: {
|
|
8
9
|
owner: string;
|