generator-jhipster 8.2.1 → 8.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/environment-builder.mjs +3 -3
- package/dist/cli/jhipster-command.mjs +1 -2
- package/dist/cli/jhipster.cjs +0 -0
- package/dist/generators/angular/command.js +5 -0
- package/dist/generators/angular/generator.js +36 -9
- package/dist/generators/angular/index.js +1 -0
- package/dist/generators/angular/needle-api/needle-client-angular.js +3 -3
- package/dist/generators/angular/resources/package.json +13 -10
- package/dist/generators/angular/support/index.js +0 -1
- package/dist/generators/angular/support/translate-angular.js +142 -8
- package/dist/generators/angular/templates/package.json.ejs +0 -10
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +1 -1
- 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-strength-bar/password-strength-bar.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +18 -26
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +18 -25
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +10 -15
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +31 -46
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -8
- package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +20 -31
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +1 -1
- 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/configuration/configuration.service.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -7
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.html.ejs +7 -12
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.model.ts.ejs +9 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +5 -9
- 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 +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.ts.ejs +3 -3
- 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 +12 -12
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +36 -36
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +33 -33
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.ts.ejs +3 -3
- 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-request/metrics-request.component.html.ejs +8 -8
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +13 -13
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.ts.ejs +3 -3
- 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/tracker/tracker.component.html.ejs +6 -6
- package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +2 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +26 -26
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -18
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +1 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +20 -34
- package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +0 -2
- package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +7 -7
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +25 -25
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +14 -14
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +0 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +1 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +17 -24
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +0 -2
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +14 -15
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +1 -5
- 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/main/main.component.spec.ts.ejs +11 -18
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.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.spec.ts.ejs +0 -2
- 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 +11 -12
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +1 -2
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.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.component.ts.ejs +1 -1
- package/dist/generators/app/generator.js +4 -4
- package/dist/generators/base/generator.js +21 -2
- package/dist/generators/base/shared-data.js +1 -2
- package/dist/generators/base/support/basename.js +1 -2
- package/dist/generators/base/support/needles.js +3 -5
- package/dist/generators/base/support/string.js +2 -2
- package/dist/generators/base-application/generator.js +4 -4
- package/dist/generators/base-application/support/entity.js +1 -2
- package/dist/generators/base-application/support/enum.js +2 -2
- package/dist/generators/base-application/support/prepare-entity.js +1 -1
- package/dist/generators/base-application/support/prepare-field.js +5 -6
- package/dist/generators/base-application/support/relationship.js +1 -2
- package/dist/generators/base-application/support/task-type-inference.js +6 -0
- package/dist/generators/base-core/generator.js +83 -14
- package/dist/generators/base-workspaces/internal/deployments.js +2 -2
- package/dist/generators/base-workspaces/internal/docker-dependencies.js +2 -2
- package/dist/generators/bootstrap/generator.js +4 -5
- package/dist/generators/bootstrap/internal/transform-utils.js +4 -0
- package/dist/generators/bootstrap/support/eslint-transform.js +2 -1
- package/dist/generators/bootstrap/support/java-unused-imports-transform.js +2 -1
- package/dist/generators/bootstrap/support/prettier-worker.js +2 -4
- package/dist/generators/bootstrap-application/generator.js +3 -4
- package/dist/generators/bootstrap-application-base/generator.js +4 -5
- package/dist/generators/bootstrap-application-base/utils.js +3 -3
- package/dist/generators/bootstrap-application-client/generator.js +2 -3
- package/dist/generators/bootstrap-application-server/generator.js +21 -15
- package/dist/generators/bootstrap-workspaces/generator.js +1 -2
- package/dist/generators/ci-cd/command.js +1 -2
- package/dist/generators/ci-cd/generator.js +3 -3
- package/dist/generators/client/command.js +1 -2
- package/dist/generators/client/generator.js +12 -12
- package/dist/generators/client/needle-api/needle-client-vue.js +2 -2
- package/dist/generators/client/resources/package.json +4 -4
- package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
- package/dist/generators/common/generator.js +5 -5
- package/dist/generators/common/resources/package.json +1 -1
- package/dist/generators/cucumber/generator.js +17 -10
- package/dist/generators/cucumber/templates/buildSrc/src/main/groovy/jhipster.cucumber-conventions.gradle.ejs +1 -5
- package/dist/generators/cypress/generator.js +2 -3
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/administration/administration.cy.ts.ejs +10 -0
- package/dist/generators/docker/generator.js +4 -6
- package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +0 -32
- package/dist/generators/docker/utils.js +2 -3
- package/dist/generators/docker-compose/generator.js +4 -5
- package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +0 -32
- package/dist/generators/entities/generator.js +4 -4
- package/dist/generators/entity/generator.js +10 -9
- package/dist/generators/entity/prompts.js +12 -12
- package/dist/generators/feign-client/generator.js +3 -4
- package/dist/generators/gatling/generator.js +2 -3
- package/dist/generators/generate-blueprint/files.js +1 -0
- package/dist/generators/generate-blueprint/generator.js +3 -4
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +3 -2
- package/dist/generators/generate-blueprint/templates/generators/generator/command.mjs.ejs +19 -1
- package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +6 -0
- package/dist/generators/generator-constants.js +5 -2
- package/dist/generators/git/generator.js +3 -5
- package/dist/generators/gradle/command.js +32 -0
- package/dist/generators/gradle/constants.js +0 -1
- package/dist/generators/gradle/files.js +2 -8
- package/dist/generators/gradle/generator.js +85 -13
- package/dist/generators/gradle/generators/code-quality/generator.js +86 -0
- package/dist/generators/{java/cleanup.js → gradle/generators/code-quality/index.js} +1 -5
- package/dist/generators/gradle/generators/jib/generator.js +64 -0
- package/dist/generators/gradle/generators/jib/index.js +19 -0
- package/dist/generators/gradle/generators/node-gradle/generator.js +64 -0
- package/dist/generators/gradle/generators/node-gradle/index.js +19 -0
- package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +101 -0
- package/dist/generators/gradle/index.js +1 -0
- package/dist/generators/gradle/internal/needles.js +9 -3
- package/dist/generators/gradle/templates/buildSrc/build.gradle.ejs +3 -2
- package/dist/generators/gradle/templates/buildSrc/gradle/libs.versions.toml.ejs +8 -1
- package/dist/generators/gradle/templates/gradle/wrapper/{gradle-wrapper.properties.ejs → gradle-wrapper.properties} +1 -1
- package/dist/generators/heroku/generator.js +3 -3
- package/dist/generators/init/generator.js +3 -4
- package/dist/generators/init/resources/.node-version +1 -0
- package/dist/generators/java/command.js +2 -38
- package/dist/generators/java/generator.js +5 -260
- package/dist/generators/java/generators/bootstrap/command.js +35 -0
- package/dist/generators/java/generators/bootstrap/generator.js +178 -0
- package/dist/generators/java/generators/bootstrap/index.js +20 -0
- package/dist/generators/java/generators/build-tool/command.js +42 -0
- package/dist/generators/java/generators/build-tool/generator.js +143 -0
- package/dist/generators/java/generators/build-tool/index.js +20 -0
- package/dist/generators/java/generators/code-quality/command.js +5 -0
- package/dist/generators/java/generators/code-quality/generator.js +91 -0
- package/dist/generators/java/generators/code-quality/index.js +20 -0
- package/dist/generators/java/generators/domain/command.js +30 -0
- package/dist/generators/java/{entity-files.js → generators/domain/entity-files.js} +1 -1
- package/dist/generators/java/generators/domain/generator.js +153 -0
- package/dist/generators/java/generators/domain/index.js +20 -0
- package/dist/generators/java/generators/jib/command.js +5 -0
- package/dist/generators/java/generators/jib/generator.js +97 -0
- package/dist/generators/java/generators/jib/index.js +20 -0
- package/dist/generators/{server → java/generators/jib}/templates/src/main/docker/jib/entrypoint.sh.ejs +2 -0
- package/dist/generators/java/generators/node/command.js +5 -0
- package/dist/generators/java/generators/node/generator.js +97 -0
- package/dist/generators/java/generators/node/index.js +20 -0
- package/dist/generators/java/support/index.js +1 -0
- package/dist/generators/jdl/generator.js +6 -9
- package/dist/generators/kubernetes/generator.js +1 -1
- package/dist/generators/kubernetes/kubernetes-base.js +3 -3
- package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +0 -32
- package/dist/generators/kubernetes-helm/generator.js +1 -1
- package/dist/generators/kubernetes-knative/generator.js +1 -1
- package/dist/generators/languages/entity-files.js +3 -2
- package/dist/generators/languages/generator.js +7 -10
- package/dist/generators/languages/support/translate.js +34 -9
- package/dist/generators/languages/translation-data.js +4 -5
- package/dist/generators/liquibase/generator.js +68 -25
- package/dist/generators/liquibase/support/maven-plugin.js +6 -0
- package/dist/generators/liquibase/templates/gradle/liquibase.gradle.ejs +3 -6
- package/dist/generators/maven/generator.js +14 -6
- package/dist/generators/maven/generators/code-quality/command.js +5 -0
- package/dist/generators/maven/generators/code-quality/generator.js +268 -0
- package/dist/generators/maven/generators/code-quality/index.js +20 -0
- package/dist/generators/maven/generators/frontend-plugin/command.js +5 -0
- package/dist/generators/maven/generators/frontend-plugin/generator.js +295 -0
- package/dist/generators/maven/generators/frontend-plugin/index.js +20 -0
- package/dist/generators/maven/generators/jib/command.js +5 -0
- package/dist/generators/maven/generators/jib/generator.js +136 -0
- package/dist/generators/maven/generators/jib/index.js +20 -0
- package/dist/generators/maven/internal/xml-store.js +1 -2
- package/dist/generators/maven/support/dependabot-maven.js +12 -2
- package/dist/generators/maven/support/pom-store.js +1 -2
- package/dist/generators/project-name/generator.js +9 -11
- package/dist/generators/react/generator.js +25 -6
- package/dist/generators/react/needle-api/needle-client-react.js +2 -2
- package/dist/generators/react/resources/package.json +18 -15
- package/dist/generators/react/templates/package.json.ejs +1 -7
- package/dist/generators/react/templates/src/main/webapp/app/modules/administration/tracker/tracker.tsx.ejs +2 -2
- package/dist/generators/server/command.js +2 -34
- package/dist/generators/server/generator.js +20 -154
- package/dist/generators/server/jdl/application-definition.js +1 -2
- package/dist/generators/server/prompts.js +4 -46
- package/dist/generators/server/resources/Dockerfile +7 -7
- package/dist/generators/server/resources/build.gradle +1 -0
- package/dist/generators/server/resources/gradle/libs.versions.toml +25 -7
- package/dist/generators/server/resources/pom.xml +4 -22
- package/dist/generators/server/support/prepare-field.js +1 -2
- package/dist/generators/server/templates/build.gradle.ejs +29 -143
- package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -1
- package/dist/generators/server/templates/gradle.properties.ejs +0 -7
- package/dist/generators/server/templates/pom.xml.ejs +23 -444
- package/dist/generators/server/templates/settings.gradle.ejs +0 -4
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +15 -3
- package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_imperative.java.ejs +4 -1
- package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +15 -4
- package/dist/generators/server/templates/src/test/java/_package_/IntegrationTest.java.ejs +0 -2
- package/dist/generators/server/templates/src/test/java/_package_/config/TestContainersSpringContextCustomizerFactory.java.ejs +71 -46
- package/dist/generators/server/templates/src/test/java/_package_/security/jwt/AuthenticationIntegrationTest.java.ejs +0 -3
- package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +1 -1
- package/dist/generators/spring-boot/command.js +31 -2
- package/dist/generators/spring-boot/entity-files.js +2 -2
- package/dist/generators/spring-boot/files.js +3 -38
- package/dist/generators/spring-boot/generator.js +98 -37
- package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +105 -105
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +2 -2
- package/dist/generators/spring-cache/generator.js +11 -6
- package/dist/generators/spring-cache/internal/dependencies.js +5 -0
- package/dist/generators/spring-cache/resources/build.gradle +1 -0
- package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +15 -0
- package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainersSpringContextCustomizerFactory.java.ejs +29 -13
- package/dist/generators/spring-cloud/generators/gateway/command.js +5 -0
- package/dist/generators/spring-cloud/generators/gateway/generator.js +146 -0
- package/dist/generators/spring-cloud/generators/gateway/index.js +20 -0
- package/dist/generators/spring-cloud-stream/generator.js +2 -3
- package/dist/generators/spring-cloud-stream/generators/kafka/generator.js +2 -2
- package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/config/KafkaTestContainersSpringContextCustomizerFactory.java.ejs +28 -12
- package/dist/generators/spring-cloud-stream/generators/pulsar/generator.js +2 -2
- package/dist/generators/spring-cloud-stream/generators/pulsar/templates/src/test/java/_package_/config/PulsarTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
- package/dist/generators/spring-data-cassandra/generator.js +5 -6
- package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
- package/dist/generators/spring-data-couchbase/generator.js +3 -4
- package/dist/generators/spring-data-elasticsearch/generator.js +3 -5
- package/dist/generators/spring-data-mongodb/generator.js +5 -5
- package/dist/generators/spring-data-neo4j/generator.js +11 -5
- package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainersSpringContextCustomizerFactory.java.ejs +32 -16
- package/dist/generators/spring-data-relational/generator.js +6 -7
- package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +47 -32
- package/dist/generators/spring-websocket/generator.js +2 -3
- package/dist/generators/statistics.js +2 -2
- package/dist/generators/upgrade/generator.js +4 -3
- package/dist/generators/vue/generator.js +4 -4
- package/dist/generators/vue/resources/package.json +18 -15
- package/dist/generators/vue/templates/package.json.ejs +3 -3
- package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.vue.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +4 -3
- package/dist/generators/vue/templates/vite.config.mts.ejs +6 -0
- package/dist/generators/workspaces/generator.js +5 -4
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +2 -2
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +3 -3
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +2 -2
- package/dist/jdl/jdl-importer.js +1 -2
- package/dist/jdl/jhipster/default-application-options.js +1 -1
- package/dist/jdl/jhipster/field-types.js +2 -2
- package/dist/jdl/jhipster/relationship-types.js +1 -2
- package/dist/jdl/models/jdl-deployment.js +1 -2
- package/dist/jdl/parsing/api.js +2 -2
- package/dist/jdl/parsing/lexer/token-creator.js +1 -2
- package/dist/jdl/parsing/self-checks/parsing-system-checker.js +13 -13
- package/dist/jdl/parsing/validator.js +5 -5
- package/dist/testing/get-generator.js +1 -1
- package/dist/testing/helpers.js +34 -9
- package/dist/types/generators/angular/support/index.d.ts +0 -1
- package/dist/types/generators/angular/support/translate-angular.d.ts +7 -4
- package/dist/types/generators/app/support/config.d.ts +1 -1
- package/dist/types/generators/base/api.d.ts +7 -0
- package/dist/types/generators/base/generator.d.ts +1 -1
- package/dist/types/generators/base-application/generator.d.ts +4 -4
- package/dist/types/generators/base-application/support/task-type-inference.d.ts +3 -0
- package/dist/types/generators/base-application/support/update-application-entities-transform.d.ts +1 -1
- package/dist/types/generators/base-core/generator.d.ts +33 -1
- package/dist/types/generators/bootstrap/internal/transform-utils.d.ts +1 -0
- package/dist/types/generators/bootstrap/support/java-unused-imports-transform.d.ts +1 -1
- package/dist/types/generators/bootstrap-application-base/support/export-jdl-transform.d.ts +2 -2
- package/dist/types/generators/docker/utils.d.ts +7 -0
- package/dist/types/generators/generator-constants.d.ts +2 -20
- package/dist/types/generators/gradle/types.d.ts +21 -7
- package/dist/types/generators/java/support/index.d.ts +1 -0
- package/dist/types/generators/java/types.d.ts +37 -22
- package/dist/types/generators/languages/support/translate.d.ts +29 -0
- package/dist/types/generators/maven/support/dependabot-maven.d.ts +17 -1
- package/dist/types/generators/project-name/support/name-resolver.d.ts +1 -1
- package/dist/types/generators/server/types.d.ts +2 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +0 -18
- package/dist/types/testing/helpers.d.ts +6 -0
- package/dist/types/testing/support/matrix-utils.d.ts +1 -1
- package/package.json +15 -27
- package/dist/generators/java/files.js +0 -20
- /package/dist/generators/{server → gradle/generators/code-quality}/templates/buildSrc/src/main/groovy/jhipster.code-quality-conventions.gradle.ejs +0 -0
- /package/dist/generators/{server → gradle/generators/jib}/templates/buildSrc/src/main/groovy/jhipster.docker-conventions.gradle.ejs +0 -0
- /package/dist/generators/java/{templates → generators/bootstrap/templates}/src/main/java/_package_/GeneratedByJHipster.java.ejs +0 -0
- /package/dist/generators/{server → java/generators/code-quality}/templates/checkstyle.xml.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/_global_partials_entity_/field_validators.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jackson_identity_info.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_validation.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/enumeration/_enumName_.java.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_TestSamples.java.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/domain/AssertUtils.java.ejs +0 -0
- /package/dist/generators/{server → java/generators/node}/templates/npmw +0 -0
- /package/dist/generators/{server → java/generators/node}/templates/npmw.cmd +0 -0
- /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/security/jwt/JWTRelayGatewayFilterFactory.java.ejs +0 -0
- /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/filter/ModifyServersOpenApiFilter.java.ejs +0 -0
- /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/GatewayResource.java.ejs +0 -0
- /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/vm/RouteVM.java.ejs +0 -0
- /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/test/java/_package_/web/filter/ModifyServersOpenApiFilterTest.java.ejs +0 -0
package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.spec.ts.ejs
CHANGED
|
@@ -81,7 +81,7 @@ describe('Account Service test suite', () => {
|
|
|
81
81
|
});
|
|
82
82
|
|
|
83
83
|
it('should init service and check for authority after retrieving account', async () => {
|
|
84
|
-
axiosStub.get.resolves({ status: 200, data: { authorities: ['USER'], langKey: 'en' } });
|
|
84
|
+
axiosStub.get.resolves({ status: 200, data: { authorities: ['USER'], langKey: 'en', login: 'ADMIN' } });
|
|
85
85
|
accountService = new AccountService(store);
|
|
86
86
|
await accountService.update();
|
|
87
87
|
|
|
@@ -29,7 +29,7 @@ export default class AccountService {
|
|
|
29
29
|
public async retrieveAccount(): Promise<boolean> {
|
|
30
30
|
try {
|
|
31
31
|
const response = await axios.get<any>('api/account');
|
|
32
|
-
if (response.status === 200 && response.data) {
|
|
32
|
+
if (response.status === 200 && response.data?.login) {
|
|
33
33
|
const account = response.data;
|
|
34
34
|
this.store.setAuthentication(account);
|
|
35
35
|
return true;
|
package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ComputedRef, inject, ref, watch } from 'vue';
|
|
2
2
|
import { useRouter } from 'vue-router';
|
|
3
|
-
import
|
|
3
|
+
import <% if (microfrontend) { %>* as <% } %>SockJS from 'sockjs-client';
|
|
4
4
|
import { map } from 'rxjs';
|
|
5
5
|
import { RxStomp, RxStompState } from '@stomp/rx-stomp';
|
|
6
6
|
import Cookies from 'js-cookie';
|
|
@@ -8,9 +8,9 @@ import Cookies from 'js-cookie';
|
|
|
8
8
|
const DESTINATION_TRACKER = '/topic/tracker';
|
|
9
9
|
const DESTINATION_ACTIVITY = '/topic/activity';
|
|
10
10
|
|
|
11
|
-
export const useTrackerService = ({ stomp }: { stomp?: RxStomp } = {}) => {
|
|
11
|
+
export const useTrackerService = ({ stomp, authenticated }: { stomp?: RxStomp; authenticated?: ComputedRef<boolean> } = {}) => {
|
|
12
12
|
const router = useRouter();
|
|
13
|
-
|
|
13
|
+
authenticated = authenticated ?? inject('authenticated');
|
|
14
14
|
const trackerService = new TrackerService({ stomp });
|
|
15
15
|
|
|
16
16
|
router.afterEach(to => trackerService.sendActivity(to.fullPath));
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<h2 id="tracker-page-heading" v-text="t$('tracker.title')">Real-time user activities</h2>
|
|
3
|
+
<h2 id="tracker-page-heading" v-text="t$('tracker.title')" data-cy="trackerPageHeading">Real-time user activities</h2>
|
|
4
4
|
|
|
5
5
|
<div class="table-responsive">
|
|
6
|
-
<table class="table table-striped">
|
|
6
|
+
<table class="table table-striped" data-cy="trackerTable">
|
|
7
7
|
<thead>
|
|
8
8
|
<tr>
|
|
9
9
|
<th v-text="t$('tracker.table.userlogin')">User</th>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// The Vue build version to load with the `import` command
|
|
2
2
|
// (runtime-only or standalone) has been set in webpack.common with an alias.
|
|
3
3
|
import Vue, { createApp, provide, computed, watch<% if (enableTranslation) { %>, onMounted<% } %> } from 'vue';
|
|
4
|
-
import { createPinia } from 'pinia'
|
|
4
|
+
import { createPinia, storeToRefs } from 'pinia'
|
|
5
5
|
<%_ if (enableTranslation) { _%>
|
|
6
6
|
import { useI18n } from 'vue-i18n';
|
|
7
7
|
<%_ } _%>
|
|
@@ -169,7 +169,8 @@ const app = createApp({
|
|
|
169
169
|
}
|
|
170
170
|
);
|
|
171
171
|
|
|
172
|
-
|
|
172
|
+
const { authenticated } = storeToRefs(store);
|
|
173
|
+
provide('authenticated', authenticated);
|
|
173
174
|
provide('currentUsername', computed(() => store.account?.login));
|
|
174
175
|
|
|
175
176
|
<%_ if (enableTranslation) { _%>
|
|
@@ -179,7 +180,7 @@ const app = createApp({
|
|
|
179
180
|
// jhipster-needle-add-entity-service-to-main - JHipster will import entities services here
|
|
180
181
|
<%_ if (communicationSpringWebsocket) { _%>
|
|
181
182
|
|
|
182
|
-
provide('trackerService', useTrackerService());
|
|
183
|
+
provide('trackerService', useTrackerService({ authenticated }));
|
|
183
184
|
<%_ } _%>
|
|
184
185
|
<%_ if (applicationTypeMicroservice && microfrontend) { _%>
|
|
185
186
|
provide('microfrontendI18n', false);
|
|
@@ -102,11 +102,17 @@ let config = defineConfig({
|
|
|
102
102
|
<%_ } _%>
|
|
103
103
|
<%_ if (applicationTypeGateway || applicationTypeMicroservice) { _%>
|
|
104
104
|
'/services',
|
|
105
|
+
<%_ } _%>
|
|
106
|
+
<%_ if (communicationSpringWebsocket) { _%>
|
|
107
|
+
'/websocket',
|
|
105
108
|
<%_ } _%>
|
|
106
109
|
].map(res => [
|
|
107
110
|
res,
|
|
108
111
|
{
|
|
109
112
|
target: 'http://localhost:<%= applicationTypeMicroservice ? gatewayServerPort : serverPort %>',
|
|
113
|
+
<%_ if (communicationSpringWebsocket) { _%>
|
|
114
|
+
ws: res === '/websocket',
|
|
115
|
+
<%_ } _%>
|
|
110
116
|
},
|
|
111
117
|
])
|
|
112
118
|
),
|
|
@@ -17,9 +17,8 @@
|
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
19
|
import { existsSync } from 'fs';
|
|
20
|
-
import { GENERATOR_ANGULAR, GENERATOR_BOOTSTRAP_WORKSPACES, GENERATOR_GIT
|
|
20
|
+
import { GENERATOR_ANGULAR, GENERATOR_BOOTSTRAP_WORKSPACES, GENERATOR_GIT } from '../generator-list.js';
|
|
21
21
|
import BaseWorkspacesGenerator from '../base-workspaces/index.js';
|
|
22
|
-
import command from './command.js';
|
|
23
22
|
/**
|
|
24
23
|
* Base class for a generator that can be extended through a blueprint.
|
|
25
24
|
*
|
|
@@ -34,7 +33,7 @@ export default class WorkspacesGenerator extends BaseWorkspacesGenerator {
|
|
|
34
33
|
generateWorkspaces;
|
|
35
34
|
async beforeQueue() {
|
|
36
35
|
if (!this.fromBlueprint) {
|
|
37
|
-
await this.composeWithBlueprints(
|
|
36
|
+
await this.composeWithBlueprints();
|
|
38
37
|
}
|
|
39
38
|
if (!this.delegateToBlueprint) {
|
|
40
39
|
await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_WORKSPACES, { generatorOptions: { customWorkspacesConfig: true } });
|
|
@@ -42,8 +41,10 @@ export default class WorkspacesGenerator extends BaseWorkspacesGenerator {
|
|
|
42
41
|
}
|
|
43
42
|
get initializing() {
|
|
44
43
|
return this.asInitializingTaskGroup({
|
|
44
|
+
async parseCommand() {
|
|
45
|
+
await this.parseCurrentJHipsterCommand();
|
|
46
|
+
},
|
|
45
47
|
loadConfig() {
|
|
46
|
-
this.parseJHipsterOptions(command.options);
|
|
47
48
|
// Generate workspaces file if workspace option is passed, or if workspace option is ommitted and monorepository is enabled, or if regenerating.
|
|
48
49
|
this.generateWorkspaces = (this.workspaces ?? this.jhipsterConfig.monorepository) || Boolean(this.packageJson?.get('workspaces'));
|
|
49
50
|
// When generating workspaces, save to .yo-rc.json. Use a dummy config otherwise.
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
import
|
|
19
|
+
import { capitalize } from 'lodash-es';
|
|
20
20
|
import { validations } from '../../jhipster/index.js';
|
|
21
21
|
import formatComment from '../../utils/format-utils.js';
|
|
22
22
|
import { camelCase } from '../../utils/string-utils.js';
|
|
@@ -117,7 +117,7 @@ function getFieldValidations(jdlField) {
|
|
|
117
117
|
jdlField.forEachValidation(validation => {
|
|
118
118
|
fieldValidations.fieldValidateRules.push(validation.name);
|
|
119
119
|
if (validation.name !== REQUIRED && validation.name !== UNIQUE) {
|
|
120
|
-
fieldValidations[`fieldValidateRules${
|
|
120
|
+
fieldValidations[`fieldValidateRules${capitalize(validation.name)}`] = validation.value;
|
|
121
121
|
}
|
|
122
122
|
});
|
|
123
123
|
return fieldValidations;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
import
|
|
19
|
+
import { kebabCase } from 'lodash-es';
|
|
20
20
|
import { relationshipOptions, validations } from '../../jhipster/index.js';
|
|
21
21
|
import { camelCase, lowerFirst } from '../../utils/string-utils.js';
|
|
22
22
|
const { Validations: { REQUIRED }, } = validations;
|
|
@@ -66,7 +66,7 @@ function setRelationshipsFromEntity(relatedRelationships, entityName) {
|
|
|
66
66
|
const otherSplitField = extractField(relationshipToConvert.injectedFieldInTo);
|
|
67
67
|
const convertedRelationship = {
|
|
68
68
|
relationshipSide: 'left',
|
|
69
|
-
relationshipType:
|
|
69
|
+
relationshipType: kebabCase(relationshipToConvert.type),
|
|
70
70
|
otherEntityName: camelCase(relationshipToConvert.to),
|
|
71
71
|
};
|
|
72
72
|
if (otherSplitField.relationshipName) {
|
|
@@ -94,7 +94,7 @@ function setRelationshipsToEntity(relatedRelationships, entityName) {
|
|
|
94
94
|
const otherSplitField = extractField(relationshipToConvert.injectedFieldInFrom);
|
|
95
95
|
const convertedRelationship = {
|
|
96
96
|
relationshipSide: 'right',
|
|
97
|
-
relationshipType: otherRelationshipType(
|
|
97
|
+
relationshipType: otherRelationshipType(kebabCase(relationshipToConvert.type)),
|
|
98
98
|
otherEntityName: camelCase(relationshipToConvert.from),
|
|
99
99
|
};
|
|
100
100
|
if (otherSplitField.relationshipName) {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
import
|
|
19
|
+
import { lowerFirst } from 'lodash-es';
|
|
20
20
|
import JDLObject from '../../models/jdl-object.js';
|
|
21
21
|
import JDLBinaryOption from '../../models/jdl-binary-option.js';
|
|
22
22
|
import { applicationTypes, binaryOptions } from '../../jhipster/index.js';
|
|
@@ -128,7 +128,7 @@ function fillAssociations() {
|
|
|
128
128
|
function convertAnnotationsToOptions(annotations) {
|
|
129
129
|
const result = {};
|
|
130
130
|
annotations.forEach(annotation => {
|
|
131
|
-
const annotationName =
|
|
131
|
+
const annotationName = lowerFirst(annotation.optionName);
|
|
132
132
|
const value = annotation.optionValue ? annotation.optionValue : true;
|
|
133
133
|
if (annotationName in result) {
|
|
134
134
|
const previousValue = result[annotationName];
|
package/dist/jdl/jdl-importer.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
import
|
|
19
|
+
import { uniqBy } from 'lodash-es';
|
|
20
20
|
import * as JDLReader from './readers/jdl-reader.js';
|
|
21
21
|
import ParsedJDLToJDLObjectConverter from './converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js';
|
|
22
22
|
import { readJSONFile } from './readers/json-file-reader.js';
|
|
@@ -31,7 +31,6 @@ import createWithoutApplicationValidator from './validators/jdl-without-applicat
|
|
|
31
31
|
import { applicationOptions } from './jhipster/index.js';
|
|
32
32
|
const { OptionNames } = applicationOptions;
|
|
33
33
|
const { APPLICATION_TYPE, BASE_NAME } = OptionNames;
|
|
34
|
-
const { uniqBy } = _;
|
|
35
34
|
/**
|
|
36
35
|
* Creates a new JDL importer from files.
|
|
37
36
|
* There are two ways to create an importer:
|
|
@@ -187,8 +187,8 @@ export function getServerConfigForGatewayApplication(customOptions = {}) {
|
|
|
187
187
|
options[CACHE_PROVIDER] = NO_CACHE_PROVIDER;
|
|
188
188
|
options[ENABLE_HIBERNATE_CACHE] = false;
|
|
189
189
|
return {
|
|
190
|
-
...options,
|
|
191
190
|
[REACTIVE]: true,
|
|
191
|
+
...options,
|
|
192
192
|
[APPLICATION_TYPE]: GATEWAY,
|
|
193
193
|
};
|
|
194
194
|
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
import
|
|
19
|
+
import { snakeCase } from 'lodash-es';
|
|
20
20
|
import validations from './validations.js';
|
|
21
21
|
import JDLEnum from '../models/jdl-enum.js';
|
|
22
22
|
import databaseTypes from './database-types.js';
|
|
@@ -84,7 +84,7 @@ export function isCommonDBType(type) {
|
|
|
84
84
|
if (!type) {
|
|
85
85
|
throw new Error('The passed type must not be nil.');
|
|
86
86
|
}
|
|
87
|
-
return
|
|
87
|
+
return snakeCase(type).toUpperCase() in CommonDBTypes || type instanceof JDLEnum;
|
|
88
88
|
}
|
|
89
89
|
export function isBlobType(type) {
|
|
90
90
|
if (!type) {
|
|
@@ -16,9 +16,8 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
import
|
|
19
|
+
import { camelCase, upperFirst } from 'lodash-es';
|
|
20
20
|
import { relationshipTypes } from '../basic-types/relationships.js';
|
|
21
|
-
const { camelCase, upperFirst } = _;
|
|
22
21
|
export const asJdlRelationshipType = (type) => upperFirst(camelCase(type));
|
|
23
22
|
export const relationshipTypeExists = (relationship) => Object.values(relationshipTypes).includes(relationship);
|
|
24
23
|
export default relationshipTypes;
|
|
@@ -16,12 +16,11 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
import
|
|
19
|
+
import { isEqual } from 'lodash-es';
|
|
20
20
|
import { deploymentOptions, applicationOptions, serviceDiscoveryTypes } from '../jhipster/index.js';
|
|
21
21
|
import { merge } from '../utils/object-utils.js';
|
|
22
22
|
import { join } from '../utils/set-utils.js';
|
|
23
23
|
const { Options } = deploymentOptions;
|
|
24
|
-
const { isEqual } = _;
|
|
25
24
|
const arrayTypes = ['appsFolders', 'clusteredDbApps'];
|
|
26
25
|
const NO_SERVICE_DISCOVERY = serviceDiscoveryTypes.NO;
|
|
27
26
|
export default class JDLDeployment {
|
package/dist/jdl/parsing/api.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
import
|
|
19
|
+
import { uniq } from 'lodash-es';
|
|
20
20
|
import { EOF } from 'chevrotain';
|
|
21
21
|
import JDLAstBuilderVisitor from './jdl-ast-builder-visitor.js';
|
|
22
22
|
import { JDLLexer, tokens } from './lexer/lexer.js';
|
|
@@ -78,5 +78,5 @@ export function getSyntacticAutoCompleteSuggestions(input, startRule = 'prog') {
|
|
|
78
78
|
// Each suggestion includes additional information such as the "Rule Stack" at suggestion point.
|
|
79
79
|
// This may be handy for advanced implementations, e.g: different logic for suggesting a NAME token in an entity
|
|
80
80
|
// or a field. But it is irrelevant in the scope of the POC.
|
|
81
|
-
return
|
|
81
|
+
return uniq(syntacticSuggestions.map(suggestion => suggestion.nextTokenType));
|
|
82
82
|
}
|
|
@@ -16,10 +16,9 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
import
|
|
19
|
+
import { isString } from 'lodash-es';
|
|
20
20
|
import { createToken } from 'chevrotain';
|
|
21
21
|
import { NAME, KEYWORD, namePattern } from './shared-tokens.js';
|
|
22
|
-
const { isString } = _;
|
|
23
22
|
export default function createTokenFromConfig(config) {
|
|
24
23
|
if (!config) {
|
|
25
24
|
throw new Error("Can't create a token without the proper config.");
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
import
|
|
19
|
+
import { difference, flatMap, includes, isEmpty, reject, some, uniq, values } from 'lodash-es';
|
|
20
20
|
import { Lexer } from 'chevrotain';
|
|
21
21
|
import TokenCollectorVisitor from './token-collector-visitor.js';
|
|
22
22
|
export function checkTokens(allDefinedTokens, rules) {
|
|
@@ -31,37 +31,37 @@ function getUsedTokens(rules) {
|
|
|
31
31
|
return rules.reduce((result, currentRule) => {
|
|
32
32
|
const collector = new TokenCollectorVisitor();
|
|
33
33
|
currentRule.accept(collector);
|
|
34
|
-
return
|
|
34
|
+
return uniq(result.concat(collector.actualTokens));
|
|
35
35
|
}, []);
|
|
36
36
|
}
|
|
37
37
|
function getUselessTokens(usedTokens, allDefinedTokens) {
|
|
38
|
-
const usedCategories =
|
|
38
|
+
const usedCategories = uniq(flatMap(usedTokens, 'CATEGORIES'));
|
|
39
39
|
// TODO: Calling uniq with two parameters is probably a bug.
|
|
40
40
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
41
41
|
// @ts-expect-error
|
|
42
|
-
const notDirectlyUsedTokens =
|
|
43
|
-
const redundant =
|
|
42
|
+
const notDirectlyUsedTokens = difference(allDefinedTokens, uniq(usedTokens, usedCategories));
|
|
43
|
+
const redundant = reject(notDirectlyUsedTokens, token => {
|
|
44
44
|
const tokCategories = token.CATEGORIES;
|
|
45
|
-
return
|
|
45
|
+
return some(tokCategories, category => includes(usedCategories, category));
|
|
46
46
|
});
|
|
47
|
-
return
|
|
47
|
+
return reject(redundant, tokenType => tokenType.GROUP === Lexer.SKIPPED);
|
|
48
48
|
}
|
|
49
49
|
export function checkConfigKeys(definedTokensMap, usedConfigKeys) {
|
|
50
50
|
checkForUselessConfigurationKeys(definedTokensMap, usedConfigKeys);
|
|
51
51
|
checkForMissingConfigurationKeys(definedTokensMap, usedConfigKeys);
|
|
52
52
|
}
|
|
53
53
|
function checkForUselessConfigurationKeys(definedTokensMap, usedConfigKeys) {
|
|
54
|
-
const redundantConfigKeys =
|
|
55
|
-
if (!
|
|
54
|
+
const redundantConfigKeys = difference(usedConfigKeys, Object.keys(definedTokensMap));
|
|
55
|
+
if (!isEmpty(redundantConfigKeys)) {
|
|
56
56
|
throw Error(`Useless configuration keys: [ ${redundantConfigKeys.join(', ')} ]`);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
function checkForMissingConfigurationKeys(definedTokensMap, usedConfigKeys) {
|
|
60
|
-
const definedConfigKeyNames =
|
|
61
|
-
.filter(tokenType =>
|
|
60
|
+
const definedConfigKeyNames = values(definedTokensMap)
|
|
61
|
+
.filter(tokenType => includes(tokenType.CATEGORIES, definedTokensMap.CONFIG_KEY))
|
|
62
62
|
.map(tokenType => tokenType.name);
|
|
63
|
-
const missingConfigKeys =
|
|
64
|
-
if (!
|
|
63
|
+
const missingConfigKeys = difference(definedConfigKeyNames, usedConfigKeys);
|
|
64
|
+
if (!isEmpty(missingConfigKeys)) {
|
|
65
65
|
throw Error(`Missing configuration keys: [ ${missingConfigKeys.join(', ')} ]`);
|
|
66
66
|
}
|
|
67
67
|
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
19
|
/* eslint-disable no-useless-escape */
|
|
20
|
-
import
|
|
20
|
+
import { first, flatten, includes, values } from 'lodash-es';
|
|
21
21
|
import { tokenMatcher as matchesToken } from 'chevrotain';
|
|
22
22
|
import JDLParser from './jdl-parser.js';
|
|
23
23
|
import { tokens as LexerTokens } from './lexer/lexer.js';
|
|
@@ -351,7 +351,7 @@ class JDLSyntaxValidatorVisitor extends BaseJDLCSTVisitorWithDefaults {
|
|
|
351
351
|
if (actual.name !== 'qualifiedName' &&
|
|
352
352
|
// a Boolean (true/false) is also a valid name.
|
|
353
353
|
actual.tokenType &&
|
|
354
|
-
!
|
|
354
|
+
!includes(actual.tokenType.CATEGORIES, LexerTokens.BOOLEAN)) {
|
|
355
355
|
this.errors.push({
|
|
356
356
|
message: `A name is expected, but found: "${getFirstToken(actual).image}"`,
|
|
357
357
|
token: getFirstToken(actual),
|
|
@@ -517,14 +517,14 @@ class JDLSyntaxValidatorVisitor extends BaseJDLCSTVisitorWithDefaults {
|
|
|
517
517
|
this.visit(context.configValue, context.CONFIG_KEY[0]);
|
|
518
518
|
}
|
|
519
519
|
configValue(context, configKey) {
|
|
520
|
-
const configValue =
|
|
520
|
+
const configValue = first(first(Object.values(context)));
|
|
521
521
|
this.checkConfigPropSyntax(configKey, configValue);
|
|
522
522
|
}
|
|
523
523
|
deploymentConfigDeclaration(context) {
|
|
524
524
|
this.visit(context.deploymentConfigValue, context.DEPLOYMENT_KEY[0]);
|
|
525
525
|
}
|
|
526
526
|
deploymentConfigValue(context, configKey) {
|
|
527
|
-
const configValue =
|
|
527
|
+
const configValue = first(first(values(context)));
|
|
528
528
|
this.checkDeploymentConfigPropSyntax(configKey, configValue);
|
|
529
529
|
}
|
|
530
530
|
}
|
|
@@ -542,5 +542,5 @@ function getFirstToken(tokOrCstNode) {
|
|
|
542
542
|
return tokOrCstNode;
|
|
543
543
|
}
|
|
544
544
|
// CST Node - - assumes no nested CST Nodes, only terminals
|
|
545
|
-
return
|
|
545
|
+
return flatten(Object.values(tokOrCstNode.children)).reduce((firstTok, nextTok) => (firstTok.startOffset > nextTok.startOffset ? nextTok : firstTok), { startOffset: Infinity });
|
|
546
546
|
}
|
|
@@ -4,7 +4,7 @@ import { existsSync } from 'fs';
|
|
|
4
4
|
const __filename = fileURLToPath(import.meta.url);
|
|
5
5
|
const __dirname = dirname(__filename);
|
|
6
6
|
export const getGeneratorFolder = (generatorName) => {
|
|
7
|
-
return resolve(__dirname, '../generators', generatorName);
|
|
7
|
+
return resolve(__dirname, '../generators', generatorName.split(':').join('/generators/'));
|
|
8
8
|
};
|
|
9
9
|
const getGenerator = (generatorName) => {
|
|
10
10
|
const generatorFolder = getGeneratorFolder(generatorName);
|
package/dist/testing/helpers.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { YeomanTest, RunContext, result } from 'yeoman-test';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import { merge, set } from 'lodash-es';
|
|
3
|
+
import { globSync } from 'glob';
|
|
4
|
+
import { basename, dirname, join } from 'path';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
4
6
|
import EnvironmentBuilder from '../cli/environment-builder.mjs';
|
|
5
7
|
import { JHIPSTER_CONFIG_DIR } from '../generators/generator-constants.js';
|
|
6
8
|
import { GENERATOR_WORKSPACES } from '../generators/generator-list.js';
|
|
@@ -8,12 +10,20 @@ import getGenerator from './get-generator.js';
|
|
|
8
10
|
import { createJHipsterLogger, normalizePathEnd, parseCreationTimestamp } from '../generators/base/support/index.js';
|
|
9
11
|
import BaseGenerator from '../generators/base/index.js';
|
|
10
12
|
import { getPackageRoot, isDistFolder } from '../lib/index.js';
|
|
11
|
-
const { set } = _;
|
|
12
13
|
const runResult = result;
|
|
13
14
|
export { runResult, runResult as result };
|
|
14
15
|
const DEFAULT_TEST_SETTINGS = { forwardCwd: true };
|
|
15
16
|
const DEFAULT_TEST_OPTIONS = { skipInstall: true };
|
|
16
17
|
const DEFAULT_TEST_ENV_OPTIONS = { skipInstall: true, dryRun: false };
|
|
18
|
+
const generatorsDir = join(fileURLToPath(import.meta.url), '../../generators');
|
|
19
|
+
const mockedGenerators = [
|
|
20
|
+
...globSync('*/index.{j,t}s', { cwd: generatorsDir, posix: true }).map(file => dirname(file)),
|
|
21
|
+
...globSync('*/generators/*/index.{j,t}s', { cwd: generatorsDir, posix: true }).map(file => dirname(file).replace('/generators/', ':')),
|
|
22
|
+
]
|
|
23
|
+
.filter(gen => !gen.startsWith('bootstrap-'))
|
|
24
|
+
.map(gen => `jhipster:${gen}`)
|
|
25
|
+
.sort();
|
|
26
|
+
const defaultSharedApplication = Object.fromEntries(['CLIENT_WEBPACK_DIR'].map(key => [key, undefined]));
|
|
17
27
|
let defaultMockFactory;
|
|
18
28
|
export const defineDefaults = async ({ mockFactory } = {}) => {
|
|
19
29
|
if (mockFactory) {
|
|
@@ -165,10 +175,25 @@ class JHipsterRunContext extends RunContext {
|
|
|
165
175
|
return this.withSharedData({ control: this.sharedControl });
|
|
166
176
|
}
|
|
167
177
|
withSharedApplication(sharedApplication) {
|
|
168
|
-
this.sharedApplication = this.sharedApplication ?? {};
|
|
169
|
-
|
|
178
|
+
this.sharedApplication = this.sharedApplication ?? { ...defaultSharedApplication };
|
|
179
|
+
merge(this.sharedApplication, sharedApplication);
|
|
170
180
|
return this.withSharedData({ sharedApplication: this.sharedApplication });
|
|
171
181
|
}
|
|
182
|
+
withMockedJHipsterGenerators(exceptList = []) {
|
|
183
|
+
return this.withMockedGenerators(mockedGenerators.filter(gen => !exceptList.includes(gen) && this.Generator !== gen));
|
|
184
|
+
}
|
|
185
|
+
withGradleBuildTool() {
|
|
186
|
+
return this.withFiles({
|
|
187
|
+
'build.gradle': `
|
|
188
|
+
dependencies {
|
|
189
|
+
// jhipster-needle-gradle-dependency
|
|
190
|
+
}
|
|
191
|
+
plugins {
|
|
192
|
+
// jhipster-needle-gradle-plugins
|
|
193
|
+
}
|
|
194
|
+
`,
|
|
195
|
+
}).withJHipsterConfig({ buildTool: 'gradle' });
|
|
196
|
+
}
|
|
172
197
|
withSharedData(sharedData) {
|
|
173
198
|
if (!this.sharedData) {
|
|
174
199
|
const applicationId = 'test-application';
|
|
@@ -182,7 +207,7 @@ class JHipsterRunContext extends RunContext {
|
|
|
182
207
|
return this;
|
|
183
208
|
}
|
|
184
209
|
async run() {
|
|
185
|
-
const runResult = await super.run();
|
|
210
|
+
const runResult = (await super.run());
|
|
186
211
|
if (this.sharedSource) {
|
|
187
212
|
const sourceCallsArg = Object.fromEntries(Object.entries(this.sharedSource).map(([name, fn]) => [name, fn.mock.calls.map(args => args[0])]));
|
|
188
213
|
if (sourceCallsArg.addEntitiesToClient) {
|
|
@@ -197,9 +222,9 @@ class JHipsterRunContext extends RunContext {
|
|
|
197
222
|
relationships: relationships.map(rel => `Relationship[${rel.relationshipName}]`),
|
|
198
223
|
}));
|
|
199
224
|
}
|
|
200
|
-
|
|
201
|
-
jhipsterRunResult.sourceCallsArg = sourceCallsArg;
|
|
225
|
+
runResult.sourceCallsArg = sourceCallsArg;
|
|
202
226
|
}
|
|
227
|
+
runResult.composedMockedGenerators = mockedGenerators.filter(gen => runResult.mockedGenerators[gen]?.called && !['jhipster:bootstrap', 'jhipster:project-name'].includes(gen));
|
|
203
228
|
return runResult;
|
|
204
229
|
}
|
|
205
230
|
}
|
|
@@ -220,7 +245,7 @@ class JHipsterTest extends YeomanTest {
|
|
|
220
245
|
class BlueprintedGenerator extends BaseGenerator {
|
|
221
246
|
async beforeQueue() {
|
|
222
247
|
if (!this.fromBlueprint) {
|
|
223
|
-
await this.composeWithBlueprints(
|
|
248
|
+
await this.composeWithBlueprints();
|
|
224
249
|
}
|
|
225
250
|
}
|
|
226
251
|
rootGeneratorName() {
|
|
@@ -20,5 +20,4 @@ export * from './needles.js';
|
|
|
20
20
|
export * from './path-utils.js';
|
|
21
21
|
export * from './reserved-keywords.js';
|
|
22
22
|
export * from './translate-angular.js';
|
|
23
|
-
export { default as translateAngularFilesTransform } from './translate-angular.js';
|
|
24
23
|
export { default as updateLanguagesTask } from './update-languages.js';
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
export type ReplacerOptions = {
|
|
3
|
+
jhiPrefix: string;
|
|
4
|
+
enableTranslation: boolean;
|
|
5
|
+
};
|
|
2
6
|
/**
|
|
3
7
|
* Replace and cleanup translations.
|
|
4
8
|
*
|
|
5
9
|
* @type {import('../generator-base.js').EditFileCallback}
|
|
6
10
|
* @this {import('../generator-base.js')}
|
|
7
11
|
*/
|
|
8
|
-
export const createTranslationReplacer: any;
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
declare function translateAngularFilesTransform(getWebappTranslation: any, enableTranslation: any): import("stream").Transform;
|
|
12
|
+
export declare const createTranslationReplacer: (getWebappTranslation: any, opts: ReplacerOptions | boolean) => (content: any, filePath: any) => any;
|
|
13
|
+
export declare const isTranslatedAngularFile: (file: any) => boolean;
|
|
14
|
+
export declare const translateAngularFilesTransform: (getWebappTranslation: any, opts: ReplacerOptions | boolean) => import("stream").Transform;
|
|
@@ -17,7 +17,7 @@ export declare function loadStoredAppOptions(this: any, { options, jhipsterConfi
|
|
|
17
17
|
export declare const loadAppConfig: ({ config, application, useVersionPlaceholders, }: {
|
|
18
18
|
config: any;
|
|
19
19
|
application: any;
|
|
20
|
-
useVersionPlaceholders?: boolean
|
|
20
|
+
useVersionPlaceholders?: boolean;
|
|
21
21
|
}) => void;
|
|
22
22
|
/**
|
|
23
23
|
* @param {Object} dest - destination context to use default is context
|
|
@@ -196,6 +196,7 @@ export type PromptSpec = {
|
|
|
196
196
|
default?: any | ((any) => any);
|
|
197
197
|
filter?: any | ((any) => any);
|
|
198
198
|
transformer?: any | ((any) => any);
|
|
199
|
+
validate?: any | ((any) => any);
|
|
199
200
|
};
|
|
200
201
|
|
|
201
202
|
export type JHipsterArgumentConfig = SetOptional<ArgumentSpec, 'name'> & { scope?: 'storage' | 'blueprint' | 'generator' };
|
|
@@ -231,6 +232,12 @@ export type JHipsterCommandDefinition = {
|
|
|
231
232
|
* @example ['server', 'jhipster-blueprint:server']
|
|
232
233
|
*/
|
|
233
234
|
import?: string[];
|
|
235
|
+
/**
|
|
236
|
+
* @experimental
|
|
237
|
+
* Compose with generator.
|
|
238
|
+
* @example ['server', 'jhipster-blueprint:server']
|
|
239
|
+
*/
|
|
240
|
+
compose?: string[];
|
|
234
241
|
/**
|
|
235
242
|
* Override options from the generator been blueprinted.
|
|
236
243
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ComposeOptions } from 'yeoman-generator';
|
|
2
2
|
import { BaseGeneratorDefinition, GenericTaskGroup } from './tasks.js';
|
|
3
|
-
import { JHipsterGeneratorFeatures, JHipsterGeneratorOptions } from './api.js';
|
|
3
|
+
import type { JHipsterGeneratorFeatures, JHipsterGeneratorOptions } from './api.js';
|
|
4
4
|
import CoreGenerator from '../base-core/index.js';
|
|
5
5
|
/**
|
|
6
6
|
* Base class that contains blueprints support.
|
|
@@ -27,10 +27,10 @@ export default class BaseApplicationGenerator<Definition extends BaseApplication
|
|
|
27
27
|
static WRITING_ENTITIES: string;
|
|
28
28
|
static POST_WRITING_ENTITIES: string;
|
|
29
29
|
constructor(args: string | string[], options: JHipsterGeneratorOptions, features: JHipsterGeneratorFeatures);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
dependsOnBootstrapApplication(options?: ComposeOptions | undefined): Promise<import("@yeoman/types").BaseGenerator[]>;
|
|
31
|
+
dependsOnBootstrapApplicationBase(options?: ComposeOptions | undefined): Promise<import("@yeoman/types").BaseGenerator[]>;
|
|
32
|
+
dependsOnBootstrapApplicationServer(options?: ComposeOptions | undefined): Promise<import("@yeoman/types").BaseGenerator[]>;
|
|
33
|
+
dependsOnBootstrapApplicationClient(options?: ComposeOptions | undefined): Promise<import("@yeoman/types").BaseGenerator[]>;
|
|
34
34
|
/**
|
|
35
35
|
* Get Entities configuration path
|
|
36
36
|
* @returns
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import CoreGenerator from '../../base-core/generator.js';
|
|
2
|
+
import { WriteFileSection, WriteFileBlock } from '../../base/api.js';
|
|
2
3
|
import { GeneratorDefinition } from '../generator.js';
|
|
4
|
+
export declare function asWriteFilesSection<Data = GeneratorDefinition['writingTaskParam']['application']>(section: WriteFileSection<CoreGenerator, Data>): WriteFileSection<CoreGenerator, Data>;
|
|
5
|
+
export declare function asWriteFilesBlock<Data = GeneratorDefinition['writingTaskParam']['application']>(section: WriteFileBlock<CoreGenerator, Data>): WriteFileBlock<CoreGenerator, Data>;
|
|
3
6
|
export declare function asInitializingTask(task: (this: CoreGenerator, params: GeneratorDefinition['initializingTaskParam']) => void): (this: CoreGenerator, params: GeneratorDefinition['initializingTaskParam']) => void;
|
|
4
7
|
export declare function asPromptingTask(task: (this: CoreGenerator, params: GeneratorDefinition['promptingTaskParam']) => void): (this: CoreGenerator, params: GeneratorDefinition['promptingTaskParam']) => void;
|
|
5
8
|
export declare function asConfiguringTask(task: (this: CoreGenerator, params: GeneratorDefinition['configuringTaskParam']) => void): (this: CoreGenerator, params: GeneratorDefinition['configuringTaskParam']) => void;
|