generator-jhipster 8.0.0-beta.2 → 8.0.0-rc.1
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 +0 -14
- package/dist/cli/cli.mjs +12 -6
- package/dist/cli/commands.mjs +15 -3
- package/dist/cli/environment-builder.mjs +41 -27
- package/dist/cli/jhipster-command.mjs +14 -4
- package/dist/cli/program.mjs +56 -36
- package/dist/cli/utils.mjs +1 -2
- package/dist/generators/angular/entity-files-angular.mjs +26 -27
- package/dist/generators/angular/files-angular.mjs +50 -50
- package/dist/generators/angular/generator.mjs +39 -20
- package/dist/generators/angular/needle-api/needle-client-angular.mjs +1 -1
- package/dist/generators/angular/resources/package.json +25 -24
- package/dist/generators/angular/support/needles.mjs +32 -3
- package/dist/generators/angular/support/translate-angular.mjs +40 -23
- package/dist/generators/angular/support/update-languages.mjs +4 -3
- package/dist/generators/angular/templates/.eslintrc.json.ejs +2 -2
- package/dist/generators/angular/templates/angular.json.ejs +16 -12
- package/dist/generators/angular/templates/jest.conf.js.ejs +5 -5
- package/dist/generators/angular/templates/package.json.ejs +3 -8
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -6
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +15 -39
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +16 -34
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +9 -19
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +27 -67
- package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -13
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +17 -43
- package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -9
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.html.ejs +6 -6
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +10 -10
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +10 -10
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +9 -9
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.spec.ts.ejs +350 -0
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +108 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -6
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +14 -14
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -20
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +1 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +20 -38
- package/dist/generators/angular/templates/src/main/webapp/app/core/util/event-manager.service.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder/route/_entityFile-routing-resolve.service.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder/service/_entityFile.service.spec.ts.ejs +1 -2
- 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/entities/_entityFolder/update/_entityFile-form.service.spec.ts.ejs +0 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.model.ts.ejs +53 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.routes.ts.ejs +67 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.test-samples.ts.ejs +45 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +41 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +84 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.ts.ejs +47 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +118 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +112 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.ts.ejs +59 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +224 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +173 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +411 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/infinite-scroll-template.ejs +23 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/pagination-template.ejs +21 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +120 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.ts.ejs +47 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +255 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.ts.ejs +203 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.spec.ts.ejs +110 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.ts.ejs +263 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +195 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +273 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +263 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/user/user.service.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +14 -16
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.scss.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs +1 -1
- 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/login/login.component.html.ejs +9 -11
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/tsconfig.app.json.ejs +4 -4
- package/dist/generators/angular/templates/tsconfig.json.ejs +3 -3
- package/dist/generators/angular/templates/tsconfig.spec.json.ejs +2 -2
- package/dist/generators/angular/templates/webpack/proxy.conf.js.ejs +14 -13
- package/dist/generators/angular/templates/webpack/webpack.custom.js.ejs +4 -4
- package/dist/generators/app/command.mjs +68 -4
- package/dist/generators/app/generator.mjs +39 -248
- package/dist/generators/app/prompts.mjs +0 -102
- package/dist/generators/app/support/config.mjs +167 -0
- package/dist/generators/app/support/index.mjs +1 -1
- package/dist/generators/aws/USAGE +0 -0
- package/dist/generators/aws/generator.mjs +2 -1
- package/dist/generators/azure-app-service/USAGE +0 -0
- package/dist/generators/azure-app-service/generator.mjs +42 -12
- package/dist/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +0 -0
- package/dist/generators/azure-spring-cloud/USAGE +0 -0
- package/dist/generators/azure-spring-cloud/generator.mjs +17 -13
- package/dist/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +0 -0
- package/dist/generators/base/command.mjs +20 -0
- package/dist/generators/base/{generator-base-blueprint.mjs → generator.mjs} +47 -10
- package/dist/generators/base/index.mjs +1 -1
- package/dist/generators/base/priorities.mjs +15 -3
- package/dist/generators/base/shared-data.mjs +31 -7
- package/dist/generators/base/support/basename.mjs +12 -0
- package/dist/generators/base/support/config.mjs +32 -0
- package/dist/generators/base/support/constants.mjs +1 -0
- package/dist/generators/base/support/faker.mjs +2 -2
- package/dist/generators/base/support/index.mjs +1 -0
- package/dist/generators/base/support/jhipster7-context.mjs +32 -4
- package/dist/generators/base/support/needles.mjs +2 -2
- package/dist/generators/base/support/string.mjs +1 -1
- package/dist/generators/base-application/command.mjs +10 -0
- package/dist/generators/base-application/generator.mjs +25 -9
- package/dist/generators/base-application/priorities.mjs +10 -0
- package/dist/generators/base-application/support/entity.mjs +1 -1
- package/dist/generators/base-application/support/enum.mjs +2 -2
- package/dist/generators/base-application/support/prepare-entity.mjs +23 -6
- package/dist/generators/base-application/support/prepare-field.mjs +27 -14
- package/dist/generators/base-application/support/prepare-relationship.mjs +8 -2
- package/dist/generators/base-application/support/relationship.mjs +1 -1
- package/dist/generators/base-core/generator.mjs +959 -0
- package/dist/generators/base-core/index.mjs +1 -1
- package/dist/generators/base-entity-changes/generator.mjs +141 -0
- package/dist/generators/{liquibase-changelogs → base-entity-changes}/index.mjs +0 -1
- package/dist/generators/base-workspaces/command.mjs +4 -0
- package/dist/generators/base-workspaces/generator.mjs +141 -0
- package/dist/generators/{liquibase-changelogs/support → base-workspaces}/index.mjs +2 -2
- package/dist/generators/base-workspaces/internal/deployments.mjs +36 -0
- package/dist/generators/{base-docker → base-workspaces/internal}/docker-base.mjs +24 -43
- package/dist/generators/base-workspaces/internal/docker-dependencies.mjs +27 -0
- package/dist/generators/{base-docker → base-workspaces/internal}/docker-prompts.mjs +65 -53
- package/dist/generators/base-workspaces/internal/index.mjs +20 -0
- package/dist/generators/base-workspaces/priorities.mjs +96 -0
- package/dist/generators/bootstrap/generator.mjs +54 -27
- package/dist/generators/bootstrap/support/auto-crlf-transform.mjs +1 -1
- package/dist/generators/bootstrap/support/eslint-transform.mjs +72 -0
- package/dist/generators/bootstrap/support/index.mjs +2 -0
- package/dist/generators/bootstrap/support/java-unused-imports-transform.mjs +25 -0
- package/dist/generators/bootstrap/support/multi-step-transform/template-file-fs.mjs +1 -1
- package/dist/generators/bootstrap/support/multi-step-transform/template-file.mjs +1 -1
- package/dist/generators/bootstrap/support/prettier-support.mjs +22 -15
- package/dist/generators/bootstrap-application/generator.mjs +34 -5
- package/dist/generators/bootstrap-application-base/generator.mjs +63 -16
- package/dist/generators/bootstrap-application-base/utils.mjs +1 -1
- package/dist/generators/bootstrap-application-client/generator.mjs +17 -7
- package/dist/generators/bootstrap-application-server/generator.mjs +53 -10
- package/dist/generators/bootstrap-workspaces/command.mjs +11 -0
- package/dist/generators/bootstrap-workspaces/generator.mjs +85 -0
- package/dist/generators/{base-docker → bootstrap-workspaces}/index.mjs +1 -5
- package/dist/generators/ci-cd/command.mjs +174 -0
- package/dist/generators/ci-cd/generator.mjs +106 -180
- package/dist/generators/ci-cd/templates/.circleci/config.yml.ejs +123 -0
- package/dist/generators/ci-cd/templates/.github/workflows/main.yml.ejs +167 -0
- package/dist/generators/ci-cd/templates/.gitlab-ci.yml.ejs +9 -9
- package/dist/generators/ci-cd/templates/.travis.yml.ejs +108 -0
- package/dist/generators/ci-cd/templates/azure-pipelines.yml.ejs +2 -2
- package/dist/generators/ci-cd/templates/jenkins/Jenkinsfile.ejs +7 -7
- package/dist/generators/client/command.mjs +116 -0
- package/dist/generators/client/entity-files.mjs +2 -11
- package/dist/generators/client/files-common.mjs +15 -7
- package/dist/generators/client/generator.mjs +65 -22
- package/dist/generators/client/needle-api/needle-client-vue.mjs +1 -1
- package/dist/generators/client/prompts.mjs +2 -53
- package/dist/generators/client/resources/package.json +6 -6
- package/dist/generators/client/support/config.mjs +35 -0
- package/dist/generators/client/support/entity-definition.mjs +1 -1
- package/dist/generators/client/support/files.mjs +47 -0
- package/dist/generators/client/support/index.mjs +2 -0
- package/dist/generators/client/support/prepare-entity.mjs +1 -1
- package/dist/generators/client/support/prepare-field.mjs +1 -1
- package/dist/generators/client/support/template-utils.mjs +1 -2
- package/dist/generators/client/support/update-languages.mjs +2 -1
- package/dist/generators/client/templates/.eslintignore.ejs +1 -0
- package/dist/generators/client/templates/.prettierignore.jhi.client.ejs +22 -0
- package/dist/generators/client/templates/src/main/webapp/content/css/loading.css.ejs +1 -1
- package/dist/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs +29 -20
- package/dist/generators/cloudfoundry/USAGE +0 -0
- package/dist/generators/cloudfoundry/generator.mjs +15 -10
- package/dist/generators/cloudfoundry/prompts.mjs +3 -3
- package/dist/generators/common/command.mjs +2 -2
- package/dist/generators/common/files.mjs +1 -1
- package/dist/generators/common/generator.mjs +80 -19
- package/dist/generators/common/resources/package.json +3 -3
- package/dist/generators/common/templates/.husky/pre-commit.ejs +3 -3
- package/dist/generators/common/templates/.prettierignore.ejs +0 -0
- package/dist/generators/common/templates/.prettierignore.jhi.ejs +24 -0
- package/dist/generators/common/templates/.prettierrc.ejs +5 -1
- package/dist/generators/common/templates/README.md.jhi.ejs +15 -393
- package/dist/generators/common/templates/sonar-project.properties.ejs +15 -2
- package/dist/generators/cucumber/files.mjs +4 -4
- package/dist/generators/cucumber/generator.mjs +7 -1
- package/dist/generators/cucumber/templates/src/test/java/_package_/cucumber/CucumberIT.java.ejs +28 -0
- package/dist/generators/cucumber/templates/src/test/java/_package_/cucumber/CucumberTestContextConfiguration.java.ejs +30 -0
- package/dist/generators/cucumber/templates/src/test/java/_package_/cucumber/stepdefs/StepDefs.java.ejs +35 -0
- package/dist/generators/cucumber/templates/src/test/java/_package_/cucumber/stepdefs/UserStepDefs.java.ejs +114 -0
- package/dist/generators/cucumber/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +1 -1
- package/dist/generators/cucumber/templates/src/test/resources/_package_/cucumber/gitkeep.ejs +0 -0
- package/dist/generators/cucumber/templates/src/test/resources/_package_/cucumber/user.feature.ejs +6 -0
- package/dist/generators/cypress/command.mjs +15 -0
- package/dist/generators/cypress/files.mjs +7 -3
- package/dist/generators/cypress/generator.mjs +36 -18
- package/dist/generators/cypress/index.mjs +1 -0
- package/dist/generators/cypress/templates/cypress.config.ts.ejs +8 -7
- package/dist/generators/cypress/templates/src/test/javascript/cypress/.eslintrc.json.ejs +2 -1
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +7 -0
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/administration/administration.cy.ts.ejs +6 -1
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +7 -6
- package/dist/generators/cypress/templates/src/test/javascript/cypress/tsconfig.json.ejs +7 -3
- package/dist/generators/docker/files.mjs +92 -71
- package/dist/generators/docker/generator.mjs +86 -23
- package/dist/generators/docker/support/check-docker.mjs +56 -0
- package/dist/generators/{base-docker/utils.mjs → docker/support/docker-compose-file.mjs} +18 -0
- package/dist/generators/docker/support/index.mjs +20 -0
- package/dist/generators/docker/templates/docker/app.yml.ejs +108 -0
- package/dist/generators/docker/templates/docker/cassandra/Cassandra-Migration.Dockerfile.ejs +29 -0
- package/dist/generators/docker/templates/docker/cassandra/scripts/autoMigrate.sh.ejs +85 -0
- package/dist/generators/docker/templates/docker/cassandra/scripts/execute-cql.sh.ejs +142 -0
- package/dist/generators/docker/templates/docker/cassandra-cluster.yml.ejs +49 -0
- package/dist/generators/docker/templates/docker/cassandra-migration.yml.ejs +31 -0
- package/dist/generators/docker/templates/docker/cassandra.yml.ejs +50 -0
- package/dist/generators/docker/templates/docker/central-server-config/README.md.ejs +33 -0
- package/dist/generators/docker/templates/docker/central-server-config/_consul_/application.yml.ejs +28 -0
- package/dist/generators/docker/templates/docker/central-server-config/_eureka_/docker-config/application.yml.ejs +34 -0
- package/dist/generators/docker/templates/docker/central-server-config/_eureka_/localhost-config/application.yml.ejs +34 -0
- package/dist/generators/docker/templates/docker/config/git2consul.json.ejs +14 -0
- package/dist/generators/docker/templates/docker/config/mariadb/my.cnf +49 -0
- package/dist/generators/docker/templates/docker/config/mysql/my.cnf +82 -0
- package/dist/generators/docker/templates/docker/consul.yml.ejs +43 -0
- package/dist/generators/docker/templates/docker/couchbase/Couchbase.Dockerfile.ejs +9 -0
- package/dist/generators/docker/templates/docker/couchbase/scripts/configure-node.sh.ejs +53 -0
- package/dist/generators/docker/templates/docker/couchbase-cluster.yml.ejs +45 -0
- package/dist/generators/docker/templates/docker/couchbase.yml.ejs +42 -0
- package/dist/generators/docker/templates/docker/elasticsearch.yml.ejs +39 -0
- package/dist/generators/docker/templates/docker/grafana/provisioning/dashboards/JVM.json.ejs +3796 -0
- package/dist/generators/docker/templates/docker/grafana/provisioning/dashboards/dashboard.yml.ejs +29 -0
- package/dist/generators/docker/templates/docker/grafana/provisioning/datasources/datasource.yml.ejs +68 -0
- package/dist/generators/docker/templates/docker/hazelcast-management-center.yml.ejs +27 -0
- package/dist/generators/docker/templates/docker/jhipster-control-center.yml.ejs +86 -0
- package/dist/generators/docker/templates/docker/jhipster-registry.yml.ejs +54 -0
- package/dist/generators/docker/templates/docker/kafka.yml.ejs +40 -0
- package/dist/generators/docker/templates/docker/keycloak.yml.ejs +46 -0
- package/dist/generators/docker/templates/docker/mariadb.yml.ejs +40 -0
- package/dist/generators/docker/templates/docker/memcached.yml.ejs +27 -0
- package/dist/generators/docker/templates/docker/mongodb/MongoDB.Dockerfile.ejs +2 -0
- package/dist/generators/docker/templates/docker/mongodb/scripts/init_replicaset.js.ejs +11 -0
- package/dist/generators/docker/templates/docker/mongodb-cluster.yml.ejs +37 -0
- package/dist/generators/docker/templates/docker/mongodb.yml.ejs +34 -0
- package/dist/generators/docker/templates/docker/monitoring.yml.ejs +49 -0
- package/dist/generators/docker/templates/docker/mssql.yml.ejs +42 -0
- package/dist/generators/docker/templates/docker/mysql.yml.ejs +39 -0
- package/dist/generators/docker/templates/docker/neo4j.yml.ejs +37 -0
- package/dist/generators/docker/templates/docker/postgresql.yml.ejs +38 -0
- package/dist/generators/docker/templates/docker/prometheus/prometheus.yml.ejs +49 -0
- package/dist/generators/docker/templates/docker/pulsar.yml.ejs +31 -0
- package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +2645 -0
- package/dist/generators/docker/templates/docker/realm-config/keycloak-health-check.sh +12 -0
- package/dist/generators/docker/templates/docker/redis/Redis-Cluster.Dockerfile.ejs +6 -0
- package/dist/generators/docker/templates/docker/redis/connectRedisCluster.sh.ejs +20 -0
- package/dist/generators/docker/templates/docker/redis-cluster.yml.ejs +91 -0
- package/dist/generators/docker/templates/docker/redis.yml.ejs +27 -0
- package/dist/generators/docker/templates/docker/sonar.yml.ejs +33 -0
- package/dist/generators/docker/templates/docker/swagger-editor.yml.ejs +25 -0
- package/dist/generators/docker/templates/docker/zipkin.yml.ejs +25 -0
- package/dist/generators/docker/templates/src/main/docker/config/keycloak-health-check.sh +0 -0
- package/dist/generators/docker/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +1 -1
- package/dist/generators/docker/utils.mjs +1 -1
- package/dist/generators/docker-compose/command.mjs +10 -0
- package/dist/generators/docker-compose/files.mjs +15 -22
- package/dist/generators/docker-compose/generator.mjs +292 -129
- package/dist/generators/docker-compose/index.mjs +1 -0
- package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +1 -1
- package/dist/generators/docker-compose/templates/prometheus-conf/prometheus.yml.ejs +3 -1
- package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +1 -1
- package/dist/generators/docker-compose/templates/realm-config/keycloak-health-check.sh +0 -0
- package/dist/generators/entities/command.mjs +14 -0
- package/dist/generators/entities/generator.mjs +31 -71
- package/dist/generators/entities/index.mjs +1 -0
- package/dist/generators/entity/command.mjs +45 -0
- package/dist/generators/entity/generator.mjs +93 -157
- package/dist/generators/entity/index.mjs +1 -0
- package/dist/generators/entity/prompts.mjs +18 -18
- package/dist/generators/gae/USAGE +0 -0
- package/dist/generators/gae/generator.mjs +16 -12
- package/dist/generators/gae/templates.mjs +3 -3
- package/dist/generators/gatling/cleanup.mjs +19 -1
- package/dist/generators/gatling/entity-files.mjs +2 -2
- package/dist/generators/gatling/files.mjs +3 -0
- package/dist/generators/gatling/generator.mjs +3 -1
- package/dist/generators/gatling/templates/README.md.jhi.gatling.ejs +19 -0
- package/dist/generators/gatling/templates/src/test/java/gatling/simulations/_entityClass_GatlingTest.java.ejs +200 -0
- package/dist/generators/generate-blueprint/constants.mjs +1 -1
- package/dist/generators/generate-blueprint/files.mjs +18 -7
- package/dist/generators/generate-blueprint/generator.mjs +37 -31
- package/dist/generators/generate-blueprint/resources/package.json +5 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/cli/commands.mjs.ejs +27 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +33 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +62 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/index.mjs.ejs +2 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/templates/samples/sample.jdl.ejs +33 -0
- package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +2 -6
- package/dist/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +3 -2
- package/dist/generators/generate-blueprint/templates/cli/cli.cjs.ejs +36 -0
- package/dist/generators/generate-blueprint/templates/cli/cli.mjs.ejs +0 -0
- package/dist/generators/generate-blueprint/templates/{.mocharc.cjs.ejs → generators/generator/command.mjs.ejs} +7 -9
- package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +33 -22
- package/dist/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +8 -11
- package/dist/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +4 -1
- package/dist/generators/generate-blueprint/templates/test/utils.mjs.ejs +1 -1
- package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +9 -0
- package/dist/generators/generator-constants.mjs +10 -8
- package/dist/generators/generator-list.mjs +4 -12
- package/dist/generators/git/generator.mjs +3 -1
- package/dist/generators/gradle/constants.mjs +1 -1
- package/dist/generators/gradle/files.mjs +5 -6
- package/dist/generators/gradle/generator.mjs +17 -9
- package/dist/generators/gradle/templates/.prettierignore.jhi.gradle.ejs +24 -0
- package/dist/generators/gradle/templates/gradlew +0 -0
- package/dist/generators/heroku/generator.mjs +27 -32
- package/dist/generators/heroku/templates/application-heroku.yml.ejs +1 -1
- package/dist/generators/index.js +4 -0
- package/dist/generators/info/generator.mjs +29 -15
- package/dist/generators/info/support/index.mjs +19 -0
- package/dist/generators/info/support/utils.mjs +23 -0
- package/dist/generators/init/generator.mjs +20 -3
- package/dist/generators/init/templates/.husky/pre-commit +0 -0
- package/dist/generators/init/templates/package.json.ejs +2 -9
- package/dist/generators/java/cleanup.mjs +19 -1
- package/dist/generators/java/command.mjs +19 -0
- package/dist/generators/java/entity-files.mjs +27 -0
- package/dist/generators/java/generator.mjs +48 -3
- package/dist/generators/java/support/files.mjs +49 -7
- package/dist/generators/java/support/index.mjs +1 -0
- package/dist/generators/java/support/util.mjs +11 -0
- package/dist/generators/java/templates/_global_partials_entity_/field_validators.ejs +73 -0
- package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +383 -0
- package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_validation.ejs +51 -0
- package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/enumeration/_enumName_.java.ejs +63 -0
- package/dist/generators/java/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +45 -0
- package/dist/generators/jdl/command.mjs +0 -10
- package/dist/generators/jdl/generator.mjs +21 -20
- package/dist/generators/kubernetes/files.mjs +1 -1
- package/dist/generators/kubernetes/generator.mjs +66 -33
- package/dist/generators/kubernetes/kubernetes-base.mjs +34 -34
- package/dist/generators/kubernetes/prompts.mjs +17 -19
- package/dist/generators/kubernetes/templates/README-KUBERNETES.md.ejs +1 -1
- package/dist/generators/kubernetes/templates/deployment.yml.ejs +2 -2
- package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +1 -1
- package/dist/generators/kubernetes/templates/kubectl-apply.sh.ejs +0 -0
- package/dist/generators/kubernetes-helm/generator.mjs +64 -31
- package/dist/generators/kubernetes-helm/templates/app/Chart.yml.ejs +1 -1
- package/dist/generators/kubernetes-helm/templates/app/helpers.tpl.ejs +1 -1
- package/dist/generators/kubernetes-helm/templates/app/requirements.yml.ejs +1 -1
- package/dist/generators/kubernetes-helm/templates/app/values.yml.ejs +1 -1
- package/dist/generators/kubernetes-knative/generator.mjs +65 -45
- package/dist/generators/kubernetes-knative/prompts.mjs +2 -2
- package/dist/generators/kubernetes-knative/templates/kubectl-apply.sh.ejs +0 -0
- package/dist/generators/kubernetes-knative/templates/service.yml.ejs +1 -1
- package/dist/generators/languages/command.mjs +29 -0
- package/dist/generators/languages/entity-files.mjs +3 -5
- package/dist/generators/languages/files.mjs +6 -0
- package/dist/generators/languages/generator.mjs +133 -104
- package/dist/generators/languages/index.mjs +1 -1
- package/dist/generators/languages/prompts.mjs +1 -1
- package/dist/generators/languages/support/index.mjs +1 -0
- package/dist/generators/languages/support/load-config.mjs +2 -4
- package/dist/generators/languages/support/translate.mjs +78 -0
- package/dist/generators/languages/templates/entity/i18n/entity_al.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ar-ly.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_az-Latn-az.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_bg.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_bn.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_by.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ca.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_cs.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_da.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_de.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_el.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_en.json.ejs +2 -2
- package/dist/generators/languages/templates/entity/i18n/entity_es.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_et.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_fa.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_fi.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_fr.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_gl.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_hi.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_hr.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_hu.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_hy.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_id.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_it.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ja.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ko.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_kr-Latn-kr.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_mr.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_my.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_nl.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_pa.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_pl.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_pt-br.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_pt-pt.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ro.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ru.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_si.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_sk.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_sr.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_sv.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ta.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_te.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_th.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_tr.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ua.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_uz-Cyrl-uz.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_uz-Latn-uz.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_vi.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_zh-cn.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_zh-tw.json.ejs +3 -3
- package/dist/generators/languages/templates/src/main/webapp/i18n/bn/reset.json.ejs +1 -1
- package/dist/generators/languages/templates/src/main/webapp/i18n/da/reset.json.ejs +1 -1
- package/dist/generators/languages/templates/src/main/webapp/i18n/en/reset.json.ejs +1 -1
- package/dist/generators/languages/templates/src/main/webapp/i18n/index.js.ejs +3 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/pl/global.json.ejs +12 -9
- package/dist/generators/languages/templates/src/main/webapp/i18n/pl/health.json.ejs +7 -3
- package/dist/generators/languages/templates/src/main/webapp/i18n/pl/register.json +1 -1
- package/dist/generators/languages/templates/src/main/webapp/i18n/pl/user-management.json +1 -1
- package/dist/generators/languages/translation-data.mjs +41 -62
- package/dist/generators/liquibase/command.mjs +10 -0
- package/dist/generators/liquibase/files.mjs +2 -1
- package/dist/generators/liquibase/generator.mjs +351 -137
- package/dist/generators/liquibase/index.mjs +1 -0
- package/dist/generators/liquibase/internal/needles.mjs +8 -3
- package/dist/generators/liquibase/support/index.mjs +1 -1
- package/dist/generators/liquibase/support/maven-plugin.mjs +4 -4
- package/dist/generators/liquibase/support/post-prepare-entity.mjs +3 -3
- package/dist/generators/liquibase/support/prepare-field.mjs +1 -1
- package/dist/generators/liquibase/support/relationship.mjs +1 -1
- package/dist/generators/liquibase/templates/gradle/liquibase.gradle.ejs +4 -2
- package/dist/generators/liquibase/templates/src/main/java/_package_/config/LiquibaseConfiguration.java.ejs +127 -0
- package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +8 -2
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/initial_schema_sql.xml.ejs +15 -2
- package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +1 -1
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/master.xml.ejs +8 -8
- package/dist/generators/maven/files.mjs +5 -7
- package/dist/generators/maven/generator.mjs +27 -10
- package/dist/generators/maven/internal/xml-store.mjs +7 -4
- package/dist/generators/maven/support/pom-store.mjs +13 -4
- package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
- package/dist/generators/maven/templates/.prettierignore.jhi.maven.ejs +23 -0
- package/dist/generators/maven/templates/mvnw +0 -0
- package/dist/generators/needle-api.mjs +0 -4
- package/dist/generators/openapi-client/USAGE +0 -0
- package/dist/generators/openapi-client/files.mjs +3 -2
- package/dist/generators/openapi-client/generator.mjs +24 -7
- package/dist/generators/openapi-client/templates/java/.openapi-generator-ignore +0 -0
- package/dist/generators/openapi-client/templates/spring/.openapi-generator-ignore +0 -0
- package/dist/generators/openshift/USAGE +0 -0
- package/dist/generators/openshift/generator.mjs +30 -17
- package/dist/generators/openshift/prompts.mjs +2 -2
- package/dist/generators/page/generator.mjs +0 -1
- package/dist/generators/page/templates/vue/src/main/webapp/app/pages/page.service.ts.ejs +0 -0
- package/dist/generators/page/templates/vue/src/main/webapp/app/pages/page.vue.ejs +0 -0
- package/dist/generators/project-name/generator.mjs +2 -5
- package/dist/generators/project-name/support/name-resolver.mjs +1 -1
- package/dist/generators/react/entity-files-react.mjs +14 -17
- package/dist/generators/react/files-react.mjs +39 -42
- package/dist/generators/react/generator.mjs +22 -16
- package/dist/generators/react/needle-api/needle-client-react.mjs +1 -1
- package/dist/generators/react/resources/package.json +36 -36
- package/dist/generators/react/support/update-languages.mjs +4 -4
- package/dist/generators/react/templates/.eslintrc.json.ejs +1 -5
- package/dist/generators/react/templates/jest.conf.js.ejs +9 -8
- package/dist/generators/react/templates/package.json.ejs +2 -8
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-delete-dialog.tsx.ejs +82 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-detail.tsx.ejs +171 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-reducer.spec.ts.ejs +430 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +401 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +233 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.tsx.ejs +544 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityModel_.model.ts.ejs +45 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/index.tsx.ejs +47 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/react_validators.ejs +44 -0
- package/dist/generators/react/templates/src/main/webapp/app/modules/account/password-reset/password-reset.reducer.ts.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/modules/account/register/register.tsx.ejs +12 -2
- package/dist/generators/react/templates/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +6 -6
- package/dist/generators/react/templates/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +2 -2
- package/dist/generators/react/templates/src/main/webapp/app/modules/login/login.tsx.ejs +2 -2
- package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +3 -3
- package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.tsx.ejs +3 -3
- package/dist/generators/react/templates/tsconfig.json.ejs +3 -3
- package/dist/generators/react/templates/tsconfig.test.json.ejs +3 -3
- package/dist/generators/react/templates/webpack/webpack.common.js.ejs +9 -9
- package/dist/generators/react/templates/webpack/webpack.dev.js.ejs +3 -3
- package/dist/generators/react/templates/webpack/webpack.microfrontend.js.jhi.react.ejs +2 -2
- package/dist/generators/react/templates/webpack/webpack.prod.js.ejs +2 -2
- package/dist/generators/server/cleanup.mjs +4 -4
- package/dist/generators/server/command.mjs +130 -10
- package/dist/generators/server/entity-files.mjs +42 -108
- package/dist/generators/server/files.mjs +67 -62
- package/dist/generators/server/generator.mjs +62 -102
- package/dist/generators/server/internal/build-application.mjs +55 -0
- package/dist/generators/server/internal/index.mjs +19 -0
- package/dist/generators/server/jdl/application-definition.mjs +1 -1
- package/dist/generators/server/prompts.mjs +23 -4
- package/dist/generators/server/resources/Dockerfile +17 -17
- package/dist/generators/server/resources/gradle/libs.versions.toml +7 -7
- package/dist/generators/server/resources/pom.xml +18 -18
- package/dist/generators/server/support/config.mjs +137 -0
- package/dist/generators/server/support/dependabot-gradle.mjs +1 -1
- package/dist/generators/server/support/doc.mjs +1 -2
- package/dist/generators/server/support/index.mjs +2 -0
- package/dist/generators/server/support/java-formatting.mjs +1 -1
- package/dist/generators/server/support/key-store.mjs +1 -1
- package/dist/generators/server/support/needles.mjs +1 -1
- package/dist/generators/server/support/prepare-entity.mjs +10 -5
- package/dist/generators/server/support/prepare-field.mjs +17 -5
- package/dist/generators/server/support/prepare-relationship.mjs +7 -0
- package/dist/generators/server/support/relationship.mjs +1 -1
- package/dist/generators/server/support/templates/field-values.mjs +2 -2
- package/dist/generators/server/templates/README.md.jhi.spring-boot.ejs +405 -0
- package/dist/generators/server/templates/_global_partials_entity_/it_patch_update.partial.java.ejs +74 -0
- package/dist/generators/server/templates/_global_partials_entity_/save_template.ejs +71 -0
- package/dist/generators/server/templates/_global_partials_entity_/update_template.ejs +77 -0
- package/dist/generators/server/templates/build.gradle.ejs +20 -2
- package/dist/generators/server/templates/entity/src/main/java/package/common/inject_template.ejs +3 -1
- package/dist/generators/server/templates/entity/src/main/java/package/common/patch_template.ejs +2 -0
- package/dist/generators/server/templates/entity/src/main/java/package/service/_EntityClass_Service.java.ejs +1 -1
- package/dist/generators/server/templates/entity/src/main/java/package/service/criteria/_EntityClass_Criteria.java.ejs +1 -1
- package/dist/generators/server/templates/entity/src/main/java/package/service/impl/_EntityClass_ServiceImpl.java.ejs +3 -7
- package/dist/generators/server/templates/entity/src/main/java/package/web/rest/_EntityClass_Resource.java.ejs +2 -6
- package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +21 -4
- package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +1 -1
- package/dist/generators/server/templates/gradle/swagger.gradle.ejs +1 -1
- package/dist/generators/server/templates/npmw +0 -0
- package/dist/generators/server/templates/package.json.ejs +0 -6
- package/dist/generators/server/templates/pom.xml.ejs +9 -2
- package/dist/generators/server/templates/reactive/_global_partials_entity_/save_template.ejs +36 -0
- package/dist/generators/server/templates/reactive/_global_partials_entity_/update_template.ejs +41 -0
- package/dist/generators/server/templates/src/main/java/_package_/Application.java.ejs +134 -0
- package/dist/generators/server/templates/src/main/java/_package_/ApplicationWebXml.java.ejs +38 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/delete_template.ejs +32 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_all_stream_template.ejs +75 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_all_template.ejs +129 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_filtered_template.ejs +57 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_template.ejs +31 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/inject_template.ejs +67 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/patch_template.ejs +69 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/search_stream_template.ejs +50 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/search_template.ejs +57 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository.java.ejs +131 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository_reactive.java.ejs +168 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +155 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_Service.java.ejs +181 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/criteria/_entityClass_Criteria.java.ejs +167 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +184 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.java.ejs +318 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/mapper/EntityMapper.java.ejs +48 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/mapper/_entityClass_Mapper.java.ejs +145 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/web/rest/_entityClass_Resource.java.ejs +449 -0
- package/dist/generators/server/templates/src/main/java/_package_/aop/logging/LoggingAspect.java.ejs +131 -0
- package/dist/generators/server/templates/src/main/java/_package_/client/AuthorizedFeignClient.java.ejs +72 -0
- package/dist/generators/server/templates/src/main/java/_package_/client/OAuth2InterceptedFeignConfiguration.java.ejs +35 -0
- package/dist/generators/server/templates/src/main/java/_package_/client/TokenRelayRequestInterceptor.java.ejs +44 -0
- package/dist/generators/server/templates/src/main/java/_package_/client/UserFeignClientInterceptor_jwt.java.ejs +36 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/ApplicationProperties.java.ejs +34 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/AsyncConfiguration.java.ejs +67 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/CRLFLogConverter.java.ejs +70 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/Constants.java.ejs +43 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/DateTimeFormatConfiguration.java.ejs +42 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/EurekaWorkaroundConfiguration.java.ejs +49 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/FeignConfiguration.java.ejs +45 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/JacksonConfiguration.java.ejs +56 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_imperative.java.ejs +43 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_reactive.java.ejs +184 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/LoggingAspectConfiguration.java.ejs +37 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/LoggingConfiguration.java.ejs +92 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/OAuth2Configuration.java.ejs +37 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/OpenApiConfiguration.java.ejs +52 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/ReactorConfiguration.java.ejs +14 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +337 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +467 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityInMemoryConfiguration.java.ejs +51 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +127 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/StaticResourcesWebConfiguration.java.ejs +67 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +243 -0
- package/dist/generators/server/templates/src/main/java/_package_/domain/AbstractAuditingEntity.java.ejs +163 -0
- package/dist/generators/server/templates/src/main/java/_package_/domain/Authority.java.ejs +143 -0
- package/dist/generators/server/templates/src/main/java/_package_/domain/PersistentToken.java.ejs +288 -0
- package/dist/generators/server/templates/src/main/java/_package_/domain/User.java.ejs +588 -0
- package/dist/generators/server/templates/src/main/java/_package_/management/SecurityMetersService.java.ejs +68 -0
- package/dist/generators/server/templates/src/main/java/_package_/repository/AuthorityRepository.java.ejs +78 -0
- package/dist/generators/server/templates/src/main/java/_package_/repository/PersistentTokenRepository.java.ejs +190 -0
- package/dist/generators/server/templates/src/main/java/_package_/repository/UserRepository.java.ejs +815 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/AuthoritiesConstants.java.ejs +34 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +100 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/PersistentTokenRememberMeServices.java.ejs +301 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +233 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/SpringSecurityAuditorAware.java.ejs +38 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/UserNotActivatedException.java.ejs +37 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/jwt/JWTRelayGatewayFilterFactory.java.ejs +64 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/AudienceValidator.java.ejs +51 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/AuthorizationHeaderUtil.java.ejs +175 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/CustomClaimConverter.java.ejs +133 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/JwtGrantedAuthorityConverter.java.ejs +40 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/OAuthIdpTokenResponseDTO.java.ejs +161 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/EmailAlreadyUsedException.java.ejs +29 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/InvalidPasswordException.java.ejs +29 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/MailService.java.ejs +126 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/UserService.java.ejs +1099 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/UsernameAlreadyUsedException.java.ejs +29 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/dto/AdminUserDTO.java.ejs +244 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/dto/PasswordChangeDTO.java.ejs +57 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +96 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/mapper/UserMapper.java.ejs +200 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/filter/ModifyServersOpenApiFilter.java.ejs +179 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/filter/OAuth2ReactiveRefreshTokensWebFilter.java.ejs +70 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/filter/OAuth2RefreshTokensWebFilter.java.ejs +103 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_imperative.java.ejs +61 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_reactive.java.ejs +52 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +347 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +100 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +198 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AuthInfoResource.java.ejs +69 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +179 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/GatewayResource.java.ejs +81 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/LogoutResource_imperative.java.ejs +74 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/LogoutResource_reactive.java.ejs +77 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/PublicUserResource.java.ejs +208 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/UserResource.java.ejs +345 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/BadRequestAlertException.java.ejs +64 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/EmailAlreadyUsedException.java.ejs +29 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/ErrorConstants.java.ejs +40 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/ExceptionTranslator.java.ejs +355 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/FieldErrorVM.java.ejs +51 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/InvalidPasswordException.java.ejs +37 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/LoginAlreadyUsedException.java.ejs +29 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/vm/KeyAndPasswordVM.java.ejs +45 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/vm/LoginVM.java.ejs +71 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/vm/ManagedUserVM.java.ejs +59 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/vm/RouteVM.java.ejs +59 -0
- package/dist/generators/server/templates/src/main/java/package/Application.java.ejs +2 -1
- package/dist/generators/server/templates/src/main/java/package/client/AuthorizedFeignClient.java.ejs +1 -2
- package/dist/generators/server/templates/src/main/java/package/config/CRLFLogConverter.java.ejs +3 -1
- package/dist/generators/server/templates/src/main/java/package/config/OAuth2Configuration.java.ejs +0 -1
- package/dist/generators/server/templates/src/main/java/package/config/ReactorConfiguration.java.ejs +0 -0
- package/dist/generators/server/templates/src/main/java/package/config/SecurityConfiguration_imperative.java.ejs +62 -36
- package/dist/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +13 -8
- package/dist/generators/server/templates/src/main/java/package/config/SecurityJwtConfiguration.java.ejs +2 -0
- package/dist/generators/server/templates/src/main/java/package/domain/User.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/repository/PersistentTokenRepository.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +2 -2
- package/dist/generators/server/templates/src/main/java/package/security/DomainUserDetailsService.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/service/MailService.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/service/UserService.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/service/dto/AdminUserDTO.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/service/mapper/UserMapper.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/web/filter/ModifyServersOpenApiFilter.java.ejs +0 -0
- package/dist/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter_imperative.java.ejs +6 -3
- package/dist/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -2
- package/dist/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +6 -4
- package/dist/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +2 -2
- package/dist/generators/server/templates/src/main/java/package/web/rest/errors/ExceptionTranslator.java.ejs +17 -15
- package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +3 -2
- package/dist/generators/server/templates/src/main/resources/logback-spring.xml.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/_package_/IntegrationTest.java.ejs +102 -0
- package/dist/generators/server/templates/src/test/java/_package_/TechnicalStructureTest.java.ejs +73 -0
- package/dist/generators/server/templates/src/test/java/_package_/_entityPackage_/service/dto/_dtoClass_Test.java.ejs +53 -0
- package/dist/generators/server/templates/src/test/java/_package_/_entityPackage_/service/mapper/_entityClass_MapperTest.java.ejs +36 -0
- package/dist/generators/server/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +1848 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/AsyncSyncConfiguration.java.ejs +36 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/JHipsterBlockHoundIntegration.java.ejs +62 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/SpringBootTestClassOrderer.java.ejs +42 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/StaticResourcesWebConfigurerTest.java.ejs +98 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/TestContainersSpringContextCustomizerFactory.java.ejs +104 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/TestSecurityConfiguration.java.ejs +89 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/WebConfigurerTest.java.ejs +166 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/WebConfigurerTestController.java.ejs +34 -0
- package/dist/generators/server/templates/src/test/java/_package_/management/SecurityMetersServiceTests.java.ejs +113 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +180 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_imperative.java.ejs +184 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_reactive.java.ejs +153 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/jwt/AuthenticationIntegrationTest.java.ejs +78 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/jwt/JwtAuthenticationTestUtils.java.ejs +134 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/jwt/TestAuthenticationResource.java.ejs +20 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/jwt/TokenAuthenticationIT.java.ejs +84 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.java.ejs +114 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/oauth2/AudienceValidatorTest.java.ejs +59 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/oauth2/AuthorizationHeaderUtilTest.java.ejs +263 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/oauth2/CustomClaimConverterIT.java.ejs +227 -0
- package/dist/generators/server/templates/src/test/java/_package_/service/MailServiceIT.java.ejs +255 -0
- package/dist/generators/server/templates/src/test/java/_package_/service/UserServiceIT.java.ejs +521 -0
- package/dist/generators/server/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +182 -0
- package/dist/generators/server/templates/src/test/java/_package_/test/util/OAuth2TestUtil.java.ejs +104 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/filter/ModifyServersOpenApiFilterTest.java.ejs +150 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_imperative.java.ejs +107 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_reactive.java.ejs +159 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/filter/SpaWebFilterTestController_reactive.java.ejs +17 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +1461 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +196 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_skipUserManagement.java.ejs +149 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/AuthenticateControllerIT.java.ejs +213 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/LogoutResourceIT.java.ejs +130 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/PublicUserResourceIT.java.ejs +257 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/TestUtil.java.ejs +275 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/UserResourceIT.java.ejs +1062 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/WithUnauthenticatedMockUser.java.ejs +42 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorIT_imperative.java.ejs +134 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +161 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorTestController.java.ejs +94 -0
- package/dist/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +3 -2
- package/dist/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/web/filter/ModifyServersOpenApiFilterTest.java.ejs +0 -0
- package/dist/generators/server/templates/src/test/java/package/web/filter/SpaWebFilterIT_reactive.java.ejs +9 -3
- package/dist/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +10 -10
- package/dist/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_oauth2.java.ejs +4 -7
- package/dist/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +3 -7
- package/dist/generators/server/templates/src/test/java/package/web/rest/AuthenticateControllerIT.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/web/rest/PublicUserResourceIT.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/resources/logback.xml.ejs +1 -1
- package/dist/generators/spring-cache/files.mjs +3 -3
- package/dist/generators/spring-cache/generator.mjs +5 -3
- package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +820 -0
- package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheFactoryConfiguration.java.ejs +49 -0
- package/dist/generators/spring-cache/templates/src/main/java/package/config/CacheConfiguration.java.ejs +6 -6
- package/dist/generators/spring-cache/templates/src/test/java/_package_/config/EmbeddedRedis.java.ejs +30 -0
- package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainer.java.ejs +57 -0
- package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainersSpringContextCustomizerFactory.java.ejs +61 -0
- package/dist/generators/spring-cloud-stream/cleanup.mjs +1 -1
- package/dist/generators/spring-cloud-stream/files.mjs +5 -5
- package/dist/generators/spring-cloud-stream/generator.mjs +21 -1
- package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/broker/KafkaConsumer_imperative.java.ejs +69 -0
- package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/broker/KafkaConsumer_reactive.java.ejs +45 -0
- package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/broker/KafkaProducer.java.ejs +31 -0
- package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/web/rest/KafkaResource_imperative.java.ejs +60 -0
- package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/web/rest/KafkaResource_reactive.java.ejs +58 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/broker/PulsarIT.java.ejs +49 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/BrokerConfiguration.java.ejs +51 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/EmbeddedKafka.java.ejs +30 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/EmbeddedPulsar.java.ejs +30 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/KafkaTestContainer.java.ejs +56 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/KafkaTestContainersSpringContextCustomizerFactory.java.ejs +57 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/PulsarTestContainer.java.ejs +56 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/PulsarTestContainersSpringContextCustomizerFactory.java.ejs +65 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/web/rest/KafkaResourceIT_imperative.java.ejs +96 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +109 -0
- package/dist/generators/spring-controller/USAGE +0 -0
- package/dist/generators/spring-controller/generator.mjs +12 -7
- package/dist/generators/spring-data-cassandra/entity-files.mjs +5 -6
- package/dist/generators/spring-data-cassandra/files.mjs +2 -2
- package/dist/generators/spring-data-cassandra/generator.mjs +3 -2
- package/dist/generators/spring-data-cassandra/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_cassandra.ejs +50 -0
- package/dist/generators/spring-data-cassandra/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +72 -0
- package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/CassandraKeyspaceIT.java.ejs +40 -0
- package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainer.java.ejs +97 -0
- package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainersSpringContextCustomizerFactory.java.ejs +67 -0
- package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/EmbeddedCassandra.java.ejs +30 -0
- package/dist/generators/spring-data-couchbase/entity-files.mjs +6 -8
- package/dist/generators/spring-data-couchbase/files.mjs +5 -5
- package/dist/generators/spring-data-couchbase/generator.mjs +3 -2
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_couchbase.ejs +210 -0
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository.java.ejs +125 -0
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +324 -0
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/repository/CouchbaseSearchRepository.java.ejs +91 -0
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/repository/JHipsterCouchbaseRepository.java.ejs +115 -0
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/repository/PersistentTokenRepository_couchbase.java.ejs +49 -0
- package/dist/generators/spring-data-couchbase/templates/src/main/java/package/domain/_PersistClass_.java.jhi.spring_data_couchbase.ejs +1 -1
- package/dist/generators/spring-data-couchbase/templates/src/main/java/package/repository/PersistentTokenRepository_couchbase.java.ejs +1 -1
- package/dist/generators/spring-data-couchbase/templates/src/main/java/package/repository/_EntityClass_Repository.java.ejs +1 -1
- package/dist/generators/spring-data-couchbase/templates/src/test/java/_package_/config/CouchbaseTestContainer.java.ejs +67 -0
- package/dist/generators/spring-data-couchbase/templates/src/test/java/_package_/config/EmbeddedCouchbase.java.ejs +30 -0
- package/dist/generators/spring-data-couchbase/templates/src/test/java/_package_/repository/CouchbaseSearchRepositoryTest.java.ejs +48 -0
- package/dist/generators/spring-data-elasticsearch/entity-files.mjs +5 -8
- package/dist/generators/spring-data-elasticsearch/files.mjs +3 -3
- package/dist/generators/spring-data-elasticsearch/generator.mjs +3 -2
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.elastic_search.ejs +53 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/_entityPackage_/repository/search/_entityClass_SearchRepository.java.ejs +169 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/config/ElasticsearchConfiguration.java.ejs +165 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/repository/search/UserSearchRepository.java.ejs +123 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/web/rest/errors/ElasticsearchExceptionMapper.java.ejs +49 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/web/rest/errors/QuerySyntaxException.java.ejs +30 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/web/web/rest/errors/ElasticsearchExceptionMapper.java.ejs +49 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/web/web/rest/errors/QuerySyntaxException.java.ejs +30 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/package/repository/search/UserSearchRepository.java.ejs +2 -2
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/package/repository/search/_EntityClass_SearchRepository.java.ejs +0 -1
- package/dist/generators/spring-data-elasticsearch/templates/src/test/java/_package_/config/ElasticsearchTestConfiguration.java.ejs +37 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/test/java/_package_/config/ElasticsearchTestContainer.java.ejs +69 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/test/java/_package_/config/EmbeddedElasticsearch.java.ejs +30 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/test/java/_package_/web/rest/errors/ElasticsearchExceptionMapperTest.java.ejs +45 -0
- package/dist/generators/spring-data-mongodb/entity-files.mjs +4 -6
- package/dist/generators/spring-data-mongodb/files.mjs +3 -3
- package/dist/generators/spring-data-mongodb/generator.mjs +3 -3
- package/dist/generators/spring-data-mongodb/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_mongodb.ejs +79 -0
- package/dist/generators/spring-data-mongodb/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +90 -0
- package/dist/generators/spring-data-mongodb/templates/src/main/java/_package_/config/dbmigrations/InitialSetupMigration.java.ejs +117 -0
- package/dist/generators/spring-data-mongodb/templates/src/main/java/package/config/dbmigrations/InitialSetupMigration.java.ejs +1 -1
- package/dist/generators/spring-data-mongodb/templates/src/test/java/_package_/config/EmbeddedMongo.java.ejs +30 -0
- package/dist/generators/spring-data-mongodb/templates/src/test/java/_package_/config/MongoDbTestContainer.java.ejs +67 -0
- package/dist/generators/spring-data-neo4j/entity-files.mjs +4 -6
- package/dist/generators/spring-data-neo4j/files.mjs +3 -3
- package/dist/generators/spring-data-neo4j/generator.mjs +21 -1
- package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_neo4j.ejs +97 -0
- package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/config/DatabaseConfiguration.java_neo4j.ejs +56 -0
- package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/config/neo4j/Neo4jMigrations.java.ejs +97 -0
- package/dist/generators/spring-data-neo4j/templates/src/main/resources/config/neo4j/migrations/user__admin.json.ejs +1 -1
- package/dist/generators/spring-data-neo4j/templates/src/main/resources/config/neo4j/migrations/user__user.json.ejs +1 -1
- package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/EmbeddedNeo4j.java.ejs +29 -0
- package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainer.java.ejs +66 -0
- package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainersSpringContextCustomizerFactory.java.ejs +63 -0
- package/dist/generators/spring-data-relational/cleanup.mjs +1 -1
- package/dist/generators/spring-data-relational/command.mjs +10 -0
- package/dist/generators/spring-data-relational/entity-files.mjs +23 -33
- package/dist/generators/spring-data-relational/files.mjs +14 -24
- package/dist/generators/spring-data-relational/generator.mjs +53 -2
- package/dist/generators/spring-data-relational/index.mjs +1 -0
- package/dist/generators/spring-data-relational/internal/dependencies.mjs +1 -1
- package/dist/generators/spring-data-relational/support/application-properties.mjs +72 -34
- package/dist/generators/spring-data-relational/support/database-data.mjs +2 -2
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_persistence.ejs +128 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_RepositoryInternalImpl_reactive.java.ejs +280 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/config/DatabaseConfiguration.java.ejs +1 -1
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_.java.jhi.hibernate_cache.ejs +41 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_.java.jhi.jakarta_lifecycle_events.ejs +31 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/domain/_PersistClass_.java.jhi.jakarta_persistence.ejs +2 -2
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_.java.jhi.spring_data_persistable.ejs +61 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_.java.jhi.spring_data_reactive.ejs +114 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_Callback.java.ejs +43 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/_EntityClass_RepositoryWithBagRelationships.java.ejs +37 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/_EntityClass_RepositoryWithBagRelationshipsImpl.java.ejs +95 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/_EntityClass_SqlHelper_reactive.java.ejs +46 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/rowmapper/UserRowMapper_reactive.java.ejs +4 -1
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/rowmapper/_EntityClass_RowMapper_reactive.java.ejs +81 -0
- package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +1 -1
- package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/timezone/HibernateTimeZoneIT.java.ejs +51 -54
- package/dist/generators/spring-data-relational/templates/src/test/resources/config/application-testdev.yml.ejs +1 -0
- package/dist/generators/spring-data-relational/templates/src/test/resources/config/application-testprod.yml.ejs +1 -0
- package/dist/generators/spring-service/USAGE +0 -0
- package/dist/generators/spring-service/generator.mjs +6 -4
- package/dist/generators/spring-websocket/cleanup.mjs +19 -1
- package/dist/generators/spring-websocket/files.mjs +1 -1
- package/dist/generators/spring-websocket/generator.mjs +3 -1
- package/dist/generators/spring-websocket/templates/src/main/java/_package_/config/WebsocketConfiguration.java.ejs +100 -0
- package/dist/generators/spring-websocket/templates/src/main/java/_package_/config/WebsocketSecurityConfiguration.java.ejs +55 -0
- package/dist/generators/spring-websocket/templates/src/main/java/_package_/web/websocket/ActivityService.java.ejs +66 -0
- package/dist/generators/spring-websocket/templates/src/main/java/_package_/web/websocket/dto/ActivityDTO.java.ejs +89 -0
- package/dist/generators/statistics.mjs +3 -3
- package/dist/generators/upgrade/command.mjs +21 -0
- package/dist/generators/upgrade/generator.mjs +95 -156
- package/dist/generators/vue/cleanup.mjs +46 -0
- package/dist/generators/vue/entity-files-vue.mjs +29 -28
- package/dist/generators/vue/files-vue.mjs +86 -115
- package/dist/generators/vue/generator.mjs +37 -18
- package/dist/generators/vue/resources/package.json +37 -30
- package/dist/generators/vue/support/update-languages.mjs +3 -1
- package/dist/generators/vue/templates/.eslintrc.cjs.ejs +58 -0
- package/dist/generators/vue/templates/.eslintrc.js.ejs +1 -1
- package/dist/generators/vue/templates/package.json.ejs +51 -32
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/account.service.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +4 -2
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/activate/activate.component.spec.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/change-password/change-password.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/account/change-password/change-password.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/login-form/login-form.component.spec.ts.ejs +6 -6
- package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.vue.ejs +2 -4
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/login.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/register/register.component.spec.ts.ejs +4 -4
- package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/reset-password/finish/reset-password-finish.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/reset-password/init/reset-password-init.component.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/init/reset-password-init.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/init/reset-password-init.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/sessions/sessions.component.spec.ts.ejs +4 -4
- package/dist/generators/vue/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/settings/settings.component.spec.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/configuration/configuration.component.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/configuration/configuration.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/gateway/gateway.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/health/health-modal.component.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/health/health.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/health/health.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/health/health.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/health/health.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/logs/logs.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/logs/logs.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/logs/logs.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/metrics/metrics-modal.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics-modal.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/metrics/metrics.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/tracker/tracker.component.spec.ts.ejs +4 -4
- package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/tracker/tracker.service.spec.ts.ejs +4 -3
- package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/user-management/user-management-edit.component.spec.ts.ejs +4 -4
- package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/user-management/user-management-view.component.spec.ts.ejs +4 -4
- package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-view.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/user-management/user-management.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/core/error/error.component.spec.ts.ejs +4 -4
- package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/core/home/home.component.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +5 -5
- package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/core/ribbon/ribbon.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/declarations.d.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/_entityFolder/_entityFile-details.component.spec.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/_entityFolder/_entityFile-update.component.spec.ts.ejs +6 -6
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/_entityFolder/_entityFile.component.spec.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/_entityFolder/_entityFile.service.spec.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.component.spec.ts.ejs +113 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.component.ts.ejs +64 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +93 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.component.spec.ts.ejs +207 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.component.ts.ejs +251 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +190 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.component.spec.ts.ejs +200 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.component.ts.ejs +267 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.spec.ts.ejs +323 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.ts.ejs +72 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +195 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/entities-menu.component.ts.ejs +5 -4
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/entities-menu.spec.ts.ejs +13 -7
- package/dist/generators/vue/templates/src/main/webapp/app/locale/translation.service.ts.ejs +7 -3
- package/dist/generators/vue/templates/src/main/webapp/app/router/index.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/shared/alert/alert.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/shared/composables/date-format.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/shared/config/axios-interceptor.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/shared/config/config.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/shared/data/data-utils.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/shared/jhi-item-count.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/shared/model/_entityModel_.model.ts.ejs +49 -0
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/shared/sort/sorts.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/shims-vue.d.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/content/scss/vendor.scss.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec/app/microfrontends/entities-menu.vue.ejs → main/webapp/microfrontends/entities-menu-test.vue.ejs} +1 -1
- package/dist/generators/vue/templates/tsconfig.app.json.ejs +13 -0
- package/dist/generators/vue/templates/tsconfig.json.ejs +11 -25
- package/dist/generators/vue/templates/tsconfig.node.json.ejs +13 -0
- package/dist/generators/vue/templates/{src/test/javascript/spec/tsconfig.json.ejs → tsconfig.test.json.ejs} +4 -4
- package/dist/generators/vue/templates/tsconfig.vitest.json.ejs +9 -0
- package/dist/generators/vue/templates/vite.config.ts.ejs +175 -0
- package/dist/generators/vue/templates/vitest.config.ts.ejs +30 -32
- package/dist/generators/vue/templates/webpack/webpack.common.js.ejs +14 -13
- package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +2 -2
- package/dist/generators/workspaces/command.mjs +2 -1
- package/dist/generators/workspaces/generator.mjs +55 -117
- package/dist/jdl/basic-types/relationships.js +14 -0
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -1
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +3 -3
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +3 -3
- package/dist/jdl/converters/json-to-jdl-converter.js +10 -8
- package/dist/jdl/converters/json-to-jdl-entity-converter.js +6 -6
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -2
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.js +1 -1
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.js +1 -1
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/field-converter.js +2 -2
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +1 -1
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.js +4 -6
- package/dist/jdl/exporters/jhipster-entity-exporter.js +1 -35
- package/dist/jdl/index.js +3 -0
- package/dist/jdl/jdl-importer.js +1 -25
- package/dist/jdl/jhipster/default-application-options.js +6 -5
- package/dist/jdl/jhipster/deployment-options.js +6 -6
- package/dist/jdl/jhipster/entity-table-name-creator.js +1 -1
- package/dist/jdl/jhipster/field-types.js +1 -1
- package/dist/jdl/jhipster/index.mjs +1 -0
- package/dist/jdl/jhipster/json-entity.js +2 -2
- package/dist/jdl/jhipster/relationship-types.js +5 -8
- package/dist/jdl/jhipster/validations.js +1 -0
- package/dist/jdl/models/jdl-application-configuration-factory.js +0 -3
- package/dist/jdl/models/jdl-application-configuration.js +1 -1
- package/dist/jdl/models/jdl-deployment.js +1 -1
- package/dist/jdl/models/jdl-enum.js +3 -3
- package/dist/jdl/models/jdl-relationship.js +2 -24
- package/dist/jdl/parsing/api.js +1 -1
- package/dist/jdl/parsing/generated/generated-serialized-grammar.js +1 -1
- package/dist/jdl/parsing/jdl-ast-builder-visitor.js +9 -9
- package/dist/jdl/parsing/lexer/relationship-type-tokens.js +1 -1
- package/dist/jdl/parsing/lexer/token-creator.js +1 -1
- package/dist/jdl/parsing/self-checks/parsing-system-checker.js +1 -1
- package/dist/jdl/parsing/self-checks/token-collector-visitor.js +7 -7
- package/dist/jdl/parsing/validator.js +1 -1
- package/dist/jdl/readers/json-reader.js +0 -2
- package/dist/jdl/utils/object-utils.js +1 -1
- package/dist/jdl/validators/jdl-with-application-validator.js +3 -3
- package/dist/jdl/validators/relationship-validator.js +1 -2
- package/dist/lib/index.mjs +5 -3
- package/dist/lib/internal/config-def.mjs +55 -0
- package/dist/lib/internal/index.mjs +1 -0
- package/dist/test/support/deployment-samples.mjs +80 -0
- package/dist/testing/get-generator.mjs +17 -0
- package/dist/testing/helpers.mjs +274 -0
- package/dist/testing/index.mjs +2 -0
- package/dist/types/cli/cli.d.mts +2 -0
- package/dist/types/cli/commands.d.mts +123 -0
- package/dist/types/cli/download.d.mts +17 -0
- package/dist/types/cli/environment-builder.d.mts +142 -0
- package/dist/types/cli/export-utils.d.mts +7 -0
- package/dist/types/cli/index.d.mts +21 -0
- package/dist/types/cli/jhipster-command.d.mts +72 -0
- package/dist/types/cli/jhipster.d.cts +2 -0
- package/dist/types/cli/logo.d.mts +2 -0
- package/dist/types/cli/program.d.mts +36 -0
- package/dist/types/cli/utils.d.mts +55 -0
- package/dist/types/generators/angular/support/needles.d.mts +22 -4
- package/dist/types/generators/angular/support/translate-angular.d.mts +1 -1
- package/dist/types/generators/angular/types-export.d.ts +1 -1
- package/dist/types/generators/app/support/config.d.mts +27 -0
- package/dist/types/generators/app/support/index.d.mts +1 -0
- package/dist/types/generators/app/types-export.d.ts +1 -1
- package/dist/types/generators/aws/types-export.d.ts +1 -1
- package/dist/types/generators/azure-app-service/types-export.d.ts +1 -1
- package/dist/types/generators/azure-spring-cloud/types-export.d.ts +1 -1
- package/dist/types/generators/base/api.d.mts +101 -18
- package/dist/types/generators/base/{generator-base-blueprint.d.mts → generator.d.mts} +16 -2
- package/dist/types/generators/base/index.d.mts +1 -1
- package/dist/types/generators/base/priorities.d.mts +11 -7
- package/dist/types/generators/base/shared-data.d.mts +0 -18
- package/dist/types/generators/base/support/basename.d.mts +9 -0
- package/dist/types/generators/base/support/config.d.mts +23 -0
- package/dist/types/generators/base/support/constants.d.mts +1 -0
- package/dist/types/generators/base/support/index.d.mts +1 -0
- package/dist/types/generators/base/support/needles.d.mts +2 -2
- package/dist/types/generators/base/tasks.d.mts +1 -2
- package/dist/types/generators/base/types.d.mts +6 -2
- package/dist/types/generators/base-application/application-options.d.mts +2 -5
- package/dist/types/generators/base-application/command.d.mts +21 -0
- package/dist/types/generators/base-application/generator.d.mts +15 -8
- package/dist/types/generators/base-application/priorities.d.mts +3 -0
- package/dist/types/generators/base-application/support/prepare-entity.d.mts +2 -1
- package/dist/types/generators/base-application/support/prepare-field.d.mts +2 -0
- package/dist/types/generators/base-application/tasks.d.mts +27 -7
- package/dist/types/generators/base-application/types-export.d.ts +3 -1
- package/dist/types/generators/base-application/types.d.mts +5 -0
- package/dist/types/generators/base-core/{generator-base.d.mts → generator.d.mts} +39 -9
- package/dist/types/generators/base-core/index.d.mts +1 -1
- package/dist/types/generators/base-entity-changes/types-export.d.ts +1 -0
- package/dist/types/generators/base-entity-changes/types.d.ts +18 -0
- package/dist/types/generators/bootstrap/support/eslint-transform.d.mts +5 -0
- package/dist/types/generators/bootstrap/support/index.d.mts +2 -0
- package/dist/types/generators/bootstrap/support/java-unused-imports-transform.d.mts +5 -0
- package/dist/types/generators/bootstrap/support/prettier-support.d.mts +13 -2
- package/dist/types/generators/bootstrap/types-export.d.ts +1 -1
- package/dist/types/generators/bootstrap-application/types-export.d.ts +1 -1
- package/dist/types/generators/bootstrap-application-base/types-export.d.ts +1 -1
- package/dist/types/generators/bootstrap-application-client/types-export.d.ts +1 -1
- package/dist/types/generators/bootstrap-application-server/types-export.d.ts +1 -1
- package/dist/types/generators/ci-cd/types-export.d.ts +1 -1
- package/dist/types/generators/client/support/config.d.mts +13 -0
- package/dist/types/generators/client/support/files.d.mts +14 -0
- package/dist/types/generators/client/support/index.d.mts +2 -0
- package/dist/types/generators/client/support/prepare-entity.d.mts +1 -1
- package/dist/types/generators/client/support/prepare-field.d.mts +1 -1
- package/dist/types/generators/client/types-export.d.ts +1 -1
- package/dist/types/generators/client/types.d.mts +8 -0
- package/dist/types/generators/cloudfoundry/types-export.d.ts +1 -1
- package/dist/types/generators/common/types-export.d.ts +1 -1
- package/dist/types/generators/cucumber/types-export.d.ts +1 -1
- package/dist/types/generators/cypress/types-export.d.ts +1 -1
- package/dist/types/generators/docker/support/check-docker.d.mts +5 -0
- package/dist/types/generators/docker/support/docker-compose-file.d.mts +4 -0
- package/dist/types/generators/docker/support/index.d.mts +20 -0
- package/dist/types/generators/docker/types-export.d.ts +1 -1
- package/dist/types/generators/docker-compose/types-export.d.ts +1 -1
- package/dist/types/generators/entities/types-export.d.ts +1 -1
- package/dist/types/generators/entity/types-export.d.ts +1 -1
- package/dist/types/generators/export-jdl/types-export.d.ts +1 -1
- package/dist/types/generators/gae/types-export.d.ts +1 -1
- package/dist/types/generators/gatling/types-export.d.ts +1 -1
- package/dist/types/generators/generate-blueprint/types-export.d.ts +1 -1
- package/dist/types/generators/generator-constants.d.mts +13 -10
- package/dist/types/generators/generator-list.d.mts +4 -12
- package/dist/types/generators/git/types-export.d.ts +1 -1
- package/dist/types/generators/gradle/types-export.d.ts +1 -1
- package/dist/types/generators/heroku/types-export.d.ts +1 -1
- package/dist/types/generators/index.d.ts +5 -0
- package/dist/types/generators/{liquibase-changelogs → info}/support/index.d.mts +1 -1
- package/dist/types/generators/info/support/utils.d.mts +1 -0
- package/dist/types/generators/info/types-export.d.ts +1 -1
- package/dist/types/generators/init/types-export.d.ts +1 -1
- package/dist/types/generators/java/support/files.d.mts +13 -1
- package/dist/types/generators/java/support/index.d.mts +1 -0
- package/dist/types/generators/java/support/util.d.mts +6 -0
- package/dist/types/generators/java/types-export.d.ts +1 -1
- package/dist/types/generators/jdl/types-export.d.ts +1 -1
- package/dist/types/generators/kubernetes/types-export.d.ts +1 -1
- package/dist/types/generators/kubernetes-helm/types-export.d.ts +1 -1
- package/dist/types/generators/kubernetes-knative/types-export.d.ts +1 -1
- package/dist/types/generators/languages/support/index.d.mts +1 -0
- package/dist/types/generators/languages/support/load-config.d.mts +6 -4
- package/dist/types/generators/languages/support/translate.d.mts +28 -0
- package/dist/types/generators/languages/types-export.d.ts +1 -1
- package/dist/types/generators/languages/types.d.ts +7 -0
- package/dist/types/generators/liquibase/support/index.d.mts +1 -0
- package/dist/types/generators/liquibase/support/maven-plugin.d.mts +2 -1
- package/dist/types/generators/liquibase/types-export.d.ts +1 -1
- package/dist/types/generators/liquibase/types.d.mts +2 -1
- package/dist/types/generators/maven/internal/xml-store.d.mts +2 -1
- package/dist/types/generators/maven/types-export.d.ts +1 -1
- package/dist/types/generators/maven/types.d.mts +3 -3
- package/dist/types/generators/needle-api.d.mts +0 -4
- package/dist/types/generators/openapi-client/types-export.d.ts +1 -1
- package/dist/types/generators/openshift/types-export.d.ts +1 -1
- package/dist/types/generators/page/types-export.d.ts +1 -1
- package/dist/types/generators/project-name/types-export.d.ts +1 -1
- package/dist/types/generators/react/types-export.d.ts +1 -1
- package/dist/types/generators/server/command.d.mts +3 -0
- package/dist/types/generators/server/jdl/application-definition.d.mts +1 -1
- package/dist/types/generators/server/options/database-migration.d.mts +1 -1
- package/dist/types/generators/server/options/message-broker.d.mts +1 -1
- package/dist/types/generators/server/support/config.d.mts +34 -0
- package/dist/types/generators/server/support/index.d.mts +2 -0
- package/dist/types/generators/server/support/needles.d.mts +1 -1
- package/dist/types/generators/server/support/prepare-relationship.d.mts +4 -0
- package/dist/types/generators/server/types-export.d.ts +1 -1
- package/dist/types/generators/server/types.d.mts +4 -3
- package/dist/types/generators/spring-cache/types-export.d.ts +1 -1
- package/dist/types/generators/spring-cloud-stream/types-export.d.ts +1 -1
- package/dist/types/generators/spring-controller/types-export.d.ts +1 -1
- package/dist/types/generators/spring-data-cassandra/types-export.d.ts +1 -1
- package/dist/types/generators/spring-data-couchbase/types-export.d.ts +1 -1
- package/dist/types/generators/spring-data-elasticsearch/types-export.d.ts +1 -1
- package/dist/types/generators/spring-data-mongodb/types-export.d.ts +1 -1
- package/dist/types/generators/spring-data-neo4j/types-export.d.ts +1 -1
- package/dist/types/generators/spring-data-relational/support/application-properties.d.mts +3 -1
- package/dist/types/generators/spring-data-relational/types-export.d.ts +1 -1
- package/dist/types/generators/spring-service/types-export.d.ts +1 -1
- package/dist/types/generators/spring-websocket/types-export.d.ts +1 -1
- package/dist/types/generators/upgrade/types-export.d.ts +1 -1
- package/dist/types/generators/vue/types-export.d.ts +1 -1
- package/dist/types/generators/workspaces/types-export.d.ts +1 -1
- package/dist/types/jdl/basic-types/relationships.d.ts +12 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.d.ts +30 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +30 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-option-converter.d.ts +35 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.d.ts +31 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.d.ts +29 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.d.ts +32 -0
- package/dist/types/jdl/converters/json-to-jdl-application-converter.d.ts +20 -0
- package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +32 -0
- package/dist/types/jdl/converters/json-to-jdl-entity-converter.d.ts +33 -0
- package/dist/types/jdl/converters/json-to-jdl-option-converter.d.ts +30 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/application-converter.d.ts +28 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/deployment-converter.d.ts +29 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.d.ts +30 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.d.ts +29 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/field-converter.d.ts +29 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +31 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.d.ts +16 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.d.ts +1 -3
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.d.ts +30 -0
- package/dist/types/jdl/converters/types.d.ts +2 -3
- package/dist/types/jdl/exporters/applications/jhipster-application-formatter.d.ts +32 -0
- package/dist/types/jdl/exporters/export-utils.d.ts +25 -0
- package/dist/types/jdl/exporters/jdl-exporter.d.ts +25 -0
- package/dist/types/jdl/exporters/jhipster-deployment-exporter.d.ts +24 -0
- package/dist/types/jdl/exporters/jhipster-entity-exporter.d.ts +30 -0
- package/dist/types/jdl/index.d.ts +3 -0
- package/dist/types/jdl/jdl-importer.d.ts +64 -0
- package/dist/types/jdl/jhipster/index.d.mts +1 -0
- package/dist/types/jdl/jhipster/json-entity.d.ts +1 -1
- package/dist/types/jdl/jhipster/relationship-types.d.ts +3 -21
- package/dist/types/jdl/jhipster/validations.d.ts +3 -0
- package/dist/types/jdl/linters/entity-linter.d.ts +33 -0
- package/dist/types/jdl/linters/enum-linter.d.ts +33 -0
- package/dist/types/jdl/linters/field-linter.d.ts +33 -0
- package/dist/types/jdl/linters/issues/abstract-issue.d.ts +25 -0
- package/dist/types/jdl/linters/issues/entity-issue.d.ts +27 -0
- package/dist/types/jdl/linters/issues/enum-issue.d.ts +27 -0
- package/dist/types/jdl/linters/issues/field-issue.d.ts +29 -0
- package/dist/types/jdl/linters/issues/issues.d.ts +44 -0
- package/dist/types/jdl/linters/issues/relationship-issue.d.ts +31 -0
- package/dist/types/jdl/linters/jdl-linter.d.ts +38 -0
- package/dist/types/jdl/linters/relationship-linter.d.ts +35 -0
- package/dist/types/jdl/linters/rule-levels.d.ts +28 -0
- package/dist/types/jdl/linters/rule.d.ts +45 -0
- package/dist/types/jdl/linters/rules.d.ts +41 -0
- package/dist/types/jdl/matchers/entity-matcher.d.ts +1 -0
- package/dist/types/jdl/matchers/field-matcher.d.ts +1 -0
- package/dist/types/jdl/models/abstract-jdl-option.d.ts +35 -0
- package/dist/types/jdl/models/boolean-jdl-application-configuration-option.d.ts +21 -0
- package/dist/types/jdl/models/index.d.mts +20 -0
- package/dist/types/jdl/models/integer-jdl-application-configuration-option.d.ts +21 -0
- package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +20 -0
- package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +30 -0
- package/dist/types/jdl/models/jdl-application-configuration.d.ts +27 -0
- package/dist/types/jdl/models/jdl-application-entities.d.ts +33 -0
- package/dist/types/{generators/client/needle-api/needle-client-webpack.d.mts → jdl/models/jdl-application-factory.d.ts} +7 -6
- package/dist/types/jdl/models/jdl-application.d.ts +37 -0
- package/dist/types/jdl/models/jdl-binary-option.d.ts +28 -0
- package/dist/types/jdl/models/jdl-deployment.d.ts +4 -0
- package/dist/types/jdl/models/jdl-entity.d.ts +34 -0
- package/dist/types/jdl/models/jdl-enums.d.ts +28 -0
- package/dist/types/jdl/models/jdl-field.d.ts +32 -0
- package/dist/types/jdl/models/jdl-object-merger.d.ts +26 -0
- package/dist/types/jdl/models/jdl-object.d.ts +82 -0
- package/dist/types/jdl/models/jdl-options.d.ts +30 -0
- package/dist/types/jdl/models/jdl-relationship.d.ts +21 -8
- package/dist/types/jdl/models/jdl-relationships.d.ts +38 -0
- package/dist/types/jdl/models/jdl-unary-option.d.ts +26 -0
- package/dist/types/jdl/models/jdl-validation.d.ts +24 -0
- package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +24 -0
- package/dist/types/jdl/models/string-jdl-application-configuration-option.d.ts +24 -0
- package/dist/types/jdl/parsing/api.d.ts +21 -0
- package/dist/types/jdl/parsing/exports.d.ts +26 -0
- package/dist/types/jdl/parsing/generated/generated-serialized-grammar.d.ts +1 -0
- package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +128 -0
- package/dist/types/jdl/parsing/jdl-post-parsing-tasks.d.ts +19 -0
- package/dist/types/jdl/parsing/self-checks/token-collector-visitor.d.ts +7 -7
- package/dist/types/jdl/readers/file-reader.d.ts +30 -0
- package/dist/types/jdl/readers/jdl-reader.d.ts +39 -0
- package/dist/types/jdl/readers/json-file-reader.d.ts +30 -0
- package/dist/types/jdl/readers/json-reader.d.ts +20 -0
- package/dist/types/jdl/types/types.d.mts +44 -0
- package/dist/types/jdl/utils/array-utils.d.ts +19 -0
- package/dist/types/jdl/utils/deprecation-utils.d.ts +34 -0
- package/dist/types/jdl/utils/file-utils.d.ts +36 -0
- package/dist/types/jdl/utils/objects/logger.d.ts +20 -0
- package/dist/types/jdl/utils/set-utils.d.ts +20 -0
- package/dist/types/jdl/validators/binary-option-validator.d.ts +23 -0
- package/dist/types/jdl/validators/deployment-validator.d.ts +23 -0
- package/dist/types/jdl/validators/entity-validator.d.ts +23 -0
- package/dist/types/jdl/validators/enum-validator.d.ts +23 -0
- package/dist/types/jdl/validators/field-validator.d.ts +23 -0
- package/dist/types/jdl/validators/jdl-with-application-validator.d.ts +28 -0
- package/dist/types/jdl/validators/jdl-without-application-validator.d.ts +33 -0
- package/dist/types/jdl/validators/option-validator.d.ts +23 -0
- package/dist/types/jdl/validators/relationship-validator.d.ts +24 -0
- package/dist/types/jdl/validators/unary-option-validator.d.ts +22 -0
- package/dist/types/jdl/validators/validation-validator.d.ts +23 -0
- package/dist/types/jdl/validators/validator.d.ts +24 -0
- package/dist/types/lib/index.d.mts +2 -0
- package/dist/types/lib/internal/config-def.d.mts +10 -0
- package/dist/types/lib/internal/index.d.mts +1 -0
- package/dist/types/test/support/deployment-samples.d.mts +80 -0
- package/dist/types/testing/get-generator.d.mts +3 -0
- package/dist/types/testing/helpers.d.mts +69 -0
- package/dist/types/testing/index.d.mts +2 -0
- package/package.json +83 -63
- package/dist/generators/base/generator-base-todo.mjs +0 -1126
- package/dist/generators/base/generator-base.mjs +0 -564
- package/dist/generators/base-core/generator-base.mjs +0 -565
- package/dist/generators/base-docker/docker-cli.mjs +0 -121
- package/dist/generators/base-docker/docker-utils.mjs +0 -61
- package/dist/generators/base-docker/generator.mjs +0 -94
- package/dist/generators/client/needle-api/needle-client-i18n.mjs +0 -40
- package/dist/generators/client/needle-api/needle-client-webpack.mjs +0 -42
- package/dist/generators/client/utils.mjs +0 -29
- package/dist/generators/liquibase-changelogs/generator.mjs +0 -311
- package/dist/jdl/exporters/applications/jhipster-application-exporter.js +0 -52
- package/dist/jdl/index.mjs +0 -3
- package/dist/types/generators/base/generator-base-todo.d.mts +0 -281
- package/dist/types/generators/base/generator-base.d.mts +0 -166
- package/dist/types/generators/client/needle-api/needle-client-i18n.d.mts +0 -7
- package/dist/types/generators/liquibase-changelogs/types-export.d.ts +0 -1
- /package/dist/generators/{liquibase-changelogs/files.mjs → liquibase/changelog-files.mjs} +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/support/formatting.mjs +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/updated_entity_migrate.xml.ejs +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/fake-data/blob/hipster.png +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/fake-data/blob/hipster.txt.ejs +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_.java.jhi.hibernate_cache.ejs → _package_/_entityPackage_/domain/_persistClass_.java.jhi.hibernate_cache.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_.java.jhi.jakarta_lifecycle_events.ejs → _package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_lifecycle_events.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_.java.jhi.spring_data_persistable.ejs → _package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_persistable.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_.java.jhi.spring_data_reactive.ejs → _package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_reactive.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_Callback.java.ejs → _package_/_entityPackage_/domain/_persistClass_Callback.java.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/repository/_EntityClass_RepositoryWithBagRelationships.java.ejs → _package_/_entityPackage_/repository/_entityClass_RepositoryWithBagRelationships.java.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/repository/_EntityClass_RepositoryWithBagRelationshipsImpl.java.ejs → _package_/_entityPackage_/repository/_entityClass_RepositoryWithBagRelationshipsImpl.java.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/repository/_EntityClass_SqlHelper_reactive.java.ejs → _package_/_entityPackage_/repository/_entityClass_SqlHelper_reactive.java.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/repository/rowmapper/_EntityClass_RowMapper_reactive.java.ejs → _package_/_entityPackage_/repository/rowmapper/_entityClass_RowMapper_reactive.java.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/EntityManager_reactive.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/UserSqlHelper_reactive.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/_EntityClass_RepositoryInternalImpl_reactive.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/rowmapper/ColumnConverter_reactive.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/EmbeddedSQL.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/MariadbTestContainer.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/MsSqlTestContainer.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/MysqlTestContainer.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/PostgreSqlTestContainer.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/SqlTestContainer.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/repository/timezone/DateTimeWrapper.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/repository/timezone/DateTimeWrapperRepository.java.ejs +0 -0
- /package/dist/generators/vue/templates/src/{test/javascript/spec/setup.ts.ejs → main/webapp/app/test-setup.ts.ejs} +0 -0
- /package/dist/generators/vue/templates/src/{test/javascript/spec/app/microfrontends/entities-menu.component.ts.ejs → main/webapp/microfrontends/entities-menu.component-test.ts.ejs} +0 -0
- /package/dist/generators/vue/templates/src/{test/javascript/spec/app/microfrontends/entities-router.ts.ejs → main/webapp/microfrontends/entities-router-test.ts.ejs} +0 -0
- /package/dist/types/generators/{liquibase-changelogs → liquibase}/support/formatting.d.mts +0 -0
|
@@ -0,0 +1,959 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2013-2023 the original author or authors from the JHipster project.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of the JHipster project, see https://www.jhipster.tech/
|
|
5
|
+
* for more information.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
import { basename, join as joinPath, dirname, relative, isAbsolute, join, extname } from 'path';
|
|
20
|
+
import { relative as posixRelative } from 'path/posix';
|
|
21
|
+
import { createHash } from 'crypto';
|
|
22
|
+
import { fileURLToPath } from 'url';
|
|
23
|
+
import { statSync, rmSync, existsSync, readFileSync } from 'fs';
|
|
24
|
+
import assert from 'assert';
|
|
25
|
+
import { requireNamespace } from '@yeoman/namespace';
|
|
26
|
+
import chalk from 'chalk';
|
|
27
|
+
import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
|
|
28
|
+
import * as _ from 'lodash-es';
|
|
29
|
+
import { simpleGit } from 'simple-git';
|
|
30
|
+
import semver, { lt as semverLessThan } from 'semver';
|
|
31
|
+
import YeomanGenerator from 'yeoman-generator';
|
|
32
|
+
import latestVersion from 'latest-version';
|
|
33
|
+
import SharedData from '../base/shared-data.mjs';
|
|
34
|
+
import { CUSTOM_PRIORITIES, PRIORITY_NAMES, PRIORITY_PREFIX } from '../base/priorities.mjs';
|
|
35
|
+
import { createJHipster7Context, formatDateForChangelog, joinCallbacks } from '../base/support/index.mjs';
|
|
36
|
+
import { packageJson } from '../../lib/index.mjs';
|
|
37
|
+
import { GENERATOR_BOOTSTRAP } from '../generator-list.mjs';
|
|
38
|
+
import NeedleApi from '../needle-api.mjs';
|
|
39
|
+
import command from '../base/command.mjs';
|
|
40
|
+
import { GENERATOR_JHIPSTER, YO_RC_FILE } from '../generator-constants.mjs';
|
|
41
|
+
import { convertConfigToOption } from '../../lib/internal/index.mjs';
|
|
42
|
+
const { merge, get, set } = _;
|
|
43
|
+
const { INITIALIZING, PROMPTING, CONFIGURING, COMPOSING, LOADING, PREPARING, POST_PREPARING, DEFAULT, WRITING, POST_WRITING, INSTALL, POST_INSTALL, END, } = PRIORITY_NAMES;
|
|
44
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
45
|
+
const __dirname = dirname(__filename);
|
|
46
|
+
const asPriority = (priorityName) => `${PRIORITY_PREFIX}${priorityName}`;
|
|
47
|
+
const relativeDir = (from, to) => {
|
|
48
|
+
const rel = posixRelative(from, to);
|
|
49
|
+
return rel ? `${rel}/` : '';
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* This is the base class for a generator for every generator.
|
|
53
|
+
*/
|
|
54
|
+
export default class CoreGenerator extends YeomanGenerator {
|
|
55
|
+
static asPriority = asPriority;
|
|
56
|
+
static INITIALIZING = asPriority(INITIALIZING);
|
|
57
|
+
static PROMPTING = asPriority(PROMPTING);
|
|
58
|
+
static CONFIGURING = asPriority(CONFIGURING);
|
|
59
|
+
static COMPOSING = asPriority(COMPOSING);
|
|
60
|
+
static LOADING = asPriority(LOADING);
|
|
61
|
+
static PREPARING = asPriority(PREPARING);
|
|
62
|
+
static POST_PREPARING = asPriority(POST_PREPARING);
|
|
63
|
+
static DEFAULT = asPriority(DEFAULT);
|
|
64
|
+
static WRITING = asPriority(WRITING);
|
|
65
|
+
static POST_WRITING = asPriority(POST_WRITING);
|
|
66
|
+
static INSTALL = asPriority(INSTALL);
|
|
67
|
+
static POST_INSTALL = asPriority(POST_INSTALL);
|
|
68
|
+
static END = asPriority(END);
|
|
69
|
+
useVersionPlaceholders;
|
|
70
|
+
skipChecks;
|
|
71
|
+
experimental;
|
|
72
|
+
debugEnabled;
|
|
73
|
+
jhipster7Migration;
|
|
74
|
+
relativeDir = relativeDir;
|
|
75
|
+
relative = posixRelative;
|
|
76
|
+
sharedData;
|
|
77
|
+
logger;
|
|
78
|
+
jhipsterConfig;
|
|
79
|
+
/**
|
|
80
|
+
* @deprecated
|
|
81
|
+
*/
|
|
82
|
+
jhipsterTemplatesFolders;
|
|
83
|
+
blueprintStorage;
|
|
84
|
+
_jhipsterGenerator;
|
|
85
|
+
_needleApi;
|
|
86
|
+
constructor(args, options, features) {
|
|
87
|
+
super(args, options, {
|
|
88
|
+
skipParseOptions: true,
|
|
89
|
+
tasksMatchingPriority: true,
|
|
90
|
+
taskPrefix: PRIORITY_PREFIX,
|
|
91
|
+
unique: 'namespace',
|
|
92
|
+
...features,
|
|
93
|
+
});
|
|
94
|
+
let jhipsterOldVersion = null;
|
|
95
|
+
if (!this.options.help) {
|
|
96
|
+
/* Force config to use 'generator-jhipster' namespace. */
|
|
97
|
+
this._config = this._getStorage('generator-jhipster');
|
|
98
|
+
/* JHipster config using proxy mode used as a plain object instead of using get/set. */
|
|
99
|
+
this.jhipsterConfig = this.config.createProxy();
|
|
100
|
+
jhipsterOldVersion = this.jhipsterConfig.jhipsterVersion ?? null;
|
|
101
|
+
this.sharedData = this.createSharedData({ jhipsterOldVersion, help: this.options.help });
|
|
102
|
+
/* Options parsing must be executed after forcing jhipster storage namespace and after sharedData have been populated */
|
|
103
|
+
this.parseJHipsterOptions(command.options);
|
|
104
|
+
// Don't write jhipsterVersion to .yo-rc.json when reproducible
|
|
105
|
+
if (this.options.namespace.startsWith('jhipster:') &&
|
|
106
|
+
!this.options.namespace.startsWith('jhipster:bootstrap') &&
|
|
107
|
+
this.getFeatures().storeJHipsterVersion !== false &&
|
|
108
|
+
!this.options.reproducible &&
|
|
109
|
+
!this.jhipsterConfig.jhipsterVersion) {
|
|
110
|
+
this.jhipsterConfig.jhipsterVersion = packageJson.version;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
this.logger = this.log;
|
|
114
|
+
if (this.options.help) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
this.registerPriorities(CUSTOM_PRIORITIES);
|
|
118
|
+
if (this.getFeatures().jhipsterBootstrap ?? true) {
|
|
119
|
+
// jhipster:bootstrap is always required. Run it once the enviroment starts.
|
|
120
|
+
this.env.queueTask('environment:run', async () => this.composeWithJHipster(GENERATOR_BOOTSTRAP).then(), {
|
|
121
|
+
once: 'queueJhipsterBootstrap',
|
|
122
|
+
startQueue: false,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
// Add base template folder.
|
|
126
|
+
this.jhipsterTemplatesFolders = [this.templatePath()];
|
|
127
|
+
this.jhipster7Migration = this.features.jhipster7Migration ?? false;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Override yeoman generator's usage function to fine tune --help message.
|
|
131
|
+
*/
|
|
132
|
+
usage() {
|
|
133
|
+
return super.usage().replace('yo jhipster:', 'jhipster ');
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* @deprecated
|
|
137
|
+
*/
|
|
138
|
+
get needleApi() {
|
|
139
|
+
if (this._needleApi === undefined || this._needleApi === null) {
|
|
140
|
+
this._needleApi = new NeedleApi(this);
|
|
141
|
+
}
|
|
142
|
+
return this._needleApi;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Check if the JHipster version used to generate an existing project is less than the passed version argument
|
|
146
|
+
*
|
|
147
|
+
* @param {string} version - A valid semver version string
|
|
148
|
+
*/
|
|
149
|
+
isJhipsterVersionLessThan(version) {
|
|
150
|
+
const jhipsterOldVersion = this.sharedData.getControl().jhipsterOldVersion;
|
|
151
|
+
if (!jhipsterOldVersion) {
|
|
152
|
+
// if old version is unknown then can't compare (the project may be null) and return false
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
return semverLessThan(jhipsterOldVersion, version);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get arguments for the priority
|
|
159
|
+
*/
|
|
160
|
+
getArgsForPriority(priorityName) {
|
|
161
|
+
const control = this.sharedData.getControl();
|
|
162
|
+
if (priorityName === POST_WRITING || priorityName === PREPARING || priorityName === POST_PREPARING) {
|
|
163
|
+
const source = this.sharedData.getSource();
|
|
164
|
+
return [{ control, source }];
|
|
165
|
+
}
|
|
166
|
+
if (priorityName === WRITING) {
|
|
167
|
+
if (existsSync(this.destinationPath(YO_RC_FILE))) {
|
|
168
|
+
try {
|
|
169
|
+
const oldConfig = JSON.parse(readFileSync(this.destinationPath(YO_RC_FILE)).toString())[GENERATOR_JHIPSTER];
|
|
170
|
+
const newConfig = this.config.getAll();
|
|
171
|
+
const keys = [...new Set([...Object.keys(oldConfig), ...Object.keys(newConfig)])];
|
|
172
|
+
const configChanges = Object.fromEntries(keys
|
|
173
|
+
.filter(key => Array.isArray(newConfig[key])
|
|
174
|
+
? newConfig[key].length === oldConfig[key].length &&
|
|
175
|
+
newConfig[key].find((element, index) => element !== oldConfig[key][index])
|
|
176
|
+
: newConfig[key] !== oldConfig[key])
|
|
177
|
+
.map(key => [key, { newValue: newConfig[key], oldValue: oldConfig[key] }]));
|
|
178
|
+
return [{ control, configChanges }];
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
// Fail to parse
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return [{ control }];
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Override yeoman-generator method that gets methods to be queued, filtering the result.
|
|
189
|
+
*/
|
|
190
|
+
getTaskNames() {
|
|
191
|
+
let priorities = super.getTaskNames();
|
|
192
|
+
if (this.options.skipPriorities) {
|
|
193
|
+
// Make sure yeoman-generator will not throw on empty tasks due to filtered priorities.
|
|
194
|
+
this.customLifecycle = priorities.length > 0;
|
|
195
|
+
priorities = priorities.filter(priorityName => !this.options.skipPriorities.includes(priorityName));
|
|
196
|
+
}
|
|
197
|
+
return priorities;
|
|
198
|
+
}
|
|
199
|
+
parseJHipsterCommand(commandDef) {
|
|
200
|
+
if (commandDef.arguments) {
|
|
201
|
+
this.parseJHipsterArguments(commandDef.arguments);
|
|
202
|
+
}
|
|
203
|
+
else if (commandDef.configs) {
|
|
204
|
+
this.parseJHipsterArguments(Object.fromEntries(Object.entries(commandDef.configs)
|
|
205
|
+
.filter(([_name, def]) => def.argument)
|
|
206
|
+
.map(([name, def]) => [
|
|
207
|
+
name,
|
|
208
|
+
{
|
|
209
|
+
description: def.description,
|
|
210
|
+
...def.argument,
|
|
211
|
+
},
|
|
212
|
+
])));
|
|
213
|
+
}
|
|
214
|
+
if (commandDef.options || commandDef.configs) {
|
|
215
|
+
this.parseJHipsterOptions(commandDef.options, commandDef.configs);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
parseJHipsterOptions(options, configs = {}, common = false) {
|
|
219
|
+
if (typeof configs === 'boolean') {
|
|
220
|
+
common = configs;
|
|
221
|
+
configs = {};
|
|
222
|
+
}
|
|
223
|
+
Object.entries(options ?? {})
|
|
224
|
+
.concat(Object.entries(configs).map(([name, def]) => [name, convertConfigToOption(name, def)]))
|
|
225
|
+
.forEach(([optionName, optionDesc]) => {
|
|
226
|
+
if (!optionDesc?.type || !optionDesc.scope || (common && optionDesc.scope === 'generator'))
|
|
227
|
+
return;
|
|
228
|
+
let optionValue;
|
|
229
|
+
// Hidden options are test options, which doesn't rely on commoander for options parsing.
|
|
230
|
+
// We must parse environment variables manually
|
|
231
|
+
if (this.options[optionDesc.name ?? optionName] === undefined && optionDesc.env && process.env[optionDesc.env]) {
|
|
232
|
+
optionValue = process.env[optionDesc.env];
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
optionValue = this.options[optionDesc.name ?? optionName];
|
|
236
|
+
}
|
|
237
|
+
if (optionValue !== undefined) {
|
|
238
|
+
optionValue = optionDesc.type !== Array && optionDesc.type !== Function ? optionDesc.type(optionValue) : optionValue;
|
|
239
|
+
if (optionDesc.scope === 'storage') {
|
|
240
|
+
this.config.set(optionName, optionValue);
|
|
241
|
+
}
|
|
242
|
+
else if (optionDesc.scope === 'blueprint') {
|
|
243
|
+
this.blueprintStorage.set(optionName, optionValue);
|
|
244
|
+
}
|
|
245
|
+
else if (optionDesc.scope === 'control') {
|
|
246
|
+
this.sharedData.getControl()[optionName] = optionValue;
|
|
247
|
+
}
|
|
248
|
+
else if (optionDesc.scope === 'generator') {
|
|
249
|
+
this[optionName] = optionValue;
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
throw new Error(`Scope ${optionDesc.scope} not supported`);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
else if (optionDesc.default && optionDesc.scope === 'generator' && this[optionName] === undefined) {
|
|
256
|
+
this[optionName] = optionDesc.default;
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
parseJHipsterArguments(jhipsterArguments = {}) {
|
|
261
|
+
const hasPositionalArguments = Boolean(this.options.positionalArguments);
|
|
262
|
+
let positionalArguments = hasPositionalArguments ? this.options.positionalArguments : this._args;
|
|
263
|
+
const argumentEntries = Object.entries(jhipsterArguments);
|
|
264
|
+
if (hasPositionalArguments && positionalArguments.length > argumentEntries.length) {
|
|
265
|
+
throw new Error('More arguments than allowed');
|
|
266
|
+
}
|
|
267
|
+
argumentEntries.find(([argumentName, argumentDef]) => {
|
|
268
|
+
if (positionalArguments.length > 0) {
|
|
269
|
+
let argument;
|
|
270
|
+
if (hasPositionalArguments || argumentDef.type !== Array) {
|
|
271
|
+
// Positional arguments already parsed or a single argument.
|
|
272
|
+
argument = positionalArguments.shift();
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
// Varags argument.
|
|
276
|
+
argument = positionalArguments;
|
|
277
|
+
positionalArguments = [];
|
|
278
|
+
}
|
|
279
|
+
if (argument !== undefined) {
|
|
280
|
+
const convertedValue = !argumentDef.type || argumentDef.type === Array ? argument : argumentDef.type(argument);
|
|
281
|
+
if ((argumentDef.scope ?? 'generator') === 'generator') {
|
|
282
|
+
this[argumentName] = convertedValue;
|
|
283
|
+
}
|
|
284
|
+
else if (argumentDef.scope === 'storage') {
|
|
285
|
+
this.config.set(argumentName, convertedValue);
|
|
286
|
+
}
|
|
287
|
+
else if (argumentDef.scope === 'blueprint') {
|
|
288
|
+
this.blueprintStorage.set(argumentName, convertedValue);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
if (argumentDef.required) {
|
|
294
|
+
throw new Error(`Missing required argument ${argumentName}`);
|
|
295
|
+
}
|
|
296
|
+
return true;
|
|
297
|
+
}
|
|
298
|
+
return false;
|
|
299
|
+
});
|
|
300
|
+
// Arguments should only be parsed by the root generator, cleanup to don't be forwarded.
|
|
301
|
+
this.options.positionalArguments = [];
|
|
302
|
+
}
|
|
303
|
+
prepareQuestions(configs = {}) {
|
|
304
|
+
return Object.entries(configs)
|
|
305
|
+
.filter(([_name, def]) => def?.prompt)
|
|
306
|
+
.map(([name, def]) => {
|
|
307
|
+
const promptSpec = typeof def.prompt === 'function' ? def.prompt(this) : { ...def.prompt };
|
|
308
|
+
let storage;
|
|
309
|
+
if ((def.scope ?? 'storage') === 'storage') {
|
|
310
|
+
storage = this.config;
|
|
311
|
+
if (promptSpec.default === undefined) {
|
|
312
|
+
promptSpec.default = () => this.jhipsterConfigWithDefaults?.[name];
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
else if (def.scope === 'blueprint') {
|
|
316
|
+
storage = this.blueprintStorage;
|
|
317
|
+
}
|
|
318
|
+
else if (def.scope === 'generator') {
|
|
319
|
+
storage = {
|
|
320
|
+
getPath: path => get(this, path),
|
|
321
|
+
setPath: (path, value) => set(this, path, value),
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
return {
|
|
325
|
+
name,
|
|
326
|
+
choices: def.choices,
|
|
327
|
+
...promptSpec,
|
|
328
|
+
storage,
|
|
329
|
+
};
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Generate a date to be used by Liquibase changelogs.
|
|
334
|
+
*
|
|
335
|
+
* @param {Boolean} [reproducible=true] - Set true if the changelog date can be reproducible.
|
|
336
|
+
* Set false to create a changelog date incrementing the last one.
|
|
337
|
+
* @return {String} Changelog date.
|
|
338
|
+
*/
|
|
339
|
+
dateFormatForLiquibase(reproducible) {
|
|
340
|
+
const control = this.sharedData.getControl();
|
|
341
|
+
reproducible = reproducible ?? control.reproducible;
|
|
342
|
+
// Use started counter or use stored creationTimestamp if creationTimestamp option is passed
|
|
343
|
+
const creationTimestamp = this.options.creationTimestamp ? this.config.get('creationTimestamp') : undefined;
|
|
344
|
+
let now = new Date();
|
|
345
|
+
// Miliseconds is ignored for changelogDate.
|
|
346
|
+
now.setMilliseconds(0);
|
|
347
|
+
// Run reproducible timestamp when regenerating the project with reproducible option or an specific timestamp.
|
|
348
|
+
if (reproducible || creationTimestamp) {
|
|
349
|
+
if (control.reproducibleLiquibaseTimestamp) {
|
|
350
|
+
// Counter already started.
|
|
351
|
+
now = control.reproducibleLiquibaseTimestamp;
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
// Create a new counter
|
|
355
|
+
const newCreationTimestamp = creationTimestamp ?? this.config.get('creationTimestamp');
|
|
356
|
+
now = newCreationTimestamp ? new Date(newCreationTimestamp) : now;
|
|
357
|
+
now.setMilliseconds(0);
|
|
358
|
+
}
|
|
359
|
+
now.setMinutes(now.getMinutes() + 1);
|
|
360
|
+
control.reproducibleLiquibaseTimestamp = now;
|
|
361
|
+
// Reproducible build can create future timestamp, save it.
|
|
362
|
+
const lastLiquibaseTimestamp = this.jhipsterConfig.lastLiquibaseTimestamp;
|
|
363
|
+
if (!lastLiquibaseTimestamp || now.getTime() > lastLiquibaseTimestamp) {
|
|
364
|
+
this.config.set('lastLiquibaseTimestamp', now.getTime());
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
// Get and store lastLiquibaseTimestamp, a future timestamp can be used
|
|
369
|
+
let lastLiquibaseTimestamp = this.jhipsterConfig.lastLiquibaseTimestamp;
|
|
370
|
+
if (lastLiquibaseTimestamp) {
|
|
371
|
+
lastLiquibaseTimestamp = new Date(lastLiquibaseTimestamp);
|
|
372
|
+
if (lastLiquibaseTimestamp >= now) {
|
|
373
|
+
now = lastLiquibaseTimestamp;
|
|
374
|
+
now.setSeconds(now.getSeconds() + 1);
|
|
375
|
+
now.setMilliseconds(0);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
this.jhipsterConfig.lastLiquibaseTimestamp = now.getTime();
|
|
379
|
+
}
|
|
380
|
+
return formatDateForChangelog(now);
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Alternative templatePath that fetches from the blueprinted generator, instead of the blueprint.
|
|
384
|
+
*/
|
|
385
|
+
jhipsterTemplatePath(...path) {
|
|
386
|
+
let existingGenerator;
|
|
387
|
+
try {
|
|
388
|
+
existingGenerator = this._jhipsterGenerator ?? requireNamespace(this.options.namespace).generator;
|
|
389
|
+
}
|
|
390
|
+
catch (error) {
|
|
391
|
+
if (this.options.namespace) {
|
|
392
|
+
const split = this.options.namespace.split(':', 2);
|
|
393
|
+
existingGenerator = split.length === 1 ? split[0] : split[1];
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
throw new Error('Could not determine the generator name');
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
this._jhipsterGenerator = existingGenerator;
|
|
400
|
+
return this._jhipsterGenerator
|
|
401
|
+
? this.fetchFromInstalledJHipster(this._jhipsterGenerator, 'templates', ...path)
|
|
402
|
+
: this.templatePath(...path);
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Compose with a jhipster generator using default jhipster config.
|
|
406
|
+
* @return {object} the composed generator
|
|
407
|
+
*/
|
|
408
|
+
async composeWithJHipster(generator, options) {
|
|
409
|
+
assert(typeof generator === 'string', 'generator should to be a string');
|
|
410
|
+
if (!isAbsolute(generator)) {
|
|
411
|
+
const namespace = generator.includes(':') ? generator : `jhipster:${generator}`;
|
|
412
|
+
if (await this.env.get(namespace)) {
|
|
413
|
+
generator = namespace;
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
// Keep test compatibily were jhipster lookup does not run.
|
|
417
|
+
const found = ['/index.js', '/index.cjs', '/index.mjs', '/index.ts', '/index.cts', '/index.mts'].find(extension => {
|
|
418
|
+
const pathToLook = join(__dirname, `../${generator}${extension}`);
|
|
419
|
+
return existsSync(pathToLook) ? pathToLook : undefined;
|
|
420
|
+
});
|
|
421
|
+
if (!found) {
|
|
422
|
+
throw new Error(`Generator ${generator} was not found`);
|
|
423
|
+
}
|
|
424
|
+
generator = join(__dirname, `../${generator}${found}`);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
return this.composeWith(generator, {
|
|
428
|
+
forwardOptions: false,
|
|
429
|
+
...options,
|
|
430
|
+
generatorOptions: {
|
|
431
|
+
...this.options,
|
|
432
|
+
positionalArguments: undefined,
|
|
433
|
+
...options?.generatorOptions,
|
|
434
|
+
},
|
|
435
|
+
});
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Compose with a jhipster generator using default jhipster config, but queue it immediately.
|
|
439
|
+
*/
|
|
440
|
+
async dependsOnJHipster(generator, options) {
|
|
441
|
+
return this.composeWithJHipster(generator, {
|
|
442
|
+
...options,
|
|
443
|
+
schedule: false,
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* Remove File
|
|
448
|
+
* @param file
|
|
449
|
+
*/
|
|
450
|
+
removeFile(...path) {
|
|
451
|
+
const destinationFile = this.destinationPath(...path);
|
|
452
|
+
const relativePath = relative(this.env.logCwd, destinationFile);
|
|
453
|
+
// Delete from memory fs to keep updated.
|
|
454
|
+
this.fs.delete(destinationFile);
|
|
455
|
+
try {
|
|
456
|
+
if (destinationFile && statSync(destinationFile).isFile()) {
|
|
457
|
+
this.log.info(`Removing legacy file ${relativePath}`);
|
|
458
|
+
rmSync(destinationFile, { force: true });
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
catch {
|
|
462
|
+
this.log.info(`Could not remove legacy file ${relativePath}`);
|
|
463
|
+
}
|
|
464
|
+
return destinationFile;
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Remove Folder
|
|
468
|
+
* @param path
|
|
469
|
+
*/
|
|
470
|
+
removeFolder(...path) {
|
|
471
|
+
const destinationFolder = this.destinationPath(...path);
|
|
472
|
+
const relativePath = relative(this.env.logCwd, destinationFolder);
|
|
473
|
+
// Delete from memory fs to keep updated.
|
|
474
|
+
this.fs.delete(`${destinationFolder}/**`);
|
|
475
|
+
try {
|
|
476
|
+
if (statSync(destinationFolder).isDirectory()) {
|
|
477
|
+
this.log.info(`Removing legacy folder ${relativePath}`);
|
|
478
|
+
rmSync(destinationFolder, { recursive: true });
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
catch (error) {
|
|
482
|
+
this.log.log(`Could not remove folder ${destinationFolder}`);
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Fetch files from the generator-jhipster instance installed
|
|
487
|
+
*/
|
|
488
|
+
fetchFromInstalledJHipster(...path) {
|
|
489
|
+
if (path) {
|
|
490
|
+
return joinPath(__dirname, '..', ...path);
|
|
491
|
+
}
|
|
492
|
+
return path;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Utility function to write file.
|
|
496
|
+
*
|
|
497
|
+
* @param source
|
|
498
|
+
* @param destination - destination
|
|
499
|
+
* @param data - template data
|
|
500
|
+
* @param options - options passed to ejs render
|
|
501
|
+
* @param copyOptions
|
|
502
|
+
*/
|
|
503
|
+
writeFile(source, destination, data = this, options, copyOptions = {}) {
|
|
504
|
+
// Convert to any because ejs types doesn't support string[] https://github.com/DefinitelyTyped/DefinitelyTyped/pull/63315
|
|
505
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
506
|
+
const root = this.jhipsterTemplatesFolders ?? this.templatePath();
|
|
507
|
+
return this.renderTemplate(source, destination, data, { root, ...options }, { noGlob: true, ...copyOptions });
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* write the given files using provided options.
|
|
511
|
+
*/
|
|
512
|
+
async writeFiles(options) {
|
|
513
|
+
const paramCount = Object.keys(options).filter(key => ['sections', 'blocks', 'templates'].includes(key)).length;
|
|
514
|
+
assert(paramCount > 0, 'One of sections, blocks or templates is required');
|
|
515
|
+
assert(paramCount === 1, 'Only one of sections, blocks or templates must be provided');
|
|
516
|
+
const { sections, blocks, templates, rootTemplatesPath, context = this, transform: methodTransform = [] } = options;
|
|
517
|
+
const { _: commonSpec = {} } = sections || {};
|
|
518
|
+
const { transform: sectionTransform = [] } = commonSpec;
|
|
519
|
+
const startTime = new Date().getMilliseconds();
|
|
520
|
+
/* Build lookup order first has preference.
|
|
521
|
+
* Example
|
|
522
|
+
* rootTemplatesPath = ['reactive', 'common']
|
|
523
|
+
* jhipsterTemplatesFolders = ['/.../generator-jhispter-blueprint/server/templates', '/.../generator-jhispter/server/templates']
|
|
524
|
+
*
|
|
525
|
+
* /.../generator-jhispter-blueprint/server/templates/reactive/templatePath
|
|
526
|
+
* /.../generator-jhispter-blueprint/server/templates/common/templatePath
|
|
527
|
+
* /.../generator-jhispter/server/templates/reactive/templatePath
|
|
528
|
+
* /.../generator-jhispter/server/templates/common/templatePath
|
|
529
|
+
*/
|
|
530
|
+
let rootTemplatesAbsolutePath;
|
|
531
|
+
if (!rootTemplatesPath) {
|
|
532
|
+
rootTemplatesAbsolutePath = this.jhipsterTemplatesFolders;
|
|
533
|
+
}
|
|
534
|
+
else if (typeof rootTemplatesPath === 'string' && isAbsolute(rootTemplatesPath)) {
|
|
535
|
+
rootTemplatesAbsolutePath = rootTemplatesPath;
|
|
536
|
+
}
|
|
537
|
+
else {
|
|
538
|
+
rootTemplatesAbsolutePath = this.jhipsterTemplatesFolders
|
|
539
|
+
.map(templateFolder => [].concat(rootTemplatesPath).map(relativePath => join(templateFolder, relativePath)))
|
|
540
|
+
.flat();
|
|
541
|
+
}
|
|
542
|
+
const normalizeEjs = file => file.replace('.ejs', '');
|
|
543
|
+
const resolveCallback = (val, fallback) => {
|
|
544
|
+
if (val === undefined) {
|
|
545
|
+
if (typeof fallback === 'function') {
|
|
546
|
+
return resolveCallback(fallback);
|
|
547
|
+
}
|
|
548
|
+
return fallback;
|
|
549
|
+
}
|
|
550
|
+
if (typeof val === 'boolean' || typeof val === 'string') {
|
|
551
|
+
return val;
|
|
552
|
+
}
|
|
553
|
+
if (typeof val === 'function') {
|
|
554
|
+
return val.call(this, context) || false;
|
|
555
|
+
}
|
|
556
|
+
throw new Error(`Type not supported ${val}`);
|
|
557
|
+
};
|
|
558
|
+
const renderTemplate = async ({ sourceFile, destinationFile, options, noEjs, transform, binary }) => {
|
|
559
|
+
const extension = extname(sourceFile);
|
|
560
|
+
const isBinary = binary || ['.png', '.jpg', '.gif', '.svg', '.ico'].includes(extension);
|
|
561
|
+
const appendEjs = noEjs === undefined ? !isBinary && extension !== '.ejs' : !noEjs;
|
|
562
|
+
const ejsFile = appendEjs || extension === '.ejs';
|
|
563
|
+
let targetFile;
|
|
564
|
+
if (typeof destinationFile === 'function') {
|
|
565
|
+
targetFile = resolveCallback(destinationFile);
|
|
566
|
+
}
|
|
567
|
+
else {
|
|
568
|
+
targetFile = appendEjs ? normalizeEjs(destinationFile) : destinationFile;
|
|
569
|
+
}
|
|
570
|
+
let sourceFileFrom;
|
|
571
|
+
if (Array.isArray(rootTemplatesAbsolutePath)) {
|
|
572
|
+
// Look for existing templates
|
|
573
|
+
const existingTemplates = rootTemplatesAbsolutePath
|
|
574
|
+
.map(rootPath => this.templatePath(rootPath, sourceFile))
|
|
575
|
+
.filter(templateFile => existsSync(appendEjs ? `${templateFile}.ejs` : templateFile));
|
|
576
|
+
if (existingTemplates.length > 1) {
|
|
577
|
+
const moreThanOneMessage = `Multiples templates were found for file ${sourceFile}, using the first
|
|
578
|
+
templates: ${JSON.stringify(existingTemplates, null, 2)}`;
|
|
579
|
+
if (existingTemplates.length > 2) {
|
|
580
|
+
this.log.warn(`Possible blueprint conflict detected: ${moreThanOneMessage}`);
|
|
581
|
+
}
|
|
582
|
+
else {
|
|
583
|
+
this.log.debug(moreThanOneMessage);
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
sourceFileFrom = existingTemplates.shift();
|
|
587
|
+
if (sourceFileFrom === undefined) {
|
|
588
|
+
throw new Error(`Template file ${sourceFile} was not found at ${rootTemplatesAbsolutePath}`);
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
else if (typeof rootTemplatesAbsolutePath === 'string') {
|
|
592
|
+
sourceFileFrom = this.templatePath(rootTemplatesAbsolutePath, sourceFile);
|
|
593
|
+
}
|
|
594
|
+
else {
|
|
595
|
+
sourceFileFrom = this.templatePath(sourceFile);
|
|
596
|
+
}
|
|
597
|
+
if (appendEjs) {
|
|
598
|
+
sourceFileFrom = `${sourceFileFrom}.ejs`;
|
|
599
|
+
}
|
|
600
|
+
if (!ejsFile) {
|
|
601
|
+
await this.copyTemplateAsync(sourceFileFrom, targetFile);
|
|
602
|
+
}
|
|
603
|
+
else {
|
|
604
|
+
let useAsync = true;
|
|
605
|
+
if (context.entityClass) {
|
|
606
|
+
if (!context.baseName) {
|
|
607
|
+
throw new Error('baseName is require at templates context');
|
|
608
|
+
}
|
|
609
|
+
const sourceBasename = basename(sourceFileFrom);
|
|
610
|
+
const seed = `${context.entityClass}-${sourceBasename}${context.fakerSeed ?? ''}`;
|
|
611
|
+
Object.values(this.sharedData.getApplication()?.sharedEntities ?? {}).forEach((entity) => {
|
|
612
|
+
entity.resetFakerSeed(seed);
|
|
613
|
+
});
|
|
614
|
+
// Async calls will make the render method to be scheduled, allowing the faker key to change in the meantime.
|
|
615
|
+
useAsync = false;
|
|
616
|
+
}
|
|
617
|
+
const renderOptions = {
|
|
618
|
+
...(options?.renderOptions ?? {}),
|
|
619
|
+
// Set root for ejs to lookup for partials.
|
|
620
|
+
root: rootTemplatesAbsolutePath,
|
|
621
|
+
// ejs caching cause problem https://github.com/jhipster/generator-jhipster/pull/20757
|
|
622
|
+
cache: false,
|
|
623
|
+
};
|
|
624
|
+
const copyOptions = { noGlob: true };
|
|
625
|
+
// TODO drop for v8 final release
|
|
626
|
+
const data = this.jhipster7Migration ? createJHipster7Context(this, context, { ignoreWarnings: true }) : context;
|
|
627
|
+
if (useAsync) {
|
|
628
|
+
await this.renderTemplateAsync(sourceFileFrom, targetFile, data, renderOptions, copyOptions);
|
|
629
|
+
}
|
|
630
|
+
else {
|
|
631
|
+
this.renderTemplate(sourceFileFrom, targetFile, data, renderOptions, copyOptions);
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
if (!isBinary && transform && transform.length) {
|
|
635
|
+
this.editFile(targetFile, ...transform);
|
|
636
|
+
}
|
|
637
|
+
return targetFile;
|
|
638
|
+
};
|
|
639
|
+
let parsedBlocks = blocks;
|
|
640
|
+
if (sections) {
|
|
641
|
+
assert(typeof sections === 'object', 'sections must be an object');
|
|
642
|
+
const parsedSections = Object.entries(sections)
|
|
643
|
+
.map(([sectionName, sectionBlocks]) => {
|
|
644
|
+
if (sectionName.startsWith('_'))
|
|
645
|
+
return undefined;
|
|
646
|
+
assert(Array.isArray(sectionBlocks), `Section must be an array for ${sectionName}`);
|
|
647
|
+
return { sectionName, sectionBlocks };
|
|
648
|
+
})
|
|
649
|
+
.filter(Boolean);
|
|
650
|
+
parsedBlocks = parsedSections
|
|
651
|
+
.map(({ sectionName, sectionBlocks }) => {
|
|
652
|
+
return sectionBlocks.map((block, blockIdx) => {
|
|
653
|
+
const blockSpecPath = `${sectionName}[${blockIdx}]`;
|
|
654
|
+
assert(typeof block === 'object', `Block must be an object for ${blockSpecPath}`);
|
|
655
|
+
return { blockSpecPath, ...block };
|
|
656
|
+
});
|
|
657
|
+
})
|
|
658
|
+
.flat();
|
|
659
|
+
}
|
|
660
|
+
let parsedTemplates;
|
|
661
|
+
if (parsedBlocks) {
|
|
662
|
+
parsedTemplates = parsedBlocks
|
|
663
|
+
.map((block, blockIdx) => {
|
|
664
|
+
const { blockSpecPath = `${blockIdx}`, path: blockPathValue = './', from: blockFromCallback, to: blockToCallback, condition: blockConditionCallback, transform: blockTransform = [], renameTo: blockRenameTo, } = block;
|
|
665
|
+
assert(typeof block === 'object', `Block must be an object for ${blockSpecPath}`);
|
|
666
|
+
assert(Array.isArray(block.templates), `Block templates must be an array for ${blockSpecPath}`);
|
|
667
|
+
const condition = resolveCallback(blockConditionCallback);
|
|
668
|
+
if (condition !== undefined && !condition) {
|
|
669
|
+
return undefined;
|
|
670
|
+
}
|
|
671
|
+
if (typeof blockPathValue === 'function') {
|
|
672
|
+
throw new Error(`Block path should be static for ${blockSpecPath}`);
|
|
673
|
+
}
|
|
674
|
+
const blockPath = resolveCallback(blockFromCallback, blockPathValue);
|
|
675
|
+
const blockTo = resolveCallback(blockToCallback, blockPath) || blockPath;
|
|
676
|
+
return block.templates.map((fileSpec, fileIdx) => {
|
|
677
|
+
const fileSpecPath = `${blockSpecPath}[${fileIdx}]`;
|
|
678
|
+
assert(typeof fileSpec === 'object' || typeof fileSpec === 'string' || typeof fileSpec === 'function', `File must be an object, a string or a function for ${fileSpecPath}`);
|
|
679
|
+
if (typeof fileSpec === 'function') {
|
|
680
|
+
fileSpec = fileSpec.call(this, context);
|
|
681
|
+
}
|
|
682
|
+
let { noEjs } = fileSpec;
|
|
683
|
+
let derivedTransform;
|
|
684
|
+
if (typeof blockTransform === 'boolean') {
|
|
685
|
+
noEjs = !blockTransform;
|
|
686
|
+
derivedTransform = [...methodTransform, ...sectionTransform];
|
|
687
|
+
}
|
|
688
|
+
else {
|
|
689
|
+
derivedTransform = [...methodTransform, ...sectionTransform, ...blockTransform];
|
|
690
|
+
}
|
|
691
|
+
if (typeof fileSpec === 'string') {
|
|
692
|
+
const sourceFile = join(blockPath, fileSpec);
|
|
693
|
+
let destinationFile;
|
|
694
|
+
if (blockRenameTo) {
|
|
695
|
+
destinationFile = this.destinationPath(blockRenameTo.call(this, context, fileSpec, this));
|
|
696
|
+
}
|
|
697
|
+
else {
|
|
698
|
+
destinationFile = this.destinationPath(blockTo, fileSpec);
|
|
699
|
+
}
|
|
700
|
+
return { sourceFile, destinationFile, noEjs, transform: derivedTransform };
|
|
701
|
+
}
|
|
702
|
+
const { options, file, renameTo, transform: fileTransform = [], binary } = fileSpec;
|
|
703
|
+
let { sourceFile, destinationFile } = fileSpec;
|
|
704
|
+
if (typeof fileTransform === 'boolean') {
|
|
705
|
+
noEjs = !fileTransform;
|
|
706
|
+
}
|
|
707
|
+
else if (Array.isArray(fileTransform)) {
|
|
708
|
+
derivedTransform = [...derivedTransform, ...fileTransform];
|
|
709
|
+
}
|
|
710
|
+
else if (fileTransform !== undefined) {
|
|
711
|
+
throw new Error(`Transform ${fileTransform} value is not supported`);
|
|
712
|
+
}
|
|
713
|
+
const normalizedFile = resolveCallback(sourceFile || file);
|
|
714
|
+
sourceFile = join(blockPath, normalizedFile);
|
|
715
|
+
destinationFile = this.destinationPath(blockTo, join(resolveCallback(destinationFile || renameTo, normalizedFile)));
|
|
716
|
+
const override = resolveCallback(fileSpec.override);
|
|
717
|
+
if (override !== undefined && !override && this.fs.exists(destinationFile)) {
|
|
718
|
+
this.log.debug(`skipping file ${destinationFile}`);
|
|
719
|
+
return undefined;
|
|
720
|
+
}
|
|
721
|
+
// TODO remove for jhipster 8
|
|
722
|
+
if (noEjs === undefined) {
|
|
723
|
+
const { method } = fileSpec;
|
|
724
|
+
if (method === 'copy') {
|
|
725
|
+
noEjs = true;
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
return {
|
|
729
|
+
sourceFile,
|
|
730
|
+
destinationFile,
|
|
731
|
+
options,
|
|
732
|
+
transform: derivedTransform,
|
|
733
|
+
noEjs,
|
|
734
|
+
binary,
|
|
735
|
+
};
|
|
736
|
+
});
|
|
737
|
+
})
|
|
738
|
+
.flat()
|
|
739
|
+
.filter(template => template);
|
|
740
|
+
}
|
|
741
|
+
else {
|
|
742
|
+
parsedTemplates = templates.map(template => {
|
|
743
|
+
if (typeof template === 'string') {
|
|
744
|
+
return { sourceFile: template, destinationFile: template };
|
|
745
|
+
}
|
|
746
|
+
return template;
|
|
747
|
+
});
|
|
748
|
+
}
|
|
749
|
+
const files = await Promise.all(parsedTemplates.map(template => renderTemplate(template)));
|
|
750
|
+
this.log.debug(`Time taken to write files: ${new Date().getMilliseconds() - startTime}ms`);
|
|
751
|
+
return files.filter(file => file);
|
|
752
|
+
}
|
|
753
|
+
editFile(file, options, ...transformCallbacks) {
|
|
754
|
+
let actualOptions;
|
|
755
|
+
if (typeof options === 'function') {
|
|
756
|
+
transformCallbacks = [options, ...transformCallbacks];
|
|
757
|
+
actualOptions = {};
|
|
758
|
+
}
|
|
759
|
+
else if (options === undefined) {
|
|
760
|
+
actualOptions = {};
|
|
761
|
+
}
|
|
762
|
+
else {
|
|
763
|
+
actualOptions = options;
|
|
764
|
+
}
|
|
765
|
+
let filePath = this.destinationPath(file);
|
|
766
|
+
if (!this.env.sharedFs.existsInMemory(filePath) && this.env.sharedFs.existsInMemory(`${filePath}.jhi`)) {
|
|
767
|
+
filePath = `${filePath}.jhi`;
|
|
768
|
+
}
|
|
769
|
+
let originalContent;
|
|
770
|
+
try {
|
|
771
|
+
originalContent = this.readDestination(filePath);
|
|
772
|
+
}
|
|
773
|
+
catch (_error) {
|
|
774
|
+
// null return should be treated like an error.
|
|
775
|
+
}
|
|
776
|
+
if (!originalContent) {
|
|
777
|
+
const { ignoreNonExisting, create } = actualOptions;
|
|
778
|
+
const errorMessage = typeof ignoreNonExisting === 'string' ? ` ${ignoreNonExisting}.` : '';
|
|
779
|
+
if (ignoreNonExisting) {
|
|
780
|
+
this.log(`${chalk.yellow('\nUnable to find ')}${filePath}.${chalk.yellow(errorMessage)}\n`);
|
|
781
|
+
// return a noop.
|
|
782
|
+
const noop = () => noop;
|
|
783
|
+
return noop;
|
|
784
|
+
}
|
|
785
|
+
if (!create || transformCallbacks.length === 0) {
|
|
786
|
+
throw new Error(`Unable to find ${filePath}. ${errorMessage}`);
|
|
787
|
+
}
|
|
788
|
+
// allow to edit non existing files
|
|
789
|
+
originalContent = '';
|
|
790
|
+
}
|
|
791
|
+
let newContent = originalContent;
|
|
792
|
+
const writeCallback = (...callbacks) => {
|
|
793
|
+
try {
|
|
794
|
+
newContent = joinCallbacks(...callbacks).call(this, newContent, filePath);
|
|
795
|
+
if (actualOptions.assertModified && originalContent === newContent) {
|
|
796
|
+
throw new Error(`Fail to edit file '${file}'.`);
|
|
797
|
+
}
|
|
798
|
+
this.writeDestination(filePath, newContent);
|
|
799
|
+
}
|
|
800
|
+
catch (error) {
|
|
801
|
+
if (error instanceof Error) {
|
|
802
|
+
throw new Error(`Error editing file ${filePath}: ${error.message} at ${error.stack}`);
|
|
803
|
+
}
|
|
804
|
+
throw new Error(`Unknown Error ${error}`);
|
|
805
|
+
}
|
|
806
|
+
return writeCallback;
|
|
807
|
+
};
|
|
808
|
+
return writeCallback(...transformCallbacks);
|
|
809
|
+
}
|
|
810
|
+
/**
|
|
811
|
+
* Convert value to a yaml and write to destination
|
|
812
|
+
*/
|
|
813
|
+
writeDestinationYaml(filepath, value) {
|
|
814
|
+
this.writeDestination(filepath, stringifyYaml(value));
|
|
815
|
+
}
|
|
816
|
+
/**
|
|
817
|
+
* Merge value to an existing yaml and write to destination
|
|
818
|
+
* Removes every comment (due to parsing/merging process) except the at the top of the file.
|
|
819
|
+
*/
|
|
820
|
+
mergeDestinationYaml(filepath, value) {
|
|
821
|
+
this.editFile(filepath, content => {
|
|
822
|
+
const lines = content.split('\n');
|
|
823
|
+
const headerComments = [];
|
|
824
|
+
lines.find(line => {
|
|
825
|
+
if (line.startsWith('#')) {
|
|
826
|
+
headerComments.push(line);
|
|
827
|
+
return false;
|
|
828
|
+
}
|
|
829
|
+
return true;
|
|
830
|
+
});
|
|
831
|
+
return headerComments.join('\n').concat('\n', stringifyYaml(merge(parseYaml(content), value)));
|
|
832
|
+
});
|
|
833
|
+
}
|
|
834
|
+
/**
|
|
835
|
+
* Merge value to an existing json and write to destination
|
|
836
|
+
*/
|
|
837
|
+
mergeDestinationJson(filepath, value) {
|
|
838
|
+
this.editFile(filepath, { create: true }, content => {
|
|
839
|
+
return JSON.stringify(merge(content ? JSON.parse(content) : {}, value), null, 2);
|
|
840
|
+
});
|
|
841
|
+
}
|
|
842
|
+
/**
|
|
843
|
+
* Shallow clone or convert dependencies to placeholder if needed.
|
|
844
|
+
*/
|
|
845
|
+
prepareDependencies(map, valuePlaceholder = value => `${_.snakeCase(value).toUpperCase()}_VERSION`) {
|
|
846
|
+
if (this.useVersionPlaceholders) {
|
|
847
|
+
return Object.fromEntries(Object.keys(map).map(dep => [dep, valuePlaceholder(dep)]));
|
|
848
|
+
}
|
|
849
|
+
return {
|
|
850
|
+
...map,
|
|
851
|
+
};
|
|
852
|
+
}
|
|
853
|
+
loadNodeDependencies(destination, source) {
|
|
854
|
+
Object.assign(destination, this.prepareDependencies(source));
|
|
855
|
+
}
|
|
856
|
+
loadNodeDependenciesFromPackageJson(destination, packageJsonFile = this.templatePath('../resources/package.json')) {
|
|
857
|
+
const { devDependencies, dependencies } = this.fs.readJSON(packageJsonFile, {});
|
|
858
|
+
this.loadNodeDependencies(destination, { ...devDependencies, ...dependencies });
|
|
859
|
+
}
|
|
860
|
+
/**
|
|
861
|
+
* Print ValidationResult info/warnings or throw result Error.
|
|
862
|
+
*/
|
|
863
|
+
validateResult(result, { throwOnError = true } = {}) {
|
|
864
|
+
// Don't print check info by default for cleaner outputs.
|
|
865
|
+
if (result.debug) {
|
|
866
|
+
if (Array.isArray(result.debug)) {
|
|
867
|
+
for (const debug of result.debug) {
|
|
868
|
+
this.log.debug(debug);
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
else {
|
|
872
|
+
this.log.debug(result.debug);
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
if (result.info) {
|
|
876
|
+
if (Array.isArray(result.info)) {
|
|
877
|
+
for (const info of result.info) {
|
|
878
|
+
this.log.info(info);
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
else {
|
|
882
|
+
this.log.info(result.info);
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
if (result.warning) {
|
|
886
|
+
if (Array.isArray(result.warning)) {
|
|
887
|
+
for (const warning of result.warning) {
|
|
888
|
+
this.log.warn(warning);
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
else {
|
|
892
|
+
this.log.warn(result.warning);
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
if (result.error) {
|
|
896
|
+
if (Array.isArray(result.error)) {
|
|
897
|
+
if (throwOnError && result.error.length > 0) {
|
|
898
|
+
throw new Error(result.error[0]);
|
|
899
|
+
}
|
|
900
|
+
for (const error of result.error) {
|
|
901
|
+
this.log.warn(error);
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
else if (throwOnError) {
|
|
905
|
+
throw new Error(result.error);
|
|
906
|
+
}
|
|
907
|
+
else {
|
|
908
|
+
this.log.warn(result.error);
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
/**
|
|
913
|
+
* Checks if there is a newer JHipster version available.
|
|
914
|
+
*/
|
|
915
|
+
async checkForNewVersion() {
|
|
916
|
+
try {
|
|
917
|
+
const latestJhipster = await latestVersion(GENERATOR_JHIPSTER);
|
|
918
|
+
if (semver.lt(packageJson.version, latestJhipster)) {
|
|
919
|
+
this.log.warn(`${chalk.yellow(' ______________________________________________________________________________\n\n') +
|
|
920
|
+
chalk.yellow(' JHipster update available: ') +
|
|
921
|
+
chalk.green.bold(latestJhipster) +
|
|
922
|
+
chalk.gray(` (current: ${packageJson.version})`)}\n`);
|
|
923
|
+
this.log.log(chalk.yellow(` Run ${chalk.magenta(`npm install -g ${GENERATOR_JHIPSTER}`)} to update.\n`));
|
|
924
|
+
this.log.log(chalk.yellow(' ______________________________________________________________________________\n'));
|
|
925
|
+
}
|
|
926
|
+
}
|
|
927
|
+
catch {
|
|
928
|
+
// Ignore error
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
/**
|
|
932
|
+
* Create a simple-git instance using current destinationPath as baseDir.
|
|
933
|
+
*/
|
|
934
|
+
createGit() {
|
|
935
|
+
return simpleGit({ baseDir: this.destinationPath() }).env({
|
|
936
|
+
...process.env,
|
|
937
|
+
LANG: 'en',
|
|
938
|
+
});
|
|
939
|
+
}
|
|
940
|
+
calculateApplicationId(applicationPath) {
|
|
941
|
+
const dirname = basename(applicationPath);
|
|
942
|
+
return `${createHash('shake256', { outputLength: 1 }).update(applicationPath, 'utf8').digest('hex')}-${dirname}`;
|
|
943
|
+
}
|
|
944
|
+
getSharedApplication(applicationFolder = this.destinationPath()) {
|
|
945
|
+
return this.options.sharedData.applications?.[this.calculateApplicationId(applicationFolder)];
|
|
946
|
+
}
|
|
947
|
+
createSharedData({ jhipsterOldVersion, help, }) {
|
|
948
|
+
const applicationId = this.options.applicationId ?? this.calculateApplicationId(this.destinationPath());
|
|
949
|
+
if (this.options.sharedData.applications === undefined) {
|
|
950
|
+
this.options.sharedData.applications = {};
|
|
951
|
+
}
|
|
952
|
+
const sharedApplications = help ? {} : this.options.sharedData.applications;
|
|
953
|
+
if (!sharedApplications[applicationId]) {
|
|
954
|
+
sharedApplications[applicationId] = {};
|
|
955
|
+
}
|
|
956
|
+
const { ignoreNeedlesError } = this.options;
|
|
957
|
+
return new SharedData(sharedApplications[applicationId], { jhipsterOldVersion, ignoreNeedlesError });
|
|
958
|
+
}
|
|
959
|
+
}
|