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
|
@@ -66,6 +66,12 @@ export const sqlFiles = {
|
|
|
66
66
|
templates: ['config/application-testprod.yml'],
|
|
67
67
|
},
|
|
68
68
|
],
|
|
69
|
+
graalvm: [
|
|
70
|
+
javaMainPackageTemplatesBlock({
|
|
71
|
+
condition: ctx => !ctx.reactive && ctx.graalvmSupport,
|
|
72
|
+
templates: ['config/JacksonNativeConfiguration.java'],
|
|
73
|
+
}),
|
|
74
|
+
],
|
|
69
75
|
};
|
|
70
76
|
export const h2Files = {
|
|
71
77
|
serverResource: [
|
|
@@ -29,7 +29,8 @@ export default class SqlGenerator extends BaseApplicationGenerator {
|
|
|
29
29
|
cleanupEntitiesTask: typeof cleanupEntitiesTask;
|
|
30
30
|
writeEntitiesTask: (this: import("../index.js").GeneratorBaseCore, params: import("../../lib/types/application/tasks.js").TaskParamWithEntities<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>>>) => void;
|
|
31
31
|
};
|
|
32
|
-
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>>>, "addDependencies" | "addTestSpringFactory" | "addLog">;
|
|
32
|
+
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>>>, "addDependencies" | "nativeHints" | "addTestSpringFactory" | "addLog" | "nativeGradleBuildTool">;
|
|
33
|
+
get postWritingEntities(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PostWritingEntitiesTaskParam<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>>>, "jsonFilter">;
|
|
33
34
|
/**
|
|
34
35
|
* @private
|
|
35
36
|
* Returns the JDBC URL for a databaseType
|
|
@@ -25,7 +25,7 @@ import writeTask from './files.js';
|
|
|
25
25
|
import cleanupTask from './cleanup.js';
|
|
26
26
|
import writeEntitiesTask, { cleanupEntitiesTask } from './entity-files.js';
|
|
27
27
|
import { getDBCExtraOption, getJdbcUrl, getR2dbcUrl } from './support/index.js';
|
|
28
|
-
import { getDatabaseDriverForDatabase, getDatabaseTypeMavenDefinition, getH2MavenDefinition } from './internal/dependencies.js';
|
|
28
|
+
import { getDatabaseDriverForDatabase, getDatabaseTypeMavenDefinition, getH2MavenDefinition, javaSqlDatabaseArtifacts, } from './internal/dependencies.js';
|
|
29
29
|
const { SQL } = databaseTypes;
|
|
30
30
|
export default class SqlGenerator extends BaseApplicationGenerator {
|
|
31
31
|
async beforeQueue() {
|
|
@@ -132,7 +132,12 @@ export default class SqlGenerator extends BaseApplicationGenerator {
|
|
|
132
132
|
source.addJavaDefinitions?.({
|
|
133
133
|
condition: reactive,
|
|
134
134
|
dependencies: [
|
|
135
|
-
{
|
|
135
|
+
{
|
|
136
|
+
groupId: 'commons-beanutils',
|
|
137
|
+
artifactId: 'commons-beanutils',
|
|
138
|
+
version: javaDependencies['commons-beanutils'],
|
|
139
|
+
exclusions: [{ groupId: 'commons-logging', artifactId: 'commons-logging' }],
|
|
140
|
+
},
|
|
136
141
|
{ groupId: 'jakarta.persistence', artifactId: 'jakarta.persistence-api' },
|
|
137
142
|
{ groupId: 'org.springframework.boot', artifactId: 'spring-boot-starter-data-r2dbc' },
|
|
138
143
|
],
|
|
@@ -165,12 +170,68 @@ export default class SqlGenerator extends BaseApplicationGenerator {
|
|
|
165
170
|
condition: devDatabaseTypeH2Any && reactive,
|
|
166
171
|
mavenDefinition: h2Definitions?.r2dbc,
|
|
167
172
|
});
|
|
173
|
+
if (application.buildToolGradle) {
|
|
174
|
+
const artifacts = javaSqlDatabaseArtifacts[prodDatabaseType];
|
|
175
|
+
source.addJavaDefinition({ dependencies: [artifacts.jdbc, artifacts.testContainer, ...(reactive && artifacts.r2dbc ? [artifacts.r2dbc] : [])] }, { gradleFile: devDatabaseTypeH2Any ? 'gradle/profile_prod.gradle' : 'build.gradle' });
|
|
176
|
+
if (devDatabaseTypeH2Any) {
|
|
177
|
+
source.addJavaDefinition({ dependencies: [javaSqlDatabaseArtifacts.h2.jdbc, ...(reactive ? [javaSqlDatabaseArtifacts.h2.r2dbc] : [])] }, { gradleFile: 'gradle/profile_dev.gradle' });
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
nativeHints({ application, source }) {
|
|
182
|
+
if (application.reactive || !application.graalvmSupport)
|
|
183
|
+
return;
|
|
184
|
+
// Latest hibernate-core version supported by Reachability Repository is 6.5.0.Final
|
|
185
|
+
// Hints may be dropped if newer version is supported
|
|
186
|
+
// https://github.com/oracle/graalvm-reachability-metadata/blob/master/metadata/org.hibernate.orm/hibernate-core/index.json
|
|
187
|
+
source.addNativeHint({
|
|
188
|
+
publicConstructors: ['org.hibernate.binder.internal.BatchSizeBinder.class'],
|
|
189
|
+
});
|
|
190
|
+
},
|
|
191
|
+
async nativeGradleBuildTool({ application, source }) {
|
|
192
|
+
if (!application.buildToolGradle || !application.graalvmSupport)
|
|
193
|
+
return;
|
|
194
|
+
const { reactive, javaManagedProperties, buildToolMaven } = application;
|
|
195
|
+
if (buildToolMaven) {
|
|
196
|
+
source.addMavenProperty({ property: 'spring.h2.console.enabled', value: 'true' });
|
|
197
|
+
}
|
|
198
|
+
if (!reactive) {
|
|
199
|
+
source.addGradleDependencyCatalogVersion({ name: 'hibernate', version: javaManagedProperties['hibernate.version'] });
|
|
200
|
+
source.addGradleDependencyCatalogPlugin({
|
|
201
|
+
addToBuild: true,
|
|
202
|
+
pluginName: 'hibernate',
|
|
203
|
+
id: 'org.hibernate.orm',
|
|
204
|
+
'version.ref': 'hibernate',
|
|
205
|
+
});
|
|
206
|
+
}
|
|
168
207
|
},
|
|
169
208
|
});
|
|
170
209
|
}
|
|
171
210
|
get [BaseApplicationGenerator.POST_WRITING]() {
|
|
172
211
|
return this.delegateTasksToBlueprint(() => this.postWriting);
|
|
173
212
|
}
|
|
213
|
+
get postWritingEntities() {
|
|
214
|
+
return this.asPostWritingEntitiesTaskGroup({
|
|
215
|
+
async jsonFilter({ application, entities, source }) {
|
|
216
|
+
if (application.reactive || !application.graalvmSupport)
|
|
217
|
+
return;
|
|
218
|
+
for (const entity of entities.filter(({ builtIn, builtInUser, embedded }) => builtInUser || (!builtIn && !embedded))) {
|
|
219
|
+
source.editJavaFile(`${application.srcMainJava}/${entity.entityAbsoluteFolder}/domain/${entity.entityClass}.java`, {
|
|
220
|
+
annotations: [
|
|
221
|
+
{
|
|
222
|
+
package: 'com.fasterxml.jackson.annotation',
|
|
223
|
+
annotation: 'JsonFilter',
|
|
224
|
+
parameters: () => '"lazyPropertyFilter"',
|
|
225
|
+
},
|
|
226
|
+
],
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
get [BaseApplicationGenerator.POST_WRITING_ENTITIES]() {
|
|
233
|
+
return this.delegateTasksToBlueprint(() => this.postWritingEntities);
|
|
234
|
+
}
|
|
174
235
|
/**
|
|
175
236
|
* @private
|
|
176
237
|
* Returns the JDBC URL for a databaseType
|
|
@@ -16,21 +16,101 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
+
import type { JavaDependency } from '../../java/types.js';
|
|
19
20
|
import type { MavenDefinition } from '../../maven/types.js';
|
|
20
21
|
type DatabaseTypeDependencies = {
|
|
21
22
|
jdbc: MavenDefinition;
|
|
22
23
|
r2dbc: MavenDefinition;
|
|
23
24
|
};
|
|
24
|
-
type JavaDependency = {
|
|
25
|
-
groupId: string;
|
|
26
|
-
artifactId: string;
|
|
27
|
-
version?: string;
|
|
28
|
-
};
|
|
29
25
|
export type DatabaseArtifact = {
|
|
30
26
|
jdbc: JavaDependency;
|
|
31
|
-
r2dbc
|
|
27
|
+
r2dbc?: JavaDependency;
|
|
28
|
+
testContainer?: JavaDependency;
|
|
29
|
+
};
|
|
30
|
+
export declare const javaSqlDatabaseArtifacts: {
|
|
31
|
+
readonly mariadb: {
|
|
32
|
+
readonly jdbc: {
|
|
33
|
+
readonly groupId: "org.mariadb.jdbc";
|
|
34
|
+
readonly artifactId: "mariadb-java-client";
|
|
35
|
+
};
|
|
36
|
+
readonly r2dbc: {
|
|
37
|
+
readonly groupId: "io.asyncer";
|
|
38
|
+
readonly artifactId: "r2dbc-mysql";
|
|
39
|
+
};
|
|
40
|
+
readonly testContainer: {
|
|
41
|
+
readonly groupId: "org.testcontainers";
|
|
42
|
+
readonly artifactId: "mariadb";
|
|
43
|
+
readonly scope: "test";
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
readonly mssql: {
|
|
47
|
+
readonly jdbc: {
|
|
48
|
+
readonly groupId: "com.microsoft.sqlserver";
|
|
49
|
+
readonly artifactId: "mssql-jdbc";
|
|
50
|
+
};
|
|
51
|
+
readonly r2dbc: {
|
|
52
|
+
readonly groupId: "io.r2dbc";
|
|
53
|
+
readonly artifactId: "r2dbc-mssql";
|
|
54
|
+
};
|
|
55
|
+
readonly testContainer: {
|
|
56
|
+
readonly groupId: "org.testcontainers";
|
|
57
|
+
readonly artifactId: "mssqlserver";
|
|
58
|
+
readonly scope: "test";
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
readonly mysql: {
|
|
62
|
+
readonly jdbc: {
|
|
63
|
+
readonly groupId: "com.mysql";
|
|
64
|
+
readonly artifactId: "mysql-connector-j";
|
|
65
|
+
};
|
|
66
|
+
readonly r2dbc: {
|
|
67
|
+
readonly groupId: "io.asyncer";
|
|
68
|
+
readonly artifactId: "r2dbc-mysql";
|
|
69
|
+
};
|
|
70
|
+
readonly testContainer: {
|
|
71
|
+
readonly groupId: "org.testcontainers";
|
|
72
|
+
readonly artifactId: "mysql";
|
|
73
|
+
readonly scope: "test";
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
readonly postgresql: {
|
|
77
|
+
readonly jdbc: {
|
|
78
|
+
readonly groupId: "org.postgresql";
|
|
79
|
+
readonly artifactId: "postgresql";
|
|
80
|
+
};
|
|
81
|
+
readonly r2dbc: {
|
|
82
|
+
readonly groupId: "org.postgresql";
|
|
83
|
+
readonly artifactId: "r2dbc-postgresql";
|
|
84
|
+
};
|
|
85
|
+
readonly testContainer: {
|
|
86
|
+
readonly groupId: "org.testcontainers";
|
|
87
|
+
readonly artifactId: "postgresql";
|
|
88
|
+
readonly scope: "test";
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
readonly oracle: {
|
|
92
|
+
readonly jdbc: {
|
|
93
|
+
readonly groupId: "com.oracle.database.jdbc";
|
|
94
|
+
readonly artifactId: "ojdbc8";
|
|
95
|
+
};
|
|
96
|
+
readonly testContainer: {
|
|
97
|
+
readonly groupId: "org.testcontainers";
|
|
98
|
+
readonly artifactId: "oracle-xe";
|
|
99
|
+
readonly scope: "test";
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
readonly h2: {
|
|
103
|
+
readonly jdbc: {
|
|
104
|
+
readonly groupId: "com.h2database";
|
|
105
|
+
readonly artifactId: "h2";
|
|
106
|
+
};
|
|
107
|
+
readonly r2dbc: {
|
|
108
|
+
readonly groupId: "io.r2dbc";
|
|
109
|
+
readonly artifactId: "r2dbc-h2";
|
|
110
|
+
};
|
|
111
|
+
};
|
|
32
112
|
};
|
|
33
|
-
export declare const getDatabaseDriverForDatabase: (databaseType: string) =>
|
|
113
|
+
export declare const getDatabaseDriverForDatabase: (databaseType: string) => any;
|
|
34
114
|
export declare const getH2MavenDefinition: ({ prodDatabaseType, packageFolder, }: {
|
|
35
115
|
prodDatabaseType: string;
|
|
36
116
|
packageFolder: string;
|
|
@@ -22,27 +22,39 @@ const testcontainerFileForDB = {
|
|
|
22
22
|
mysql: 'MysqlTestContainer.java',
|
|
23
23
|
postgresql: 'PostgreSqlTestContainer.java',
|
|
24
24
|
};
|
|
25
|
-
const
|
|
25
|
+
export const javaSqlDatabaseArtifacts = {
|
|
26
26
|
mariadb: {
|
|
27
27
|
jdbc: { groupId: 'org.mariadb.jdbc', artifactId: 'mariadb-java-client' },
|
|
28
28
|
// maria-r2dbc driver is failing.
|
|
29
29
|
// r2dbc: { groupId: 'org.mariadb', artifactId: 'r2dbc-mariadb' },
|
|
30
30
|
r2dbc: { groupId: 'io.asyncer', artifactId: 'r2dbc-mysql' },
|
|
31
|
+
testContainer: { groupId: 'org.testcontainers', artifactId: 'mariadb', scope: 'test' },
|
|
31
32
|
},
|
|
32
33
|
mssql: {
|
|
33
34
|
jdbc: { groupId: 'com.microsoft.sqlserver', artifactId: 'mssql-jdbc' },
|
|
34
35
|
r2dbc: { groupId: 'io.r2dbc', artifactId: 'r2dbc-mssql' },
|
|
36
|
+
testContainer: { groupId: 'org.testcontainers', artifactId: 'mssqlserver', scope: 'test' },
|
|
35
37
|
},
|
|
36
38
|
mysql: {
|
|
37
39
|
jdbc: { groupId: 'com.mysql', artifactId: 'mysql-connector-j' },
|
|
38
40
|
r2dbc: { groupId: 'io.asyncer', artifactId: 'r2dbc-mysql' },
|
|
41
|
+
testContainer: { groupId: 'org.testcontainers', artifactId: 'mysql', scope: 'test' },
|
|
39
42
|
},
|
|
40
43
|
postgresql: {
|
|
41
44
|
jdbc: { groupId: 'org.postgresql', artifactId: 'postgresql' },
|
|
42
45
|
r2dbc: { groupId: 'org.postgresql', artifactId: 'r2dbc-postgresql' },
|
|
46
|
+
testContainer: { groupId: 'org.testcontainers', artifactId: 'postgresql', scope: 'test' },
|
|
47
|
+
},
|
|
48
|
+
oracle: {
|
|
49
|
+
jdbc: { groupId: 'com.oracle.database.jdbc', artifactId: 'ojdbc8' },
|
|
50
|
+
testContainer: { groupId: 'org.testcontainers', artifactId: 'oracle-xe', scope: 'test' },
|
|
51
|
+
},
|
|
52
|
+
h2: {
|
|
53
|
+
jdbc: { groupId: 'com.h2database', artifactId: 'h2' },
|
|
54
|
+
r2dbc: { groupId: 'io.r2dbc', artifactId: 'r2dbc-h2' },
|
|
43
55
|
},
|
|
44
56
|
};
|
|
45
|
-
export const getDatabaseDriverForDatabase = (databaseType) =>
|
|
57
|
+
export const getDatabaseDriverForDatabase = (databaseType) => javaSqlDatabaseArtifacts[databaseType];
|
|
46
58
|
export const getH2MavenDefinition = ({ prodDatabaseType, packageFolder, }) => {
|
|
47
59
|
const testcontainerFile = testcontainerFileForDB[prodDatabaseType];
|
|
48
60
|
const excludeContainerPlugin = testcontainerFile
|
|
@@ -63,11 +75,11 @@ export const getH2MavenDefinition = ({ prodDatabaseType, packageFolder, }) => {
|
|
|
63
75
|
: [];
|
|
64
76
|
return {
|
|
65
77
|
jdbc: {
|
|
66
|
-
dependencies: [{ inProfile: 'dev',
|
|
78
|
+
dependencies: [{ inProfile: 'dev', ...javaSqlDatabaseArtifacts.h2.jdbc }],
|
|
67
79
|
plugins: excludeContainerPlugin,
|
|
68
80
|
},
|
|
69
81
|
r2dbc: {
|
|
70
|
-
dependencies: [{ inProfile: 'dev',
|
|
82
|
+
dependencies: [{ inProfile: 'dev', ...javaSqlDatabaseArtifacts.h2.r2dbc }],
|
|
71
83
|
},
|
|
72
84
|
};
|
|
73
85
|
};
|
|
@@ -76,41 +88,41 @@ export const getDatabaseTypeMavenDefinition = (databaseType, { inProfile }) => {
|
|
|
76
88
|
mariadb: {
|
|
77
89
|
jdbc: {
|
|
78
90
|
dependencies: [
|
|
79
|
-
{ inProfile, ...
|
|
80
|
-
{
|
|
91
|
+
{ inProfile, ...javaSqlDatabaseArtifacts.mariadb.jdbc },
|
|
92
|
+
{ inProfile, ...javaSqlDatabaseArtifacts.mariadb.testContainer },
|
|
81
93
|
],
|
|
82
94
|
},
|
|
83
95
|
r2dbc: {
|
|
84
|
-
dependencies: [{ inProfile, ...
|
|
96
|
+
dependencies: [{ inProfile, ...javaSqlDatabaseArtifacts.mariadb.r2dbc }],
|
|
85
97
|
},
|
|
86
98
|
},
|
|
87
99
|
mssql: {
|
|
88
100
|
jdbc: {
|
|
89
101
|
dependencies: [
|
|
90
|
-
{ inProfile, ...
|
|
91
|
-
{
|
|
102
|
+
{ inProfile, ...javaSqlDatabaseArtifacts.mssql.jdbc },
|
|
103
|
+
{ inProfile, ...javaSqlDatabaseArtifacts.mssql.testContainer },
|
|
92
104
|
],
|
|
93
105
|
},
|
|
94
106
|
r2dbc: {
|
|
95
|
-
dependencies: [{ inProfile, ...
|
|
107
|
+
dependencies: [{ inProfile, ...javaSqlDatabaseArtifacts.mssql.r2dbc }],
|
|
96
108
|
},
|
|
97
109
|
},
|
|
98
110
|
mysql: {
|
|
99
111
|
jdbc: {
|
|
100
112
|
dependencies: [
|
|
101
|
-
{ inProfile, ...
|
|
102
|
-
{
|
|
113
|
+
{ inProfile, ...javaSqlDatabaseArtifacts.mysql.jdbc },
|
|
114
|
+
{ inProfile, ...javaSqlDatabaseArtifacts.mysql.testContainer },
|
|
103
115
|
],
|
|
104
116
|
},
|
|
105
117
|
r2dbc: {
|
|
106
|
-
dependencies: [{ inProfile, ...
|
|
118
|
+
dependencies: [{ inProfile, ...javaSqlDatabaseArtifacts.mysql.r2dbc }],
|
|
107
119
|
},
|
|
108
120
|
},
|
|
109
121
|
oracle: {
|
|
110
122
|
jdbc: {
|
|
111
123
|
dependencies: [
|
|
112
|
-
{ inProfile,
|
|
113
|
-
{
|
|
124
|
+
{ inProfile, ...javaSqlDatabaseArtifacts.oracle.jdbc },
|
|
125
|
+
{ inProfile, ...javaSqlDatabaseArtifacts.oracle.testContainer },
|
|
114
126
|
],
|
|
115
127
|
},
|
|
116
128
|
r2dbc: {},
|
|
@@ -118,12 +130,12 @@ export const getDatabaseTypeMavenDefinition = (databaseType, { inProfile }) => {
|
|
|
118
130
|
postgresql: {
|
|
119
131
|
jdbc: {
|
|
120
132
|
dependencies: [
|
|
121
|
-
{ inProfile, ...
|
|
122
|
-
{
|
|
133
|
+
{ inProfile, ...javaSqlDatabaseArtifacts.postgresql.jdbc },
|
|
134
|
+
{ inProfile, ...javaSqlDatabaseArtifacts.postgresql.testContainer },
|
|
123
135
|
],
|
|
124
136
|
},
|
|
125
137
|
r2dbc: {
|
|
126
|
-
dependencies: [{ inProfile, ...
|
|
138
|
+
dependencies: [{ inProfile, ...javaSqlDatabaseArtifacts.postgresql.r2dbc }],
|
|
127
139
|
},
|
|
128
140
|
},
|
|
129
141
|
};
|
|
@@ -36,7 +36,10 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|
|
36
36
|
<&_ } -&>
|
|
37
37
|
|
|
38
38
|
<&_ if (fragment.classAdditionalFieldsSection) { -&>
|
|
39
|
+
@org.springframework.data.annotation.Transient
|
|
40
|
+
<%_ if (!reactive) { _%>
|
|
39
41
|
@Transient
|
|
42
|
+
<%_ } _%>
|
|
40
43
|
private boolean isPersisted;
|
|
41
44
|
<&_ } -&>
|
|
42
45
|
|
|
@@ -48,7 +51,10 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|
|
48
51
|
}
|
|
49
52
|
<%_ } -%>
|
|
50
53
|
|
|
54
|
+
@org.springframework.data.annotation.Transient
|
|
55
|
+
<%_ if (!reactive) { _%>
|
|
51
56
|
@Transient
|
|
57
|
+
<%_ } _%>
|
|
52
58
|
@Override
|
|
53
59
|
public boolean isNew() {
|
|
54
60
|
return !this.isPersisted;
|
|
@@ -22,7 +22,6 @@
|
|
|
22
22
|
-%>
|
|
23
23
|
<&_ if (fragment.importSection) { -&>
|
|
24
24
|
import org.springframework.data.annotation.Id;
|
|
25
|
-
import org.springframework.data.annotation.Transient;
|
|
26
25
|
import org.springframework.data.relational.core.mapping.Column;
|
|
27
26
|
import org.springframework.data.relational.core.mapping.Table;
|
|
28
27
|
<&_ } -&>
|
|
@@ -55,7 +54,7 @@ import org.springframework.data.relational.core.mapping.Table;
|
|
|
55
54
|
|
|
56
55
|
<%_ for (const relationship of relationships) { _%>
|
|
57
56
|
<&_ if (fragment.relationship<%- relationship.relationshipNameCapitalized %>AnnotationSection) { -&>
|
|
58
|
-
@Transient
|
|
57
|
+
@org.springframework.data.annotation.Transient
|
|
59
58
|
<&_ } -&>
|
|
60
59
|
<%_ } -%>
|
|
61
60
|
|
|
@@ -43,6 +43,10 @@ import org.springframework.core.convert.converter.Converter;
|
|
|
43
43
|
import org.springframework.data.elasticsearch.repository.config.Enable<% if (reactive) { %>Reactive<% } %>ElasticsearchRepositories;
|
|
44
44
|
<%_ } _%>
|
|
45
45
|
<%_ if (devDatabaseTypeH2Any) { _%>
|
|
46
|
+
import java.sql.SQLException;
|
|
47
|
+
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
|
48
|
+
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
|
49
|
+
import org.springframework.boot.autoconfigure.h2.H2ConsoleProperties;
|
|
46
50
|
import org.springframework.core.env.Environment;
|
|
47
51
|
<%_ } _%>
|
|
48
52
|
<%_ if (reactive) { _%>
|
|
@@ -64,9 +68,6 @@ import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
|
|
64
68
|
<%_ } _%>
|
|
65
69
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|
66
70
|
|
|
67
|
-
<%_ if (devDatabaseTypeH2Any) { _%>
|
|
68
|
-
import java.sql.SQLException;
|
|
69
|
-
<%_ } _%>
|
|
70
71
|
<%_ if (reactive) { _%>
|
|
71
72
|
import java.time.Duration;
|
|
72
73
|
import java.time.Instant;
|
|
@@ -94,6 +95,9 @@ import java.util.UUID;
|
|
|
94
95
|
<%_ if (searchEngineElasticsearch) { _%>
|
|
95
96
|
@Enable<% if (reactive) { %>Reactive<% } %>ElasticsearchRepositories("<%= packageName %>.repository.search")
|
|
96
97
|
<%_ } _%>
|
|
98
|
+
<%_ if (devDatabaseTypeH2Any) { _%>
|
|
99
|
+
@EnableConfigurationProperties(H2ConsoleProperties.class)
|
|
100
|
+
<%_ } _%>
|
|
97
101
|
public class DatabaseConfiguration {
|
|
98
102
|
|
|
99
103
|
<%_ if (devDatabaseTypeH2Any) { _%>
|
|
@@ -113,6 +117,7 @@ public class DatabaseConfiguration {
|
|
|
113
117
|
*/
|
|
114
118
|
@Bean(initMethod = "start", destroyMethod = "stop")
|
|
115
119
|
@Profile(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT)
|
|
120
|
+
@ConditionalOnProperty(prefix = "spring.h2.console", name = "enabled", havingValue = "true")
|
|
116
121
|
public Object h2TCPServer() throws SQLException {
|
|
117
122
|
String port = getValidPortForH2();
|
|
118
123
|
LOG.debug("H2 database is available on port {}", port);
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
package <%=packageName%>.config;
|
|
2
|
+
|
|
3
|
+
import com.fasterxml.jackson.core.JsonGenerator;
|
|
4
|
+
import com.fasterxml.jackson.databind.JsonMappingException;
|
|
5
|
+
import com.fasterxml.jackson.databind.SerializerProvider;
|
|
6
|
+
import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonObjectFormatVisitor;
|
|
7
|
+
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
8
|
+
import com.fasterxml.jackson.databind.ser.BeanPropertyWriter;
|
|
9
|
+
import com.fasterxml.jackson.databind.ser.PropertyFilter;
|
|
10
|
+
import com.fasterxml.jackson.databind.ser.PropertyWriter;
|
|
11
|
+
import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
|
|
12
|
+
import jakarta.persistence.Basic;
|
|
13
|
+
import jakarta.persistence.ElementCollection;
|
|
14
|
+
import jakarta.persistence.FetchType;
|
|
15
|
+
import jakarta.persistence.ManyToOne;
|
|
16
|
+
import jakarta.persistence.OneToMany;
|
|
17
|
+
import java.lang.annotation.Annotation;
|
|
18
|
+
import java.util.function.Function;
|
|
19
|
+
import org.hibernate.Hibernate;
|
|
20
|
+
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
|
|
21
|
+
import org.springframework.context.annotation.Bean;
|
|
22
|
+
import org.springframework.context.annotation.Configuration;
|
|
23
|
+
|
|
24
|
+
@Configuration
|
|
25
|
+
public class JacksonNativeConfiguration {
|
|
26
|
+
|
|
27
|
+
/*
|
|
28
|
+
* Filter to allow Jackson serializer to detect lazy-loaded properties when using hibernate-enhance-maven-plugin
|
|
29
|
+
* see: https://github.com/FasterXML/jackson-datatype-hibernate/issues/148#issuecomment-1383923857
|
|
30
|
+
*/
|
|
31
|
+
@Bean
|
|
32
|
+
public Jackson2ObjectMapperBuilderCustomizer customizeJackson() {
|
|
33
|
+
return builder -> {
|
|
34
|
+
String filterName = "lazyPropertyFilter";
|
|
35
|
+
builder.filters(new SimpleFilterProvider().addFilter(filterName, new LazyPropertyFilter()));
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
<%- // Thanks to @hurelhuyag for contributing the LazyPropertyFilter source. %>
|
|
40
|
+
private class LazyPropertyFilter implements PropertyFilter {
|
|
41
|
+
|
|
42
|
+
public static boolean isPropertyInitialized(BeanPropertyWriter prop, Object bean) throws Exception {
|
|
43
|
+
return (
|
|
44
|
+
Hibernate.isPropertyInitialized(bean, prop.getName()) &&
|
|
45
|
+
isInitialized(prop, bean, ManyToOne.class, ManyToOne::fetch) &&
|
|
46
|
+
isInitialized(prop, bean, ElementCollection.class, ElementCollection::fetch) &&
|
|
47
|
+
isInitialized(prop, bean, OneToMany.class, OneToMany::fetch) &&
|
|
48
|
+
isInitialized(prop, bean, Basic.class, Basic::fetch)
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public static <A extends Annotation> boolean isInitialized(
|
|
53
|
+
BeanPropertyWriter prop,
|
|
54
|
+
Object bean,
|
|
55
|
+
Class<A> type,
|
|
56
|
+
Function<A, FetchType> fetch
|
|
57
|
+
) throws Exception {
|
|
58
|
+
var ann = prop.getAnnotation(type);
|
|
59
|
+
if (ann == null) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
var fetchType = fetch.apply(ann);
|
|
63
|
+
if (fetchType == FetchType.EAGER) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
var value = prop.get(bean);
|
|
67
|
+
return Hibernate.isInitialized(value);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@Override
|
|
71
|
+
public void serializeAsField(Object pojo, JsonGenerator gen, SerializerProvider prov, PropertyWriter writer) throws Exception {
|
|
72
|
+
var initialized = isPropertyInitialized((BeanPropertyWriter) writer, pojo);
|
|
73
|
+
if (initialized) {
|
|
74
|
+
writer.serializeAsField(pojo, gen, prov);
|
|
75
|
+
} else if (!gen.canOmitFields()) { // since 2.3
|
|
76
|
+
writer.serializeAsOmittedField(pojo, gen, prov);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@Override
|
|
81
|
+
public void serializeAsElement(Object elementValue, JsonGenerator gen, SerializerProvider prov, PropertyWriter writer) {
|
|
82
|
+
throw new RuntimeException("LazyPropertyFilter.serializeAsElement() currently unsupported");
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@SuppressWarnings("deprecation")
|
|
86
|
+
@Override
|
|
87
|
+
public void depositSchemaProperty(PropertyWriter writer, ObjectNode propertiesNode, SerializerProvider provider)
|
|
88
|
+
throws JsonMappingException {
|
|
89
|
+
writer.depositSchemaProperty(propertiesNode, provider);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@Override
|
|
93
|
+
public void depositSchemaProperty(PropertyWriter writer, JsonObjectFormatVisitor objectVisitor, SerializerProvider provider)
|
|
94
|
+
throws JsonMappingException {
|
|
95
|
+
writer.depositSchemaProperty(objectVisitor, provider);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -37,13 +37,16 @@ export const vueFiles = {
|
|
|
37
37
|
microfrontend: [
|
|
38
38
|
clientRootTemplatesBlock({
|
|
39
39
|
condition: generator => generator.microfrontend,
|
|
40
|
+
templates: ['module-federation.config.cjs'],
|
|
41
|
+
}),
|
|
42
|
+
clientRootTemplatesBlock({
|
|
43
|
+
condition: ctx => ctx.microfrontend && ctx.clientBundlerWebpack,
|
|
40
44
|
templates: [
|
|
41
45
|
'webpack/config.js',
|
|
42
46
|
'webpack/webpack.common.js',
|
|
43
47
|
'webpack/webpack.dev.js',
|
|
44
48
|
'webpack/webpack.prod.js',
|
|
45
49
|
'webpack/vue.utils.js',
|
|
46
|
-
'webpack/webpack.microfrontend.js.jhi.vue',
|
|
47
50
|
],
|
|
48
51
|
}),
|
|
49
52
|
{
|
|
@@ -6,7 +6,7 @@ export default class VueGenerator extends BaseApplicationGenerator {
|
|
|
6
6
|
get default(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").TaskParamWithEntities<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>>>, "queueTranslateTransform">;
|
|
7
7
|
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>>>, "cleanup" | "cleanupOldFilesTask" | "writeEslintClientRootConfigFile" | "writeFiles">;
|
|
8
8
|
get writingEntities(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").TaskParamWithEntities<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>>>, "cleanupEntitiesFiles" | "writeEntitiesFiles" | "writeEntityFiles">;
|
|
9
|
-
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>>>, "addIndexAsset">;
|
|
9
|
+
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>>>, "addMicrofrontendDependencies" | "addPackageJsonScripts" | "addIndexAsset">;
|
|
10
10
|
get postWritingEntities(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PostWritingEntitiesTaskParam<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>>>, "postWriteEntityFiles">;
|
|
11
11
|
get end(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").TaskParamWithApplication<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>>>, "end">;
|
|
12
12
|
/**
|