@baseplate-dev/project-builder-lib 0.1.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/LICENSE +390 -0
- package/dist/compiler/admin-crud-input-spec.d.ts +26 -0
- package/dist/compiler/admin-crud-input-spec.d.ts.map +1 -0
- package/dist/compiler/admin-crud-input-spec.js +29 -0
- package/dist/compiler/admin-crud-input-spec.js.map +1 -0
- package/dist/compiler/app-compiler-spec.d.ts +36 -0
- package/dist/compiler/app-compiler-spec.d.ts.map +1 -0
- package/dist/compiler/app-compiler-spec.js +42 -0
- package/dist/compiler/app-compiler-spec.js.map +1 -0
- package/dist/compiler/index.d.ts +5 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js +4 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/model-transformer-compiler-spec.d.ts +25 -0
- package/dist/compiler/model-transformer-compiler-spec.d.ts.map +1 -0
- package/dist/compiler/model-transformer-compiler-spec.js +29 -0
- package/dist/compiler/model-transformer-compiler-spec.js.map +1 -0
- package/dist/compiler/types.d.ts +2 -0
- package/dist/compiler/types.d.ts.map +1 -0
- package/dist/compiler/types.js +2 -0
- package/dist/compiler/types.js.map +1 -0
- package/dist/constants/colors.d.ts +294 -0
- package/dist/constants/colors.d.ts.map +1 -0
- package/dist/constants/colors.js +307 -0
- package/dist/constants/colors.js.map +1 -0
- package/dist/constants/index.d.ts +3 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +3 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/theme-colors.d.ts +397 -0
- package/dist/constants/theme-colors.d.ts.map +1 -0
- package/dist/constants/theme-colors.js +247 -0
- package/dist/constants/theme-colors.js.map +1 -0
- package/dist/definition/apps/app-utils.d.ts +11 -0
- package/dist/definition/apps/app-utils.d.ts.map +1 -0
- package/dist/definition/apps/app-utils.js +30 -0
- package/dist/definition/apps/app-utils.js.map +1 -0
- package/dist/definition/feature/feature-utils.d.ts +27 -0
- package/dist/definition/feature/feature-utils.d.ts.map +1 -0
- package/dist/definition/feature/feature-utils.js +81 -0
- package/dist/definition/feature/feature-utils.js.map +1 -0
- package/dist/definition/index.d.ts +10 -0
- package/dist/definition/index.d.ts.map +1 -0
- package/dist/definition/index.js +10 -0
- package/dist/definition/index.js.map +1 -0
- package/dist/definition/model/enum-utils.d.ts +9 -0
- package/dist/definition/model/enum-utils.d.ts.map +1 -0
- package/dist/definition/model/enum-utils.js +15 -0
- package/dist/definition/model/enum-utils.js.map +1 -0
- package/dist/definition/model/model-field-utils.d.ts +17 -0
- package/dist/definition/model/model-field-utils.d.ts.map +1 -0
- package/dist/definition/model/model-field-utils.js +85 -0
- package/dist/definition/model/model-field-utils.js.map +1 -0
- package/dist/definition/model/model-transformer-utils.d.ts +11 -0
- package/dist/definition/model/model-transformer-utils.d.ts.map +1 -0
- package/dist/definition/model/model-transformer-utils.js +13 -0
- package/dist/definition/model/model-transformer-utils.js.map +1 -0
- package/dist/definition/model/model-utils.d.ts +32 -0
- package/dist/definition/model/model-utils.d.ts.map +1 -0
- package/dist/definition/model/model-utils.js +59 -0
- package/dist/definition/model/model-utils.js.map +1 -0
- package/dist/definition/plugins/index.d.ts +2 -0
- package/dist/definition/plugins/index.d.ts.map +1 -0
- package/dist/definition/plugins/index.js +2 -0
- package/dist/definition/plugins/index.js.map +1 -0
- package/dist/definition/plugins/plugin-utils.d.ts +14 -0
- package/dist/definition/plugins/plugin-utils.d.ts.map +1 -0
- package/dist/definition/plugins/plugin-utils.js +44 -0
- package/dist/definition/plugins/plugin-utils.js.map +1 -0
- package/dist/definition/project-definition-container.d.ts +65 -0
- package/dist/definition/project-definition-container.d.ts.map +1 -0
- package/dist/definition/project-definition-container.js +118 -0
- package/dist/definition/project-definition-container.js.map +1 -0
- package/dist/definition/project-definition-container.test-helper.d.ts +5 -0
- package/dist/definition/project-definition-container.test-helper.d.ts.map +1 -0
- package/dist/definition/project-definition-container.test-helper.js +36 -0
- package/dist/definition/project-definition-container.test-helper.js.map +1 -0
- package/dist/feature-flags/flags.d.ts +3 -0
- package/dist/feature-flags/flags.d.ts.map +1 -0
- package/dist/feature-flags/flags.js +2 -0
- package/dist/feature-flags/flags.js.map +1 -0
- package/dist/feature-flags/index.d.ts +2 -0
- package/dist/feature-flags/index.d.ts.map +1 -0
- package/dist/feature-flags/index.js +2 -0
- package/dist/feature-flags/index.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations/index.d.ts +15 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +68 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/migration-005-primaryUniqueRefs.d.ts +37 -0
- package/dist/migrations/migration-005-primaryUniqueRefs.d.ts.map +1 -0
- package/dist/migrations/migration-005-primaryUniqueRefs.js +40 -0
- package/dist/migrations/migration-005-primaryUniqueRefs.js.map +1 -0
- package/dist/migrations/migration-006-individual-service-controllers.d.ts +42 -0
- package/dist/migrations/migration-006-individual-service-controllers.d.ts.map +1 -0
- package/dist/migrations/migration-006-individual-service-controllers.js +31 -0
- package/dist/migrations/migration-006-individual-service-controllers.js.map +1 -0
- package/dist/migrations/migration-007-model-graphql.d.ts +59 -0
- package/dist/migrations/migration-007-model-graphql.d.ts.map +1 -0
- package/dist/migrations/migration-007-model-graphql.js +62 -0
- package/dist/migrations/migration-007-model-graphql.js.map +1 -0
- package/dist/migrations/migration-008-anonymous-public-role.d.ts +22 -0
- package/dist/migrations/migration-008-anonymous-public-role.d.ts.map +1 -0
- package/dist/migrations/migration-008-anonymous-public-role.js +52 -0
- package/dist/migrations/migration-008-anonymous-public-role.js.map +1 -0
- package/dist/migrations/migration-009-rename-refs.d.ts +2 -0
- package/dist/migrations/migration-009-rename-refs.d.ts.map +1 -0
- package/dist/migrations/migration-009-rename-refs.js +59 -0
- package/dist/migrations/migration-009-rename-refs.js.map +1 -0
- package/dist/migrations/migration-010-hex-to-oklch.d.ts +2 -0
- package/dist/migrations/migration-010-hex-to-oklch.d.ts.map +1 -0
- package/dist/migrations/migration-010-hex-to-oklch.js +24 -0
- package/dist/migrations/migration-010-hex-to-oklch.js.map +1 -0
- package/dist/migrations/migration-011-plugin-id.d.ts +2 -0
- package/dist/migrations/migration-011-plugin-id.d.ts.map +1 -0
- package/dist/migrations/migration-011-plugin-id.js +10 -0
- package/dist/migrations/migration-011-plugin-id.js.map +1 -0
- package/dist/migrations/migration-012-migrate-auth-config.d.ts +36 -0
- package/dist/migrations/migration-012-migrate-auth-config.d.ts.map +1 -0
- package/dist/migrations/migration-012-migrate-auth-config.js +48 -0
- package/dist/migrations/migration-012-migrate-auth-config.js.map +1 -0
- package/dist/migrations/migration-013-move-general-settings.d.ts +38 -0
- package/dist/migrations/migration-013-move-general-settings.d.ts.map +1 -0
- package/dist/migrations/migration-013-move-general-settings.js +22 -0
- package/dist/migrations/migration-013-move-general-settings.js.map +1 -0
- package/dist/migrations/migration-014-migrate-plugin-ids.d.ts +21 -0
- package/dist/migrations/migration-014-migrate-plugin-ids.d.ts.map +1 -0
- package/dist/migrations/migration-014-migrate-plugin-ids.js +32 -0
- package/dist/migrations/migration-014-migrate-plugin-ids.js.map +1 -0
- package/dist/migrations/transform-json-path.d.ts +13 -0
- package/dist/migrations/transform-json-path.d.ts.map +1 -0
- package/dist/migrations/transform-json-path.js +66 -0
- package/dist/migrations/transform-json-path.js.map +1 -0
- package/dist/migrations/types.d.ts +29 -0
- package/dist/migrations/types.d.ts.map +1 -0
- package/dist/migrations/types.js +4 -0
- package/dist/migrations/types.js.map +1 -0
- package/dist/migrations/utils.d.ts +3 -0
- package/dist/migrations/utils.d.ts.map +1 -0
- package/dist/migrations/utils.js +10 -0
- package/dist/migrations/utils.js.map +1 -0
- package/dist/parser/index.d.ts +3 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +2 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/parser.d.ts +35 -0
- package/dist/parser/parser.d.ts.map +1 -0
- package/dist/parser/parser.js +84 -0
- package/dist/parser/parser.js.map +1 -0
- package/dist/parser/types.d.ts +8 -0
- package/dist/parser/types.d.ts.map +1 -0
- package/dist/parser/types.js +2 -0
- package/dist/parser/types.js.map +1 -0
- package/dist/plugin-tools/index.d.ts +2 -0
- package/dist/plugin-tools/index.d.ts.map +1 -0
- package/dist/plugin-tools/index.js +2 -0
- package/dist/plugin-tools/index.js.map +1 -0
- package/dist/plugin-tools/plugin-loader.d.ts +16 -0
- package/dist/plugin-tools/plugin-loader.d.ts.map +1 -0
- package/dist/plugin-tools/plugin-loader.js +166 -0
- package/dist/plugin-tools/plugin-loader.js.map +1 -0
- package/dist/plugins/imports/index.d.ts +3 -0
- package/dist/plugins/imports/index.d.ts.map +1 -0
- package/dist/plugins/imports/index.js +3 -0
- package/dist/plugins/imports/index.js.map +1 -0
- package/dist/plugins/imports/loader.d.ts +23 -0
- package/dist/plugins/imports/loader.d.ts.map +1 -0
- package/dist/plugins/imports/loader.js +81 -0
- package/dist/plugins/imports/loader.js.map +1 -0
- package/dist/plugins/imports/types.d.ts +27 -0
- package/dist/plugins/imports/types.d.ts.map +1 -0
- package/dist/plugins/imports/types.js +4 -0
- package/dist/plugins/imports/types.js.map +1 -0
- package/dist/plugins/index.d.ts +7 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +7 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/manifest/manifest.d.ts +13 -0
- package/dist/plugins/manifest/manifest.d.ts.map +1 -0
- package/dist/plugins/manifest/manifest.js +6 -0
- package/dist/plugins/manifest/manifest.js.map +1 -0
- package/dist/plugins/metadata/index.d.ts +2 -0
- package/dist/plugins/metadata/index.d.ts.map +1 -0
- package/dist/plugins/metadata/index.js +2 -0
- package/dist/plugins/metadata/index.js.map +1 -0
- package/dist/plugins/metadata/types.d.ts +163 -0
- package/dist/plugins/metadata/types.d.ts.map +1 -0
- package/dist/plugins/metadata/types.js +59 -0
- package/dist/plugins/metadata/types.js.map +1 -0
- package/dist/plugins/migrations/index.d.ts +2 -0
- package/dist/plugins/migrations/index.d.ts.map +1 -0
- package/dist/plugins/migrations/index.js +2 -0
- package/dist/plugins/migrations/index.js.map +1 -0
- package/dist/plugins/migrations/run-migrations.d.ts +4 -0
- package/dist/plugins/migrations/run-migrations.d.ts.map +1 -0
- package/dist/plugins/migrations/run-migrations.js +30 -0
- package/dist/plugins/migrations/run-migrations.js.map +1 -0
- package/dist/plugins/schema/common.d.ts +6 -0
- package/dist/plugins/schema/common.d.ts.map +1 -0
- package/dist/plugins/schema/common.js +2 -0
- package/dist/plugins/schema/common.js.map +1 -0
- package/dist/plugins/schema/index.d.ts +4 -0
- package/dist/plugins/schema/index.d.ts.map +1 -0
- package/dist/plugins/schema/index.js +4 -0
- package/dist/plugins/schema/index.js.map +1 -0
- package/dist/plugins/schema/parser.d.ts +19 -0
- package/dist/plugins/schema/parser.d.ts.map +1 -0
- package/dist/plugins/schema/parser.js +41 -0
- package/dist/plugins/schema/parser.js.map +1 -0
- package/dist/plugins/schema/store.d.ts +8 -0
- package/dist/plugins/schema/store.d.ts.map +1 -0
- package/dist/plugins/schema/store.js +21 -0
- package/dist/plugins/schema/store.js.map +1 -0
- package/dist/plugins/schema/zod-with-plugins.d.ts +12 -0
- package/dist/plugins/schema/zod-with-plugins.d.ts.map +1 -0
- package/dist/plugins/schema/zod-with-plugins.js +26 -0
- package/dist/plugins/schema/zod-with-plugins.js.map +1 -0
- package/dist/plugins/spec/auth-config-spec.d.ts +21 -0
- package/dist/plugins/spec/auth-config-spec.d.ts.map +1 -0
- package/dist/plugins/spec/auth-config-spec.js +6 -0
- package/dist/plugins/spec/auth-config-spec.js.map +1 -0
- package/dist/plugins/spec/config-spec.d.ts +31 -0
- package/dist/plugins/spec/config-spec.d.ts.map +1 -0
- package/dist/plugins/spec/config-spec.js +58 -0
- package/dist/plugins/spec/config-spec.js.map +1 -0
- package/dist/plugins/spec/index.d.ts +5 -0
- package/dist/plugins/spec/index.d.ts.map +1 -0
- package/dist/plugins/spec/index.js +5 -0
- package/dist/plugins/spec/index.js.map +1 -0
- package/dist/plugins/spec/types.d.ts +29 -0
- package/dist/plugins/spec/types.d.ts.map +1 -0
- package/dist/plugins/spec/types.js +17 -0
- package/dist/plugins/spec/types.js.map +1 -0
- package/dist/plugins/spec/web-config-spec.d.ts +22 -0
- package/dist/plugins/spec/web-config-spec.d.ts.map +1 -0
- package/dist/plugins/spec/web-config-spec.js +23 -0
- package/dist/plugins/spec/web-config-spec.js.map +1 -0
- package/dist/references/deserialize-schema.d.ts +4 -0
- package/dist/references/deserialize-schema.d.ts.map +1 -0
- package/dist/references/deserialize-schema.js +68 -0
- package/dist/references/deserialize-schema.js.map +1 -0
- package/dist/references/fix-ref-deletions.d.ts +22 -0
- package/dist/references/fix-ref-deletions.d.ts.map +1 -0
- package/dist/references/fix-ref-deletions.js +99 -0
- package/dist/references/fix-ref-deletions.js.map +1 -0
- package/dist/references/index.d.ts +6 -0
- package/dist/references/index.d.ts.map +1 -0
- package/dist/references/index.js +6 -0
- package/dist/references/index.js.map +1 -0
- package/dist/references/parse-schema-with-references.d.ts +14 -0
- package/dist/references/parse-schema-with-references.d.ts.map +1 -0
- package/dist/references/parse-schema-with-references.js +16 -0
- package/dist/references/parse-schema-with-references.js.map +1 -0
- package/dist/references/ref-builder.d.ts +346 -0
- package/dist/references/ref-builder.d.ts.map +1 -0
- package/dist/references/ref-builder.js +494 -0
- package/dist/references/ref-builder.js.map +1 -0
- package/dist/references/resolve-zod-ref-payload-names.d.ts +26 -0
- package/dist/references/resolve-zod-ref-payload-names.d.ts.map +1 -0
- package/dist/references/resolve-zod-ref-payload-names.js +52 -0
- package/dist/references/resolve-zod-ref-payload-names.js.map +1 -0
- package/dist/references/serialize-schema.d.ts +5 -0
- package/dist/references/serialize-schema.d.ts.map +1 -0
- package/dist/references/serialize-schema.js +22 -0
- package/dist/references/serialize-schema.js.map +1 -0
- package/dist/references/types.d.ts +126 -0
- package/dist/references/types.d.ts.map +1 -0
- package/dist/references/types.js +59 -0
- package/dist/references/types.js.map +1 -0
- package/dist/schema/apps/admin/app.d.ts +1144 -0
- package/dist/schema/apps/admin/app.d.ts.map +1 -0
- package/dist/schema/apps/admin/app.js +27 -0
- package/dist/schema/apps/admin/app.js.map +1 -0
- package/dist/schema/apps/admin/index.d.ts +3 -0
- package/dist/schema/apps/admin/index.d.ts.map +1 -0
- package/dist/schema/apps/admin/index.js +3 -0
- package/dist/schema/apps/admin/index.js.map +1 -0
- package/dist/schema/apps/admin/sections/base.d.ts +9 -0
- package/dist/schema/apps/admin/sections/base.d.ts.map +1 -0
- package/dist/schema/apps/admin/sections/base.js +15 -0
- package/dist/schema/apps/admin/sections/base.js.map +1 -0
- package/dist/schema/apps/admin/sections/crud-form/admin-crud-input.d.ts +11 -0
- package/dist/schema/apps/admin/sections/crud-form/admin-crud-input.d.ts.map +1 -0
- package/dist/schema/apps/admin/sections/crud-form/admin-crud-input.js +11 -0
- package/dist/schema/apps/admin/sections/crud-form/admin-crud-input.js.map +1 -0
- package/dist/schema/apps/admin/sections/crud-form/admin-input-spec.d.ts +17 -0
- package/dist/schema/apps/admin/sections/crud-form/admin-input-spec.d.ts.map +1 -0
- package/dist/schema/apps/admin/sections/crud-form/admin-input-spec.js +30 -0
- package/dist/schema/apps/admin/sections/crud-form/admin-input-spec.js.map +1 -0
- package/dist/schema/apps/admin/sections/crud-form/built-in-input.d.ts +138 -0
- package/dist/schema/apps/admin/sections/crud-form/built-in-input.d.ts.map +1 -0
- package/dist/schema/apps/admin/sections/crud-form/built-in-input.js +101 -0
- package/dist/schema/apps/admin/sections/crud-form/built-in-input.js.map +1 -0
- package/dist/schema/apps/admin/sections/crud-form/index.d.ts +5 -0
- package/dist/schema/apps/admin/sections/crud-form/index.d.ts.map +1 -0
- package/dist/schema/apps/admin/sections/crud-form/index.js +5 -0
- package/dist/schema/apps/admin/sections/crud-form/index.js.map +1 -0
- package/dist/schema/apps/admin/sections/crud-form/types.d.ts +19 -0
- package/dist/schema/apps/admin/sections/crud-form/types.d.ts.map +1 -0
- package/dist/schema/apps/admin/sections/crud-form/types.js +14 -0
- package/dist/schema/apps/admin/sections/crud-form/types.js.map +1 -0
- package/dist/schema/apps/admin/sections/crud.d.ts +988 -0
- package/dist/schema/apps/admin/sections/crud.d.ts.map +1 -0
- package/dist/schema/apps/admin/sections/crud.js +101 -0
- package/dist/schema/apps/admin/sections/crud.js.map +1 -0
- package/dist/schema/apps/admin/sections/index.d.ts +5 -0
- package/dist/schema/apps/admin/sections/index.d.ts.map +1 -0
- package/dist/schema/apps/admin/sections/index.js +5 -0
- package/dist/schema/apps/admin/sections/index.js.map +1 -0
- package/dist/schema/apps/admin/sections/types.d.ts +2 -0
- package/dist/schema/apps/admin/sections/types.d.ts.map +1 -0
- package/dist/schema/apps/admin/sections/types.js +6 -0
- package/dist/schema/apps/admin/sections/types.js.map +1 -0
- package/dist/schema/apps/backend/index.d.ts +49 -0
- package/dist/schema/apps/backend/index.d.ts.map +1 -0
- package/dist/schema/apps/backend/index.js +15 -0
- package/dist/schema/apps/backend/index.js.map +1 -0
- package/dist/schema/apps/base.d.ts +25 -0
- package/dist/schema/apps/base.d.ts.map +1 -0
- package/dist/schema/apps/base.js +16 -0
- package/dist/schema/apps/base.js.map +1 -0
- package/dist/schema/apps/index.d.ts +6 -0
- package/dist/schema/apps/index.d.ts.map +1 -0
- package/dist/schema/apps/index.js +6 -0
- package/dist/schema/apps/index.js.map +1 -0
- package/dist/schema/apps/types.d.ts +6 -0
- package/dist/schema/apps/types.d.ts.map +1 -0
- package/dist/schema/apps/types.js +6 -0
- package/dist/schema/apps/types.js.map +1 -0
- package/dist/schema/apps/web/index.d.ts +49 -0
- package/dist/schema/apps/web/index.d.ts.map +1 -0
- package/dist/schema/apps/web/index.js +22 -0
- package/dist/schema/apps/web/index.js.map +1 -0
- package/dist/schema/auth/index.d.ts +2 -0
- package/dist/schema/auth/index.d.ts.map +1 -0
- package/dist/schema/auth/index.js +3 -0
- package/dist/schema/auth/index.js.map +1 -0
- package/dist/schema/creator/index.d.ts +2 -0
- package/dist/schema/creator/index.d.ts.map +1 -0
- package/dist/schema/creator/index.js +2 -0
- package/dist/schema/creator/index.js.map +1 -0
- package/dist/schema/creator/schema-creator.d.ts +4 -0
- package/dist/schema/creator/schema-creator.d.ts.map +1 -0
- package/dist/schema/creator/schema-creator.js +4 -0
- package/dist/schema/creator/schema-creator.js.map +1 -0
- package/dist/schema/creator/types.d.ts +14 -0
- package/dist/schema/creator/types.d.ts.map +1 -0
- package/dist/schema/creator/types.js +2 -0
- package/dist/schema/creator/types.js.map +1 -0
- package/dist/schema/features/feature.d.ts +33 -0
- package/dist/schema/features/feature.d.ts.map +1 -0
- package/dist/schema/features/feature.js +21 -0
- package/dist/schema/features/feature.js.map +1 -0
- package/dist/schema/features/index.d.ts +3 -0
- package/dist/schema/features/index.d.ts.map +1 -0
- package/dist/schema/features/index.js +3 -0
- package/dist/schema/features/index.js.map +1 -0
- package/dist/schema/features/theme.d.ts +208 -0
- package/dist/schema/features/theme.d.ts.map +1 -0
- package/dist/schema/features/theme.js +34 -0
- package/dist/schema/features/theme.js.map +1 -0
- package/dist/schema/index.d.ts +11 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +11 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/models/enums.d.ts +97 -0
- package/dist/schema/models/enums.d.ts.map +1 -0
- package/dist/schema/models/enums.js +25 -0
- package/dist/schema/models/enums.js.map +1 -0
- package/dist/schema/models/graphql.d.ts +181 -0
- package/dist/schema/models/graphql.d.ts.map +1 -0
- package/dist/schema/models/graphql.js +96 -0
- package/dist/schema/models/graphql.js.map +1 -0
- package/dist/schema/models/index.d.ts +1692 -0
- package/dist/schema/models/index.d.ts.map +1 -0
- package/dist/schema/models/index.js +220 -0
- package/dist/schema/models/index.js.map +1 -0
- package/dist/schema/models/mocks.d.ts +6 -0
- package/dist/schema/models/mocks.d.ts.map +1 -0
- package/dist/schema/models/mocks.js +55 -0
- package/dist/schema/models/mocks.js.map +1 -0
- package/dist/schema/models/transformers/built-in-transformers.d.ts +71 -0
- package/dist/schema/models/transformers/built-in-transformers.d.ts.map +1 -0
- package/dist/schema/models/transformers/built-in-transformers.js +59 -0
- package/dist/schema/models/transformers/built-in-transformers.js.map +1 -0
- package/dist/schema/models/transformers/index.d.ts +5 -0
- package/dist/schema/models/transformers/index.d.ts.map +1 -0
- package/dist/schema/models/transformers/index.js +5 -0
- package/dist/schema/models/transformers/index.js.map +1 -0
- package/dist/schema/models/transformers/model-transformer-spec.d.ts +17 -0
- package/dist/schema/models/transformers/model-transformer-spec.d.ts.map +1 -0
- package/dist/schema/models/transformers/model-transformer-spec.js +40 -0
- package/dist/schema/models/transformers/model-transformer-spec.js.map +1 -0
- package/dist/schema/models/transformers/transformers.d.ts +11 -0
- package/dist/schema/models/transformers/transformers.d.ts.map +1 -0
- package/dist/schema/models/transformers/transformers.js +11 -0
- package/dist/schema/models/transformers/transformers.js.map +1 -0
- package/dist/schema/models/transformers/types.d.ts +23 -0
- package/dist/schema/models/transformers/types.d.ts.map +1 -0
- package/dist/schema/models/transformers/types.js +12 -0
- package/dist/schema/models/transformers/types.js.map +1 -0
- package/dist/schema/models/types.d.ts +9 -0
- package/dist/schema/models/types.d.ts.map +1 -0
- package/dist/schema/models/types.js +14 -0
- package/dist/schema/models/types.js.map +1 -0
- package/dist/schema/plugins/definition.d.ts +128 -0
- package/dist/schema/plugins/definition.d.ts.map +1 -0
- package/dist/schema/plugins/definition.js +28 -0
- package/dist/schema/plugins/definition.js.map +1 -0
- package/dist/schema/plugins/entity-types.d.ts +2 -0
- package/dist/schema/plugins/entity-types.d.ts.map +1 -0
- package/dist/schema/plugins/entity-types.js +3 -0
- package/dist/schema/plugins/entity-types.js.map +1 -0
- package/dist/schema/plugins/index.d.ts +3 -0
- package/dist/schema/plugins/index.d.ts.map +1 -0
- package/dist/schema/plugins/index.js +3 -0
- package/dist/schema/plugins/index.js.map +1 -0
- package/dist/schema/project-definition.d.ts +2877 -0
- package/dist/schema/project-definition.d.ts.map +1 -0
- package/dist/schema/project-definition.js +34 -0
- package/dist/schema/project-definition.js.map +1 -0
- package/dist/schema/settings.d.ts +228 -0
- package/dist/schema/settings.d.ts.map +1 -0
- package/dist/schema/settings.js +32 -0
- package/dist/schema/settings.js.map +1 -0
- package/dist/schema/template-extractor/index.d.ts +25 -0
- package/dist/schema/template-extractor/index.d.ts.map +1 -0
- package/dist/schema/template-extractor/index.js +18 -0
- package/dist/schema/template-extractor/index.js.map +1 -0
- package/dist/schema/utils/validation.d.ts +8 -0
- package/dist/schema/utils/validation.d.ts.map +1 -0
- package/dist/schema/utils/validation.js +18 -0
- package/dist/schema/utils/validation.js.map +1 -0
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/model-merger/index.d.ts +2 -0
- package/dist/tools/model-merger/index.d.ts.map +1 -0
- package/dist/tools/model-merger/index.js +2 -0
- package/dist/tools/model-merger/index.js.map +1 -0
- package/dist/tools/model-merger/model-merger.d.ts +376 -0
- package/dist/tools/model-merger/model-merger.d.ts.map +1 -0
- package/dist/tools/model-merger/model-merger.js +229 -0
- package/dist/tools/model-merger/model-merger.js.map +1 -0
- package/dist/types/field-types.d.ts +3 -0
- package/dist/types/field-types.d.ts.map +1 -0
- package/dist/types/field-types.js +13 -0
- package/dist/types/field-types.js.map +1 -0
- package/dist/types/files.d.ts +8 -0
- package/dist/types/files.d.ts.map +1 -0
- package/dist/types/files.js +2 -0
- package/dist/types/files.js.map +1 -0
- package/dist/utils/color-conversions.d.ts +20 -0
- package/dist/utils/color-conversions.d.ts.map +1 -0
- package/dist/utils/color-conversions.js +38 -0
- package/dist/utils/color-conversions.js.map +1 -0
- package/dist/utils/color-names.d.ts +18 -0
- package/dist/utils/color-names.d.ts.map +1 -0
- package/dist/utils/color-names.js +54 -0
- package/dist/utils/color-names.js.map +1 -0
- package/dist/utils/definition-diff/definition-diff.d.ts +68 -0
- package/dist/utils/definition-diff/definition-diff.d.ts.map +1 -0
- package/dist/utils/definition-diff/definition-diff.js +149 -0
- package/dist/utils/definition-diff/definition-diff.js.map +1 -0
- package/dist/utils/definition-diff/index.d.ts +2 -0
- package/dist/utils/definition-diff/index.d.ts.map +1 -0
- package/dist/utils/definition-diff/index.js +2 -0
- package/dist/utils/definition-diff/index.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/path.d.ts +5 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +27 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/strip.d.ts +18 -0
- package/dist/utils/strip.d.ts.map +1 -0
- package/dist/utils/strip.js +37 -0
- package/dist/utils/strip.js.map +1 -0
- package/dist/utils/theme.d.ts +10 -0
- package/dist/utils/theme.d.ts.map +1 -0
- package/dist/utils/theme.js +58 -0
- package/dist/utils/theme.js.map +1 -0
- package/dist/web/components/FeatureComboboxField.d.ts +17 -0
- package/dist/web/components/FeatureComboboxField.d.ts.map +1 -0
- package/dist/web/components/FeatureComboboxField.js +38 -0
- package/dist/web/components/FeatureComboboxField.js.map +1 -0
- package/dist/web/components/ModelComboboxField.d.ts +17 -0
- package/dist/web/components/ModelComboboxField.d.ts.map +1 -0
- package/dist/web/components/ModelComboboxField.js +38 -0
- package/dist/web/components/ModelComboboxField.js.map +1 -0
- package/dist/web/components/ModelMergerResultAlert.d.ts +8 -0
- package/dist/web/components/ModelMergerResultAlert.d.ts.map +1 -0
- package/dist/web/components/ModelMergerResultAlert.js +10 -0
- package/dist/web/components/ModelMergerResultAlert.js.map +1 -0
- package/dist/web/components/index.d.ts +4 -0
- package/dist/web/components/index.d.ts.map +1 -0
- package/dist/web/components/index.js +4 -0
- package/dist/web/components/index.js.map +1 -0
- package/dist/web/contexts/error-handler.d.ts +7 -0
- package/dist/web/contexts/error-handler.d.ts.map +1 -0
- package/dist/web/contexts/error-handler.js +3 -0
- package/dist/web/contexts/error-handler.js.map +1 -0
- package/dist/web/contexts/index.d.ts +2 -0
- package/dist/web/contexts/index.d.ts.map +1 -0
- package/dist/web/contexts/index.js +2 -0
- package/dist/web/contexts/index.js.map +1 -0
- package/dist/web/hooks/index.d.ts +8 -0
- package/dist/web/hooks/index.d.ts.map +1 -0
- package/dist/web/hooks/index.js +8 -0
- package/dist/web/hooks/index.js.map +1 -0
- package/dist/web/hooks/useBlockDirtyFormNavigate.d.ts +3 -0
- package/dist/web/hooks/useBlockDirtyFormNavigate.d.ts.map +1 -0
- package/dist/web/hooks/useBlockDirtyFormNavigate.js +14 -0
- package/dist/web/hooks/useBlockDirtyFormNavigate.js.map +1 -0
- package/dist/web/hooks/useBlockUnsavedChangesNavigate.d.ts +7 -0
- package/dist/web/hooks/useBlockUnsavedChangesNavigate.d.ts.map +1 -0
- package/dist/web/hooks/useBlockUnsavedChangesNavigate.js +47 -0
- package/dist/web/hooks/useBlockUnsavedChangesNavigate.js.map +1 -0
- package/dist/web/hooks/useBlockerDialog.d.ts +44 -0
- package/dist/web/hooks/useBlockerDialog.d.ts.map +1 -0
- package/dist/web/hooks/useBlockerDialog.js +77 -0
- package/dist/web/hooks/useBlockerDialog.js.map +1 -0
- package/dist/web/hooks/useErrorHandler.d.ts +3 -0
- package/dist/web/hooks/useErrorHandler.d.ts.map +1 -0
- package/dist/web/hooks/useErrorHandler.js +10 -0
- package/dist/web/hooks/useErrorHandler.js.map +1 -0
- package/dist/web/hooks/usePluginEnhancedSchema.d.ts +4 -0
- package/dist/web/hooks/usePluginEnhancedSchema.d.ts.map +1 -0
- package/dist/web/hooks/usePluginEnhancedSchema.js +8 -0
- package/dist/web/hooks/usePluginEnhancedSchema.js.map +1 -0
- package/dist/web/hooks/useProjectDefinition.d.ts +65 -0
- package/dist/web/hooks/useProjectDefinition.d.ts.map +1 -0
- package/dist/web/hooks/useProjectDefinition.js +10 -0
- package/dist/web/hooks/useProjectDefinition.js.map +1 -0
- package/dist/web/hooks/useResettableForm.d.ts +3 -0
- package/dist/web/hooks/useResettableForm.d.ts.map +1 -0
- package/dist/web/hooks/useResettableForm.js +29 -0
- package/dist/web/hooks/useResettableForm.js.map +1 -0
- package/dist/web/index.d.ts +6 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +6 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/specs/admin-crud-input-web-spec.d.ts +36 -0
- package/dist/web/specs/admin-crud-input-web-spec.d.ts.map +1 -0
- package/dist/web/specs/admin-crud-input-web-spec.js +35 -0
- package/dist/web/specs/admin-crud-input-web-spec.js.map +1 -0
- package/dist/web/specs/index.d.ts +3 -0
- package/dist/web/specs/index.d.ts.map +1 -0
- package/dist/web/specs/index.js +3 -0
- package/dist/web/specs/index.js.map +1 -0
- package/dist/web/specs/model-transformer-web-spec.d.ts +40 -0
- package/dist/web/specs/model-transformer-web-spec.d.ts.map +1 -0
- package/dist/web/specs/model-transformer-web-spec.js +35 -0
- package/dist/web/specs/model-transformer-web-spec.js.map +1 -0
- package/dist/web/utils/form.d.ts +2 -0
- package/dist/web/utils/form.d.ts.map +1 -0
- package/dist/web/utils/form.js +6 -0
- package/dist/web/utils/form.js.map +1 -0
- package/dist/web/utils/index.d.ts +2 -0
- package/dist/web/utils/index.d.ts.map +1 -0
- package/dist/web/utils/index.js +2 -0
- package/dist/web/utils/index.js.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { computeRelativePath } from '#src/utils/path.js';
|
|
2
|
+
function byId(projectDefinition, id) {
|
|
3
|
+
const config = projectDefinition.apps.find((app) => app.id === id);
|
|
4
|
+
if (!config) {
|
|
5
|
+
throw new Error(`Unable to find app with ID ${id}`);
|
|
6
|
+
}
|
|
7
|
+
return config;
|
|
8
|
+
}
|
|
9
|
+
function getBackendApp(projectDefinition) {
|
|
10
|
+
const backendApps = projectDefinition.apps.filter((a) => a.type === 'backend');
|
|
11
|
+
if (backendApps.length > 1 || backendApps.length === 0) {
|
|
12
|
+
throw new Error(`Only one backend app is supported and must exist`);
|
|
13
|
+
}
|
|
14
|
+
const backendApp = backendApps[0];
|
|
15
|
+
return backendApp;
|
|
16
|
+
}
|
|
17
|
+
export function getBackendRelativePath(appConfig, backendApp) {
|
|
18
|
+
const backendRelativePath = computeRelativePath(appConfig.packageLocation
|
|
19
|
+
? appConfig.packageLocation
|
|
20
|
+
: `packages/${appConfig.name}`, backendApp.packageLocation
|
|
21
|
+
? backendApp.packageLocation
|
|
22
|
+
: `packages/${backendApp.name}`);
|
|
23
|
+
return backendRelativePath;
|
|
24
|
+
}
|
|
25
|
+
export const AppUtils = {
|
|
26
|
+
byId,
|
|
27
|
+
getBackendApp,
|
|
28
|
+
getBackendRelativePath,
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=app-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-utils.js","sourceRoot":"","sources":["../../../src/definition/apps/app-utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,SAAS,IAAI,CAAC,iBAAoC,EAAE,EAAU;IAC5D,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,iBAAoC;IACzD,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CACnD,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAElC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,SAAoB,EACpB,UAA4B;IAE5B,MAAM,mBAAmB,GAAG,mBAAmB,CAC7C,SAAS,CAAC,eAAe;QACvB,CAAC,CAAC,SAAS,CAAC,eAAe;QAC3B,CAAC,CAAC,YAAY,SAAS,CAAC,IAAI,EAAE,EAChC,UAAU,CAAC,eAAe;QACxB,CAAC,CAAC,UAAU,CAAC,eAAe;QAC5B,CAAC,CAAC,YAAY,UAAU,CAAC,IAAI,EAAE,CAClC,CAAC;IAEF,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI;IACJ,aAAa;IACb,sBAAsB;CACvB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { FeatureConfig, ProjectDefinition } from '#src/schema/index.js';
|
|
2
|
+
declare function getRootFeatures(projectDefinition: ProjectDefinition): FeatureConfig[];
|
|
3
|
+
declare function getFeatureById(projectDefinition: ProjectDefinition, featureId: string): FeatureConfig | undefined;
|
|
4
|
+
declare function getFeatureByIdOrThrow(projectDefinition: ProjectDefinition, featureId: string): FeatureConfig;
|
|
5
|
+
declare function getFeatureChildren(projectDefinition: ProjectDefinition, featureId: string): FeatureConfig[];
|
|
6
|
+
declare function getFeatureName(featureConfig: FeatureConfig): string;
|
|
7
|
+
declare function getFeatureNameById(projectDefinition: ProjectDefinition, featureId: string): string;
|
|
8
|
+
declare function getFeaturePathById(projectDefinition: ProjectDefinition, featureId: string): string;
|
|
9
|
+
declare function validateFeatureName(name: string): boolean;
|
|
10
|
+
declare function ensureFeatureByNameRecursively(projectDefinition: ProjectDefinition, nameOrId: string): string;
|
|
11
|
+
declare function getFeatureByName(projectDefinition: ProjectDefinition, name: string): FeatureConfig | undefined;
|
|
12
|
+
declare function getFeatureIdByNameOrDefault(projectDefinition: ProjectDefinition, name: string): string;
|
|
13
|
+
export declare const FeatureUtils: {
|
|
14
|
+
getRootFeatures: typeof getRootFeatures;
|
|
15
|
+
getFeatureById: typeof getFeatureById;
|
|
16
|
+
getFeatureByIdOrThrow: typeof getFeatureByIdOrThrow;
|
|
17
|
+
getFeatureChildren: typeof getFeatureChildren;
|
|
18
|
+
getFeatureName: typeof getFeatureName;
|
|
19
|
+
getFeatureNameById: typeof getFeatureNameById;
|
|
20
|
+
getFeaturePathById: typeof getFeaturePathById;
|
|
21
|
+
validateFeatureName: typeof validateFeatureName;
|
|
22
|
+
ensureFeatureByNameRecursively: typeof ensureFeatureByNameRecursively;
|
|
23
|
+
getFeatureByName: typeof getFeatureByName;
|
|
24
|
+
getFeatureIdByNameOrDefault: typeof getFeatureIdByNameOrDefault;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=feature-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-utils.d.ts","sourceRoot":"","sources":["../../../src/definition/feature/feature-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI7E,iBAAS,eAAe,CACtB,iBAAiB,EAAE,iBAAiB,GACnC,aAAa,EAAE,CAEjB;AAED,iBAAS,cAAc,CACrB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,GAChB,aAAa,GAAG,SAAS,CAE3B;AAED,iBAAS,qBAAqB,CAC5B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,GAChB,aAAa,CAMf;AAED,iBAAS,kBAAkB,CACzB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,GAChB,aAAa,EAAE,CAEjB;AAED,iBAAS,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAE5D;AAED,iBAAS,kBAAkB,CACzB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,GAChB,MAAM,CAGR;AAED,iBAAS,kBAAkB,CACzB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,GAChB,MAAM,CAGR;AAED,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED,iBAAS,8BAA8B,CACrC,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,MAAM,GACf,MAAM,CA6BR;AAED,iBAAS,gBAAgB,CACvB,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,MAAM,GACX,aAAa,GAAG,SAAS,CAE3B;AAED,iBAAS,2BAA2B,CAClC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;CAYxB,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { featureEntityType, featureNameSchema } from '#src/schema/index.js';
|
|
2
|
+
function getRootFeatures(projectDefinition) {
|
|
3
|
+
return projectDefinition.features.filter((f) => !f.parentRef);
|
|
4
|
+
}
|
|
5
|
+
function getFeatureById(projectDefinition, featureId) {
|
|
6
|
+
return projectDefinition.features.find((f) => f.id === featureId);
|
|
7
|
+
}
|
|
8
|
+
function getFeatureByIdOrThrow(projectDefinition, featureId) {
|
|
9
|
+
const feature = getFeatureById(projectDefinition, featureId);
|
|
10
|
+
if (!feature) {
|
|
11
|
+
throw new Error(`Could not find feature with ID ${featureId}`);
|
|
12
|
+
}
|
|
13
|
+
return feature;
|
|
14
|
+
}
|
|
15
|
+
function getFeatureChildren(projectDefinition, featureId) {
|
|
16
|
+
return projectDefinition.features.filter((f) => f.parentRef === featureId);
|
|
17
|
+
}
|
|
18
|
+
function getFeatureName(featureConfig) {
|
|
19
|
+
return featureConfig.name.split('/').pop() ?? '';
|
|
20
|
+
}
|
|
21
|
+
function getFeatureNameById(projectDefinition, featureId) {
|
|
22
|
+
const feature = getFeatureByIdOrThrow(projectDefinition, featureId);
|
|
23
|
+
return getFeatureName(feature);
|
|
24
|
+
}
|
|
25
|
+
function getFeaturePathById(projectDefinition, featureId) {
|
|
26
|
+
const feature = getFeatureByIdOrThrow(projectDefinition, featureId);
|
|
27
|
+
return feature.name;
|
|
28
|
+
}
|
|
29
|
+
function validateFeatureName(name) {
|
|
30
|
+
const nameParts = name.split('/');
|
|
31
|
+
return nameParts.every((part) => featureNameSchema.safeParse(part).success);
|
|
32
|
+
}
|
|
33
|
+
function ensureFeatureByNameRecursively(projectDefinition, nameOrId) {
|
|
34
|
+
if (featureEntityType.isId(nameOrId)) {
|
|
35
|
+
return nameOrId;
|
|
36
|
+
}
|
|
37
|
+
const nameParts = nameOrId.split('/');
|
|
38
|
+
let lastName = '';
|
|
39
|
+
let parentRef = null;
|
|
40
|
+
for (const part of nameParts) {
|
|
41
|
+
const feature = projectDefinition.features.find((f) => f.name === part && f.parentRef === parentRef);
|
|
42
|
+
const name = [lastName, part].filter(Boolean).join('/');
|
|
43
|
+
if (feature) {
|
|
44
|
+
parentRef = feature.id;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const newFeature = {
|
|
48
|
+
id: featureEntityType.generateNewId(),
|
|
49
|
+
name,
|
|
50
|
+
parentRef,
|
|
51
|
+
};
|
|
52
|
+
projectDefinition.features.push(newFeature);
|
|
53
|
+
parentRef = newFeature.id;
|
|
54
|
+
}
|
|
55
|
+
lastName = name;
|
|
56
|
+
}
|
|
57
|
+
if (!parentRef) {
|
|
58
|
+
throw new Error('Failed to create feature');
|
|
59
|
+
}
|
|
60
|
+
return parentRef;
|
|
61
|
+
}
|
|
62
|
+
function getFeatureByName(projectDefinition, name) {
|
|
63
|
+
return projectDefinition.features.find((f) => f.name === name);
|
|
64
|
+
}
|
|
65
|
+
function getFeatureIdByNameOrDefault(projectDefinition, name) {
|
|
66
|
+
return getFeatureByName(projectDefinition, name)?.id ?? name;
|
|
67
|
+
}
|
|
68
|
+
export const FeatureUtils = {
|
|
69
|
+
getRootFeatures,
|
|
70
|
+
getFeatureById,
|
|
71
|
+
getFeatureByIdOrThrow,
|
|
72
|
+
getFeatureChildren,
|
|
73
|
+
getFeatureName,
|
|
74
|
+
getFeatureNameById,
|
|
75
|
+
getFeaturePathById,
|
|
76
|
+
validateFeatureName,
|
|
77
|
+
ensureFeatureByNameRecursively,
|
|
78
|
+
getFeatureByName,
|
|
79
|
+
getFeatureIdByNameOrDefault,
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=feature-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-utils.js","sourceRoot":"","sources":["../../../src/definition/feature/feature-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './apps/app-utils.js';
|
|
2
|
+
export * from './feature/feature-utils.js';
|
|
3
|
+
export * from './model/enum-utils.js';
|
|
4
|
+
export * from './model/model-field-utils.js';
|
|
5
|
+
export * from './model/model-transformer-utils.js';
|
|
6
|
+
export * from './model/model-utils.js';
|
|
7
|
+
export * from './plugins/index.js';
|
|
8
|
+
export * from './project-definition-container.js';
|
|
9
|
+
export * from './project-definition-container.test-helper.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/definition/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,+CAA+C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './apps/app-utils.js';
|
|
2
|
+
export * from './feature/feature-utils.js';
|
|
3
|
+
export * from './model/enum-utils.js';
|
|
4
|
+
export * from './model/model-field-utils.js';
|
|
5
|
+
export * from './model/model-transformer-utils.js';
|
|
6
|
+
export * from './model/model-utils.js';
|
|
7
|
+
export * from './plugins/index.js';
|
|
8
|
+
export * from './project-definition-container.js';
|
|
9
|
+
export * from './project-definition-container.test-helper.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/definition/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,+CAA+C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { EnumConfig, ProjectDefinition } from '#src/schema/index.js';
|
|
2
|
+
declare function byId(projectDefinition: ProjectDefinition, id: string): EnumConfig | undefined;
|
|
3
|
+
declare function byIdOrThrow(projectDefinition: ProjectDefinition, id: string): EnumConfig;
|
|
4
|
+
export declare const EnumUtils: {
|
|
5
|
+
byId: typeof byId;
|
|
6
|
+
byIdOrThrow: typeof byIdOrThrow;
|
|
7
|
+
};
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=enum-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-utils.d.ts","sourceRoot":"","sources":["../../../src/definition/model/enum-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,iBAAS,IAAI,CACX,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,UAAU,GAAG,SAAS,CAExB;AAED,iBAAS,WAAW,CAClB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,UAAU,CAMZ;AAED,eAAO,MAAM,SAAS;;;CAGrB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function byId(projectDefinition, id) {
|
|
2
|
+
return projectDefinition.enums?.find((e) => e.id === id);
|
|
3
|
+
}
|
|
4
|
+
function byIdOrThrow(projectDefinition, id) {
|
|
5
|
+
const enumConfig = byId(projectDefinition, id);
|
|
6
|
+
if (!enumConfig) {
|
|
7
|
+
throw new Error(`Could not find enum with ID ${id}`);
|
|
8
|
+
}
|
|
9
|
+
return enumConfig;
|
|
10
|
+
}
|
|
11
|
+
export const EnumUtils = {
|
|
12
|
+
byId,
|
|
13
|
+
byIdOrThrow,
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=enum-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-utils.js","sourceRoot":"","sources":["../../../src/definition/model/enum-utils.ts"],"names":[],"mappings":"AAEA,SAAS,IAAI,CACX,iBAAoC,EACpC,EAAU;IAEV,OAAO,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,WAAW,CAClB,iBAAoC,EACpC,EAAU;IAEV,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI;IACJ,WAAW;CACZ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ModelConfig, ModelConfigInput, ModelRelationFieldConfig, ModelScalarFieldConfig, ProjectDefinition } from '#src/schema/index.js';
|
|
2
|
+
declare function isScalarUnique(model: ModelConfig, fieldId: string): boolean;
|
|
3
|
+
declare function areScalarsUnique(model: ModelConfigInput, fieldIds: string[]): boolean;
|
|
4
|
+
declare function getRelationLocalFields(model: ModelConfig, relation: ModelRelationFieldConfig): ModelScalarFieldConfig[];
|
|
5
|
+
declare function isRelationOptional(model: ModelConfig, relation: ModelRelationFieldConfig): boolean;
|
|
6
|
+
declare function isRelationOneToOne(model: ModelConfig, relation: ModelRelationFieldConfig): boolean;
|
|
7
|
+
declare function getModelFieldValidation(projectDefinition: ProjectDefinition, modelId: string, fieldId: string, preProcess?: boolean): string;
|
|
8
|
+
export declare const ModelFieldUtils: {
|
|
9
|
+
isScalarUnique: typeof isScalarUnique;
|
|
10
|
+
areScalarsUnique: typeof areScalarsUnique;
|
|
11
|
+
getRelationLocalFields: typeof getRelationLocalFields;
|
|
12
|
+
isRelationOptional: typeof isRelationOptional;
|
|
13
|
+
isRelationOneToOne: typeof isRelationOneToOne;
|
|
14
|
+
getModelFieldValidation: typeof getModelFieldValidation;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=model-field-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-field-utils.d.ts","sourceRoot":"","sources":["../../../src/definition/model/model-field-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAI9B,iBAAS,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAUpE;AAED,iBAAS,gBAAgB,CACvB,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAST;AAED,iBAAS,sBAAsB,CAC7B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,wBAAwB,GACjC,sBAAsB,EAAE,CAU1B;AAED,iBAAS,kBAAkB,CACzB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,wBAAwB,GACjC,OAAO,CAGT;AAED,iBAAS,kBAAkB,CACzB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,wBAAwB,GACjC,OAAO,CAKT;AA0BD,iBAAS,uBAAuB,CAC9B,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,OAAO,GACnB,MAAM,CAqBR;AAED,eAAO,MAAM,eAAe;;;;;;;CAO3B,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { isEqual } from 'es-toolkit';
|
|
2
|
+
import { ModelUtils } from './model-utils.js';
|
|
3
|
+
function isScalarUnique(model, fieldId) {
|
|
4
|
+
const { primaryKeyFieldRefs } = model.model;
|
|
5
|
+
const uniqueConstraints = model.model.uniqueConstraints ?? [];
|
|
6
|
+
return ((primaryKeyFieldRefs.length === 1 &&
|
|
7
|
+
primaryKeyFieldRefs.includes(fieldId)) ||
|
|
8
|
+
uniqueConstraints.some((c) => c.fields.length === 1 && c.fields[0].fieldRef === fieldId));
|
|
9
|
+
}
|
|
10
|
+
function areScalarsUnique(model, fieldIds) {
|
|
11
|
+
const sortedFieldIds = [...fieldIds].sort();
|
|
12
|
+
return ((isEqual([...model.model.primaryKeyFieldRefs].sort(), sortedFieldIds) ||
|
|
13
|
+
model.model.uniqueConstraints?.some((c) => isEqual(c.fields.map((f) => f.fieldRef).sort(), sortedFieldIds))) ??
|
|
14
|
+
false);
|
|
15
|
+
}
|
|
16
|
+
function getRelationLocalFields(model, relation) {
|
|
17
|
+
return relation.references.map((r) => {
|
|
18
|
+
const field = model.model.fields.find((f) => f.id === r.localRef);
|
|
19
|
+
if (!field) {
|
|
20
|
+
throw new Error(`Could not find field ${r.localRef} from relation ${relation.name} in model ${model.name}`);
|
|
21
|
+
}
|
|
22
|
+
return field;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function isRelationOptional(model, relation) {
|
|
26
|
+
const localFields = getRelationLocalFields(model, relation);
|
|
27
|
+
return localFields.some((f) => f.isOptional);
|
|
28
|
+
}
|
|
29
|
+
function isRelationOneToOne(model, relation) {
|
|
30
|
+
const localFields = getRelationLocalFields(model, relation);
|
|
31
|
+
const localFieldIds = localFields.map((f) => f.id).sort();
|
|
32
|
+
// check if the local fields are a primary key or unique constraint
|
|
33
|
+
return areScalarsUnique(model, localFieldIds);
|
|
34
|
+
}
|
|
35
|
+
function getModelValidator(modelField) {
|
|
36
|
+
switch (modelField.type) {
|
|
37
|
+
case 'boolean': {
|
|
38
|
+
return 'boolean()';
|
|
39
|
+
}
|
|
40
|
+
case 'date': {
|
|
41
|
+
return 'string()';
|
|
42
|
+
}
|
|
43
|
+
case 'int':
|
|
44
|
+
case 'float': {
|
|
45
|
+
return 'number()';
|
|
46
|
+
}
|
|
47
|
+
case 'dateTime':
|
|
48
|
+
case 'string':
|
|
49
|
+
case 'decimal':
|
|
50
|
+
case 'uuid': {
|
|
51
|
+
return 'string()';
|
|
52
|
+
}
|
|
53
|
+
default: {
|
|
54
|
+
throw new Error(`Unsupported validator for ${modelField.type}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function getModelFieldValidation(projectDefinition, modelId, fieldId, preProcess) {
|
|
59
|
+
const model = ModelUtils.byIdOrThrow(projectDefinition, modelId);
|
|
60
|
+
const field = model.model.fields.find((f) => f.id === fieldId);
|
|
61
|
+
if (!field) {
|
|
62
|
+
throw new Error(`Field ${fieldId} not found in model ${model.name}`);
|
|
63
|
+
}
|
|
64
|
+
const nullishSuffix = field.isOptional ? '.nullish()' : '';
|
|
65
|
+
if (field.type === 'int') {
|
|
66
|
+
return `z.number().or(z.string()).pipe(z.coerce.number().finite().int())${nullishSuffix}`;
|
|
67
|
+
}
|
|
68
|
+
if (field.type === 'float') {
|
|
69
|
+
return `z.number().or(z.string()).pipe(z.coerce.number().finite())${nullishSuffix}`;
|
|
70
|
+
}
|
|
71
|
+
const validator = `z.${getModelValidator(field)}${nullishSuffix}`;
|
|
72
|
+
if (!preProcess) {
|
|
73
|
+
return validator;
|
|
74
|
+
}
|
|
75
|
+
return validator;
|
|
76
|
+
}
|
|
77
|
+
export const ModelFieldUtils = {
|
|
78
|
+
isScalarUnique,
|
|
79
|
+
areScalarsUnique,
|
|
80
|
+
getRelationLocalFields,
|
|
81
|
+
isRelationOptional,
|
|
82
|
+
isRelationOneToOne,
|
|
83
|
+
getModelFieldValidation,
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=model-field-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-field-utils.js","sourceRoot":"","sources":["../../../src/definition/model/model-field-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PluginImplementationStore } from '#src/plugins/index.js';
|
|
2
|
+
import type { ModelTransformerType, TransformerConfig } from '#src/schema/index.js';
|
|
3
|
+
import type { ProjectDefinitionContainer } from '../project-definition-container.js';
|
|
4
|
+
declare function getTransformer(transformer: TransformerConfig, pluginStore: PluginImplementationStore): ModelTransformerType;
|
|
5
|
+
declare function getTransformName(definitionContainer: ProjectDefinitionContainer, transformer: TransformerConfig, pluginStore: PluginImplementationStore): string;
|
|
6
|
+
export declare const ModelTransformerUtils: {
|
|
7
|
+
getTransformer: typeof getTransformer;
|
|
8
|
+
getTransformName: typeof getTransformName;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=model-transformer-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-transformer-utils.d.ts","sourceRoot":"","sources":["../../../src/definition/model/model-transformer-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAErF,iBAAS,cAAc,CACrB,WAAW,EAAE,iBAAiB,EAC9B,WAAW,EAAE,yBAAyB,GACrC,oBAAoB,CAGtB;AAED,iBAAS,gBAAgB,CACvB,mBAAmB,EAAE,0BAA0B,EAC/C,WAAW,EAAE,iBAAiB,EAC9B,WAAW,EAAE,yBAAyB,GACrC,MAAM,CAKR;AAED,eAAO,MAAM,qBAAqB;;;CAAuC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { modelTransformerSpec } from '#src/schema/index.js';
|
|
2
|
+
function getTransformer(transformer, pluginStore) {
|
|
3
|
+
const transformers = pluginStore.getPluginSpec(modelTransformerSpec);
|
|
4
|
+
return transformers.getModelTransformer(transformer.type);
|
|
5
|
+
}
|
|
6
|
+
function getTransformName(definitionContainer, transformer, pluginStore) {
|
|
7
|
+
const transformers = pluginStore.getPluginSpec(modelTransformerSpec);
|
|
8
|
+
return transformers
|
|
9
|
+
.getModelTransformer(transformer.type)
|
|
10
|
+
.getName(definitionContainer, transformer);
|
|
11
|
+
}
|
|
12
|
+
export const ModelTransformerUtils = { getTransformer, getTransformName };
|
|
13
|
+
//# sourceMappingURL=model-transformer-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-transformer-utils.js","sourceRoot":"","sources":["../../../src/definition/model/model-transformer-utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAI5D,SAAS,cAAc,CACrB,WAA8B,EAC9B,WAAsC;IAEtC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACrE,OAAO,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,gBAAgB,CACvB,mBAA+C,EAC/C,WAA8B,EAC9B,WAAsC;IAEtC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACrE,OAAO,YAAY;SAChB,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC;SACrC,OAAO,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ModelConfig, ModelRelationFieldConfig, ModelScalarFieldConfig, ProjectDefinition } from '#src/schema/index.js';
|
|
2
|
+
declare function byId(projectDefinition: ProjectDefinition, id: string): ModelConfig | undefined;
|
|
3
|
+
declare function byIdOrThrow(projectDefinition: ProjectDefinition, id: string): ModelConfig;
|
|
4
|
+
declare function getScalarFieldById(model: ModelConfig, id: string): ModelScalarFieldConfig;
|
|
5
|
+
declare function getRelationsToModel(projectDefinition: ProjectDefinition, modelId: string): {
|
|
6
|
+
model: ModelConfig;
|
|
7
|
+
relation: ModelRelationFieldConfig;
|
|
8
|
+
}[];
|
|
9
|
+
declare function getModelsForFeature(projectDefinition: ProjectDefinition, featureId: string): ModelConfig[];
|
|
10
|
+
declare function getModelIdFields(model: ModelConfig): string[];
|
|
11
|
+
declare function hasService(model: ModelConfig): boolean;
|
|
12
|
+
declare function validateModelName(name: string): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Returns the ID of a model by name, or the name if no model is found.
|
|
15
|
+
* @param projectDefinition - The project definition.
|
|
16
|
+
* @param name - The name of the model.
|
|
17
|
+
* @returns The ID of the model, or the name if no model is found.
|
|
18
|
+
*/
|
|
19
|
+
declare function getModelIdByNameOrDefault(projectDefinition: ProjectDefinition, name: string): string;
|
|
20
|
+
export declare const ModelUtils: {
|
|
21
|
+
byId: typeof byId;
|
|
22
|
+
byIdOrThrow: typeof byIdOrThrow;
|
|
23
|
+
getScalarFieldById: typeof getScalarFieldById;
|
|
24
|
+
getRelationsToModel: typeof getRelationsToModel;
|
|
25
|
+
getModelsForFeature: typeof getModelsForFeature;
|
|
26
|
+
getModelIdFields: typeof getModelIdFields;
|
|
27
|
+
hasService: typeof hasService;
|
|
28
|
+
validateModelName: typeof validateModelName;
|
|
29
|
+
getModelIdByNameOrDefault: typeof getModelIdByNameOrDefault;
|
|
30
|
+
};
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=model-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-utils.d.ts","sourceRoot":"","sources":["../../../src/definition/model/model-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAE9B,iBAAS,IAAI,CACX,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,WAAW,GAAG,SAAS,CAEzB;AAED,iBAAS,WAAW,CAClB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,WAAW,CAMb;AAED,iBAAS,kBAAkB,CACzB,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,MAAM,GACT,sBAAsB,CAOxB;AAED,iBAAS,mBAAmB,CAC1B,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,MAAM,GACd;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,wBAAwB,CAAA;CAAE,EAAE,CAO9D;AAED,iBAAS,mBAAmB,CAC1B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,GAChB,WAAW,EAAE,CAEf;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,CAEtD;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAO/C;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;GAKG;AACH,iBAAS,yBAAyB,CAChC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED,eAAO,MAAM,UAAU;;;;;;;;;;CAUtB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { PASCAL_CASE_REGEX } from '@baseplate-dev/utils';
|
|
2
|
+
function byId(projectDefinition, id) {
|
|
3
|
+
return projectDefinition.models.find((m) => m.id === id);
|
|
4
|
+
}
|
|
5
|
+
function byIdOrThrow(projectDefinition, id) {
|
|
6
|
+
const model = byId(projectDefinition, id);
|
|
7
|
+
if (!model) {
|
|
8
|
+
throw new Error(`Could not find model with ID ${id}`);
|
|
9
|
+
}
|
|
10
|
+
return model;
|
|
11
|
+
}
|
|
12
|
+
function getScalarFieldById(model, id) {
|
|
13
|
+
const field = model.model.fields.find((f) => f.id === id);
|
|
14
|
+
if (!field) {
|
|
15
|
+
throw new Error(`Could not find field with ID ${id}`);
|
|
16
|
+
}
|
|
17
|
+
return field;
|
|
18
|
+
}
|
|
19
|
+
function getRelationsToModel(projectDefinition, modelId) {
|
|
20
|
+
return projectDefinition.models.flatMap((m) => m.model.relations
|
|
21
|
+
?.filter((r) => r.modelRef === modelId)
|
|
22
|
+
.map((r) => ({ model: m, relation: r })) ?? []);
|
|
23
|
+
}
|
|
24
|
+
function getModelsForFeature(projectDefinition, featureId) {
|
|
25
|
+
return projectDefinition.models.filter((m) => m.featureRef === featureId);
|
|
26
|
+
}
|
|
27
|
+
function getModelIdFields(model) {
|
|
28
|
+
return model.model.primaryKeyFieldRefs;
|
|
29
|
+
}
|
|
30
|
+
function hasService(model) {
|
|
31
|
+
return (!!model.service.create.enabled ||
|
|
32
|
+
!!model.service.update.enabled ||
|
|
33
|
+
!!model.service.delete.enabled ||
|
|
34
|
+
model.service.transformers.length > 0);
|
|
35
|
+
}
|
|
36
|
+
function validateModelName(name) {
|
|
37
|
+
return PASCAL_CASE_REGEX.test(name);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Returns the ID of a model by name, or the name if no model is found.
|
|
41
|
+
* @param projectDefinition - The project definition.
|
|
42
|
+
* @param name - The name of the model.
|
|
43
|
+
* @returns The ID of the model, or the name if no model is found.
|
|
44
|
+
*/
|
|
45
|
+
function getModelIdByNameOrDefault(projectDefinition, name) {
|
|
46
|
+
return projectDefinition.models.find((m) => m.name === name)?.id ?? name;
|
|
47
|
+
}
|
|
48
|
+
export const ModelUtils = {
|
|
49
|
+
byId,
|
|
50
|
+
byIdOrThrow,
|
|
51
|
+
getScalarFieldById,
|
|
52
|
+
getRelationsToModel,
|
|
53
|
+
getModelsForFeature,
|
|
54
|
+
getModelIdFields,
|
|
55
|
+
hasService,
|
|
56
|
+
validateModelName,
|
|
57
|
+
getModelIdByNameOrDefault,
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=model-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-utils.js","sourceRoot":"","sources":["../../../src/definition/model/model-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AASzD,SAAS,IAAI,CACX,iBAAoC,EACpC,EAAU;IAEV,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,WAAW,CAClB,iBAAoC,EACpC,EAAU;IAEV,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAkB,EAClB,EAAU;IAEV,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAC1B,iBAAoC,EACpC,OAAe;IAEf,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CACrC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,KAAK,CAAC,SAAS;QACf,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,iBAAoC,EACpC,SAAiB;IAEjB,OAAO,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAkB;IAC1C,OAAO,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC;AACzC,CAAC;AAED,SAAS,UAAU,CAAC,KAAkB;IACpC,OAAO,CACL,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;QAC9B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;QAC9B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;QAC9B,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAChC,iBAAoC,EACpC,IAAY;IAEZ,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI;IACJ,WAAW;IACX,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;IAChB,UAAU;IACV,iBAAiB;IACjB,yBAAyB;CAC1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/definition/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/definition/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type PluginImplementationStore, type PluginMetadataWithPaths } from '#src/plugins/index.js';
|
|
2
|
+
import { type BasePluginDefinition, type ProjectDefinition } from '#src/schema/index.js';
|
|
3
|
+
declare function byId(projectDefinition: ProjectDefinition, id: string): BasePluginDefinition | null;
|
|
4
|
+
declare function byIdOrThrow(projectDefinition: ProjectDefinition, id: string): BasePluginDefinition;
|
|
5
|
+
declare function configByIdOrThrow(projectDefinition: ProjectDefinition, id: string): unknown;
|
|
6
|
+
declare function setPluginConfig(projectDefinition: ProjectDefinition, plugin: PluginMetadataWithPaths, pluginConfig: unknown, pluginImplementationStore: PluginImplementationStore): void;
|
|
7
|
+
export declare const PluginUtils: {
|
|
8
|
+
byId: typeof byId;
|
|
9
|
+
byIdOrThrow: typeof byIdOrThrow;
|
|
10
|
+
setPluginConfig: typeof setPluginConfig;
|
|
11
|
+
configByIdOrThrow: typeof configByIdOrThrow;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=plugin-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-utils.d.ts","sourceRoot":"","sources":["../../../src/definition/plugins/plugin-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,iBAAS,IAAI,CACX,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,oBAAoB,GAAG,IAAI,CAM7B;AAED,iBAAS,WAAW,CAClB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,oBAAoB,CAMtB;AAED,iBAAS,iBAAiB,CACxB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,OAAO,CAGT;AAED,iBAAS,eAAe,CACtB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,uBAAuB,EAC/B,YAAY,EAAE,OAAO,EACrB,yBAAyB,EAAE,yBAAyB,GACnD,IAAI,CAyBN;AAED,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { pluginConfigSpec, } from '#src/plugins/index.js';
|
|
2
|
+
import { pluginEntityType, } from '#src/schema/index.js';
|
|
3
|
+
function byId(projectDefinition, id) {
|
|
4
|
+
const pluginEntityId = pluginEntityType.fromUid(id);
|
|
5
|
+
const plugin = projectDefinition.plugins?.find((m) => m.id === pluginEntityId);
|
|
6
|
+
return plugin ?? null;
|
|
7
|
+
}
|
|
8
|
+
function byIdOrThrow(projectDefinition, id) {
|
|
9
|
+
const plugin = byId(projectDefinition, id);
|
|
10
|
+
if (!plugin) {
|
|
11
|
+
throw new Error(`Could not find plugin with ID ${id}`);
|
|
12
|
+
}
|
|
13
|
+
return plugin;
|
|
14
|
+
}
|
|
15
|
+
function configByIdOrThrow(projectDefinition, id) {
|
|
16
|
+
const def = byIdOrThrow(projectDefinition, id);
|
|
17
|
+
return def.config;
|
|
18
|
+
}
|
|
19
|
+
function setPluginConfig(projectDefinition, plugin, pluginConfig, pluginImplementationStore) {
|
|
20
|
+
const plugins = projectDefinition.plugins ?? [];
|
|
21
|
+
const pluginEntityId = pluginEntityType.fromUid(plugin.id);
|
|
22
|
+
const pluginConfigService = pluginImplementationStore.getPluginSpec(pluginConfigSpec);
|
|
23
|
+
const lastMigrationVersion = pluginConfigService.getLastMigrationVersion(plugin.id);
|
|
24
|
+
projectDefinition.plugins = plugins.some((p) => p.id === pluginEntityId)
|
|
25
|
+
? plugins.map((p) => pluginEntityId === p.id ? { ...p, config: pluginConfig } : p)
|
|
26
|
+
: [
|
|
27
|
+
...plugins,
|
|
28
|
+
{
|
|
29
|
+
id: pluginEntityId,
|
|
30
|
+
name: plugin.name,
|
|
31
|
+
version: plugin.version,
|
|
32
|
+
packageName: plugin.packageName,
|
|
33
|
+
config: pluginConfig,
|
|
34
|
+
configSchemaVersion: lastMigrationVersion,
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
export const PluginUtils = {
|
|
39
|
+
byId,
|
|
40
|
+
byIdOrThrow,
|
|
41
|
+
setPluginConfig,
|
|
42
|
+
configByIdOrThrow,
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=plugin-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-utils.js","sourceRoot":"","sources":["../../../src/definition/plugins/plugin-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAGjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,gBAAgB,GAEjB,MAAM,sBAAsB,CAAC;AAE9B,SAAS,IAAI,CACX,iBAAoC,EACpC,EAAU;IAEV,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAC/B,CAAC;IACF,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC;AAED,SAAS,WAAW,CAClB,iBAAoC,EACpC,EAAU;IAEV,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CACxB,iBAAoC,EACpC,EAAU;IAEV,MAAM,GAAG,GAAG,WAAW,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CACtB,iBAAoC,EACpC,MAA+B,EAC/B,YAAqB,EACrB,yBAAoD;IAEpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC;IAChD,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAE3D,MAAM,mBAAmB,GACvB,yBAAyB,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,uBAAuB,CACtE,MAAM,CAAC,EAAE,CACV,CAAC;IAEF,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC;QACtE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChB,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAC7D;QACH,CAAC,CAAC;YACE,GAAG,OAAO;YACV;gBACE,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,YAAY;gBACpB,mBAAmB,EAAE,oBAAoB;aAC1C;SACF,CAAC;AACR,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI;IACJ,WAAW;IACX,eAAe;IACf,iBAAiB;CAClB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { SchemaParserContext } from '#src/parser/types.js';
|
|
2
|
+
import type { PluginImplementationStore } from '#src/plugins/index.js';
|
|
3
|
+
import type { DefinitionEntity, DefinitionReference, FixRefDeletionResult, ResolvedZodRefPayload } from '#src/references/index.js';
|
|
4
|
+
import type { InferDefinitionSchema } from '#src/schema/creator/types.js';
|
|
5
|
+
import type { createProjectDefinitionSchema, ProjectDefinition } from '#src/schema/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Container for a project definition that includes references and entities.
|
|
8
|
+
*
|
|
9
|
+
* This class provides utility methods for working with a project definition
|
|
10
|
+
* such as the ability to fetch an entity by ID.
|
|
11
|
+
*/
|
|
12
|
+
export declare class ProjectDefinitionContainer {
|
|
13
|
+
pluginStore: PluginImplementationStore;
|
|
14
|
+
refPayload: ResolvedZodRefPayload<ProjectDefinition>;
|
|
15
|
+
definition: ProjectDefinition;
|
|
16
|
+
references: DefinitionReference[];
|
|
17
|
+
entities: DefinitionEntity[];
|
|
18
|
+
parserContext: SchemaParserContext;
|
|
19
|
+
constructor(config: ResolvedZodRefPayload<ProjectDefinition>, parserContext: SchemaParserContext, pluginStore: PluginImplementationStore);
|
|
20
|
+
/**
|
|
21
|
+
* Fetches the name of an entity by its ID.
|
|
22
|
+
*
|
|
23
|
+
* @param id The ID of the entity to fetch
|
|
24
|
+
* @returns The name of the entity
|
|
25
|
+
*/
|
|
26
|
+
nameFromId(id: string): string;
|
|
27
|
+
nameFromId(id: string | undefined): string | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Fetches the name of an entity by its ID, returning undefined if the ID is not found.
|
|
30
|
+
*
|
|
31
|
+
* @param id The ID of the entity to fetch
|
|
32
|
+
* @returns The name of the entity, or undefined if the ID is not found
|
|
33
|
+
*/
|
|
34
|
+
safeNameFromId(id: string | undefined): string | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Fix any reference deletions that would occur when applying the given setter.
|
|
37
|
+
*
|
|
38
|
+
* @param setter A function that modifies the project definition
|
|
39
|
+
* @returns A result indicating whether the reference deletions were fixed
|
|
40
|
+
*/
|
|
41
|
+
fixRefDeletions(setter: (draftConfig: ProjectDefinition) => void): FixRefDeletionResult<InferDefinitionSchema<typeof createProjectDefinitionSchema>>;
|
|
42
|
+
/**
|
|
43
|
+
* Serializes the project definition resolving references to their names for easier reading.
|
|
44
|
+
*
|
|
45
|
+
* @returns The serialized contents of the project definition
|
|
46
|
+
*/
|
|
47
|
+
toSerializedContents(): string;
|
|
48
|
+
/**
|
|
49
|
+
* Creates a new ProjectDefinitionContainer from a raw project definition.
|
|
50
|
+
*
|
|
51
|
+
* @param definition The raw project definition
|
|
52
|
+
* @param context The parser context to use
|
|
53
|
+
* @returns A new ProjectDefinitionContainer
|
|
54
|
+
*/
|
|
55
|
+
static fromDefinition(definition: ProjectDefinition, context: SchemaParserContext): ProjectDefinitionContainer;
|
|
56
|
+
/**
|
|
57
|
+
* Creates a new ProjectDefinitionContainer from a serialized configuration.
|
|
58
|
+
*
|
|
59
|
+
* @param config The serialized configuration
|
|
60
|
+
* @param context The parser context to use
|
|
61
|
+
* @returns A new ProjectDefinitionContainer
|
|
62
|
+
*/
|
|
63
|
+
static fromSerializedConfig(config: unknown, context: SchemaParserContext): ProjectDefinitionContainer;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=project-definition-container.d.ts.map
|