@baseplate-dev/project-builder-lib 0.5.3 → 0.6.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/CHANGELOG.md +69 -0
- package/dist/definition/index.d.ts +0 -1
- package/dist/definition/index.d.ts.map +1 -1
- package/dist/definition/index.js +0 -1
- package/dist/definition/index.js.map +1 -1
- package/dist/definition/model/model-field-utils.js +2 -2
- package/dist/definition/model/model-field-utils.js.map +1 -1
- package/dist/definition/model/model-utils.d.ts.map +1 -1
- package/dist/definition/model/model-utils.js +2 -2
- package/dist/definition/model/model-utils.js.map +1 -1
- package/dist/definition/project-definition-container.d.ts +21 -12
- package/dist/definition/project-definition-container.d.ts.map +1 -1
- package/dist/definition/project-definition-container.js +42 -23
- package/dist/definition/project-definition-container.js.map +1 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +6 -0
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/migration-024-graphql-object-type-field-auth.d.ts +30 -0
- package/dist/migrations/migration-024-graphql-object-type-field-auth.d.ts.map +1 -0
- package/dist/migrations/migration-024-graphql-object-type-field-auth.js +54 -0
- package/dist/migrations/migration-024-graphql-object-type-field-auth.js.map +1 -0
- package/dist/migrations/migration-025-service-method-auth.d.ts +44 -0
- package/dist/migrations/migration-025-service-method-auth.d.ts.map +1 -0
- package/dist/migrations/migration-025-service-method-auth.js +62 -0
- package/dist/migrations/migration-025-service-method-auth.js.map +1 -0
- package/dist/migrations/migration-026-query-shared-roles.d.ts +32 -0
- package/dist/migrations/migration-026-query-shared-roles.d.ts.map +1 -0
- package/dist/migrations/migration-026-query-shared-roles.js +48 -0
- package/dist/migrations/migration-026-query-shared-roles.js.map +1 -0
- package/dist/parser/apply-definition-fixes.d.ts +13 -0
- package/dist/parser/apply-definition-fixes.d.ts.map +1 -0
- package/dist/parser/apply-definition-fixes.js +25 -0
- package/dist/parser/apply-definition-fixes.js.map +1 -0
- package/dist/parser/clean-default-values.d.ts +14 -0
- package/dist/parser/clean-default-values.d.ts.map +1 -0
- package/dist/parser/clean-default-values.js +24 -0
- package/dist/parser/clean-default-values.js.map +1 -0
- package/dist/parser/collect-definition-issues.d.ts +36 -0
- package/dist/parser/collect-definition-issues.d.ts.map +1 -0
- package/dist/parser/collect-definition-issues.js +94 -0
- package/dist/parser/collect-definition-issues.js.map +1 -0
- package/dist/parser/collect-expression-issues.d.ts +17 -0
- package/dist/parser/collect-expression-issues.d.ts.map +1 -0
- package/dist/parser/collect-expression-issues.js +33 -0
- package/dist/parser/collect-expression-issues.js.map +1 -0
- package/dist/parser/definition-issue-checkers/mutation-roles-checker.d.ts +11 -0
- package/dist/parser/definition-issue-checkers/mutation-roles-checker.d.ts.map +1 -0
- package/dist/parser/definition-issue-checkers/mutation-roles-checker.js +41 -0
- package/dist/parser/definition-issue-checkers/mutation-roles-checker.js.map +1 -0
- package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.d.ts +10 -0
- package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.d.ts.map +1 -0
- package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.js +36 -0
- package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.js.map +1 -0
- package/dist/parser/definition-issue-utils.d.ts +23 -0
- package/dist/parser/definition-issue-utils.d.ts.map +1 -0
- package/dist/parser/definition-issue-utils.js +33 -0
- package/dist/parser/definition-issue-utils.js.map +1 -0
- package/dist/parser/index.d.ts +9 -0
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +8 -0
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/parser.d.ts.map +1 -1
- package/dist/parser/parser.js +7 -2
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/schema-structure.d.ts +53 -0
- package/dist/parser/schema-structure.d.ts.map +1 -0
- package/dist/parser/schema-structure.js +171 -0
- package/dist/parser/schema-structure.js.map +1 -0
- package/dist/parser/transform-data-with-schema.d.ts +35 -0
- package/dist/parser/transform-data-with-schema.d.ts.map +1 -0
- package/dist/parser/transform-data-with-schema.js +140 -0
- package/dist/parser/transform-data-with-schema.js.map +1 -0
- package/dist/parser/types.d.ts +6 -3
- package/dist/parser/types.d.ts.map +1 -1
- package/dist/parser/walk-data-with-schema.d.ts +46 -0
- package/dist/parser/walk-data-with-schema.d.ts.map +1 -0
- package/dist/parser/walk-data-with-schema.js +140 -0
- package/dist/parser/walk-data-with-schema.js.map +1 -0
- package/dist/parser/walk-schema-structure.d.ts +60 -0
- package/dist/parser/walk-schema-structure.d.ts.map +1 -0
- package/dist/parser/walk-schema-structure.js +163 -0
- package/dist/parser/walk-schema-structure.js.map +1 -0
- package/dist/plugins/imports/loader.d.ts +1 -1
- package/dist/plugins/imports/loader.d.ts.map +1 -1
- package/dist/plugins/imports/loader.js +2 -2
- package/dist/plugins/imports/loader.js.map +1 -1
- package/dist/plugins/imports/types.d.ts +1 -1
- package/dist/plugins/imports/types.d.ts.map +1 -1
- package/dist/plugins/metadata/types.d.ts +1 -1
- package/dist/plugins/metadata/types.js +1 -1
- package/dist/plugins/plugins.test-utils.d.ts +15 -0
- package/dist/plugins/plugins.test-utils.d.ts.map +1 -1
- package/dist/plugins/plugins.test-utils.js +24 -0
- package/dist/plugins/plugins.test-utils.js.map +1 -1
- package/dist/plugins/spec/config-spec.d.ts +1 -0
- package/dist/plugins/spec/config-spec.d.ts.map +1 -1
- package/dist/plugins/spec/config-spec.js +1 -0
- package/dist/plugins/spec/config-spec.js.map +1 -1
- package/dist/plugins/store/store.d.ts +6 -1
- package/dist/plugins/store/store.d.ts.map +1 -1
- package/dist/plugins/store/store.js +9 -1
- package/dist/plugins/store/store.js.map +1 -1
- package/dist/references/definition-ref-registry.d.ts +105 -0
- package/dist/references/definition-ref-registry.d.ts.map +1 -0
- package/dist/references/definition-ref-registry.js +40 -0
- package/dist/references/definition-ref-registry.js.map +1 -0
- package/dist/references/deserialize-schema.d.ts +4 -6
- package/dist/references/deserialize-schema.d.ts.map +1 -1
- package/dist/references/deserialize-schema.js +4 -5
- package/dist/references/deserialize-schema.js.map +1 -1
- package/dist/references/expression-types.d.ts +46 -14
- package/dist/references/expression-types.d.ts.map +1 -1
- package/dist/references/expression-types.js +17 -0
- package/dist/references/expression-types.js.map +1 -1
- package/dist/references/extend-parser-context-with-refs.d.ts +32 -2
- package/dist/references/extend-parser-context-with-refs.d.ts.map +1 -1
- package/dist/references/extend-parser-context-with-refs.js +123 -163
- package/dist/references/extend-parser-context-with-refs.js.map +1 -1
- package/dist/references/extract-definition-refs.d.ts +9 -8
- package/dist/references/extract-definition-refs.d.ts.map +1 -1
- package/dist/references/extract-definition-refs.js +110 -26
- package/dist/references/extract-definition-refs.js.map +1 -1
- package/dist/references/fix-ref-deletions.d.ts +6 -6
- package/dist/references/fix-ref-deletions.d.ts.map +1 -1
- package/dist/references/fix-ref-deletions.js +2 -2
- package/dist/references/fix-ref-deletions.js.map +1 -1
- package/dist/references/index.d.ts +3 -0
- package/dist/references/index.d.ts.map +1 -1
- package/dist/references/index.js +3 -0
- package/dist/references/index.js.map +1 -1
- package/dist/references/parse-schema-with-references.d.ts +8 -6
- package/dist/references/parse-schema-with-references.d.ts.map +1 -1
- package/dist/references/parse-schema-with-references.js +10 -12
- package/dist/references/parse-schema-with-references.js.map +1 -1
- package/dist/references/ref-schema-visitor.d.ts +33 -0
- package/dist/references/ref-schema-visitor.d.ts.map +1 -0
- package/dist/references/ref-schema-visitor.js +61 -0
- package/dist/references/ref-schema-visitor.js.map +1 -0
- package/dist/references/resolve-slots.d.ts +1 -1
- package/dist/references/resolve-slots.d.ts.map +1 -1
- package/dist/references/serialize-schema.d.ts +9 -2
- package/dist/references/serialize-schema.d.ts.map +1 -1
- package/dist/references/serialize-schema.js +20 -4
- package/dist/references/serialize-schema.js.map +1 -1
- package/dist/schema/apps/web/admin/admin.d.ts +22 -37
- package/dist/schema/apps/web/admin/admin.d.ts.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.d.ts +6 -15
- package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.d.ts.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js +3 -8
- package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.d.ts +6 -15
- package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.d.ts.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js +3 -8
- package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.d.ts +9 -15
- package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.d.ts.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js +3 -8
- package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud.d.ts +6 -6
- package/dist/schema/apps/web/web-app.d.ts +32 -47
- package/dist/schema/apps/web/web-app.d.ts.map +1 -1
- package/dist/schema/creator/definition-default-registry.d.ts +22 -0
- package/dist/schema/creator/definition-default-registry.d.ts.map +1 -0
- package/dist/schema/creator/definition-default-registry.js +18 -0
- package/dist/schema/creator/definition-default-registry.js.map +1 -0
- package/dist/schema/creator/definition-fix-registry.d.ts +45 -0
- package/dist/schema/creator/definition-fix-registry.d.ts.map +1 -0
- package/dist/schema/creator/definition-fix-registry.js +41 -0
- package/dist/schema/creator/definition-fix-registry.js.map +1 -0
- package/dist/schema/creator/definition-issue-checker-spec.d.ts +37 -0
- package/dist/schema/creator/definition-issue-checker-spec.d.ts.map +1 -0
- package/dist/schema/creator/definition-issue-checker-spec.js +28 -0
- package/dist/schema/creator/definition-issue-checker-spec.js.map +1 -0
- package/dist/schema/creator/definition-issue-checkers.d.ts +16 -0
- package/dist/schema/creator/definition-issue-checkers.d.ts.map +1 -0
- package/dist/schema/creator/definition-issue-checkers.js +35 -0
- package/dist/schema/creator/definition-issue-checkers.js.map +1 -0
- package/dist/schema/creator/definition-issue-registry.d.ts +54 -0
- package/dist/schema/creator/definition-issue-registry.d.ts.map +1 -0
- package/dist/schema/creator/definition-issue-registry.js +47 -0
- package/dist/schema/creator/definition-issue-registry.js.map +1 -0
- package/dist/schema/creator/definition-issue-types.d.ts +53 -0
- package/dist/schema/creator/definition-issue-types.d.ts.map +1 -0
- package/dist/schema/creator/definition-issue-types.js +2 -0
- package/dist/schema/creator/definition-issue-types.js.map +1 -0
- package/dist/schema/creator/extend-parser-context-with-defaults.d.ts +20 -4
- package/dist/schema/creator/extend-parser-context-with-defaults.d.ts.map +1 -1
- package/dist/schema/creator/extend-parser-context-with-defaults.js +24 -42
- package/dist/schema/creator/extend-parser-context-with-defaults.js.map +1 -1
- package/dist/schema/creator/index.d.ts +6 -0
- package/dist/schema/creator/index.d.ts.map +1 -1
- package/dist/schema/creator/index.js +5 -0
- package/dist/schema/creator/index.js.map +1 -1
- package/dist/schema/creator/schema-creator.d.ts.map +1 -1
- package/dist/schema/creator/schema-creator.js +18 -4
- package/dist/schema/creator/schema-creator.js.map +1 -1
- package/dist/schema/creator/types.d.ts +3 -30
- package/dist/schema/creator/types.d.ts.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.d.ts.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js +116 -25
- package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts +82 -1
- package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-ast.js.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts +8 -9
- package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-parser.js +28 -35
- package/dist/schema/models/authorizer/authorizer-expression-parser.js.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts +42 -4
- package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-validator.js +119 -18
- package/dist/schema/models/authorizer/authorizer-expression-validator.js.map +1 -1
- package/dist/schema/models/graphql.d.ts +42 -111
- package/dist/schema/models/graphql.d.ts.map +1 -1
- package/dist/schema/models/graphql.js +59 -19
- package/dist/schema/models/graphql.js.map +1 -1
- package/dist/schema/models/models.d.ts +1134 -343
- package/dist/schema/models/models.d.ts.map +1 -1
- package/dist/schema/models/models.js +258 -86
- package/dist/schema/models/models.js.map +1 -1
- package/dist/schema/plugins/definition.d.ts +2 -30
- package/dist/schema/plugins/definition.d.ts.map +1 -1
- package/dist/schema/plugins/definition.js +26 -15
- package/dist/schema/plugins/definition.js.map +1 -1
- package/dist/schema/project-definition.d.ts +532 -186
- package/dist/schema/project-definition.d.ts.map +1 -1
- package/dist/schema/project-definition.js +15 -3
- package/dist/schema/project-definition.js.map +1 -1
- package/dist/schema/settings/general.d.ts +1 -1
- package/dist/schema/settings/general.d.ts.map +1 -1
- package/dist/schema/settings/general.js +4 -1
- package/dist/schema/settings/general.js.map +1 -1
- package/dist/schema/settings/settings.d.ts +3 -3
- package/dist/schema/settings/theme.d.ts +3 -3
- package/dist/testing/definition-helpers.test-helper.d.ts +12 -0
- package/dist/testing/definition-helpers.test-helper.d.ts.map +1 -0
- package/dist/testing/definition-helpers.test-helper.js +77 -0
- package/dist/testing/definition-helpers.test-helper.js.map +1 -0
- package/dist/testing/expression-stub-parser.test-helper.d.ts +59 -0
- package/dist/testing/expression-stub-parser.test-helper.d.ts.map +1 -0
- package/dist/testing/expression-stub-parser.test-helper.js +79 -0
- package/dist/testing/expression-stub-parser.test-helper.js.map +1 -0
- package/dist/testing/expression-warning-parser.test-helper.d.ts +39 -0
- package/dist/testing/expression-warning-parser.test-helper.d.ts.map +1 -0
- package/dist/testing/expression-warning-parser.test-helper.js +62 -0
- package/dist/testing/expression-warning-parser.test-helper.js.map +1 -0
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +5 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/parser-context.test-helper.d.ts +8 -0
- package/dist/testing/parser-context.test-helper.d.ts.map +1 -0
- package/dist/testing/parser-context.test-helper.js +16 -0
- package/dist/testing/parser-context.test-helper.js.map +1 -0
- package/dist/{definition/project-definition-container.test-utils.d.ts → testing/project-definition-container.test-helper.d.ts} +4 -2
- package/dist/testing/project-definition-container.test-helper.d.ts.map +1 -0
- package/dist/{definition/project-definition-container.test-utils.js → testing/project-definition-container.test-helper.js} +11 -5
- package/dist/testing/project-definition-container.test-helper.js.map +1 -0
- package/dist/tools/assign-entity-ids.d.ts +17 -0
- package/dist/tools/assign-entity-ids.d.ts.map +1 -0
- package/dist/tools/assign-entity-ids.js +34 -0
- package/dist/tools/assign-entity-ids.js.map +1 -0
- package/dist/tools/entity-service/entity-navigation.d.ts +13 -0
- package/dist/tools/entity-service/entity-navigation.d.ts.map +1 -0
- package/dist/tools/entity-service/entity-navigation.js +84 -0
- package/dist/tools/entity-service/entity-navigation.js.map +1 -0
- package/dist/tools/entity-service/entity-read.d.ts +38 -0
- package/dist/tools/entity-service/entity-read.d.ts.map +1 -0
- package/dist/tools/entity-service/entity-read.js +56 -0
- package/dist/tools/entity-service/entity-read.js.map +1 -0
- package/dist/tools/entity-service/entity-type-map.d.ts +18 -0
- package/dist/tools/entity-service/entity-type-map.d.ts.map +1 -0
- package/dist/tools/entity-service/entity-type-map.js +75 -0
- package/dist/tools/entity-service/entity-type-map.js.map +1 -0
- package/dist/tools/entity-service/entity-write.d.ts +39 -0
- package/dist/tools/entity-service/entity-write.d.ts.map +1 -0
- package/dist/tools/entity-service/entity-write.js +99 -0
- package/dist/tools/entity-service/entity-write.js.map +1 -0
- package/dist/tools/entity-service/index.d.ts +5 -0
- package/dist/tools/entity-service/index.d.ts.map +1 -0
- package/dist/tools/entity-service/index.js +4 -0
- package/dist/tools/entity-service/index.js.map +1 -0
- package/dist/tools/entity-service/types.d.ts +41 -0
- package/dist/tools/entity-service/types.d.ts.map +1 -0
- package/dist/tools/entity-service/types.js +2 -0
- package/dist/tools/entity-service/types.js.map +1 -0
- package/dist/tools/index.d.ts +2 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/merge-schema/diff-definition.d.ts +74 -0
- package/dist/tools/merge-schema/diff-definition.d.ts.map +1 -0
- package/dist/tools/merge-schema/diff-definition.js +163 -0
- package/dist/tools/merge-schema/diff-definition.js.map +1 -0
- package/dist/tools/merge-schema/entity-utils.d.ts +18 -0
- package/dist/tools/merge-schema/entity-utils.d.ts.map +1 -0
- package/dist/tools/merge-schema/entity-utils.js +42 -0
- package/dist/tools/merge-schema/entity-utils.js.map +1 -0
- package/dist/tools/merge-schema/index.d.ts +10 -0
- package/dist/tools/merge-schema/index.d.ts.map +1 -0
- package/dist/tools/merge-schema/index.js +7 -0
- package/dist/tools/merge-schema/index.js.map +1 -0
- package/dist/tools/merge-schema/merge-data-with-schema.d.ts +21 -0
- package/dist/tools/merge-schema/merge-data-with-schema.d.ts.map +1 -0
- package/dist/tools/merge-schema/merge-data-with-schema.js +168 -0
- package/dist/tools/merge-schema/merge-data-with-schema.js.map +1 -0
- package/dist/tools/merge-schema/merge-definition.d.ts +42 -0
- package/dist/tools/merge-schema/merge-definition.d.ts.map +1 -0
- package/dist/tools/merge-schema/merge-definition.js +53 -0
- package/dist/tools/merge-schema/merge-definition.js.map +1 -0
- package/dist/tools/merge-schema/merge-rule-registry.d.ts +47 -0
- package/dist/tools/merge-schema/merge-rule-registry.d.ts.map +1 -0
- package/dist/tools/merge-schema/merge-rule-registry.js +53 -0
- package/dist/tools/merge-schema/merge-rule-registry.js.map +1 -0
- package/dist/tools/merge-schema/walk-schema.d.ts +26 -0
- package/dist/tools/merge-schema/walk-schema.d.ts.map +1 -0
- package/dist/tools/merge-schema/walk-schema.js +94 -0
- package/dist/tools/merge-schema/walk-schema.js.map +1 -0
- package/dist/utils/definition-diff/definition-diff.js.map +1 -1
- package/dist/web/components/definition-diff-alert.d.ts +9 -0
- package/dist/web/components/definition-diff-alert.d.ts.map +1 -0
- package/dist/web/components/definition-diff-alert.js +17 -0
- package/dist/web/components/definition-diff-alert.js.map +1 -0
- package/dist/web/components/index.d.ts +1 -1
- package/dist/web/components/index.d.ts.map +1 -1
- package/dist/web/components/index.js +1 -1
- package/dist/web/components/index.js.map +1 -1
- package/dist/web/hooks/use-project-definition.d.ts +10 -2
- package/dist/web/hooks/use-project-definition.d.ts.map +1 -1
- package/dist/web/hooks/use-project-definition.js.map +1 -1
- package/dist/web/specs/entity-type-url-web-spec.d.ts +68 -0
- package/dist/web/specs/entity-type-url-web-spec.d.ts.map +1 -0
- package/dist/web/specs/entity-type-url-web-spec.js +27 -0
- package/dist/web/specs/entity-type-url-web-spec.js.map +1 -0
- package/dist/web/specs/index.d.ts +1 -0
- package/dist/web/specs/index.d.ts.map +1 -1
- package/dist/web/specs/index.js +1 -0
- package/dist/web/specs/index.js.map +1 -1
- package/package.json +12 -11
- package/dist/definition/project-definition-container.test-utils.d.ts.map +0 -1
- package/dist/definition/project-definition-container.test-utils.js.map +0 -1
- package/dist/references/collect-refs.d.ts +0 -24
- package/dist/references/collect-refs.d.ts.map +0 -1
- package/dist/references/collect-refs.js +0 -86
- package/dist/references/collect-refs.js.map +0 -1
- package/dist/references/markers.d.ts +0 -59
- package/dist/references/markers.d.ts.map +0 -1
- package/dist/references/markers.js +0 -29
- package/dist/references/markers.js.map +0 -1
- package/dist/references/strip-ref-markers.d.ts +0 -7
- package/dist/references/strip-ref-markers.d.ts.map +0 -1
- package/dist/references/strip-ref-markers.js +0 -25
- package/dist/references/strip-ref-markers.js.map +0 -1
- package/dist/schema/models/mocks.d.ts +0 -6
- package/dist/schema/models/mocks.d.ts.map +0 -1
- package/dist/schema/models/mocks.js +0 -55
- package/dist/schema/models/mocks.js.map +0 -1
- package/dist/tools/model-merger/index.d.ts +0 -2
- package/dist/tools/model-merger/index.d.ts.map +0 -1
- package/dist/tools/model-merger/index.js +0 -2
- package/dist/tools/model-merger/index.js.map +0 -1
- package/dist/tools/model-merger/model-merger.d.ts +0 -569
- package/dist/tools/model-merger/model-merger.d.ts.map +0 -1
- package/dist/tools/model-merger/model-merger.js +0 -319
- package/dist/tools/model-merger/model-merger.js.map +0 -1
- package/dist/web/components/model-merger-result-alert.d.ts +0 -8
- package/dist/web/components/model-merger-result-alert.d.ts.map +0 -1
- package/dist/web/components/model-merger-result-alert.js +0 -20
- package/dist/web/components/model-merger-result-alert.js.map +0 -1
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { isPlainObject } from 'es-toolkit';
|
|
2
|
+
import { get } from 'es-toolkit/compat';
|
|
3
|
+
import { definitionRefRegistry } from '#src/references/definition-ref-registry.js';
|
|
4
|
+
import { getSchemaChildren } from './schema-structure.js';
|
|
5
|
+
/**
|
|
6
|
+
* Walks a Zod schema structure in parallel with parsed data, invoking
|
|
7
|
+
* registered visitors whenever schema nodes are encountered.
|
|
8
|
+
*
|
|
9
|
+
* Each visitor's `visit()` is called for every node. If it returns a cleanup
|
|
10
|
+
* function, that function is called after all children have been visited —
|
|
11
|
+
* similar to the React `useEffect` cleanup pattern.
|
|
12
|
+
*
|
|
13
|
+
* The walker is entity-aware: it detects entity boundaries via
|
|
14
|
+
* `definitionRefRegistry` annotations and tracks the current entity ID and
|
|
15
|
+
* relative path, exposing them through `SchemaWalkContext`.
|
|
16
|
+
*
|
|
17
|
+
* Only serializable, structurally-traversable schema types are supported.
|
|
18
|
+
* Non-serializable types (transform, custom, file, symbol, promise, function,
|
|
19
|
+
* lazy, etc.) will throw at walk time.
|
|
20
|
+
*
|
|
21
|
+
* Discriminated unions are fully supported. Plain `z.union()` is allowed only
|
|
22
|
+
* when every option is a leaf type (string, enum, or literal); otherwise it throws.
|
|
23
|
+
*/
|
|
24
|
+
export function walkDataWithSchema(schema, data, visitors) {
|
|
25
|
+
const entityCtx = {
|
|
26
|
+
entityId: undefined,
|
|
27
|
+
entityBasePath: [],
|
|
28
|
+
};
|
|
29
|
+
walkNode(schema, data, [], visitors, entityCtx);
|
|
30
|
+
}
|
|
31
|
+
function walkNode(schema, data, path, visitors, entityCtx) {
|
|
32
|
+
// Check for entity boundary before visiting
|
|
33
|
+
let entityRestore;
|
|
34
|
+
const metaList = definitionRefRegistry.getAll(schema);
|
|
35
|
+
for (const meta of metaList) {
|
|
36
|
+
if (meta.kind === 'entity' && isPlainObject(data)) {
|
|
37
|
+
const id = get(data, meta.idPath);
|
|
38
|
+
if (typeof id === 'string' && id) {
|
|
39
|
+
const prevEntityId = entityCtx.entityId;
|
|
40
|
+
const prevEntityBasePath = entityCtx.entityBasePath;
|
|
41
|
+
entityCtx.entityId = id;
|
|
42
|
+
entityCtx.entityBasePath = path;
|
|
43
|
+
entityRestore = () => {
|
|
44
|
+
entityCtx.entityId = prevEntityId;
|
|
45
|
+
entityCtx.entityBasePath = prevEntityBasePath;
|
|
46
|
+
};
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const entityRelativePath = path.slice(entityCtx.entityBasePath.length);
|
|
52
|
+
const ctx = {
|
|
53
|
+
path,
|
|
54
|
+
entityId: entityCtx.entityId,
|
|
55
|
+
entityRelativePath,
|
|
56
|
+
};
|
|
57
|
+
// Step 1: Call all visitors, collect any cleanup functions returned.
|
|
58
|
+
const cleanups = [];
|
|
59
|
+
for (const visitor of visitors) {
|
|
60
|
+
const cleanup = visitor.visit(schema, data, ctx);
|
|
61
|
+
if (cleanup)
|
|
62
|
+
cleanups.push(cleanup);
|
|
63
|
+
}
|
|
64
|
+
// Step 2: Structural descent based on schema children.
|
|
65
|
+
const children = getSchemaChildren(schema, data, path);
|
|
66
|
+
switch (children.kind) {
|
|
67
|
+
case 'leaf': {
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
case 'leaf-union': {
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
case 'wrapper': {
|
|
74
|
+
if (children.skipIfNullish && (data === undefined || data === null))
|
|
75
|
+
break;
|
|
76
|
+
walkNode(children.innerSchema, data, path, visitors, entityCtx);
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
case 'object': {
|
|
80
|
+
if (data === null || data === undefined || typeof data !== 'object')
|
|
81
|
+
break;
|
|
82
|
+
for (const [key, fieldSchema] of children.entries) {
|
|
83
|
+
walkNode(fieldSchema, data[key], [...path, key], visitors, entityCtx);
|
|
84
|
+
}
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
case 'array': {
|
|
88
|
+
if (!Array.isArray(data))
|
|
89
|
+
break;
|
|
90
|
+
for (const [i, datum] of data.entries()) {
|
|
91
|
+
walkNode(children.elementSchema, datum, [...path, i], visitors, entityCtx);
|
|
92
|
+
}
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
case 'tuple': {
|
|
96
|
+
if (!Array.isArray(data))
|
|
97
|
+
break;
|
|
98
|
+
for (const [i, itemSchema] of children.items.entries()) {
|
|
99
|
+
if (i < data.length) {
|
|
100
|
+
walkNode(itemSchema, data[i], [...path, i], visitors, entityCtx);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (children.rest) {
|
|
104
|
+
for (let i = children.items.length; i < data.length; i++) {
|
|
105
|
+
walkNode(children.rest, data[i], [...path, i], visitors, entityCtx);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
case 'record': {
|
|
111
|
+
if (data === null || data === undefined || typeof data !== 'object')
|
|
112
|
+
break;
|
|
113
|
+
for (const [key, value] of Object.entries(data)) {
|
|
114
|
+
walkNode(children.valueSchema, value, [...path, key], visitors, entityCtx);
|
|
115
|
+
}
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
case 'discriminated-union': {
|
|
119
|
+
if (children.match) {
|
|
120
|
+
walkNode(children.match, data, path, visitors, entityCtx);
|
|
121
|
+
}
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
case 'intersection': {
|
|
125
|
+
// Walk both sides — data satisfies both schemas simultaneously
|
|
126
|
+
walkNode(children.left, data, path, visitors, entityCtx);
|
|
127
|
+
walkNode(children.right, data, path, visitors, entityCtx);
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Step 3: Run cleanup functions in reverse order (innermost first).
|
|
132
|
+
for (let i = cleanups.length - 1; i >= 0; i--) {
|
|
133
|
+
cleanups[i]();
|
|
134
|
+
}
|
|
135
|
+
// Step 4: Restore entity context if we crossed a boundary.
|
|
136
|
+
if (entityRestore) {
|
|
137
|
+
entityRestore();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=walk-data-with-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walk-data-with-schema.js","sourceRoot":"","sources":["../../src/parser/walk-data-with-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a single deterministic step in navigating from a parent entity
|
|
4
|
+
* (or definition root) to a child entity array.
|
|
5
|
+
*
|
|
6
|
+
* Only deterministic navigation steps are represented:
|
|
7
|
+
* - `object-key`: navigate into an object property
|
|
8
|
+
* - `tuple-index`: navigate into a specific tuple position
|
|
9
|
+
* - `discriminated-union-array`: enter an array and pick the unique element
|
|
10
|
+
* matching a discriminator value
|
|
11
|
+
*
|
|
12
|
+
* Non-deterministic structures (plain arrays, records) are not represented
|
|
13
|
+
* in the path — the walker descends into them without adding path elements.
|
|
14
|
+
*/
|
|
15
|
+
export type SchemaPathElement = {
|
|
16
|
+
type: 'object-key';
|
|
17
|
+
key: string;
|
|
18
|
+
} | {
|
|
19
|
+
type: 'tuple-index';
|
|
20
|
+
index: number;
|
|
21
|
+
} | {
|
|
22
|
+
type: 'discriminated-union-array';
|
|
23
|
+
discriminatorKey: string;
|
|
24
|
+
value: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* The context passed to visitors during a schema structure walk.
|
|
28
|
+
* Carries the current path as `SchemaPathElement[]`.
|
|
29
|
+
*/
|
|
30
|
+
export interface SchemaStructureWalkContext {
|
|
31
|
+
/** The absolute path to the current node in the schema. */
|
|
32
|
+
readonly path: SchemaPathElement[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A visitor that plugs into `walkSchemaStructure`.
|
|
36
|
+
*
|
|
37
|
+
* Called for every node in the schema tree. If the visitor returns a
|
|
38
|
+
* cleanup function, it will be called after all children have been visited —
|
|
39
|
+
* similar to the React `useEffect` cleanup pattern.
|
|
40
|
+
*/
|
|
41
|
+
export interface SchemaStructureVisitor {
|
|
42
|
+
visit(schema: z.ZodType, ctx: SchemaStructureWalkContext): (() => void) | undefined;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Walks a Zod schema structure (without data) invoking registered visitors
|
|
46
|
+
* at every schema node.
|
|
47
|
+
*
|
|
48
|
+
* Unlike `walkDataWithSchema`, this operates on the schema alone.
|
|
49
|
+
* Only deterministic navigation steps produce path elements:
|
|
50
|
+
* - Object keys and tuple indices add path elements
|
|
51
|
+
* - Arrays of discriminated unions add `discriminated-union-array` elements
|
|
52
|
+
* (one per branch)
|
|
53
|
+
* - Discriminated unions on objects are transparent (no path element)
|
|
54
|
+
* - Plain arrays and records are descended into without path elements
|
|
55
|
+
*
|
|
56
|
+
* Uses a `Set<z.ZodType>` circular-reference guard with delete-on-backtrack
|
|
57
|
+
* so the same schema can appear at different paths.
|
|
58
|
+
*/
|
|
59
|
+
export declare function walkSchemaStructure(schema: z.ZodType, visitors: readonly SchemaStructureVisitor[]): void;
|
|
60
|
+
//# sourceMappingURL=walk-schema-structure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walk-schema-structure.d.ts","sourceRoot":"","sources":["../../src/parser/walk-schema-structure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAyB,MAAM,KAAK,CAAC;AAQpD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC;IACE,IAAI,EAAE,2BAA2B,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAMN;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CACH,MAAM,EAAE,CAAC,CAAC,OAAO,EACjB,GAAG,EAAE,0BAA0B,GAC9B,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7B;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EACjB,QAAQ,EAAE,SAAS,sBAAsB,EAAE,GAC1C,IAAI,CAEN"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { getSchemaChildren } from './schema-structure.js';
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// Public API
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
/**
|
|
6
|
+
* Walks a Zod schema structure (without data) invoking registered visitors
|
|
7
|
+
* at every schema node.
|
|
8
|
+
*
|
|
9
|
+
* Unlike `walkDataWithSchema`, this operates on the schema alone.
|
|
10
|
+
* Only deterministic navigation steps produce path elements:
|
|
11
|
+
* - Object keys and tuple indices add path elements
|
|
12
|
+
* - Arrays of discriminated unions add `discriminated-union-array` elements
|
|
13
|
+
* (one per branch)
|
|
14
|
+
* - Discriminated unions on objects are transparent (no path element)
|
|
15
|
+
* - Plain arrays and records are descended into without path elements
|
|
16
|
+
*
|
|
17
|
+
* Uses a `Set<z.ZodType>` circular-reference guard with delete-on-backtrack
|
|
18
|
+
* so the same schema can appear at different paths.
|
|
19
|
+
*/
|
|
20
|
+
export function walkSchemaStructure(schema, visitors) {
|
|
21
|
+
walkNode(schema, [], visitors, new Set());
|
|
22
|
+
}
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
// Internal walker
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
function walkNode(schema, path, visitors, visited) {
|
|
27
|
+
// Circular reference guard
|
|
28
|
+
if (visited.has(schema)) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
visited.add(schema);
|
|
32
|
+
const ctx = { path };
|
|
33
|
+
// Step 1: Call all visitors, collect any cleanup functions returned.
|
|
34
|
+
const cleanups = [];
|
|
35
|
+
for (const visitor of visitors) {
|
|
36
|
+
const cleanup = visitor.visit(schema, ctx);
|
|
37
|
+
if (cleanup)
|
|
38
|
+
cleanups.push(cleanup);
|
|
39
|
+
}
|
|
40
|
+
// Step 2: Structural descent based on schema children (no data).
|
|
41
|
+
const children = getSchemaChildren(schema, undefined, []);
|
|
42
|
+
switch (children.kind) {
|
|
43
|
+
case 'leaf':
|
|
44
|
+
case 'leaf-union': {
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
case 'wrapper': {
|
|
48
|
+
walkNode(children.innerSchema, path, visitors, visited);
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
case 'object': {
|
|
52
|
+
for (const [key, fieldSchema] of children.entries) {
|
|
53
|
+
walkNode(fieldSchema, [...path, { type: 'object-key', key }], visitors, visited);
|
|
54
|
+
}
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
case 'array': {
|
|
58
|
+
// Check if the element schema is a discriminated union.
|
|
59
|
+
// If so, walk each branch with a discriminated-union-array path element.
|
|
60
|
+
// Otherwise, walk the element schema with no path element (non-deterministic).
|
|
61
|
+
const unwrappedElement = unwrapSchema(children.elementSchema);
|
|
62
|
+
const elementChildren = getSchemaChildren(unwrappedElement, undefined, []);
|
|
63
|
+
if (elementChildren.kind === 'discriminated-union') {
|
|
64
|
+
walkDiscriminatedUnionArrayBranches(unwrappedElement, path, visitors, visited);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
// Plain array — descend without adding a path element
|
|
68
|
+
walkNode(children.elementSchema, path, visitors, visited);
|
|
69
|
+
}
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
case 'discriminated-union': {
|
|
73
|
+
// Transparent on objects — walk all branches with the same path.
|
|
74
|
+
const unwrapped = unwrapSchema(schema);
|
|
75
|
+
for (const option of unwrapped.options) {
|
|
76
|
+
walkNode(option, path, visitors, visited);
|
|
77
|
+
}
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
case 'tuple': {
|
|
81
|
+
for (const [i, itemSchema] of children.items.entries()) {
|
|
82
|
+
walkNode(itemSchema, [...path, { type: 'tuple-index', index: i }], visitors, visited);
|
|
83
|
+
}
|
|
84
|
+
if (children.rest) {
|
|
85
|
+
// Rest elements don't have a fixed index; walk without path element
|
|
86
|
+
walkNode(children.rest, path, visitors, visited);
|
|
87
|
+
}
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
case 'record': {
|
|
91
|
+
// Non-deterministic — walk without path element
|
|
92
|
+
walkNode(children.valueSchema, path, visitors, visited);
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
case 'intersection': {
|
|
96
|
+
walkNode(children.left, path, visitors, visited);
|
|
97
|
+
walkNode(children.right, path, visitors, visited);
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// Step 3: Run cleanup functions in reverse order (innermost first).
|
|
102
|
+
for (let i = cleanups.length - 1; i >= 0; i--) {
|
|
103
|
+
cleanups[i]();
|
|
104
|
+
}
|
|
105
|
+
visited.delete(schema);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Walks each branch of a discriminated union that is an array element,
|
|
109
|
+
* pushing a `discriminated-union-array` path element for each branch.
|
|
110
|
+
*/
|
|
111
|
+
function walkDiscriminatedUnionArrayBranches(unionSchema, path, visitors, visited) {
|
|
112
|
+
const discriminatorKey = unionSchema._zod.def.discriminator;
|
|
113
|
+
for (const option of unionSchema.options) {
|
|
114
|
+
const literalValue = extractDiscriminatorValue(option, discriminatorKey);
|
|
115
|
+
if (literalValue == null) {
|
|
116
|
+
// Fallback: walk without path element
|
|
117
|
+
walkNode(option, path, visitors, visited);
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
walkNode(option, [
|
|
121
|
+
...path,
|
|
122
|
+
{
|
|
123
|
+
type: 'discriminated-union-array',
|
|
124
|
+
discriminatorKey,
|
|
125
|
+
value: literalValue,
|
|
126
|
+
},
|
|
127
|
+
], visitors, visited);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Extracts the literal discriminator value from a union branch schema.
|
|
132
|
+
*/
|
|
133
|
+
function extractDiscriminatorValue(branchSchema, discriminatorKey) {
|
|
134
|
+
const branchChildren = getSchemaChildren(branchSchema, undefined, []);
|
|
135
|
+
if (branchChildren.kind !== 'object') {
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
138
|
+
const discEntry = branchChildren.entries.find(([key]) => key === discriminatorKey);
|
|
139
|
+
if (!discEntry) {
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
const discSchema = unwrapSchema(discEntry[1]);
|
|
143
|
+
const discChildren = getSchemaChildren(discSchema, undefined, []);
|
|
144
|
+
if (discChildren.kind !== 'leaf') {
|
|
145
|
+
return undefined;
|
|
146
|
+
}
|
|
147
|
+
const { values } = discSchema._zod.def;
|
|
148
|
+
return values[0];
|
|
149
|
+
}
|
|
150
|
+
// ---------------------------------------------------------------------------
|
|
151
|
+
// Helpers
|
|
152
|
+
// ---------------------------------------------------------------------------
|
|
153
|
+
/**
|
|
154
|
+
* Unwraps wrapper schemas (optional, nullable, default, etc.) to the underlying schema.
|
|
155
|
+
*/
|
|
156
|
+
function unwrapSchema(schema) {
|
|
157
|
+
const children = getSchemaChildren(schema, undefined, []);
|
|
158
|
+
if (children.kind === 'wrapper') {
|
|
159
|
+
return unwrapSchema(children.innerSchema);
|
|
160
|
+
}
|
|
161
|
+
return schema;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=walk-schema-structure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walk-schema-structure.js","sourceRoot":"","sources":["../../src/parser/walk-schema-structure.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,5 @@ export declare function initializeOrderedModules(orderedModules: PluginModuleWit
|
|
|
10
10
|
* Initialize the plugins based on their interdependencies.
|
|
11
11
|
* Returns a store that can be used to access spec implementations.
|
|
12
12
|
*/
|
|
13
|
-
export declare function initializePlugins(pluginModules: PluginModuleWithKey[]): PluginSpecStore;
|
|
13
|
+
export declare function initializePlugins(pluginModules: PluginModuleWithKey[], pluginKeys?: string[]): PluginSpecStore;
|
|
14
14
|
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAc,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,mBAAmB,EAAE,GACpC,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CA4B1C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAc,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,mBAAmB,EAAE,GACpC,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CA4B1C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,mBAAmB,EAAE,EACpC,UAAU,GAAE,MAAM,EAAO,GACxB,eAAe,CAMjB"}
|
|
@@ -32,9 +32,9 @@ export function initializeOrderedModules(orderedModules) {
|
|
|
32
32
|
* Initialize the plugins based on their interdependencies.
|
|
33
33
|
* Returns a store that can be used to access spec implementations.
|
|
34
34
|
*/
|
|
35
|
-
export function initializePlugins(pluginModules) {
|
|
35
|
+
export function initializePlugins(pluginModules, pluginKeys = []) {
|
|
36
36
|
assertNoDuplicates(pluginModules, 'plugin modules', (m) => m.key);
|
|
37
37
|
const instances = initializeOrderedModules(pluginModules);
|
|
38
|
-
return new PluginSpecStore(instances);
|
|
38
|
+
return new PluginSpecStore(instances, pluginKeys);
|
|
39
39
|
}
|
|
40
40
|
//# sourceMappingURL=loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/plugins/imports/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAK3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,cAAqC;IAErC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuC,CAAC;IAEjE,SAAS,GAAG,CACV,IAA6B;QAE7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAA6C,CAAC;IAC9E,CAAC;IAED,KAAK,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,cAAc,EAAE,CAAC;QACnE,yDAAyD;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;YACtC,CAAC,CAAC,oBAAoB,CAClB,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CACzD;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,2DAA2D;QAC3D,kBAAkB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE;YAChD,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,aAAoC;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/plugins/imports/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAK3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,cAAqC;IAErC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuC,CAAC;IAEjE,SAAS,GAAG,CACV,IAA6B;QAE7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAA6C,CAAC;IAC9E,CAAC;IAED,KAAK,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,cAAc,EAAE,CAAC;QACnE,yDAAyD;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;YACtC,CAAC,CAAC,oBAAoB,CAClB,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CACzD;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,2DAA2D;QAC3D,kBAAkB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE;YAChD,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,aAAoC,EACpC,aAAuB,EAAE;IAEzB,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAElE,MAAM,SAAS,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAE1D,OAAO,IAAI,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -63,7 +63,7 @@ export interface PluginModuleWithDirectory {
|
|
|
63
63
|
* A plugin module with a key and plugin key metadata.
|
|
64
64
|
*/
|
|
65
65
|
export interface PluginModuleWithKey {
|
|
66
|
-
/** The unique key for this module (e.g., "core/server/auth-compiler" or "auth/
|
|
66
|
+
/** The unique key for this module (e.g., "core/server/auth-compiler" or "auth/better-auth/core/web") */
|
|
67
67
|
key: string;
|
|
68
68
|
/** The plugin key (or "core" for core modules) */
|
|
69
69
|
pluginKey: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAExE;;GAEG;AACH,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEhD;;;GAGG;AACH,KAAK,sBAAsB,CAAC,CAAC,SAAS,aAAa,IAAI;KACpD,IAAI,IAAI,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;IAC1E,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB;;OAEG;IACH,UAAU,EAAE,CACV,YAAY,EAAE,sBAAsB,CAAC,QAAQ,CAAC,EAC9C,OAAO,EAAE,aAAa,KACnB,IAAI,CAAC;CACX;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,aAAa,EAC/D,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAC7B,YAAY,CAEd;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAExE;;GAEG;AACH,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEhD;;;GAGG;AACH,KAAK,sBAAsB,CAAC,CAAC,SAAS,aAAa,IAAI;KACpD,IAAI,IAAI,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;IAC1E,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB;;OAEG;IACH,UAAU,EAAE,CACV,YAAY,EAAE,sBAAsB,CAAC,QAAQ,CAAC,EAC9C,OAAO,EAAE,aAAa,KACnB,IAAI,CAAC;CACX;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,aAAa,EAC/D,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAC7B,YAAY,CAEd;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wGAAwG;IACxG,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE;QAChB,QAAQ,EAAE,uBAAuB,CAAC;QAClC,OAAO,EAAE,yBAAyB,EAAE,CAAC;KACtC,EAAE,CAAC;IACJ,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC"}
|
|
@@ -43,7 +43,7 @@ export interface PluginMetadataWithPaths extends PluginMetadata {
|
|
|
43
43
|
*/
|
|
44
44
|
packageName: string;
|
|
45
45
|
/**
|
|
46
|
-
* The fully qualified name of the plugin, e.g. "@baseplate-dev/plugin-auth:
|
|
46
|
+
* The fully qualified name of the plugin, e.g. "@baseplate-dev/plugin-auth:better-auth"
|
|
47
47
|
*/
|
|
48
48
|
fullyQualifiedName: string;
|
|
49
49
|
/**
|
|
@@ -38,7 +38,7 @@ export const pluginMetadataSchema = z.object({
|
|
|
38
38
|
description: z.string(),
|
|
39
39
|
/**
|
|
40
40
|
* The fully qualified name of the plugin that manages this plugin,
|
|
41
|
-
* e.g. "@baseplate-dev/plugin-auth:
|
|
41
|
+
* e.g. "@baseplate-dev/plugin-auth:better-auth" would be managed by the "@baseplate-dev/plugin-auth:auth" plugin.
|
|
42
42
|
*
|
|
43
43
|
* Managed plugins do not appear in the plugin list but are managed by the base plugin. If the base
|
|
44
44
|
* plugin is disabled, the managed plugins will also be disabled.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { PluginModule } from './imports/types.js';
|
|
1
2
|
import type { PluginMetadataWithPaths } from './metadata/types.js';
|
|
2
3
|
import type { PluginConfigMigration } from './spec/config-spec.js';
|
|
4
|
+
import { PluginSpecStore } from './store/store.js';
|
|
3
5
|
/**
|
|
4
6
|
* Creates a test plugin metadata object with sensible defaults.
|
|
5
7
|
*
|
|
@@ -16,4 +18,17 @@ export declare function createTestPluginMetadata(overrides?: Partial<PluginMetad
|
|
|
16
18
|
* @returns A PluginConfigMigration object
|
|
17
19
|
*/
|
|
18
20
|
export declare function createTestMigration(version: number, name: string, configTransform?: (config: unknown) => unknown): PluginConfigMigration;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a PluginSpecStore for testing purposes.
|
|
23
|
+
*
|
|
24
|
+
* When no modules are provided, returns an empty store where specs are
|
|
25
|
+
* lazily initialized with their defaults (e.g., built-in definition issue checkers).
|
|
26
|
+
*
|
|
27
|
+
* When modules are provided, uses `initializePlugins` to create a store
|
|
28
|
+
* with those modules registered, allowing tests to configure any specs they need.
|
|
29
|
+
*
|
|
30
|
+
* @param modules - Optional plugin modules to register
|
|
31
|
+
* @returns A PluginSpecStore ready for use in tests
|
|
32
|
+
*/
|
|
33
|
+
export declare function createTestPluginSpecStore(modules?: PluginModule[]): PluginSpecStore;
|
|
19
34
|
//# sourceMappingURL=plugins.test-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.test-utils.d.ts","sourceRoot":"","sources":["../../src/plugins/plugins.test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugins.test-utils.d.ts","sourceRoot":"","sources":["../../src/plugins/plugins.test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGnE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC/C,uBAAuB,CAiBzB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAC7C,qBAAqB,CAQvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,YAAY,EAAE,GACvB,eAAe,CAYjB"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { initializePlugins } from './imports/loader.js';
|
|
2
|
+
import { PluginSpecStore } from './store/store.js';
|
|
1
3
|
/**
|
|
2
4
|
* Creates a test plugin metadata object with sensible defaults.
|
|
3
5
|
*
|
|
@@ -38,4 +40,26 @@ export function createTestMigration(version, name, configTransform) {
|
|
|
38
40
|
}),
|
|
39
41
|
};
|
|
40
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Creates a PluginSpecStore for testing purposes.
|
|
45
|
+
*
|
|
46
|
+
* When no modules are provided, returns an empty store where specs are
|
|
47
|
+
* lazily initialized with their defaults (e.g., built-in definition issue checkers).
|
|
48
|
+
*
|
|
49
|
+
* When modules are provided, uses `initializePlugins` to create a store
|
|
50
|
+
* with those modules registered, allowing tests to configure any specs they need.
|
|
51
|
+
*
|
|
52
|
+
* @param modules - Optional plugin modules to register
|
|
53
|
+
* @returns A PluginSpecStore ready for use in tests
|
|
54
|
+
*/
|
|
55
|
+
export function createTestPluginSpecStore(modules) {
|
|
56
|
+
if (!modules || modules.length === 0) {
|
|
57
|
+
return new PluginSpecStore();
|
|
58
|
+
}
|
|
59
|
+
return initializePlugins(modules.map((module, index) => ({
|
|
60
|
+
key: `core/test/${module.name}-${index}`,
|
|
61
|
+
pluginKey: 'core',
|
|
62
|
+
module,
|
|
63
|
+
})));
|
|
64
|
+
}
|
|
41
65
|
//# sourceMappingURL=plugins.test-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.test-utils.js","sourceRoot":"","sources":["../../src/plugins/plugins.test-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugins.test-utils.js","sourceRoot":"","sources":["../../src/plugins/plugins.test-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAA8C,EAAE;IAEhD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,IAAI,aAAa,CAAC;IAElD,OAAO;QACL,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS,SAAS,EAAE;QACjC,kBAAkB,EAAE,SAAS,SAAS,IAAI,SAAS,EAAE;QACrD,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,QAAQ,SAAS,EAAE;QAChC,WAAW,EAAE,qBAAqB,SAAS,EAAE;QAC7C,eAAe,EAAE,iBAAiB,SAAS,EAAE;QAC7C,iBAAiB,EAAE,iBAAiB,SAAS,OAAO;QACpD,eAAe,EAAE,CAAC,oBAAoB,CAAC;QACvC,cAAc,EAAE,EAAE;QAClB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAY,EACZ,eAA8C;IAE9C,OAAO;QACL,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACpB,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;SAClE,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAwB;IAExB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,iBAAiB,CACtB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,EAAE,aAAa,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE;QACxC,SAAS,EAAE,MAAM;QACjB,MAAM;KACP,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -30,6 +30,7 @@ export declare const pluginConfigSpec: import("./types.js").PluginSpec<{
|
|
|
30
30
|
schemas: import("@baseplate-dev/utils").MapContainer<string, DefinitionSchemaCreator>;
|
|
31
31
|
migrations: import("@baseplate-dev/utils").MapContainer<string, PluginConfigMigration[]>;
|
|
32
32
|
}, {
|
|
33
|
+
getAllSchemaCreators: () => Map<string, DefinitionSchemaCreator>;
|
|
33
34
|
getSchemaCreator: (pluginKey: string) => DefinitionSchemaCreator | undefined;
|
|
34
35
|
getMigrations: (pluginKey: string) => PluginConfigMigration[] | undefined;
|
|
35
36
|
getLastMigrationVersion: (pluginKey: string) => number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-spec.d.ts","sourceRoot":"","sources":["../../../src/plugins/spec/config-spec.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAIpE,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,OAAO,EAAE,CACP,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,OAAO,KACvB,qBAAqB,CAAC;CAC5B;AAyBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"config-spec.d.ts","sourceRoot":"","sources":["../../../src/plugins/spec/config-spec.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAIpE,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,OAAO,EAAE,CACP,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,OAAO,KACvB,qBAAqB,CAAC;CAC5B;AAyBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB;;;;;kCAeS,MAAM;+BACT,MAAM;yCAEI,MAAM;EAOlD,CAAC"}
|
|
@@ -31,6 +31,7 @@ export const pluginConfigSpec = createFieldMapSpec('core/plugin-config', (t) =>
|
|
|
31
31
|
use: (values) => {
|
|
32
32
|
const validatedMigrations = mapValuesOfMap(values.migrations, (migrations, pluginKey) => sortAndValidateMigrations(migrations, pluginKey));
|
|
33
33
|
return {
|
|
34
|
+
getAllSchemaCreators: () => values.schemas,
|
|
34
35
|
getSchemaCreator: (pluginKey) => values.schemas.get(pluginKey),
|
|
35
36
|
getMigrations: (pluginKey) => validatedMigrations.get(pluginKey),
|
|
36
37
|
getLastMigrationVersion: (pluginKey) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-spec.js","sourceRoot":"","sources":["../../../src/plugins/spec/config-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAuBvE,SAAS,yBAAyB,CAChC,UAAmC,EACnC,SAAiB;IAEjB,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,CAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAChC,CAAC;IACF,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,+BAA+B,CACtE,CAAC;IACJ,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,6BAA6B,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAChD,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,GAAG,EAAmC;IACjD,UAAU,EAAE,CAAC,CAAC,GAAG,EAAmC;CACrD,CAAC,EACF;IACE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,mBAAmB,GAAG,cAAc,CACxC,MAAM,CAAC,UAAU,EACjB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CACxB,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CACnD,CAAC;QACF,OAAO;YACL,gBAAgB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YACtE,aAAa,EAAE,CAAC,SAAiB,EAAE,EAAE,CACnC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;YACpC,uBAAuB,EAAE,CAAC,SAAiB,EAAE,EAAE;gBAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpD,OAAO,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;YACrC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"config-spec.js","sourceRoot":"","sources":["../../../src/plugins/spec/config-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAuBvE,SAAS,yBAAyB,CAChC,UAAmC,EACnC,SAAiB;IAEjB,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,CAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAChC,CAAC;IACF,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,+BAA+B,CACtE,CAAC;IACJ,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,6BAA6B,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAChD,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,GAAG,EAAmC;IACjD,UAAU,EAAE,CAAC,CAAC,GAAG,EAAmC;CACrD,CAAC,EACF;IACE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,mBAAmB,GAAG,cAAc,CACxC,MAAM,CAAC,UAAU,EACjB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CACxB,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CACnD,CAAC;QACF,OAAO;YACL,oBAAoB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO;YAC1C,gBAAgB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YACtE,aAAa,EAAE,CAAC,SAAiB,EAAE,EAAE,CACnC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;YACpC,uBAAuB,EAAE,CAAC,SAAiB,EAAE,EAAE;gBAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpD,OAAO,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;YACrC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CACF,CAAC"}
|
|
@@ -8,7 +8,12 @@ import type { PluginSpec, PluginSpecInitializerResult } from '../spec/types.js';
|
|
|
8
8
|
export declare class PluginSpecStore {
|
|
9
9
|
private instances;
|
|
10
10
|
private useInstances;
|
|
11
|
-
|
|
11
|
+
private pluginKeys_;
|
|
12
|
+
constructor(instances?: Map<string, PluginSpecInitializerResult<object, object>>, pluginKeys?: string[]);
|
|
13
|
+
/**
|
|
14
|
+
* Gets the plugin keys that were loaded into this store.
|
|
15
|
+
*/
|
|
16
|
+
getPluginKeys(): string[];
|
|
12
17
|
/**
|
|
13
18
|
* Gets the use interface for a spec.
|
|
14
19
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/plugins/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAEhF;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,YAAY,CAA6B;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/plugins/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAEhF;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAAW;gBAG5B,SAAS,2DAAiD,EAC1D,UAAU,GAAE,MAAM,EAAO;IAM3B;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;;;;;;;OAQG;IACH,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAC3C,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,GAC5B,IAAI;CAiBR"}
|
|
@@ -7,8 +7,16 @@
|
|
|
7
7
|
export class PluginSpecStore {
|
|
8
8
|
instances;
|
|
9
9
|
useInstances = new Map();
|
|
10
|
-
|
|
10
|
+
pluginKeys_;
|
|
11
|
+
constructor(instances = new Map(), pluginKeys = []) {
|
|
11
12
|
this.instances = instances;
|
|
13
|
+
this.pluginKeys_ = pluginKeys;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Gets the plugin keys that were loaded into this store.
|
|
17
|
+
*/
|
|
18
|
+
getPluginKeys() {
|
|
19
|
+
return this.pluginKeys_;
|
|
12
20
|
}
|
|
13
21
|
/**
|
|
14
22
|
* Gets the use interface for a spec.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/plugins/store/store.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAClB,SAAS,CAA2C;IACpD,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/plugins/store/store.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAClB,SAAS,CAA2C;IACpD,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,WAAW,CAAW;IAE9B,YACE,YAAY,IAAI,GAAG,EAAuC,EAC1D,aAAuB,EAAE;QAEzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACH,GAAG,CACD,IAA6B;QAE7B,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAElC,CAAC;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,WAAmB,CAAC;IAC7B,CAAC;CACF"}
|