generator-jhipster 7.6.0 → 7.8.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 +1 -4
- package/cli/commands.js +3 -0
- package/cli/environment-builder.js +53 -18
- package/cli/import-jdl.js +3 -0
- package/cli/index.mjs +20 -0
- package/cli/jhipster.js +19 -11
- package/cli/program.js +94 -38
- package/generators/app/esm.mjs +1 -3
- package/generators/app/index.js +11 -16
- package/generators/aws/esm.mjs +1 -3
- package/generators/azure-app-service/esm.mjs +1 -3
- package/generators/azure-spring-cloud/esm.mjs +1 -3
- package/generators/base/esm.mjs +1 -3
- package/generators/bootstrap/esm.mjs +1 -3
- package/generators/bootstrap/index.js +36 -86
- package/generators/bootstrap-application/esm.mjs +19 -0
- package/generators/bootstrap-application/generator.mjs +353 -0
- package/generators/bootstrap-application/index.mjs +19 -0
- package/generators/ci-cd/esm.mjs +1 -3
- package/generators/ci-cd/index.js +1 -1
- package/generators/ci-cd/prompts.js +1 -1
- package/generators/ci-cd/templates/github-actions.yml.ejs +6 -6
- package/generators/client/esm.mjs +5 -3
- package/generators/client/files-angular.js +9 -0
- package/generators/client/files-common.js +9 -9
- package/generators/client/files-react.js +25 -2
- package/generators/client/files-vue.js +7 -6
- package/generators/client/index.js +3 -2
- package/generators/client/needle-api/needle-client-react.js +11 -8
- package/generators/client/templates/angular/angular.json.ejs +2 -10
- package/generators/client/templates/angular/jest.conf.js.ejs +1 -1
- package/generators/client/templates/angular/package.json +29 -27
- package/generators/client/templates/angular/package.json.ejs +6 -2
- package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.html.ejs +7 -7
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +3 -3
- package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.html.ejs +10 -10
- package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.html.ejs +8 -8
- package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +6 -6
- package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.html.ejs +51 -49
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +16 -16
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +32 -32
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +18 -18
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +12 -12
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +8 -8
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +11 -11
- package/generators/client/templates/angular/src/main/webapp/app/core/util/data-util.service.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +4 -2
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs +0 -6
- package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.scss.ejs +0 -6
- package/generators/client/templates/angular/src/main/webapp/app/login/login.component.html.ejs +3 -3
- package/generators/client/templates/angular/src/main/webapp/content/scss/_bootstrap-variables.scss.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/content/scss/global.scss.ejs +29 -0
- package/generators/client/templates/angular/src/main/webapp/content/scss/vendor.scss.ejs +0 -4
- package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +31 -1
- package/generators/client/templates/common/package.json +7 -6
- package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +1 -7
- package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +2 -3
- package/generators/client/templates/react/.eslintrc.json.ejs +1 -1
- package/generators/client/templates/react/jest.conf.js.ejs +1 -1
- package/generators/client/templates/react/package.json +44 -45
- package/generators/client/templates/react/package.json.ejs +1 -0
- package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/config/store.ts.ejs +53 -6
- package/generators/client/templates/react/src/main/webapp/app/config/translation-middleware.ts.ejs +58 -0
- package/generators/client/templates/react/src/main/webapp/app/entities/menu.tsx.ejs +45 -0
- package/generators/client/templates/react/src/main/webapp/app/entities/reducers.ts.ejs +25 -0
- package/generators/client/templates/react/src/main/webapp/app/entities/routes.tsx.ejs +47 -0
- package/generators/client/templates/react/src/main/webapp/app/index.tsx.ejs +7 -7
- package/generators/client/templates/react/src/main/webapp/app/main.tsx.ejs +19 -0
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/logs/logs.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +2 -1
- package/generators/client/templates/react/src/main/webapp/app/modules/login/login-modal.tsx.ejs +5 -1
- package/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs +24 -7
- package/generators/client/templates/react/src/main/webapp/app/shared/error/error-loading.tsx.ejs +15 -0
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/entities.tsx.ejs +34 -6
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/index.ts.ejs +9 -2
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +9 -3
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.ts.ejs +21 -5
- package/generators/client/templates/react/src/main/webapp/app/typings.d.ts.ejs +15 -0
- package/generators/client/templates/react/src/main/webapp/microfrontends/entities-menu.tsx.ejs +3 -0
- package/generators/client/templates/react/src/main/webapp/microfrontends/entities-routes.tsx.ejs +3 -0
- package/generators/client/templates/react/tsconfig.json.ejs +3 -3
- package/generators/client/templates/react/tsconfig.test.json.ejs +9 -1
- package/generators/client/templates/react/webpack/webpack.common.js.ejs +6 -13
- package/generators/client/templates/react/webpack/webpack.dev.js.ejs +7 -8
- package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +99 -0
- package/generators/client/templates/react/webpack/webpack.prod.js.ejs +31 -21
- package/generators/client/templates/vue/package.json +30 -31
- package/generators/client/templates/vue/package.json.ejs +1 -1
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +4 -3
- package/generators/client/templates/vue/src/main/webapp/app/entities/user/user.service.ts.ejs +0 -0
- package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +29 -1
- package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +2 -2
- package/generators/client/templates/vue/src/main/webapp/app/shared/config/config.ts.ejs +0 -4
- package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +1 -1
- package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +2 -2
- package/generators/client/templates/vue/tsconfig.json.ejs +0 -3
- package/generators/client/templates/vue/webpack/webpack.common.js.ejs +6 -2
- package/generators/cloudfoundry/esm.mjs +1 -3
- package/generators/common/esm.mjs +2 -3
- package/generators/common/files.js +1 -2
- package/generators/common/index.js +6 -0
- package/generators/common/templates/.husky/{pre-commit → pre-commit.ejs} +4 -0
- package/generators/common/templates/README.md.jhi.ejs +3 -1
- package/generators/common/templates/package.json +4 -4
- package/generators/common/templates/sonar-project.properties.ejs +1 -1
- package/generators/cypress/esm.mjs +2 -3
- package/generators/cypress/files.js +2 -1
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +18 -14
- package/generators/database-changelog/esm.mjs +1 -3
- package/generators/database-changelog/index.js +1 -1
- package/generators/database-changelog-liquibase/esm.mjs +2 -3
- package/generators/docker-compose/esm.mjs +1 -3
- package/generators/docker-compose/index.js +9 -5
- package/generators/entities/esm.mjs +1 -3
- package/generators/entities/index.js +2 -2
- package/generators/entities-client/esm.mjs +1 -3
- package/generators/entity/esm.mjs +1 -3
- package/generators/entity/index.js +39 -28
- package/generators/entity/prompts.js +4 -1
- package/generators/entity-client/esm.mjs +2 -3
- package/generators/entity-client/index.js +8 -0
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.html.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +2 -2
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +20 -21
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +14 -16
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +3 -3
- package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +2 -1
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +3 -3
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-detail.tsx.ejs +5 -4
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-reducer.spec.ts.ejs +1 -1
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +20 -19
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs +2 -2
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +21 -20
- package/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity-update-page-object.ts.ejs +1 -1
- package/generators/entity-client/templates/vue/src/test/javascript/e2e/entities/entity-update-page-object.ts.ejs +1 -1
- package/generators/entity-client/templates/vue/src/test/javascript/e2e/entities/entity.spec.ts.ejs +1 -1
- package/generators/entity-i18n/esm.mjs +2 -3
- package/generators/entity-i18n/templates/i18n/entity_fr.json.ejs +1 -1
- package/generators/entity-server/esm.mjs +2 -3
- package/generators/entity-server/files-couchbase.js +23 -2
- package/generators/entity-server/files.js +40 -6
- package/generators/entity-server/index.js +27 -2
- package/generators/entity-server/templates/couchbase/src/main/java/package/domain/Entity.java.jhi.spring_data_couchbase.ejs +11 -13
- package/generators/entity-server/templates/couchbase/src/main/java/package/repository/EntityRepository.java.ejs +30 -43
- package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.fts.ejs +5 -6
- package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.n1ql.ejs +5 -0
- package/generators/entity-server/templates/partials/it_patch_update.partial.java.ejs +2 -2
- package/generators/entity-server/templates/partials/save_template.ejs +1 -1
- package/generators/entity-server/templates/partials/update_template.ejs +77 -0
- package/generators/entity-server/templates/reactive/partials/save_template.ejs +1 -1
- package/generators/entity-server/templates/reactive/partials/update_template.ejs +41 -0
- package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +5 -5
- package/generators/entity-server/templates/src/main/java/package/common/get_template.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/common/inject_template.ejs +17 -8
- package/generators/entity-server/templates/src/main/java/package/common/patch_template.ejs +5 -5
- package/generators/entity-server/templates/src/main/java/package/common/search_stream_template.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/common/search_template.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +4 -3
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.javax_lifecycle_events.ejs +31 -0
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_persistable.ejs +54 -0
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_reactive.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/domain/EntityCallback.java.ejs +43 -0
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +36 -23
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +24 -28
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationships.java.ejs +37 -0
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationshipsImpl.java.ejs +91 -0
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +17 -25
- package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +2 -2
- package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +3 -3
- package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +12 -27
- package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +10 -2
- package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +8 -6
- package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +21 -5
- package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +61 -90
- package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +6 -4
- package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +33 -20
- package/generators/export-jdl/esm.mjs +1 -3
- package/generators/gae/esm.mjs +1 -3
- package/generators/generate-blueprint/constants.mjs +146 -0
- package/generators/generate-blueprint/esm.mjs +19 -0
- package/generators/generate-blueprint/files.mjs +81 -0
- package/generators/generate-blueprint/generator.mjs +363 -0
- package/generators/generate-blueprint/index.mjs +20 -0
- package/generators/generate-blueprint/templates/.eslintrc.json.ejs +41 -0
- package/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +32 -0
- package/generators/generate-blueprint/templates/.mocharc.cjs.ejs +29 -0
- package/generators/{server/templates/couchbase/src/main/java/package/config/couchbase/package-info.java.ejs → generate-blueprint/templates/.prettierignore.jhi.blueprint.ejs} +4 -7
- package/generators/generate-blueprint/templates/README.md.ejs +75 -0
- package/generators/generate-blueprint/templates/cli/cli.mjs.ejs +35 -0
- package/generators/generate-blueprint/templates/cli/commands.cjs.ejs +25 -0
- package/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +98 -0
- package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +42 -0
- package/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +19 -0
- package/generators/generate-blueprint/templates/generators/generator/templates/template-file.ejs +0 -0
- package/generators/generate-blueprint/templates/test/utils.mjs.ejs +17 -0
- package/generators/generator-base-blueprint.js +29 -0
- package/generators/generator-base-docker.js +1 -0
- package/generators/generator-base-entities.cjs +368 -0
- package/generators/generator-base-private.js +1 -1
- package/generators/generator-base.js +157 -23
- package/generators/generator-constants.js +22 -20
- package/generators/generator-list.js +2 -0
- package/generators/generator-transforms.js +0 -1
- package/generators/gradle/constants.cjs +1 -1
- package/generators/gradle/esm.mjs +19 -0
- package/generators/heroku/esm.mjs +1 -3
- package/generators/info/esm.mjs +1 -3
- package/generators/init/esm.mjs +19 -0
- package/generators/init/files.cjs +9 -3
- package/generators/init/index.cjs +5 -0
- package/generators/init/templates/.gitignore.jhi.ejs +5 -0
- package/generators/init/templates/{.lintstagedrc.js.ejs → .lintstagedrc.cjs.ejs} +0 -0
- package/generators/java/esm.mjs +19 -0
- package/generators/java/index.cjs +58 -2
- package/generators/kubernetes/esm.mjs +1 -3
- package/generators/kubernetes-helm/esm.mjs +1 -3
- package/generators/kubernetes-knative/esm.mjs +1 -3
- package/generators/languages/esm.mjs +2 -3
- package/generators/languages/templates/src/test/resources/i18n/messages_fr.properties.ejs +4 -1
- package/generators/maven/esm.mjs +19 -0
- package/generators/maven/files.cjs +0 -1
- package/generators/maven/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
- package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +18 -2
- package/generators/maven/templates/mvnw +13 -7
- package/generators/maven/templates/mvnw.cmd +19 -13
- package/generators/maven/templates/pom.xml.jhi.ejs +1 -1
- package/generators/openapi-client/esm.mjs +1 -3
- package/generators/openapi-client/index.js +11 -4
- package/generators/openshift/esm.mjs +1 -3
- package/generators/page/esm.mjs +1 -3
- package/generators/project-name/esm.mjs +19 -0
- package/generators/server/cleanup.js +19 -3
- package/generators/server/esm.mjs +2 -2
- package/generators/server/files-couchbase.js +28 -31
- package/generators/server/files.js +115 -18
- package/generators/server/index.js +23 -17
- package/generators/server/needle-api/needle-server-gradle.js +38 -0
- package/generators/server/needle-api/needle-server-maven.js +1 -1
- package/generators/server/templates/.mvn/jvm.config +1 -0
- package/generators/server/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
- package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +18 -2
- package/generators/server/templates/build.gradle.ejs +7 -5
- package/generators/server/templates/couchbase/src/main/java/package/repository/CouchbaseSearchRepository.java.ejs +91 -0
- package/generators/server/templates/couchbase/src/main/java/package/repository/JHipsterCouchbaseRepository.java.ejs +47 -45
- package/generators/server/templates/couchbase/src/main/java/package/repository/PersistentTokenRepository_couchbase.java.ejs +2 -2
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/authority/ROLE_ADMIN.json.ejs +3 -0
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/authority/ROLE_USER.json.ejs +3 -0
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/{user__admin.json.ejs → user/admin.json.ejs} +2 -2
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/{user__user.json.ejs → user/user.json.ejs} +2 -2
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.2__create_indexes.n1ql.ejs +34 -0
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0__create_collections.n1ql.ejs +8 -0
- package/generators/server/templates/couchbase/src/test/java/package/CouchbaseTestContainerExtension.java.ejs +4 -3
- package/generators/server/templates/couchbase/src/test/java/package/repository/{JHipsterCouchbaseRepositoryTest.java.ejs → CouchbaseSearchRepositoryTest.java.ejs} +2 -2
- package/generators/server/templates/devcontainer/Dockerfile.ejs +25 -0
- package/generators/server/templates/devcontainer/devcontainer.json.ejs +64 -0
- package/generators/server/templates/gradle/profile_prod.gradle.ejs +4 -0
- package/generators/server/templates/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/generators/server/templates/gradle.properties.ejs +8 -8
- package/generators/server/templates/mvnw +13 -7
- package/generators/server/templates/mvnw.cmd +19 -13
- package/generators/server/templates/npmw +14 -5
- package/generators/server/templates/pom.xml.ejs +65 -58
- package/generators/server/templates/settings.gradle.ejs +6 -4
- package/generators/server/templates/src/main/docker/app.yml.ejs +4 -6
- package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +2 -1
- package/generators/server/templates/src/main/docker/mysql.yml.ejs +1 -0
- package/generators/server/templates/src/main/docker/zipkin.yml.ejs +25 -0
- package/generators/server/templates/src/main/java/package/config/AsyncConfiguration.java.ejs +6 -0
- package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +26 -16
- package/generators/{client/templates/react/src/main/webapp/app/entities/index.tsx.ejs → server/templates/src/main/java/package/config/KafkaSseConsumer.java.ejs} +8 -14
- package/generators/server/templates/src/main/java/package/config/KafkaSseProducer.java.ejs +30 -0
- package/generators/server/templates/src/main/java/package/config/LocaleConfiguration_reactive.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +12 -10
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +2 -1
- package/generators/server/templates/src/main/java/package/domain/Authority.java.ejs +11 -0
- package/generators/server/templates/src/main/java/package/domain/PersistentToken.java.ejs +6 -6
- package/generators/server/templates/src/main/java/package/domain/User.java.ejs +9 -7
- package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +1 -11
- package/generators/server/templates/src/main/java/package/repository/EntityManager.java.ejs +48 -38
- package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +48 -72
- package/generators/server/templates/src/main/java/package/security/jwt/JWTFilter.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +8 -6
- package/generators/server/templates/src/main/java/package/web/filter/OAuth2ReactiveRefreshTokensWebFilter.java.ejs +0 -1
- package/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/web/rest/KafkaResource.java.ejs +60 -108
- package/generators/server/templates/src/main/java/package/web/rest/KafkaResource_reactive.java.ejs +74 -0
- package/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +2 -2
- package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +8 -0
- package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +6 -0
- package/generators/server/templates/src/main/resources/config/application.yml.ejs +28 -22
- package/generators/server/templates/src/test/java/package/CassandraKeyspaceIT.java.ejs +3 -4
- package/generators/server/templates/src/test/java/package/IntegrationTest.java.ejs +12 -4
- package/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs +18 -15
- package/generators/server/templates/src/test/java/package/config/CassandraTestContainer.java.ejs +122 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedCassandra.java.ejs +11 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedKafka.java.ejs +11 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedMongo.java.ejs +11 -0
- package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +2 -0
- package/generators/server/templates/src/test/java/package/config/KafkaTestContainer.java.ejs +38 -0
- package/generators/server/templates/src/test/java/package/config/MongoDbTestContainer.java.ejs +67 -0
- package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +114 -0
- package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +3 -10
- package/generators/server/templates/src/test/java/package/cucumber/stepdefs/StepDefs.java.ejs +8 -0
- package/generators/server/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +17 -3
- package/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/security/SecurityUtilsUnitTest_reactive.java.ejs +1 -1
- package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +5 -5
- package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +1 -1
- package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +2 -4
- package/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +15 -8
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_oauth2.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT.java.ejs +52 -123
- package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT_reactive.java.ejs +99 -0
- package/generators/server/templates/src/test/java/package/web/rest/PublicUserResourceIT.java.ejs +7 -10
- package/generators/server/templates/src/test/java/package/web/rest/TestUtil.java.ejs +1 -6
- package/generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIT.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +42 -47
- package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +2 -5
- package/generators/server/templates/src/test/resources/META-INF/spring.factories.ejs +1 -1
- package/generators/server/templates/src/test/resources/config/application.yml.ejs +21 -20
- package/generators/server/templates/src/test/resources/testcontainers.properties.ejs +1 -0
- package/generators/spring-boot/esm.mjs +19 -0
- package/generators/spring-controller/esm.mjs +1 -3
- package/generators/spring-service/esm.mjs +1 -3
- package/generators/upgrade/esm.mjs +1 -3
- package/generators/upgrade-config/esm.mjs +1 -3
- package/generators/workspaces/esm.mjs +1 -3
- package/generators/workspaces/index.js +2 -1
- package/lib/constants/logo.cjs +30 -0
- package/lib/constants/priorities.cjs +216 -2
- package/lib/constants/priorities.mjs +29 -1
- package/lib/index.mjs +6 -0
- package/lib/support/mixin.cjs +5 -1
- package/lib/support/shared-data.cjs +34 -1
- package/package.json +33 -29
- package/utils/entity.js +21 -2
- package/utils/faker.js +3 -3
- package/utils/field.js +69 -52
- package/utils/relationship.js +15 -4
- package/utils/user.js +109 -0
- package/generators/app/generator.spec.mjs +0 -47
- package/generators/aws/generator.spec.mjs +0 -47
- package/generators/azure-app-service/generator.spec.mjs +0 -47
- package/generators/azure-spring-cloud/generator.spec.mjs +0 -47
- package/generators/base/generator.spec.mjs +0 -44
- package/generators/bootstrap/generator.spec.mjs +0 -44
- package/generators/ci-cd/generator.spec.mjs +0 -47
- package/generators/client/__workflow/devserver-angular.json +0 -13
- package/generators/client/__workflow/devserver-react.json +0 -13
- package/generators/client/__workflow/devserver-vue.json +0 -13
- package/generators/client/generator.spec.mjs +0 -47
- package/generators/cloudfoundry/generator.spec.mjs +0 -47
- package/generators/common/generator.spec.mjs +0 -47
- package/generators/cypress/generator.spec.mjs +0 -47
- package/generators/database-changelog/generator.spec.mjs +0 -47
- package/generators/database-changelog-liquibase/generator.spec.mjs +0 -47
- package/generators/docker-compose/generator.spec.mjs +0 -44
- package/generators/entities/generator.spec.mjs +0 -47
- package/generators/entities-client/generator.spec.mjs +0 -47
- package/generators/entity/generator.spec.mjs +0 -47
- package/generators/entity-client/generator.spec.mjs +0 -47
- package/generators/entity-i18n/generator.spec.mjs +0 -47
- package/generators/entity-server/generator.spec.mjs +0 -47
- package/generators/entity-server/templates/src/main/java/package/repository/search/SortToFieldSortBuilderConverter.java.ejs +0 -24
- package/generators/export-jdl/generator.spec.mjs +0 -44
- package/generators/gae/generator.spec.mjs +0 -47
- package/generators/gradle/__snapshots__/generator.spec.cjs.snap +0 -59
- package/generators/gradle/generator.spec.cjs +0 -71
- package/generators/heroku/generator.spec.mjs +0 -47
- package/generators/info/generator.spec.mjs +0 -44
- package/generators/init/__snapshots__/generator.spec.cjs.snap +0 -65
- package/generators/init/generator.spec.cjs +0 -112
- package/generators/java/__snapshots__/generator.spec.cjs.snap +0 -118
- package/generators/java/generator.spec.cjs +0 -87
- package/generators/kubernetes/generator.spec.mjs +0 -44
- package/generators/kubernetes-helm/generator.spec.mjs +0 -44
- package/generators/kubernetes-knative/generator.spec.mjs +0 -44
- package/generators/languages/generator.spec.mjs +0 -47
- package/generators/maven/__snapshots__/generator.spec.cjs.snap +0 -53
- package/generators/maven/generator.spec.cjs +0 -78
- package/generators/maven/templates/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
- package/generators/openapi-client/generator.spec.mjs +0 -47
- package/generators/openshift/generator.spec.mjs +0 -44
- package/generators/page/generator.spec.mjs +0 -47
- package/generators/project-name/generator.spec.cjs +0 -43
- package/generators/server/__snapshots__/generator.spec.mjs.snap +0 -1931
- package/generators/server/generator.spec.mjs +0 -52
- package/generators/server/templates/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactory.java.ejs +0 -83
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactoryBean.java.ejs +0 -40
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryQuery.java.ejs +0 -44
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlQueryCreator.java.ejs +0 -162
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlRepositoryQueryExecutor.java.ejs +0 -104
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_ADMIN.json.ejs +0 -3
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_USER.json.ejs +0 -3
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0__create_indexes.n1ql.ejs +0 -19
- package/generators/server/templates/src/main/java/package/config/KafkaProperties.java.ejs +0 -68
- package/generators/server/templates/src/test/java/package/AbstractCassandraTest.java.ejs +0 -125
- package/generators/server/templates/src/test/java/package/MongoDbTestContainerExtension.java.ejs +0 -37
- package/generators/server/templates/src/test/java/package/TestContainersSpringContextCustomizerFactory.java.ejs +0 -24
- package/generators/spring-boot/__snapshots__/generator.spec.cjs.snap +0 -80
- package/generators/spring-boot/generator.spec.cjs +0 -64
- package/generators/spring-controller/generator.spec.mjs +0 -47
- package/generators/spring-service/generator.spec.mjs +0 -47
- package/generators/upgrade/generator.spec.mjs +0 -44
- package/generators/upgrade-config/generator.spec.mjs +0 -44
- package/generators/workspaces/generator.spec.mjs +0 -47
package/utils/field.js
CHANGED
|
@@ -240,6 +240,7 @@ function _derivedProperties(field) {
|
|
|
240
240
|
|
|
241
241
|
function prepareFieldForTemplates(entityWithConfig, field, generator) {
|
|
242
242
|
_.defaults(field, {
|
|
243
|
+
propertyName: field.fieldName,
|
|
243
244
|
fieldNameCapitalized: _.upperFirst(field.fieldName),
|
|
244
245
|
fieldNameUnderscored: _.snakeCase(field.fieldName),
|
|
245
246
|
fieldNameHumanized: _.startCase(field.fieldName),
|
|
@@ -270,23 +271,27 @@ function prepareFieldForTemplates(entityWithConfig, field, generator) {
|
|
|
270
271
|
field.jpaGeneratedValue = false;
|
|
271
272
|
field.autoGenerateByService = false;
|
|
272
273
|
field.autoGenerateByRepository = false;
|
|
274
|
+
field.requiresPersistableImplementation = true;
|
|
273
275
|
} else if (entityWithConfig.databaseType !== SQL) {
|
|
274
276
|
field.liquibaseAutoIncrement = false;
|
|
275
277
|
field.jpaGeneratedValue = false;
|
|
276
278
|
field.autoGenerateByService = field.fieldType === UUID;
|
|
277
279
|
field.autoGenerateByRepository = !field.autoGenerateByService;
|
|
280
|
+
field.requiresPersistableImplementation = false;
|
|
278
281
|
field.readonly = true;
|
|
279
282
|
} else if (entityWithConfig.reactive) {
|
|
280
|
-
field.liquibaseAutoIncrement =
|
|
283
|
+
field.liquibaseAutoIncrement = field.fieldType === LONG;
|
|
281
284
|
field.jpaGeneratedValue = false;
|
|
282
|
-
field.autoGenerateByService =
|
|
283
|
-
field.autoGenerateByRepository =
|
|
285
|
+
field.autoGenerateByService = !field.liquibaseAutoIncrement;
|
|
286
|
+
field.autoGenerateByRepository = !field.autoGenerateByService;
|
|
287
|
+
field.requiresPersistableImplementation = !field.liquibaseAutoIncrement;
|
|
284
288
|
field.readonly = true;
|
|
285
289
|
} else {
|
|
286
290
|
const defaultGenerationType = entityWithConfig.prodDatabaseType === MYSQL ? 'identity' : 'sequence';
|
|
287
291
|
field.jpaGeneratedValue = field.jpaGeneratedValue || field.fieldType === LONG ? defaultGenerationType : true;
|
|
288
292
|
field.autoGenerateByService = false;
|
|
289
293
|
field.autoGenerateByRepository = true;
|
|
294
|
+
field.requiresPersistableImplementation = false;
|
|
290
295
|
field.readonly = true;
|
|
291
296
|
if (field.jpaGeneratedValue === 'identity') {
|
|
292
297
|
field.liquibaseAutoIncrement = true;
|
|
@@ -300,62 +305,17 @@ function prepareFieldForTemplates(entityWithConfig, field, generator) {
|
|
|
300
305
|
field.contentTypeFieldName = `${field.fieldName}ContentType`;
|
|
301
306
|
}
|
|
302
307
|
|
|
303
|
-
if (
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
if (isReservedTableName(fieldNameUnderscored, entityWithConfig.prodDatabaseType)) {
|
|
307
|
-
if (!jhiFieldNamePrefix) {
|
|
308
|
-
generator.warning(
|
|
309
|
-
`The field name '${fieldNameUnderscored}' is regarded as a reserved keyword, but you have defined an empty jhiPrefix. This might lead to a non-working application.`
|
|
310
|
-
);
|
|
311
|
-
field.fieldNameAsDatabaseColumn = fieldNameUnderscored;
|
|
312
|
-
} else {
|
|
313
|
-
field.fieldNameAsDatabaseColumn = `${jhiFieldNamePrefix}_${fieldNameUnderscored}`;
|
|
314
|
-
}
|
|
315
|
-
} else {
|
|
316
|
-
field.fieldNameAsDatabaseColumn = fieldNameUnderscored;
|
|
317
|
-
}
|
|
308
|
+
if (entityWithConfig.prodDatabaseType) {
|
|
309
|
+
// TODO move to server generator.
|
|
310
|
+
prepareServerFieldForTemplates(entityWithConfig, field, generator);
|
|
318
311
|
}
|
|
319
|
-
field.columnName = field.fieldNameAsDatabaseColumn;
|
|
320
312
|
|
|
321
|
-
|
|
322
|
-
// Handle the specific case when the second letter is capitalized
|
|
323
|
-
// See http://stackoverflow.com/questions/2948083/naming-convention-for-getters-setters-in-java
|
|
324
|
-
if (field.fieldName.length > 1) {
|
|
325
|
-
const firstLetter = field.fieldName.charAt(0);
|
|
326
|
-
const secondLetter = field.fieldName.charAt(1);
|
|
327
|
-
if (firstLetter === firstLetter.toLowerCase() && secondLetter === secondLetter.toUpperCase()) {
|
|
328
|
-
field.fieldInJavaBeanMethod = firstLetter.toLowerCase() + field.fieldName.slice(1);
|
|
329
|
-
} else {
|
|
330
|
-
field.fieldInJavaBeanMethod = _.upperFirst(field.fieldName);
|
|
331
|
-
}
|
|
332
|
-
} else {
|
|
333
|
-
field.fieldInJavaBeanMethod = _.upperFirst(field.fieldName);
|
|
334
|
-
}
|
|
335
|
-
}
|
|
313
|
+
prepareClientFieldForTemplates(entityWithConfig, field, generator);
|
|
336
314
|
|
|
337
315
|
if (field.fieldIsEnum) {
|
|
338
316
|
field.enumValues = getEnumValuesWithCustomValues(field.fieldValues);
|
|
339
317
|
}
|
|
340
318
|
|
|
341
|
-
if (field.fieldValidateRulesPatternJava === undefined) {
|
|
342
|
-
field.fieldValidateRulesPatternJava = field.fieldValidateRulesPattern
|
|
343
|
-
? field.fieldValidateRulesPattern.replace(/\\/g, '\\\\').replace(/"/g, '\\"')
|
|
344
|
-
: field.fieldValidateRulesPattern;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
if (field.fieldValidateRulesPatternAngular === undefined) {
|
|
348
|
-
field.fieldValidateRulesPatternAngular = field.fieldValidateRulesPattern
|
|
349
|
-
? field.fieldValidateRulesPattern.replace(/"/g, '"')
|
|
350
|
-
: field.fieldValidateRulesPattern;
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
if (field.fieldValidateRulesPatternReact === undefined) {
|
|
354
|
-
field.fieldValidateRulesPatternReact = field.fieldValidateRulesPattern
|
|
355
|
-
? field.fieldValidateRulesPattern.replace(/'/g, "\\'")
|
|
356
|
-
: field.fieldValidateRulesPattern;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
319
|
field.fieldValidate = Array.isArray(field.fieldValidateRules) && field.fieldValidateRules.length >= 1;
|
|
360
320
|
field.nullable = !(field.fieldValidate === true && field.fieldValidateRules.includes(REQUIRED));
|
|
361
321
|
field.unique = field.fieldValidate === true && field.fieldValidateRules.includes(UNIQUE);
|
|
@@ -453,6 +413,63 @@ function getEnumValuesWithCustomValues(enumValues) {
|
|
|
453
413
|
});
|
|
454
414
|
}
|
|
455
415
|
|
|
416
|
+
function prepareClientFieldForTemplates(entityWithConfig, field, generator) {
|
|
417
|
+
if (field.fieldValidateRulesPatternAngular === undefined) {
|
|
418
|
+
field.fieldValidateRulesPatternAngular = field.fieldValidateRulesPattern
|
|
419
|
+
? field.fieldValidateRulesPattern.replace(/"/g, '"')
|
|
420
|
+
: field.fieldValidateRulesPattern;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
if (field.fieldValidateRulesPatternReact === undefined) {
|
|
424
|
+
field.fieldValidateRulesPatternReact = field.fieldValidateRulesPattern
|
|
425
|
+
? field.fieldValidateRulesPattern.replace(/'/g, "\\'")
|
|
426
|
+
: field.fieldValidateRulesPattern;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
function prepareServerFieldForTemplates(entityWithConfig, field, generator) {
|
|
431
|
+
if (field.fieldNameAsDatabaseColumn === undefined) {
|
|
432
|
+
const fieldNameUnderscored = _.snakeCase(field.fieldName);
|
|
433
|
+
const jhiFieldNamePrefix = generator.getColumnName(entityWithConfig.jhiPrefix);
|
|
434
|
+
|
|
435
|
+
if (isReservedTableName(fieldNameUnderscored, entityWithConfig.prodDatabaseType)) {
|
|
436
|
+
if (!jhiFieldNamePrefix) {
|
|
437
|
+
generator.warning(
|
|
438
|
+
`The field name '${fieldNameUnderscored}' is regarded as a reserved keyword, but you have defined an empty jhiPrefix. This might lead to a non-working application.`
|
|
439
|
+
);
|
|
440
|
+
field.fieldNameAsDatabaseColumn = fieldNameUnderscored;
|
|
441
|
+
} else {
|
|
442
|
+
field.fieldNameAsDatabaseColumn = `${jhiFieldNamePrefix}_${fieldNameUnderscored}`;
|
|
443
|
+
}
|
|
444
|
+
} else {
|
|
445
|
+
field.fieldNameAsDatabaseColumn = fieldNameUnderscored;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
field.columnName = field.fieldNameAsDatabaseColumn;
|
|
449
|
+
|
|
450
|
+
if (field.fieldInJavaBeanMethod === undefined) {
|
|
451
|
+
// Handle the specific case when the second letter is capitalized
|
|
452
|
+
// See http://stackoverflow.com/questions/2948083/naming-convention-for-getters-setters-in-java
|
|
453
|
+
if (field.fieldName.length > 1) {
|
|
454
|
+
const firstLetter = field.fieldName.charAt(0);
|
|
455
|
+
const secondLetter = field.fieldName.charAt(1);
|
|
456
|
+
if (firstLetter === firstLetter.toLowerCase() && secondLetter === secondLetter.toUpperCase()) {
|
|
457
|
+
field.fieldInJavaBeanMethod = firstLetter.toLowerCase() + field.fieldName.slice(1);
|
|
458
|
+
} else {
|
|
459
|
+
field.fieldInJavaBeanMethod = _.upperFirst(field.fieldName);
|
|
460
|
+
}
|
|
461
|
+
} else {
|
|
462
|
+
field.fieldInJavaBeanMethod = _.upperFirst(field.fieldName);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
if (field.fieldValidateRulesPatternJava === undefined) {
|
|
467
|
+
field.fieldValidateRulesPatternJava = field.fieldValidateRulesPattern
|
|
468
|
+
? field.fieldValidateRulesPattern.replace(/\\/g, '\\\\').replace(/"/g, '\\"')
|
|
469
|
+
: field.fieldValidateRulesPattern;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
|
|
456
473
|
function fieldToReference(entity, field, pathPrefix = []) {
|
|
457
474
|
return {
|
|
458
475
|
id: field.id,
|
package/utils/relationship.js
CHANGED
|
@@ -71,7 +71,12 @@ function prepareRelationshipForTemplates(entityWithConfig, relationship, generat
|
|
|
71
71
|
}
|
|
72
72
|
return otherSideRelationship.relationshipName === relationship.otherEntityRelationshipName;
|
|
73
73
|
});
|
|
74
|
-
if (
|
|
74
|
+
if (!otherRelationship) {
|
|
75
|
+
// TODO throw error at v8.
|
|
76
|
+
generator.warning(
|
|
77
|
+
`Error at '${entityName}' definitions: 'otherEntityRelationshipName' is set with value '${relationship.otherEntityRelationshipName}' at relationship '${relationship.relationshipName}' but no back-reference was found at '${otherEntityName}'`
|
|
78
|
+
);
|
|
79
|
+
} else if (
|
|
75
80
|
otherRelationship &&
|
|
76
81
|
otherRelationship.otherEntityRelationshipName &&
|
|
77
82
|
otherRelationship.otherEntityRelationshipName !== relationship.relationshipName
|
|
@@ -176,6 +181,10 @@ function prepareRelationshipForTemplates(entityWithConfig, relationship, generat
|
|
|
176
181
|
otherEntityNameCapitalizedPlural: pluralize(relationship.otherEntityNameCapitalized),
|
|
177
182
|
});
|
|
178
183
|
|
|
184
|
+
_.defaults(relationship, {
|
|
185
|
+
propertyName: relationship.collection ? relationship.relationshipFieldNamePlural : relationship.relationshipFieldName,
|
|
186
|
+
});
|
|
187
|
+
|
|
179
188
|
if (entityWithConfig.dto === MAPSTRUCT) {
|
|
180
189
|
if (otherEntityData.dto !== MAPSTRUCT && !generator.isBuiltInUser(otherEntityName)) {
|
|
181
190
|
generator.warning(
|
|
@@ -184,9 +193,11 @@ function prepareRelationshipForTemplates(entityWithConfig, relationship, generat
|
|
|
184
193
|
}
|
|
185
194
|
}
|
|
186
195
|
|
|
187
|
-
if (
|
|
188
|
-
|
|
189
|
-
|
|
196
|
+
if (entityWithConfig.prodDatabaseType) {
|
|
197
|
+
if (isReservedTableName(relationship.otherEntityTableName, entityWithConfig.prodDatabaseType) && jhiTablePrefix) {
|
|
198
|
+
const otherEntityTableName = relationship.otherEntityTableName;
|
|
199
|
+
relationship.otherEntityTableName = `${jhiTablePrefix}_${otherEntityTableName}`;
|
|
200
|
+
}
|
|
190
201
|
}
|
|
191
202
|
|
|
192
203
|
if (relationship.otherEntityAngularName === undefined) {
|
package/utils/user.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2013-2022 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
|
+
const _ = require('lodash');
|
|
20
|
+
|
|
21
|
+
const { loadRequiredConfigIntoEntity } = require('./entity');
|
|
22
|
+
|
|
23
|
+
const { SQL } = require('../jdl/jhipster/database-types');
|
|
24
|
+
const { OAUTH2 } = require('../jdl/jhipster/authentication-types');
|
|
25
|
+
const { CommonDBTypes } = require('../jdl/jhipster/field-types');
|
|
26
|
+
|
|
27
|
+
const { STRING: TYPE_STRING } = CommonDBTypes;
|
|
28
|
+
|
|
29
|
+
module.exports = {
|
|
30
|
+
createUserEntity,
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
function createUserEntity(customUserData = {}) {
|
|
34
|
+
const userEntityDefinition = this.readEntityJson('User');
|
|
35
|
+
if (userEntityDefinition) {
|
|
36
|
+
if (userEntityDefinition.relationships && userEntityDefinition.relationships.length > 0) {
|
|
37
|
+
this.warning('Relationships on the User entity side will be disregarded');
|
|
38
|
+
}
|
|
39
|
+
if (userEntityDefinition.fields && userEntityDefinition.fields.some(field => field.fieldName !== 'id')) {
|
|
40
|
+
this.warning('Fields on the User entity side (other than id) will be disregarded');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Create entity definition for built-in entity to make easier to deal with relationships.
|
|
45
|
+
const user = {
|
|
46
|
+
name: 'User',
|
|
47
|
+
builtIn: true,
|
|
48
|
+
entityTableName: `${this.getTableName(this.jhipsterConfig.jhiPrefix)}_user`,
|
|
49
|
+
relationships: [],
|
|
50
|
+
fields: userEntityDefinition ? userEntityDefinition.fields || [] : [],
|
|
51
|
+
dto: true,
|
|
52
|
+
...customUserData,
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
loadRequiredConfigIntoEntity(user, this.jhipsterConfig);
|
|
56
|
+
// Fallback to defaults for test cases.
|
|
57
|
+
loadRequiredConfigIntoEntity(user, this.jhipsterDefaults);
|
|
58
|
+
|
|
59
|
+
const oauth2 = user.authenticationType === OAUTH2;
|
|
60
|
+
const userIdType = oauth2 || user.databaseType !== SQL ? TYPE_STRING : this.getPkType(user.databaseType);
|
|
61
|
+
const fieldValidateRulesMaxlength = userIdType === TYPE_STRING ? 100 : undefined;
|
|
62
|
+
|
|
63
|
+
addOrExtendFields(user.fields, [
|
|
64
|
+
{
|
|
65
|
+
fieldName: 'id',
|
|
66
|
+
fieldType: userIdType,
|
|
67
|
+
fieldValidateRulesMaxlength,
|
|
68
|
+
fieldTranslationKey: 'global.field.id',
|
|
69
|
+
fieldNameHumanized: 'ID',
|
|
70
|
+
id: true,
|
|
71
|
+
builtIn: true,
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
fieldName: 'login',
|
|
75
|
+
fieldType: TYPE_STRING,
|
|
76
|
+
builtIn: true,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
fieldName: 'firstName',
|
|
80
|
+
fieldType: TYPE_STRING,
|
|
81
|
+
builtIn: true,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
fieldName: 'lastName',
|
|
85
|
+
fieldType: TYPE_STRING,
|
|
86
|
+
builtIn: true,
|
|
87
|
+
},
|
|
88
|
+
]);
|
|
89
|
+
|
|
90
|
+
return user;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function addOrExtendFields(fields, fieldsToAdd) {
|
|
94
|
+
fieldsToAdd = [].concat(fieldsToAdd);
|
|
95
|
+
for (const fieldToAdd of fieldsToAdd) {
|
|
96
|
+
const { fieldName: newFieldName, id } = fieldToAdd;
|
|
97
|
+
let field = fields.find(field => field.fieldName === newFieldName);
|
|
98
|
+
if (!field) {
|
|
99
|
+
field = { ...fieldToAdd };
|
|
100
|
+
if (id) {
|
|
101
|
+
fields.unshift(field);
|
|
102
|
+
} else {
|
|
103
|
+
fields.push(field);
|
|
104
|
+
}
|
|
105
|
+
} else {
|
|
106
|
+
_.defaults(field, fieldToAdd);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2013-2022 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 expect from 'expect';
|
|
20
|
-
import lodash from 'lodash';
|
|
21
|
-
import { basename, dirname } from 'path';
|
|
22
|
-
import { fileURLToPath } from 'url';
|
|
23
|
-
|
|
24
|
-
import testSupport from '../../test/support/index.cjs';
|
|
25
|
-
import Generator from './index.js';
|
|
26
|
-
|
|
27
|
-
const { snakeCase } = lodash;
|
|
28
|
-
const { testBlueprintSupport } = testSupport;
|
|
29
|
-
|
|
30
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
31
|
-
const __dirname = dirname(__filename);
|
|
32
|
-
|
|
33
|
-
const generator = basename(__dirname);
|
|
34
|
-
|
|
35
|
-
describe(`JHipster ${generator} generator`, () => {
|
|
36
|
-
it('generator-list constant matches folder name', async () => {
|
|
37
|
-
await expect((await import('../generator-list.js')).default[`GENERATOR_${snakeCase(generator).toUpperCase()}`]).toBe(generator);
|
|
38
|
-
});
|
|
39
|
-
it('should be exported at package.json', async () => {
|
|
40
|
-
await expect((await import(`generator-jhipster/esm/generators/${generator}`)).default).toBe(Generator);
|
|
41
|
-
});
|
|
42
|
-
it('should support features parameter', () => {
|
|
43
|
-
const instance = new Generator([], { help: true }, { bar: true });
|
|
44
|
-
expect(instance.features.bar).toBe(true);
|
|
45
|
-
});
|
|
46
|
-
describe('blueprint support', () => testBlueprintSupport(generator));
|
|
47
|
-
});
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2013-2022 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 expect from 'expect';
|
|
20
|
-
import lodash from 'lodash';
|
|
21
|
-
import { basename, dirname } from 'path';
|
|
22
|
-
import { fileURLToPath } from 'url';
|
|
23
|
-
|
|
24
|
-
import testSupport from '../../test/support/index.cjs';
|
|
25
|
-
import Generator from './index.js';
|
|
26
|
-
|
|
27
|
-
const { snakeCase } = lodash;
|
|
28
|
-
const { testBlueprintSupport } = testSupport;
|
|
29
|
-
|
|
30
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
31
|
-
const __dirname = dirname(__filename);
|
|
32
|
-
|
|
33
|
-
const generator = basename(__dirname);
|
|
34
|
-
|
|
35
|
-
describe(`JHipster ${generator} generator`, () => {
|
|
36
|
-
it('generator-list constant matches folder name', async () => {
|
|
37
|
-
await expect((await import('../generator-list.js')).default[`GENERATOR_${snakeCase(generator).toUpperCase()}`]).toBe(generator);
|
|
38
|
-
});
|
|
39
|
-
it('should be exported at package.json', async () => {
|
|
40
|
-
await expect((await import(`generator-jhipster/esm/generators/${generator}`)).default).toBe(Generator);
|
|
41
|
-
});
|
|
42
|
-
it('should support features parameter', () => {
|
|
43
|
-
const instance = new Generator([], { help: true }, { bar: true });
|
|
44
|
-
expect(instance.features.bar).toBe(true);
|
|
45
|
-
});
|
|
46
|
-
describe('blueprint support', () => testBlueprintSupport(generator));
|
|
47
|
-
});
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2013-2022 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 expect from 'expect';
|
|
20
|
-
import lodash from 'lodash';
|
|
21
|
-
import { basename, dirname } from 'path';
|
|
22
|
-
import { fileURLToPath } from 'url';
|
|
23
|
-
|
|
24
|
-
import testSupport from '../../test/support/index.cjs';
|
|
25
|
-
import Generator from './index.js';
|
|
26
|
-
|
|
27
|
-
const { snakeCase } = lodash;
|
|
28
|
-
const { testBlueprintSupport } = testSupport;
|
|
29
|
-
|
|
30
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
31
|
-
const __dirname = dirname(__filename);
|
|
32
|
-
|
|
33
|
-
const generator = basename(__dirname);
|
|
34
|
-
|
|
35
|
-
describe(`JHipster ${generator} generator`, () => {
|
|
36
|
-
it('generator-list constant matches folder name', async () => {
|
|
37
|
-
await expect((await import('../generator-list.js')).default[`GENERATOR_${snakeCase(generator).toUpperCase()}`]).toBe(generator);
|
|
38
|
-
});
|
|
39
|
-
it('should be exported at package.json', async () => {
|
|
40
|
-
await expect((await import(`generator-jhipster/esm/generators/${generator}`)).default).toBe(Generator);
|
|
41
|
-
});
|
|
42
|
-
it('should support features parameter', () => {
|
|
43
|
-
const instance = new Generator([], { help: true }, { bar: true });
|
|
44
|
-
expect(instance.features.bar).toBe(true);
|
|
45
|
-
});
|
|
46
|
-
describe('blueprint support', () => testBlueprintSupport(generator));
|
|
47
|
-
});
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2013-2022 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 expect from 'expect';
|
|
20
|
-
import lodash from 'lodash';
|
|
21
|
-
import { basename, dirname } from 'path';
|
|
22
|
-
import { fileURLToPath } from 'url';
|
|
23
|
-
|
|
24
|
-
import testSupport from '../../test/support/index.cjs';
|
|
25
|
-
import Generator from './index.js';
|
|
26
|
-
|
|
27
|
-
const { snakeCase } = lodash;
|
|
28
|
-
const { testBlueprintSupport } = testSupport;
|
|
29
|
-
|
|
30
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
31
|
-
const __dirname = dirname(__filename);
|
|
32
|
-
|
|
33
|
-
const generator = basename(__dirname);
|
|
34
|
-
|
|
35
|
-
describe(`JHipster ${generator} generator`, () => {
|
|
36
|
-
it('generator-list constant matches folder name', async () => {
|
|
37
|
-
await expect((await import('../generator-list.js')).default[`GENERATOR_${snakeCase(generator).toUpperCase()}`]).toBe(generator);
|
|
38
|
-
});
|
|
39
|
-
it('should be exported at package.json', async () => {
|
|
40
|
-
await expect((await import(`generator-jhipster/esm/generators/${generator}`)).default).toBe(Generator);
|
|
41
|
-
});
|
|
42
|
-
it('should support features parameter', () => {
|
|
43
|
-
const instance = new Generator([], { help: true }, { bar: true });
|
|
44
|
-
expect(instance.features.bar).toBe(true);
|
|
45
|
-
});
|
|
46
|
-
describe('blueprint support', () => testBlueprintSupport(generator));
|
|
47
|
-
});
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2013-2022 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 expect from 'expect';
|
|
20
|
-
import lodash from 'lodash';
|
|
21
|
-
import { basename, dirname } from 'path';
|
|
22
|
-
import { fileURLToPath } from 'url';
|
|
23
|
-
|
|
24
|
-
import Generator from './index.js';
|
|
25
|
-
|
|
26
|
-
const { snakeCase } = lodash;
|
|
27
|
-
|
|
28
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
29
|
-
const __dirname = dirname(__filename);
|
|
30
|
-
|
|
31
|
-
const generator = basename(__dirname);
|
|
32
|
-
|
|
33
|
-
describe(`JHipster ${generator} generator`, () => {
|
|
34
|
-
it('generator-list constant matches folder name', async () => {
|
|
35
|
-
await expect((await import('../generator-list.js')).default[`GENERATOR_${snakeCase(generator).toUpperCase()}`]).toBe(generator);
|
|
36
|
-
});
|
|
37
|
-
it('should be exported at package.json', async () => {
|
|
38
|
-
await expect((await import(`generator-jhipster/esm/generators/${generator}`)).default).toBe(Generator);
|
|
39
|
-
});
|
|
40
|
-
it('should support features parameter', () => {
|
|
41
|
-
const instance = new Generator([], { help: true }, { bar: true });
|
|
42
|
-
expect(instance.features.bar).toBe(true);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2013-2022 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 expect from 'expect';
|
|
20
|
-
import lodash from 'lodash';
|
|
21
|
-
import { basename, dirname } from 'path';
|
|
22
|
-
import { fileURLToPath } from 'url';
|
|
23
|
-
|
|
24
|
-
import Generator from './index.js';
|
|
25
|
-
|
|
26
|
-
const { snakeCase } = lodash;
|
|
27
|
-
|
|
28
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
29
|
-
const __dirname = dirname(__filename);
|
|
30
|
-
|
|
31
|
-
const generator = basename(__dirname);
|
|
32
|
-
|
|
33
|
-
describe(`JHipster ${generator} generator`, () => {
|
|
34
|
-
it('generator-list constant matches folder name', async () => {
|
|
35
|
-
await expect((await import('../generator-list.js')).default[`GENERATOR_${snakeCase(generator).toUpperCase()}`]).toBe(generator);
|
|
36
|
-
});
|
|
37
|
-
it('should be exported at package.json', async () => {
|
|
38
|
-
await expect((await import(`generator-jhipster/esm/generators/${generator}`)).default).toBe(Generator);
|
|
39
|
-
});
|
|
40
|
-
it('should support features parameter', () => {
|
|
41
|
-
const instance = new Generator([], { help: true }, { bar: true });
|
|
42
|
-
expect(instance.features.bar).toBe(true);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2013-2022 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 expect from 'expect';
|
|
20
|
-
import lodash from 'lodash';
|
|
21
|
-
import { basename, dirname } from 'path';
|
|
22
|
-
import { fileURLToPath } from 'url';
|
|
23
|
-
|
|
24
|
-
import testSupport from '../../test/support/index.cjs';
|
|
25
|
-
import Generator from './index.js';
|
|
26
|
-
|
|
27
|
-
const { snakeCase } = lodash;
|
|
28
|
-
const { testBlueprintSupport } = testSupport;
|
|
29
|
-
|
|
30
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
31
|
-
const __dirname = dirname(__filename);
|
|
32
|
-
|
|
33
|
-
const generator = basename(__dirname);
|
|
34
|
-
|
|
35
|
-
describe(`JHipster ${generator} generator`, () => {
|
|
36
|
-
it('generator-list constant matches folder name', async () => {
|
|
37
|
-
await expect((await import('../generator-list.js')).default[`GENERATOR_${snakeCase(generator).toUpperCase()}`]).toBe(generator);
|
|
38
|
-
});
|
|
39
|
-
it('should be exported at package.json', async () => {
|
|
40
|
-
await expect((await import(`generator-jhipster/esm/generators/${generator}`)).default).toBe(Generator);
|
|
41
|
-
});
|
|
42
|
-
it('should support features parameter', () => {
|
|
43
|
-
const instance = new Generator([], { help: true }, { bar: true });
|
|
44
|
-
expect(instance.features.bar).toBe(true);
|
|
45
|
-
});
|
|
46
|
-
describe('blueprint support', () => testBlueprintSupport(generator));
|
|
47
|
-
});
|