@contentful/experience-design-system-extraction 2.36.2-dev-build-c4497102.0 → 2.36.2-dev-build-a6f80ae6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +1 -1
- package/dist/src/extract/{framework-adapters/astro/extractor.d.ts → astro.d.ts} +1 -1
- package/dist/src/extract/astro.js +226 -0
- package/dist/src/extract/{framework-adapters/shared/helpers/file-processing/file-workers.d.ts → file-extraction-workers.d.ts} +13 -1
- package/dist/src/extract/{framework-adapters/shared/helpers/file-processing/file-workers.js → file-extraction-workers.js} +19 -0
- package/dist/src/extract/non-authorable-filter.d.ts +17 -0
- package/dist/src/extract/non-authorable-filter.js +60 -0
- package/dist/src/extract/pipeline.d.ts +7 -0
- package/dist/src/extract/pipeline.js +343 -0
- package/dist/src/extract/{framework-adapters/react/extractor.d.ts → react.d.ts} +1 -1
- package/dist/src/extract/react.js +2069 -0
- package/dist/src/extract/scoring.d.ts +12 -0
- package/dist/src/extract/{services/quality/helpers/scoring/collect-scoring-inputs.js → scoring.js} +24 -10
- package/dist/src/extract/slot-detection.d.ts +35 -0
- package/dist/src/extract/slot-detection.js +98 -0
- package/dist/src/extract/{services/quality/helpers/inspection/inspect-component-source.d.ts → source-inspection.d.ts} +6 -3
- package/dist/src/extract/{services/quality/helpers/inspection/inspect-component-source.js → source-inspection.js} +65 -5
- package/dist/src/extract/{framework-adapters/shared/helpers/get-node-source-lines.d.ts → source-line-metadata.d.ts} +1 -1
- package/dist/src/extract/{framework-adapters/stencil/extractor.d.ts → stencil.d.ts} +1 -1
- package/dist/src/extract/stencil.js +312 -0
- package/dist/src/extract/structural-slot-evidence.d.ts +63 -0
- package/dist/src/extract/structural-slot-evidence.js +278 -0
- package/dist/src/extract/{framework-adapters/svelte/extractor.d.ts → svelte.d.ts} +1 -2
- package/dist/src/extract/svelte.js +1309 -0
- package/dist/src/extract/tsx-shared.d.ts +37 -0
- package/dist/src/extract/tsx-shared.js +368 -0
- package/dist/src/extract/{services/quality/helpers/inspection/validate-extracted-components.d.ts → validate.d.ts} +1 -1
- package/dist/src/extract/{framework-adapters/vue-tsx/extractor.d.ts → vue-tsx.d.ts} +1 -1
- package/dist/src/extract/vue-tsx.js +449 -0
- package/dist/src/extract/{framework-adapters/vue/extractor.d.ts → vue.d.ts} +1 -1
- package/dist/src/extract/vue.js +605 -0
- package/dist/src/extract/{framework-adapters/web-components/extractor.d.ts → web-components.d.ts} +1 -1
- package/dist/src/extract/web-components.js +863 -0
- package/dist/src/index.d.ts +21 -27
- package/dist/src/index.js +17 -21
- package/dist/src/{extract/services/classification/classify-component-props.d.ts → pre-classify.d.ts} +5 -3
- package/dist/src/{extract/services/classification/classify-component-props.js → pre-classify.js} +100 -8
- package/dist/src/{extract/types/component.d.ts → types.d.ts} +22 -0
- package/dist/src/{extract/types/display.js → types.js} +1 -1
- package/package.json +1 -1
- package/dist/src/extract/controller/extract-controller.d.ts +0 -10
- package/dist/src/extract/controller/extract-controller.js +0 -33
- package/dist/src/extract/controller/helpers/validate-endpoint-request.d.ts +0 -2
- package/dist/src/extract/controller/helpers/validate-endpoint-request.js +0 -24
- package/dist/src/extract/framework-adapters/astro/extractor.js +0 -45
- package/dist/src/extract/framework-adapters/astro/frontmatter.d.ts +0 -11
- package/dist/src/extract/framework-adapters/astro/frontmatter.js +0 -96
- package/dist/src/extract/framework-adapters/astro/helpers/collect-astro-props-bindings.d.ts +0 -4
- package/dist/src/extract/framework-adapters/astro/helpers/collect-astro-props-bindings.js +0 -47
- package/dist/src/extract/framework-adapters/astro/slots.d.ts +0 -7
- package/dist/src/extract/framework-adapters/astro/slots.js +0 -44
- package/dist/src/extract/framework-adapters/react/extractor.js +0 -31
- package/dist/src/extract/framework-adapters/react/helpers/collect-dom-wrapper-contexts.d.ts +0 -4
- package/dist/src/extract/framework-adapters/react/helpers/collect-dom-wrapper-contexts.js +0 -73
- package/dist/src/extract/framework-adapters/react/helpers/collect-prop-dataflow.d.ts +0 -14
- package/dist/src/extract/framework-adapters/react/helpers/collect-prop-dataflow.js +0 -220
- package/dist/src/extract/framework-adapters/react/helpers/collect-react-impl-hints.d.ts +0 -5
- package/dist/src/extract/framework-adapters/react/helpers/collect-react-impl-hints.js +0 -32
- package/dist/src/extract/framework-adapters/react/helpers/detect-dom-is-pure-wrapper.d.ts +0 -2
- package/dist/src/extract/framework-adapters/react/helpers/detect-dom-is-pure-wrapper.js +0 -59
- package/dist/src/extract/framework-adapters/react/helpers/detect-dom-type-patterns.d.ts +0 -8
- package/dist/src/extract/framework-adapters/react/helpers/detect-dom-type-patterns.js +0 -29
- package/dist/src/extract/framework-adapters/react/helpers/detect-omit-wrapped-custom-props.d.ts +0 -2
- package/dist/src/extract/framework-adapters/react/helpers/detect-omit-wrapped-custom-props.js +0 -64
- package/dist/src/extract/framework-adapters/react/helpers/detect-pick-type-patterns.d.ts +0 -4
- package/dist/src/extract/framework-adapters/react/helpers/detect-pick-type-patterns.js +0 -64
- package/dist/src/extract/framework-adapters/react/helpers/detect-react-polymorphic.d.ts +0 -5
- package/dist/src/extract/framework-adapters/react/helpers/detect-react-polymorphic.js +0 -170
- package/dist/src/extract/framework-adapters/react/helpers/dom-attribute-surfaces.d.ts +0 -15
- package/dist/src/extract/framework-adapters/react/helpers/dom-attribute-surfaces.js +0 -231
- package/dist/src/extract/framework-adapters/react/helpers/extract-binding-fallback-props.d.ts +0 -4
- package/dist/src/extract/framework-adapters/react/helpers/extract-binding-fallback-props.js +0 -50
- package/dist/src/extract/framework-adapters/react/helpers/extract-from-react-source-file.d.ts +0 -5
- package/dist/src/extract/framework-adapters/react/helpers/extract-from-react-source-file.js +0 -23
- package/dist/src/extract/framework-adapters/react/helpers/extract-react-allowed-components.d.ts +0 -2
- package/dist/src/extract/framework-adapters/react/helpers/extract-react-allowed-components.js +0 -25
- package/dist/src/extract/framework-adapters/react/helpers/extract-react-binding-defaults.d.ts +0 -6
- package/dist/src/extract/framework-adapters/react/helpers/extract-react-binding-defaults.js +0 -48
- package/dist/src/extract/framework-adapters/react/helpers/extract-react-component-from-export.d.ts +0 -15
- package/dist/src/extract/framework-adapters/react/helpers/extract-react-component-from-export.js +0 -106
- package/dist/src/extract/framework-adapters/react/helpers/extract-react-prop-types.d.ts +0 -3
- package/dist/src/extract/framework-adapters/react/helpers/extract-react-prop-types.js +0 -64
- package/dist/src/extract/framework-adapters/react/helpers/extract-react-props-from-type.d.ts +0 -15
- package/dist/src/extract/framework-adapters/react/helpers/extract-react-props-from-type.js +0 -318
- package/dist/src/extract/framework-adapters/react/helpers/extract-react-slots.d.ts +0 -6
- package/dist/src/extract/framework-adapters/react/helpers/extract-react-slots.js +0 -44
- package/dist/src/extract/framework-adapters/react/helpers/filter-impl-alias-props.d.ts +0 -4
- package/dist/src/extract/framework-adapters/react/helpers/filter-impl-alias-props.js +0 -52
- package/dist/src/extract/framework-adapters/react/helpers/infer-primitive-dom-props.d.ts +0 -6
- package/dist/src/extract/framework-adapters/react/helpers/infer-primitive-dom-props.js +0 -69
- package/dist/src/extract/framework-adapters/react/helpers/resolve-component-function.d.ts +0 -4
- package/dist/src/extract/framework-adapters/react/helpers/resolve-component-function.js +0 -131
- package/dist/src/extract/framework-adapters/react/helpers/resolve-react-prop-forwarding.d.ts +0 -8
- package/dist/src/extract/framework-adapters/react/helpers/resolve-react-prop-forwarding.js +0 -22
- package/dist/src/extract/framework-adapters/react/helpers/resolve-react-props-type.d.ts +0 -14
- package/dist/src/extract/framework-adapters/react/helpers/resolve-react-props-type.js +0 -86
- package/dist/src/extract/framework-adapters/react/helpers/synthesize-react-structural-slots.d.ts +0 -8
- package/dist/src/extract/framework-adapters/react/helpers/synthesize-react-structural-slots.js +0 -44
- package/dist/src/extract/framework-adapters/shared/helpers/build-component-lookup-maps.d.ts +0 -5
- package/dist/src/extract/framework-adapters/shared/helpers/build-component-lookup-maps.js +0 -10
- package/dist/src/extract/framework-adapters/shared/helpers/collect-jsdoc-slot-comments.d.ts +0 -2
- package/dist/src/extract/framework-adapters/shared/helpers/collect-jsdoc-slot-comments.js +0 -13
- package/dist/src/extract/framework-adapters/shared/helpers/file-processing/project-source-files.d.ts +0 -5
- package/dist/src/extract/framework-adapters/shared/helpers/file-processing/project-source-files.js +0 -13
- package/dist/src/extract/framework-adapters/shared/helpers/file-processing/result-normalizer.d.ts +0 -6
- package/dist/src/extract/framework-adapters/shared/helpers/file-processing/result-normalizer.js +0 -6
- package/dist/src/extract/framework-adapters/shared/helpers/find-tsx-workspace-package.d.ts +0 -2
- package/dist/src/extract/framework-adapters/shared/helpers/find-tsx-workspace-package.js +0 -62
- package/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-tsconfig-path.d.ts +0 -7
- package/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-tsconfig-path.js +0 -93
- package/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-workspace-imports.d.ts +0 -6
- package/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-workspace-imports.js +0 -58
- package/dist/src/extract/framework-adapters/shared/helpers/tsx-node-utils.d.ts +0 -13
- package/dist/src/extract/framework-adapters/shared/helpers/tsx-node-utils.js +0 -76
- package/dist/src/extract/framework-adapters/shared/helpers/tsx-renderable-exports.d.ts +0 -12
- package/dist/src/extract/framework-adapters/shared/helpers/tsx-renderable-exports.js +0 -35
- package/dist/src/extract/framework-adapters/shared/helpers/tsx-shared.d.ts +0 -14
- package/dist/src/extract/framework-adapters/shared/helpers/tsx-shared.js +0 -54
- package/dist/src/extract/framework-adapters/stencil/extractor.js +0 -82
- package/dist/src/extract/framework-adapters/stencil/helpers/detect-stencil-class.d.ts +0 -7
- package/dist/src/extract/framework-adapters/stencil/helpers/detect-stencil-class.js +0 -32
- package/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-props.d.ts +0 -5
- package/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-props.js +0 -62
- package/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-slots.d.ts +0 -6
- package/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-slots.js +0 -87
- package/dist/src/extract/framework-adapters/stencil/helpers/stencil-prop-helpers.d.ts +0 -5
- package/dist/src/extract/framework-adapters/stencil/helpers/stencil-prop-helpers.js +0 -39
- package/dist/src/extract/framework-adapters/svelte/extractor.js +0 -27
- package/dist/src/extract/framework-adapters/svelte/helpers/classify-svelte-props-annotation.d.ts +0 -6
- package/dist/src/extract/framework-adapters/svelte/helpers/classify-svelte-props-annotation.js +0 -51
- package/dist/src/extract/framework-adapters/svelte/helpers/collect-svelte-type-references.d.ts +0 -3
- package/dist/src/extract/framework-adapters/svelte/helpers/collect-svelte-type-references.js +0 -52
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-from-svelte-file.d.ts +0 -7
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-from-svelte-file.js +0 -90
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-ast-type-members.d.ts +0 -15
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-ast-type-members.js +0 -46
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-declaration-data.d.ts +0 -7
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-declaration-data.js +0 -64
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-external-type-members.d.ts +0 -4
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-external-type-members.js +0 -58
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-from-destructure.d.ts +0 -4
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-from-destructure.js +0 -85
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-props.d.ts +0 -22
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-props.js +0 -55
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-template-slots.d.ts +0 -7
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-template-slots.js +0 -63
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-type-member-props.d.ts +0 -3
- package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-type-member-props.js +0 -31
- package/dist/src/extract/framework-adapters/svelte/helpers/find-svelte-script-declarations.d.ts +0 -8
- package/dist/src/extract/framework-adapters/svelte/helpers/find-svelte-script-declarations.js +0 -91
- package/dist/src/extract/framework-adapters/svelte/helpers/get-svelte-component-name.d.ts +0 -1
- package/dist/src/extract/framework-adapters/svelte/helpers/get-svelte-component-name.js +0 -26
- package/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type-strings.d.ts +0 -3
- package/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type-strings.js +0 -91
- package/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type.d.ts +0 -11
- package/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type.js +0 -68
- package/dist/src/extract/framework-adapters/svelte/helpers/resolve-dts-location.d.ts +0 -1
- package/dist/src/extract/framework-adapters/svelte/helpers/resolve-dts-location.js +0 -90
- package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-allowed-components.d.ts +0 -2
- package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-allowed-components.js +0 -20
- package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-external-type-readers.d.ts +0 -3
- package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-external-type-readers.js +0 -68
- package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-checker.d.ts +0 -4
- package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-checker.js +0 -68
- package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-members.d.ts +0 -6
- package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-members.js +0 -30
- package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-unresolved-retry.d.ts +0 -13
- package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-unresolved-retry.js +0 -192
- package/dist/src/extract/framework-adapters/svelte/types/svelte-ast-node.d.ts +0 -12
- package/dist/src/extract/framework-adapters/svelte/types/svelte-ast-node.js +0 -1
- package/dist/src/extract/framework-adapters/vue/extractor.js +0 -61
- package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-object-props.d.ts +0 -3
- package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-object-props.js +0 -67
- package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-options-props.d.ts +0 -4
- package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-options-props.js +0 -72
- package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-object-props.d.ts +0 -8
- package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-object-props.js +0 -64
- package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-props.d.ts +0 -2
- package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-props.js +0 -66
- package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-slots.d.ts +0 -24
- package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-slots.js +0 -56
- package/dist/src/extract/framework-adapters/vue/helpers/resolve-vue-component-name.d.ts +0 -2
- package/dist/src/extract/framework-adapters/vue/helpers/resolve-vue-component-name.js +0 -9
- package/dist/src/extract/framework-adapters/vue/helpers/resolve-workspace-module.d.ts +0 -1
- package/dist/src/extract/framework-adapters/vue/helpers/resolve-workspace-module.js +0 -76
- package/dist/src/extract/framework-adapters/vue/helpers/workspace-package-dirs.d.ts +0 -2
- package/dist/src/extract/framework-adapters/vue/helpers/workspace-package-dirs.js +0 -77
- package/dist/src/extract/framework-adapters/vue-tsx/extractor.js +0 -82
- package/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-props.d.ts +0 -5
- package/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-props.js +0 -189
- package/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-slots.d.ts +0 -4
- package/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-slots.js +0 -91
- package/dist/src/extract/framework-adapters/vue-tsx/helpers/resolve-ast-object.d.ts +0 -11
- package/dist/src/extract/framework-adapters/vue-tsx/helpers/resolve-ast-object.js +0 -95
- package/dist/src/extract/framework-adapters/web-components/extractor.js +0 -55
- package/dist/src/extract/framework-adapters/web-components/helpers/collect-wc-html-templates.d.ts +0 -4
- package/dist/src/extract/framework-adapters/web-components/helpers/collect-wc-html-templates.js +0 -67
- package/dist/src/extract/framework-adapters/web-components/helpers/detect-wc-non-public-members.d.ts +0 -9
- package/dist/src/extract/framework-adapters/web-components/helpers/detect-wc-non-public-members.js +0 -11
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-accessor-props.d.ts +0 -3
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-accessor-props.js +0 -65
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-class-properties.d.ts +0 -3
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-class-properties.js +0 -60
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-inheritance.d.ts +0 -4
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-inheritance.js +0 -16
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-jsdoc-attr-props.d.ts +0 -3
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-jsdoc-attr-props.js +0 -24
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-observed-attrs.d.ts +0 -3
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-observed-attrs.js +0 -27
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-slots.d.ts +0 -6
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-slots.js +0 -56
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-template-content.d.ts +0 -4
- package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-template-content.js +0 -49
- package/dist/src/extract/framework-adapters/web-components/helpers/merge-wc-prop-lists.d.ts +0 -9
- package/dist/src/extract/framework-adapters/web-components/helpers/merge-wc-prop-lists.js +0 -19
- package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-base-class.d.ts +0 -2
- package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-base-class.js +0 -59
- package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-decorator-tag.d.ts +0 -2
- package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-decorator-tag.js +0 -54
- package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import-source.d.ts +0 -7
- package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import-source.js +0 -47
- package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import.d.ts +0 -4
- package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import.js +0 -93
- package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-sibling-definition.d.ts +0 -4
- package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-sibling-definition.js +0 -79
- package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-tag-name.d.ts +0 -7
- package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-tag-name.js +0 -62
- package/dist/src/extract/helpers/evidence/ast/collect-structural-jsx-evidence.d.ts +0 -5
- package/dist/src/extract/helpers/evidence/ast/collect-structural-jsx-evidence.js +0 -63
- package/dist/src/extract/helpers/evidence/ast/detect-react-node-types.d.ts +0 -2
- package/dist/src/extract/helpers/evidence/ast/detect-react-node-types.js +0 -24
- package/dist/src/extract/helpers/evidence/ast/get-jsx-ast-data.d.ts +0 -14
- package/dist/src/extract/helpers/evidence/ast/get-jsx-ast-data.js +0 -85
- package/dist/src/extract/helpers/evidence/collect-jsx-component-references.d.ts +0 -5
- package/dist/src/extract/helpers/evidence/collect-jsx-component-references.js +0 -52
- package/dist/src/extract/helpers/evidence/detect-slot-from-prop.d.ts +0 -16
- package/dist/src/extract/helpers/evidence/detect-slot-from-prop.js +0 -39
- package/dist/src/extract/orchestrator/execute-extraction-orchestrator.d.ts +0 -13
- package/dist/src/extract/orchestrator/execute-extraction-orchestrator.js +0 -17
- package/dist/src/extract/services/classification/helpers/check-prop-types.d.ts +0 -7
- package/dist/src/extract/services/classification/helpers/check-prop-types.js +0 -22
- package/dist/src/extract/services/classification/helpers/detect-dom-props.d.ts +0 -2
- package/dist/src/extract/services/classification/helpers/detect-dom-props.js +0 -63
- package/dist/src/extract/services/deduplication/deduplicate-components.d.ts +0 -2
- package/dist/src/extract/services/deduplication/deduplicate-components.js +0 -58
- package/dist/src/extract/services/deduplication/helpers/component-path-analysis.d.ts +0 -10
- package/dist/src/extract/services/deduplication/helpers/component-path-analysis.js +0 -85
- package/dist/src/extract/services/deduplication/helpers/component-path-scoring.d.ts +0 -10
- package/dist/src/extract/services/deduplication/helpers/component-path-scoring.js +0 -73
- package/dist/src/extract/services/extraction/extract-components.d.ts +0 -3
- package/dist/src/extract/services/extraction/extract-components.js +0 -19
- package/dist/src/extract/services/extraction/helpers/collect-sveltekit-route-exclusions.d.ts +0 -2
- package/dist/src/extract/services/extraction/helpers/collect-sveltekit-route-exclusions.js +0 -18
- package/dist/src/extract/services/extraction/helpers/filter-hook-components.d.ts +0 -6
- package/dist/src/extract/services/extraction/helpers/filter-hook-components.js +0 -18
- package/dist/src/extract/services/extraction/helpers/register-extractors.d.ts +0 -8
- package/dist/src/extract/services/extraction/helpers/register-extractors.js +0 -71
- package/dist/src/extract/services/extraction/helpers/run-extractor-batches.d.ts +0 -4
- package/dist/src/extract/services/extraction/helpers/run-extractor-batches.js +0 -24
- package/dist/src/extract/services/quality/evaluate-extraction-quality.d.ts +0 -4
- package/dist/src/extract/services/quality/evaluate-extraction-quality.js +0 -61
- package/dist/src/extract/services/quality/helpers/authorability/evaluate-authorability.d.ts +0 -28
- package/dist/src/extract/services/quality/helpers/authorability/evaluate-authorability.js +0 -67
- package/dist/src/extract/services/quality/helpers/inspection/detect-data-wrapper-patterns.d.ts +0 -16
- package/dist/src/extract/services/quality/helpers/inspection/detect-data-wrapper-patterns.js +0 -63
- package/dist/src/extract/services/quality/helpers/scoring/collect-scoring-inputs.d.ts +0 -14
- package/dist/src/extract/services/quality/helpers/scoring/compute-extraction-score.d.ts +0 -6
- package/dist/src/extract/services/quality/helpers/scoring/compute-extraction-score.js +0 -12
- package/dist/src/extract/types/classification.d.ts +0 -4
- package/dist/src/extract/types/classification.js +0 -1
- package/dist/src/extract/types/component-extractor.d.ts +0 -7
- package/dist/src/extract/types/component-extractor.js +0 -1
- package/dist/src/extract/types/component.js +0 -1
- package/dist/src/extract/types/contract.d.ts +0 -16
- package/dist/src/extract/types/contract.js +0 -1
- package/dist/src/extract/types/display.d.ts +0 -3
- package/dist/src/extract/types/options.d.ts +0 -15
- package/dist/src/extract/types/options.js +0 -1
- package/dist/src/extract/types/scoring.d.ts +0 -9
- package/dist/src/extract/types/scoring.js +0 -1
- package/dist/src/extract/types/source-inspection.d.ts +0 -5
- package/dist/src/extract/types/source-inspection.js +0 -1
- /package/dist/src/extract/{helpers/evidence/parse-source-imports.d.ts → parse-imported-names.d.ts} +0 -0
- /package/dist/src/extract/{helpers/evidence/parse-source-imports.js → parse-imported-names.js} +0 -0
- /package/dist/src/extract/{framework-adapters/shared/helpers/resolve-import-file-path.d.ts → resolve-local-module.d.ts} +0 -0
- /package/dist/src/extract/{framework-adapters/shared/helpers/resolve-import-file-path.js → resolve-local-module.js} +0 -0
- /package/dist/src/extract/{framework-adapters/shared/helpers/resolve-type-symbol.d.ts → resolve-type-property.d.ts} +0 -0
- /package/dist/src/extract/{framework-adapters/shared/helpers/resolve-type-symbol.js → resolve-type-property.js} +0 -0
- /package/dist/src/extract/{helpers/evidence/collect-allowed-component-names.d.ts → slot-allowed-components.d.ts} +0 -0
- /package/dist/src/extract/{helpers/evidence/collect-allowed-component-names.js → slot-allowed-components.js} +0 -0
- /package/dist/src/extract/{framework-adapters/shared/helpers/get-node-source-lines.js → source-line-metadata.js} +0 -0
- /package/dist/src/extract/{services/quality/helpers/inspection/validate-extracted-components.js → validate.js} +0 -0
package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-type-member-props.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export function extractFromTypeMembersOnly(typeMembers) {
|
|
2
|
-
const props = [];
|
|
3
|
-
const snippetNames = new Set();
|
|
4
|
-
const snippetSlots = [];
|
|
5
|
-
for (const m of typeMembers) {
|
|
6
|
-
if (m.isSnippet) {
|
|
7
|
-
snippetNames.add(m.name);
|
|
8
|
-
const slot = {
|
|
9
|
-
name: m.name,
|
|
10
|
-
isDefault: m.name === 'children',
|
|
11
|
-
...(m.description ? { description: m.description } : {}),
|
|
12
|
-
};
|
|
13
|
-
const authorText = m.declaredTypeText ?? m.typeText;
|
|
14
|
-
if (authorText)
|
|
15
|
-
slot._rawTypeText = authorText;
|
|
16
|
-
snippetSlots.push(slot);
|
|
17
|
-
continue;
|
|
18
|
-
}
|
|
19
|
-
const propDef = {
|
|
20
|
-
name: m.name,
|
|
21
|
-
type: m.typeText,
|
|
22
|
-
required: !m.optional,
|
|
23
|
-
};
|
|
24
|
-
if (m.allowedValues)
|
|
25
|
-
propDef.allowedValues = m.allowedValues;
|
|
26
|
-
if (m.description)
|
|
27
|
-
propDef.description = m.description;
|
|
28
|
-
props.push(propDef);
|
|
29
|
-
}
|
|
30
|
-
return { props, snippetNames, snippetSlots, warnings: [] };
|
|
31
|
-
}
|
package/dist/src/extract/framework-adapters/svelte/helpers/find-svelte-script-declarations.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { AstNode } from '../types/svelte-ast-node.js';
|
|
2
|
-
export { collectReferencedTypeNames, collectImportSpecifiersForNames } from './collect-svelte-type-references.js';
|
|
3
|
-
export declare function hasV4ExportLetProps(instance: AstNode): boolean;
|
|
4
|
-
export declare function findPropsCall(instance: AstNode): AstNode | null;
|
|
5
|
-
export declare function collectSnippetImportLocals(instance: AstNode): Set<string>;
|
|
6
|
-
export declare function findLocalTypeDeclaration(instance: AstNode, name: string, module?: AstNode): AstNode | null;
|
|
7
|
-
export declare function declarationHasHeritage(decl: AstNode): boolean;
|
|
8
|
-
export declare function mergeSets<T>(a: Set<T>, b: Set<T>): Set<T>;
|
package/dist/src/extract/framework-adapters/svelte/helpers/find-svelte-script-declarations.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
export { collectReferencedTypeNames, collectImportSpecifiersForNames } from './collect-svelte-type-references.js';
|
|
2
|
-
export function hasV4ExportLetProps(instance) {
|
|
3
|
-
const body = instance['content']?.['body'];
|
|
4
|
-
if (!body)
|
|
5
|
-
return false;
|
|
6
|
-
return body.some((stmt) => {
|
|
7
|
-
if (stmt.type !== 'ExportNamedDeclaration')
|
|
8
|
-
return false;
|
|
9
|
-
const decl = stmt['declaration'];
|
|
10
|
-
return decl?.type === 'VariableDeclaration' && decl['kind'] === 'let';
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
export function findPropsCall(instance) {
|
|
14
|
-
const body = instance['content']?.['body'];
|
|
15
|
-
if (!body)
|
|
16
|
-
return null;
|
|
17
|
-
let found = null;
|
|
18
|
-
for (const stmt of body) {
|
|
19
|
-
if (stmt.type !== 'VariableDeclaration')
|
|
20
|
-
continue;
|
|
21
|
-
const decls = stmt['declarations'];
|
|
22
|
-
if (!decls)
|
|
23
|
-
continue;
|
|
24
|
-
for (const d of decls) {
|
|
25
|
-
const init = d['init'];
|
|
26
|
-
if (!init || init.type !== 'CallExpression')
|
|
27
|
-
continue;
|
|
28
|
-
const callee = init['callee'];
|
|
29
|
-
if (callee?.type === 'Identifier' && callee['name'] === '$props') {
|
|
30
|
-
if (found === null)
|
|
31
|
-
found = d;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return found;
|
|
36
|
-
}
|
|
37
|
-
export function collectSnippetImportLocals(instance) {
|
|
38
|
-
const locals = new Set();
|
|
39
|
-
const body = instance['content']?.['body'];
|
|
40
|
-
if (!body)
|
|
41
|
-
return locals;
|
|
42
|
-
for (const stmt of body) {
|
|
43
|
-
if (stmt.type !== 'ImportDeclaration')
|
|
44
|
-
continue;
|
|
45
|
-
const sourceNode = stmt['source'];
|
|
46
|
-
if (sourceNode?.['value'] !== 'svelte')
|
|
47
|
-
continue;
|
|
48
|
-
const specs = stmt['specifiers'];
|
|
49
|
-
if (!specs)
|
|
50
|
-
continue;
|
|
51
|
-
for (const spec of specs) {
|
|
52
|
-
if (spec.type !== 'ImportSpecifier')
|
|
53
|
-
continue;
|
|
54
|
-
const imported = spec['imported'];
|
|
55
|
-
const local = spec['local'];
|
|
56
|
-
if (imported?.['name'] === 'Snippet' && typeof local?.['name'] === 'string') {
|
|
57
|
-
locals.add(local['name']);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return locals;
|
|
62
|
-
}
|
|
63
|
-
export function findLocalTypeDeclaration(instance, name, module) {
|
|
64
|
-
for (const script of [instance, module]) {
|
|
65
|
-
const body = script?.['content']?.['body'];
|
|
66
|
-
if (!body)
|
|
67
|
-
continue;
|
|
68
|
-
for (const stmt of body) {
|
|
69
|
-
const decl = stmt.type === 'ExportNamedDeclaration' ? (stmt['declaration'] ?? stmt) : stmt;
|
|
70
|
-
if (decl.type === 'TSInterfaceDeclaration' || decl.type === 'TSTypeAliasDeclaration') {
|
|
71
|
-
const id = decl['id'];
|
|
72
|
-
if (id?.['name'] === name)
|
|
73
|
-
return decl;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
export function declarationHasHeritage(decl) {
|
|
80
|
-
if (decl.type === 'TSInterfaceDeclaration') {
|
|
81
|
-
const ext = decl['extends'];
|
|
82
|
-
return Array.isArray(ext) && ext.length > 0;
|
|
83
|
-
}
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
export function mergeSets(a, b) {
|
|
87
|
-
const out = new Set(a);
|
|
88
|
-
for (const v of b)
|
|
89
|
-
out.add(v);
|
|
90
|
-
return out;
|
|
91
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function getSvelteComponentName(filePath: string): string;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { basename, dirname } from 'node:path';
|
|
2
|
-
const ANATOMY_FOLDERS = new Set(['anatomy', 'parts']);
|
|
3
|
-
export function getSvelteComponentName(filePath) {
|
|
4
|
-
const file = basename(filePath, '.svelte');
|
|
5
|
-
const parentDir = basename(dirname(filePath));
|
|
6
|
-
if (file === 'index')
|
|
7
|
-
return toPascalCase(parentDir);
|
|
8
|
-
if (ANATOMY_FOLDERS.has(parentDir)) {
|
|
9
|
-
const grandparent = basename(dirname(dirname(filePath)));
|
|
10
|
-
if (grandparent && grandparent !== '.' && grandparent !== '/') {
|
|
11
|
-
return `${toPascalCase(grandparent)}${toPascalCase(file)}`;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return toPascalCase(file);
|
|
15
|
-
}
|
|
16
|
-
function toPascalCase(s) {
|
|
17
|
-
if (!s)
|
|
18
|
-
return s;
|
|
19
|
-
if (/^[A-Z]/.test(s) && !s.includes('-') && !s.includes('_'))
|
|
20
|
-
return s;
|
|
21
|
-
return s
|
|
22
|
-
.split(/[-_]+/)
|
|
23
|
-
.filter(Boolean)
|
|
24
|
-
.map((part) => part[0].toUpperCase() + part.slice(1))
|
|
25
|
-
.join('');
|
|
26
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
export function renderType(typeNode) {
|
|
2
|
-
if (!typeNode)
|
|
3
|
-
return 'unknown';
|
|
4
|
-
switch (typeNode.type) {
|
|
5
|
-
case 'TSStringKeyword':
|
|
6
|
-
return 'string';
|
|
7
|
-
case 'TSNumberKeyword':
|
|
8
|
-
return 'number';
|
|
9
|
-
case 'TSBooleanKeyword':
|
|
10
|
-
return 'boolean';
|
|
11
|
-
case 'TSAnyKeyword':
|
|
12
|
-
return 'any';
|
|
13
|
-
case 'TSUnknownKeyword':
|
|
14
|
-
return 'unknown';
|
|
15
|
-
case 'TSNullKeyword':
|
|
16
|
-
return 'null';
|
|
17
|
-
case 'TSUndefinedKeyword':
|
|
18
|
-
return 'undefined';
|
|
19
|
-
case 'TSVoidKeyword':
|
|
20
|
-
return 'void';
|
|
21
|
-
case 'TSArrayType':
|
|
22
|
-
return `${renderType(typeNode['elementType'])}[]`;
|
|
23
|
-
case 'TSTupleType': {
|
|
24
|
-
const elements = typeNode['elementTypes'] ?? [];
|
|
25
|
-
return `[${elements
|
|
26
|
-
.map((el) => {
|
|
27
|
-
if (el.type === 'TSNamedTupleMember')
|
|
28
|
-
return renderType(el['elementType']);
|
|
29
|
-
return renderType(el);
|
|
30
|
-
})
|
|
31
|
-
.join(', ')}]`;
|
|
32
|
-
}
|
|
33
|
-
case 'TSUnionType': {
|
|
34
|
-
const members = typeNode['types'] ?? [];
|
|
35
|
-
return members.map(renderType).join(' | ');
|
|
36
|
-
}
|
|
37
|
-
case 'TSLiteralType': {
|
|
38
|
-
const lit = typeNode['literal'];
|
|
39
|
-
const v = lit?.['value'];
|
|
40
|
-
if (typeof v === 'string')
|
|
41
|
-
return `'${v}'`;
|
|
42
|
-
if (typeof v === 'number' || typeof v === 'boolean')
|
|
43
|
-
return String(v);
|
|
44
|
-
return 'unknown';
|
|
45
|
-
}
|
|
46
|
-
case 'TSTypeReference': {
|
|
47
|
-
const tn = typeNode['typeName']?.['name'];
|
|
48
|
-
const args = typeNode['typeArguments'];
|
|
49
|
-
const base = tn ?? 'unknown';
|
|
50
|
-
const params = args?.['params'] ?? null;
|
|
51
|
-
if (params && params.length > 0)
|
|
52
|
-
return `${base}<${params.map(renderType).join(', ')}>`;
|
|
53
|
-
return base;
|
|
54
|
-
}
|
|
55
|
-
case 'TSFunctionType': {
|
|
56
|
-
const params = (typeNode['params'] ?? []).map((p) => {
|
|
57
|
-
const ann = p['typeAnnotation']?.['typeAnnotation'];
|
|
58
|
-
const pname = p['name'] ?? 'arg';
|
|
59
|
-
return `${pname}: ${renderType(ann)}`;
|
|
60
|
-
});
|
|
61
|
-
const ret = typeNode['returnType']?.['typeAnnotation'];
|
|
62
|
-
return `(${params.join(', ')}) => ${renderType(ret)}`;
|
|
63
|
-
}
|
|
64
|
-
default:
|
|
65
|
-
return 'unknown';
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
export function renderLiteral(node) {
|
|
69
|
-
if (!node)
|
|
70
|
-
return undefined;
|
|
71
|
-
if (node.type === 'Literal') {
|
|
72
|
-
const v = node['value'];
|
|
73
|
-
const raw = node['raw'];
|
|
74
|
-
if (typeof v === 'string')
|
|
75
|
-
return `'${v}'`;
|
|
76
|
-
if (typeof raw === 'string')
|
|
77
|
-
return raw;
|
|
78
|
-
if (v === null)
|
|
79
|
-
return 'null';
|
|
80
|
-
return String(v);
|
|
81
|
-
}
|
|
82
|
-
if (node.type === 'Identifier')
|
|
83
|
-
return node['name'] ?? undefined;
|
|
84
|
-
if (node.type === 'ArrayExpression') {
|
|
85
|
-
const els = node['elements'] ?? [];
|
|
86
|
-
return `[${els.map((e) => renderLiteral(e) ?? '').join(', ')}]`;
|
|
87
|
-
}
|
|
88
|
-
if (node.type === 'ObjectExpression')
|
|
89
|
-
return '{}';
|
|
90
|
-
return undefined;
|
|
91
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { AstNode } from '../types/svelte-ast-node.js';
|
|
2
|
-
export { renderType, renderLiteral } from './render-svelte-type-strings.js';
|
|
3
|
-
interface Comment {
|
|
4
|
-
type: 'Line' | 'Block';
|
|
5
|
-
value: string;
|
|
6
|
-
}
|
|
7
|
-
export declare function isSnippetTypeText(typeText: string, snippetLocals: Set<string>): boolean;
|
|
8
|
-
export declare function isSnippetType(typeNode: AstNode | undefined, snippetLocals: Set<string>): boolean;
|
|
9
|
-
export declare function collectStringLiteralUnion(typeNode: AstNode | undefined): string[] | undefined;
|
|
10
|
-
export declare function extractAllowedValuesFromText(typeText: string): string[] | undefined;
|
|
11
|
-
export declare function extractJsdocText(comments: Comment[]): string | undefined;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
export { renderType, renderLiteral } from './render-svelte-type-strings.js';
|
|
2
|
-
export function isSnippetTypeText(typeText, snippetLocals) {
|
|
3
|
-
for (const local of snippetLocals) {
|
|
4
|
-
if (typeText === local || typeText.startsWith(`${local}<`))
|
|
5
|
-
return true;
|
|
6
|
-
}
|
|
7
|
-
return typeText === 'Snippet' || typeText.startsWith('Snippet<');
|
|
8
|
-
}
|
|
9
|
-
export function isSnippetType(typeNode, snippetLocals) {
|
|
10
|
-
if (!typeNode)
|
|
11
|
-
return false;
|
|
12
|
-
if (typeNode.type !== 'TSTypeReference')
|
|
13
|
-
return false;
|
|
14
|
-
const tn = typeNode['typeName']?.['name'];
|
|
15
|
-
if (!tn)
|
|
16
|
-
return false;
|
|
17
|
-
return snippetLocals.has(tn);
|
|
18
|
-
}
|
|
19
|
-
export function collectStringLiteralUnion(typeNode) {
|
|
20
|
-
if (!typeNode)
|
|
21
|
-
return undefined;
|
|
22
|
-
if (typeNode.type !== 'TSUnionType')
|
|
23
|
-
return undefined;
|
|
24
|
-
const members = typeNode['types'];
|
|
25
|
-
if (!members)
|
|
26
|
-
return undefined;
|
|
27
|
-
const out = [];
|
|
28
|
-
for (const m of members) {
|
|
29
|
-
if (m.type !== 'TSLiteralType')
|
|
30
|
-
return undefined;
|
|
31
|
-
const lit = m['literal'];
|
|
32
|
-
const v = lit?.['value'];
|
|
33
|
-
if (typeof v !== 'string')
|
|
34
|
-
return undefined;
|
|
35
|
-
out.push(v);
|
|
36
|
-
}
|
|
37
|
-
return out.length > 0 ? out : undefined;
|
|
38
|
-
}
|
|
39
|
-
export function extractAllowedValuesFromText(typeText) {
|
|
40
|
-
const parts = typeText
|
|
41
|
-
.split('|')
|
|
42
|
-
.map((p) => p.trim())
|
|
43
|
-
.filter(Boolean);
|
|
44
|
-
if (parts.length < 2)
|
|
45
|
-
return undefined;
|
|
46
|
-
const out = [];
|
|
47
|
-
for (const p of parts) {
|
|
48
|
-
const m = p.match(/^'([^']*)'$/) ?? p.match(/^"([^"]*)"$/);
|
|
49
|
-
if (!m)
|
|
50
|
-
return undefined;
|
|
51
|
-
out.push(m[1]);
|
|
52
|
-
}
|
|
53
|
-
return out.length > 0 ? out : undefined;
|
|
54
|
-
}
|
|
55
|
-
export function extractJsdocText(comments) {
|
|
56
|
-
if (!comments.length)
|
|
57
|
-
return undefined;
|
|
58
|
-
const last = comments[comments.length - 1];
|
|
59
|
-
if (last.type !== 'Block')
|
|
60
|
-
return undefined;
|
|
61
|
-
const text = last.value
|
|
62
|
-
.split('\n')
|
|
63
|
-
.map((l) => l.replace(/^\s*\*\s?/, '').trim())
|
|
64
|
-
.filter(Boolean)
|
|
65
|
-
.join(' ')
|
|
66
|
-
.trim();
|
|
67
|
-
return text || undefined;
|
|
68
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function locateDtsForSpecifier(req: NodeJS.Require, specifier: string, parentFile: string): string | null;
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { dirname, join, resolve } from 'node:path';
|
|
2
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
-
function extractTypesFromExports(exportsField) {
|
|
4
|
-
if (!exportsField || typeof exportsField !== 'object')
|
|
5
|
-
return null;
|
|
6
|
-
const exp = exportsField;
|
|
7
|
-
const root = (exp['.'] ?? exp);
|
|
8
|
-
if (!root || typeof root !== 'object')
|
|
9
|
-
return null;
|
|
10
|
-
const r = root;
|
|
11
|
-
if (typeof r['types'] === 'string')
|
|
12
|
-
return r['types'];
|
|
13
|
-
for (const key of ['import', 'default', 'node']) {
|
|
14
|
-
const sub = r[key];
|
|
15
|
-
if (sub && typeof sub === 'object') {
|
|
16
|
-
const t = sub['types'];
|
|
17
|
-
if (typeof t === 'string')
|
|
18
|
-
return t;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
function findPackageRootForSpecifier(seedDir, specifier) {
|
|
24
|
-
let dir = seedDir;
|
|
25
|
-
for (let i = 0; i < 32; i++) {
|
|
26
|
-
if (existsSync(join(dir, 'package.json'))) {
|
|
27
|
-
try {
|
|
28
|
-
const pkgRaw = readFileSync(join(dir, 'package.json'), 'utf-8');
|
|
29
|
-
const pkg = JSON.parse(pkgRaw);
|
|
30
|
-
if (pkg.name === specifier)
|
|
31
|
-
return dir;
|
|
32
|
-
if (pkg.name && specifier.startsWith(`${pkg.name}/`))
|
|
33
|
-
return dir;
|
|
34
|
-
}
|
|
35
|
-
catch { }
|
|
36
|
-
}
|
|
37
|
-
const parent = dirname(dir);
|
|
38
|
-
if (!parent || parent === dir)
|
|
39
|
-
return null;
|
|
40
|
-
dir = parent;
|
|
41
|
-
}
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
export function locateDtsForSpecifier(req, specifier, parentFile) {
|
|
45
|
-
let resolvedJs = null;
|
|
46
|
-
try {
|
|
47
|
-
resolvedJs = req.resolve(specifier);
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
resolvedJs = null;
|
|
51
|
-
}
|
|
52
|
-
const seedDir = resolvedJs ? dirname(resolvedJs) : dirname(parentFile);
|
|
53
|
-
const pkgRoot = findPackageRootForSpecifier(seedDir, specifier);
|
|
54
|
-
if (pkgRoot) {
|
|
55
|
-
const pkgJsonPath = join(pkgRoot, 'package.json');
|
|
56
|
-
if (existsSync(pkgJsonPath)) {
|
|
57
|
-
try {
|
|
58
|
-
const pkgRaw = readFileSync(pkgJsonPath, 'utf-8');
|
|
59
|
-
const pkg = JSON.parse(pkgRaw);
|
|
60
|
-
const typesField = pkg.types ?? pkg.typings;
|
|
61
|
-
if (typeof typesField === 'string') {
|
|
62
|
-
const candidate = resolve(pkgRoot, typesField);
|
|
63
|
-
if (existsSync(candidate))
|
|
64
|
-
return candidate;
|
|
65
|
-
}
|
|
66
|
-
const exportsTypes = extractTypesFromExports(pkg.exports);
|
|
67
|
-
if (exportsTypes) {
|
|
68
|
-
const candidate = resolve(pkgRoot, exportsTypes);
|
|
69
|
-
if (existsSync(candidate))
|
|
70
|
-
return candidate;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
catch { }
|
|
74
|
-
}
|
|
75
|
-
for (const entry of ['index.d.ts', 'index.d.mts']) {
|
|
76
|
-
const candidate = join(pkgRoot, entry);
|
|
77
|
-
if (existsSync(candidate))
|
|
78
|
-
return candidate;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
if (resolvedJs) {
|
|
82
|
-
const noExt = resolvedJs.replace(/\.(m?js|cjs)$/, '');
|
|
83
|
-
for (const ext of ['.d.ts', '.d.mts']) {
|
|
84
|
-
const candidate = `${noExt}${ext}`;
|
|
85
|
-
if (existsSync(candidate))
|
|
86
|
-
return candidate;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return null;
|
|
90
|
-
}
|
package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-allowed-components.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { extractAllowedComponentsFromTypeText } from '../../../helpers/evidence/collect-allowed-component-names.js';
|
|
2
|
-
import { buildComponentLookupMaps } from '../../shared/helpers/build-component-lookup-maps.js';
|
|
3
|
-
export function resolveAllowedComponents(components) {
|
|
4
|
-
const { propsToComponent, componentNames } = buildComponentLookupMaps(components);
|
|
5
|
-
for (const c of components) {
|
|
6
|
-
for (const slot of c.slots) {
|
|
7
|
-
const raw = slot._rawTypeText;
|
|
8
|
-
if (raw) {
|
|
9
|
-
const found = extractAllowedComponentsFromTypeText(raw, {
|
|
10
|
-
propsToComponent,
|
|
11
|
-
componentNames,
|
|
12
|
-
});
|
|
13
|
-
if (found.length > 0)
|
|
14
|
-
slot.allowedComponents = found;
|
|
15
|
-
}
|
|
16
|
-
delete slot._rawTypeText;
|
|
17
|
-
}
|
|
18
|
-
delete c._propsTypeName;
|
|
19
|
-
}
|
|
20
|
-
}
|
package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-external-type-readers.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { AstNode } from '../types/svelte-ast-node.js';
|
|
2
|
-
import type { ResolvedTypeMember } from './extract-svelte-ast-type-members.js';
|
|
3
|
-
export declare function resolveImportedTypeMembers(typeName: string, instance: AstNode, filePath: string): Promise<ResolvedTypeMember[] | null>;
|
package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-external-type-readers.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Node, Project, ScriptTarget, ModuleKind } from 'ts-morph';
|
|
2
|
-
import { resolveLocalModule } from '../../shared/helpers/resolve-import-file-path.js';
|
|
3
|
-
import { collectSnippetLocalsFromSourceFile, readInterfaceMembers, readTypeLiteralMembers, } from './extract-svelte-external-type-members.js';
|
|
4
|
-
function readMembersFromExternalFile(filePath, exportName) {
|
|
5
|
-
const project = new Project({
|
|
6
|
-
compilerOptions: {
|
|
7
|
-
strict: false,
|
|
8
|
-
target: ScriptTarget.ESNext,
|
|
9
|
-
module: ModuleKind.ESNext,
|
|
10
|
-
allowJs: true,
|
|
11
|
-
},
|
|
12
|
-
useInMemoryFileSystem: false,
|
|
13
|
-
skipAddingFilesFromTsConfig: true,
|
|
14
|
-
});
|
|
15
|
-
const sf = project.addSourceFileAtPathIfExists(filePath);
|
|
16
|
-
if (!sf)
|
|
17
|
-
return null;
|
|
18
|
-
const snippetLocals = collectSnippetLocalsFromSourceFile(sf);
|
|
19
|
-
const decls = sf.getExportedDeclarations().get(exportName);
|
|
20
|
-
if (!decls || decls.length === 0)
|
|
21
|
-
return null;
|
|
22
|
-
for (const decl of decls) {
|
|
23
|
-
if (Node.isInterfaceDeclaration(decl)) {
|
|
24
|
-
const declSf = decl.getSourceFile();
|
|
25
|
-
return readInterfaceMembers(decl, declSf === sf ? snippetLocals : collectSnippetLocalsFromSourceFile(declSf));
|
|
26
|
-
}
|
|
27
|
-
if (Node.isTypeAliasDeclaration(decl)) {
|
|
28
|
-
const typeNode = decl.getTypeNode();
|
|
29
|
-
if (typeNode && Node.isTypeLiteral(typeNode)) {
|
|
30
|
-
const declSf = decl.getSourceFile();
|
|
31
|
-
return readTypeLiteralMembers(typeNode, declSf === sf ? snippetLocals : collectSnippetLocalsFromSourceFile(declSf));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
export async function resolveImportedTypeMembers(typeName, instance, filePath) {
|
|
38
|
-
const body = instance['content']?.['body'];
|
|
39
|
-
if (!body)
|
|
40
|
-
return null;
|
|
41
|
-
for (const stmt of body) {
|
|
42
|
-
if (stmt.type !== 'ImportDeclaration')
|
|
43
|
-
continue;
|
|
44
|
-
const specifierValue = stmt['source']?.['value'];
|
|
45
|
-
if (!specifierValue || !specifierValue.startsWith('.'))
|
|
46
|
-
continue;
|
|
47
|
-
const specifiers = stmt['specifiers'] ?? [];
|
|
48
|
-
let importedExport = null;
|
|
49
|
-
for (const spec of specifiers) {
|
|
50
|
-
if (spec.type !== 'ImportSpecifier')
|
|
51
|
-
continue;
|
|
52
|
-
const localName = spec['local']?.['name'];
|
|
53
|
-
if (localName === typeName) {
|
|
54
|
-
importedExport = spec['imported']?.['name'] ?? null;
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
if (!importedExport)
|
|
59
|
-
continue;
|
|
60
|
-
const resolvedFile = resolveLocalModule(filePath, specifierValue, {
|
|
61
|
-
allowJavaScriptExtensionFallback: true,
|
|
62
|
-
});
|
|
63
|
-
if (!resolvedFile)
|
|
64
|
-
continue;
|
|
65
|
-
return readMembersFromExternalFile(resolvedFile, importedExport);
|
|
66
|
-
}
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { Project } from 'ts-morph';
|
|
2
|
-
import type { AstNode } from '../types/svelte-ast-node.js';
|
|
3
|
-
import type { ResolvedTypeMember } from './extract-svelte-ast-type-members.js';
|
|
4
|
-
export declare function resolveViaTypeChecker(annotation: AstNode, instance: AstNode, moduleScript: AstNode | undefined, filePath: string, source: string, snippetLocals: Set<string>, externalProject?: Project): Promise<ResolvedTypeMember[] | null>;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Project, ScriptTarget, ModuleKind, ts } from 'ts-morph';
|
|
2
|
-
import { isSnippetTypeText } from './render-svelte-type.js';
|
|
3
|
-
import { getSourceText, getScriptText, extractAllowedValuesFromType, readJsDocFromDeclaration, readDeclaredTypeNodeText, typeRefersToSnippet, } from './extract-svelte-declaration-data.js';
|
|
4
|
-
export async function resolveViaTypeChecker(annotation, instance, moduleScript, filePath, source, snippetLocals, externalProject) {
|
|
5
|
-
const annotationText = getSourceText(source, annotation);
|
|
6
|
-
if (!annotationText)
|
|
7
|
-
return null;
|
|
8
|
-
const moduleText = getScriptText(source, moduleScript);
|
|
9
|
-
const instanceText = getScriptText(source, instance);
|
|
10
|
-
const synthetic = [moduleText, instanceText, `type __SveltePropsT__ = ${annotationText};`].filter(Boolean).join('\n');
|
|
11
|
-
const project = externalProject ??
|
|
12
|
-
new Project({
|
|
13
|
-
compilerOptions: {
|
|
14
|
-
strict: false,
|
|
15
|
-
target: ScriptTarget.ESNext,
|
|
16
|
-
module: ModuleKind.ESNext,
|
|
17
|
-
allowJs: true,
|
|
18
|
-
jsx: ts.JsxEmit.Preserve,
|
|
19
|
-
},
|
|
20
|
-
useInMemoryFileSystem: false,
|
|
21
|
-
skipAddingFilesFromTsConfig: true,
|
|
22
|
-
});
|
|
23
|
-
const syntheticPath = `${filePath}.__svelte-props__.ts`;
|
|
24
|
-
let sf;
|
|
25
|
-
try {
|
|
26
|
-
sf = project.createSourceFile(syntheticPath, synthetic, {
|
|
27
|
-
overwrite: true,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
const alias = sf.getTypeAlias('__SveltePropsT__');
|
|
34
|
-
if (!alias)
|
|
35
|
-
return null;
|
|
36
|
-
const apparent = alias.getType().getApparentType();
|
|
37
|
-
const properties = apparent.getProperties();
|
|
38
|
-
if (properties.length === 0)
|
|
39
|
-
return null;
|
|
40
|
-
const members = [];
|
|
41
|
-
for (const symbol of properties) {
|
|
42
|
-
const name = symbol.getName();
|
|
43
|
-
const declaration = symbol.getValueDeclaration() ?? symbol.getDeclarations()[0];
|
|
44
|
-
if (!declaration)
|
|
45
|
-
continue;
|
|
46
|
-
const propType = symbol.getTypeAtLocation(declaration);
|
|
47
|
-
let typeText = propType.getText(declaration);
|
|
48
|
-
const optional = symbol.isOptional();
|
|
49
|
-
if (optional)
|
|
50
|
-
typeText = typeText.replace(/\s*\|\s*undefined$/, '').replace(/^undefined\s*\|\s*/, '');
|
|
51
|
-
const allowed = extractAllowedValuesFromType(propType);
|
|
52
|
-
const description = readJsDocFromDeclaration(declaration);
|
|
53
|
-
const declaredTypeText = readDeclaredTypeNodeText(declaration);
|
|
54
|
-
const isSnippet = (declaredTypeText !== null && isSnippetTypeText(declaredTypeText, snippetLocals)) ||
|
|
55
|
-
typeRefersToSnippet(propType) ||
|
|
56
|
-
isSnippetTypeText(typeText, snippetLocals);
|
|
57
|
-
members.push({
|
|
58
|
-
name,
|
|
59
|
-
optional,
|
|
60
|
-
typeText,
|
|
61
|
-
...(declaredTypeText ? { declaredTypeText } : {}),
|
|
62
|
-
isSnippet,
|
|
63
|
-
...(allowed ? { allowedValues: allowed } : {}),
|
|
64
|
-
...(description ? { description } : {}),
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
return members;
|
|
68
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { AstNode } from '../types/svelte-ast-node.js';
|
|
2
|
-
import { type ResolvedTypeMember } from './extract-svelte-ast-type-members.js';
|
|
3
|
-
export type { ResolvedTypeMember };
|
|
4
|
-
export { readPropertySignature, readMembersFromTypeLiteral, readMembersFromInterfaceOrAlias, } from './extract-svelte-ast-type-members.js';
|
|
5
|
-
export { resolveViaTypeChecker } from './resolve-svelte-type-checker.js';
|
|
6
|
-
export declare function resolveTypeMembers(annotation: AstNode, instance: AstNode, moduleScript: AstNode | undefined, filePath: string, source: string): Promise<ResolvedTypeMember[] | null>;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { collectSnippetImportLocals, findLocalTypeDeclaration, declarationHasHeritage, mergeSets, } from './find-svelte-script-declarations.js';
|
|
2
|
-
import { readMembersFromTypeLiteral, readMembersFromInterfaceOrAlias, } from './extract-svelte-ast-type-members.js';
|
|
3
|
-
import { resolveViaTypeChecker } from './resolve-svelte-type-checker.js';
|
|
4
|
-
import { resolveImportedTypeMembers } from './resolve-svelte-external-type-readers.js';
|
|
5
|
-
export { readPropertySignature, readMembersFromTypeLiteral, readMembersFromInterfaceOrAlias, } from './extract-svelte-ast-type-members.js';
|
|
6
|
-
export { resolveViaTypeChecker } from './resolve-svelte-type-checker.js';
|
|
7
|
-
export async function resolveTypeMembers(annotation, instance, moduleScript, filePath, source) {
|
|
8
|
-
const snippetLocals = mergeSets(collectSnippetImportLocals(instance), moduleScript ? collectSnippetImportLocals(moduleScript) : new Set());
|
|
9
|
-
if (annotation.type === 'TSTypeLiteral') {
|
|
10
|
-
return readMembersFromTypeLiteral(annotation, snippetLocals);
|
|
11
|
-
}
|
|
12
|
-
if (annotation.type === 'TSTypeReference') {
|
|
13
|
-
const refName = annotation['typeName']?.['name'] ?? null;
|
|
14
|
-
if (refName) {
|
|
15
|
-
const local = findLocalTypeDeclaration(instance, refName, moduleScript);
|
|
16
|
-
if (local) {
|
|
17
|
-
const fastPathMembers = readMembersFromInterfaceOrAlias(local, snippetLocals);
|
|
18
|
-
if (fastPathMembers.length > 0 && !declarationHasHeritage(local))
|
|
19
|
-
return fastPathMembers;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
const imported = (await resolveImportedTypeMembers(refName, instance, filePath)) ??
|
|
23
|
-
(moduleScript ? await resolveImportedTypeMembers(refName, moduleScript, filePath) : null);
|
|
24
|
-
if (imported)
|
|
25
|
-
return imported;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return resolveViaTypeChecker(annotation, instance, moduleScript, filePath, source, snippetLocals);
|
|
30
|
-
}
|
package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-unresolved-retry.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { RawComponentDefinition } from '../../../types/component.js';
|
|
2
|
-
import type { ExtractorOptions } from '../../../types/options.js';
|
|
3
|
-
import type { AstNode } from '../types/svelte-ast-node.js';
|
|
4
|
-
export interface RetryContext {
|
|
5
|
-
filePath: string;
|
|
6
|
-
source: string;
|
|
7
|
-
instance: AstNode;
|
|
8
|
-
moduleScript: AstNode | undefined;
|
|
9
|
-
annotation: AstNode;
|
|
10
|
-
componentName: string;
|
|
11
|
-
}
|
|
12
|
-
export declare function maybeRunResolveUnreachableRetry(components: RawComponentDefinition[], warnings: string[], retryContexts: Map<string, RetryContext>, opts: ExtractorOptions | undefined): Promise<string[]>;
|
|
13
|
-
export declare function collapseUnresolvedTypeWarnings(warnings: string[]): string[];
|