@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.
Files changed (292) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/extract/{framework-adapters/astro/extractor.d.ts → astro.d.ts} +1 -1
  3. package/dist/src/extract/astro.js +226 -0
  4. package/dist/src/extract/{framework-adapters/shared/helpers/file-processing/file-workers.d.ts → file-extraction-workers.d.ts} +13 -1
  5. package/dist/src/extract/{framework-adapters/shared/helpers/file-processing/file-workers.js → file-extraction-workers.js} +19 -0
  6. package/dist/src/extract/non-authorable-filter.d.ts +17 -0
  7. package/dist/src/extract/non-authorable-filter.js +60 -0
  8. package/dist/src/extract/pipeline.d.ts +7 -0
  9. package/dist/src/extract/pipeline.js +343 -0
  10. package/dist/src/extract/{framework-adapters/react/extractor.d.ts → react.d.ts} +1 -1
  11. package/dist/src/extract/react.js +2069 -0
  12. package/dist/src/extract/scoring.d.ts +12 -0
  13. package/dist/src/extract/{services/quality/helpers/scoring/collect-scoring-inputs.js → scoring.js} +24 -10
  14. package/dist/src/extract/slot-detection.d.ts +35 -0
  15. package/dist/src/extract/slot-detection.js +98 -0
  16. package/dist/src/extract/{services/quality/helpers/inspection/inspect-component-source.d.ts → source-inspection.d.ts} +6 -3
  17. package/dist/src/extract/{services/quality/helpers/inspection/inspect-component-source.js → source-inspection.js} +65 -5
  18. package/dist/src/extract/{framework-adapters/shared/helpers/get-node-source-lines.d.ts → source-line-metadata.d.ts} +1 -1
  19. package/dist/src/extract/{framework-adapters/stencil/extractor.d.ts → stencil.d.ts} +1 -1
  20. package/dist/src/extract/stencil.js +312 -0
  21. package/dist/src/extract/structural-slot-evidence.d.ts +63 -0
  22. package/dist/src/extract/structural-slot-evidence.js +278 -0
  23. package/dist/src/extract/{framework-adapters/svelte/extractor.d.ts → svelte.d.ts} +1 -2
  24. package/dist/src/extract/svelte.js +1309 -0
  25. package/dist/src/extract/tsx-shared.d.ts +37 -0
  26. package/dist/src/extract/tsx-shared.js +368 -0
  27. package/dist/src/extract/{services/quality/helpers/inspection/validate-extracted-components.d.ts → validate.d.ts} +1 -1
  28. package/dist/src/extract/{framework-adapters/vue-tsx/extractor.d.ts → vue-tsx.d.ts} +1 -1
  29. package/dist/src/extract/vue-tsx.js +449 -0
  30. package/dist/src/extract/{framework-adapters/vue/extractor.d.ts → vue.d.ts} +1 -1
  31. package/dist/src/extract/vue.js +605 -0
  32. package/dist/src/extract/{framework-adapters/web-components/extractor.d.ts → web-components.d.ts} +1 -1
  33. package/dist/src/extract/web-components.js +863 -0
  34. package/dist/src/index.d.ts +21 -27
  35. package/dist/src/index.js +17 -21
  36. package/dist/src/{extract/services/classification/classify-component-props.d.ts → pre-classify.d.ts} +5 -3
  37. package/dist/src/{extract/services/classification/classify-component-props.js → pre-classify.js} +100 -8
  38. package/dist/src/{extract/types/component.d.ts → types.d.ts} +22 -0
  39. package/dist/src/{extract/types/display.js → types.js} +1 -1
  40. package/package.json +1 -1
  41. package/dist/src/extract/controller/extract-controller.d.ts +0 -10
  42. package/dist/src/extract/controller/extract-controller.js +0 -33
  43. package/dist/src/extract/controller/helpers/validate-endpoint-request.d.ts +0 -2
  44. package/dist/src/extract/controller/helpers/validate-endpoint-request.js +0 -24
  45. package/dist/src/extract/framework-adapters/astro/extractor.js +0 -45
  46. package/dist/src/extract/framework-adapters/astro/frontmatter.d.ts +0 -11
  47. package/dist/src/extract/framework-adapters/astro/frontmatter.js +0 -96
  48. package/dist/src/extract/framework-adapters/astro/helpers/collect-astro-props-bindings.d.ts +0 -4
  49. package/dist/src/extract/framework-adapters/astro/helpers/collect-astro-props-bindings.js +0 -47
  50. package/dist/src/extract/framework-adapters/astro/slots.d.ts +0 -7
  51. package/dist/src/extract/framework-adapters/astro/slots.js +0 -44
  52. package/dist/src/extract/framework-adapters/react/extractor.js +0 -31
  53. package/dist/src/extract/framework-adapters/react/helpers/collect-dom-wrapper-contexts.d.ts +0 -4
  54. package/dist/src/extract/framework-adapters/react/helpers/collect-dom-wrapper-contexts.js +0 -73
  55. package/dist/src/extract/framework-adapters/react/helpers/collect-prop-dataflow.d.ts +0 -14
  56. package/dist/src/extract/framework-adapters/react/helpers/collect-prop-dataflow.js +0 -220
  57. package/dist/src/extract/framework-adapters/react/helpers/collect-react-impl-hints.d.ts +0 -5
  58. package/dist/src/extract/framework-adapters/react/helpers/collect-react-impl-hints.js +0 -32
  59. package/dist/src/extract/framework-adapters/react/helpers/detect-dom-is-pure-wrapper.d.ts +0 -2
  60. package/dist/src/extract/framework-adapters/react/helpers/detect-dom-is-pure-wrapper.js +0 -59
  61. package/dist/src/extract/framework-adapters/react/helpers/detect-dom-type-patterns.d.ts +0 -8
  62. package/dist/src/extract/framework-adapters/react/helpers/detect-dom-type-patterns.js +0 -29
  63. package/dist/src/extract/framework-adapters/react/helpers/detect-omit-wrapped-custom-props.d.ts +0 -2
  64. package/dist/src/extract/framework-adapters/react/helpers/detect-omit-wrapped-custom-props.js +0 -64
  65. package/dist/src/extract/framework-adapters/react/helpers/detect-pick-type-patterns.d.ts +0 -4
  66. package/dist/src/extract/framework-adapters/react/helpers/detect-pick-type-patterns.js +0 -64
  67. package/dist/src/extract/framework-adapters/react/helpers/detect-react-polymorphic.d.ts +0 -5
  68. package/dist/src/extract/framework-adapters/react/helpers/detect-react-polymorphic.js +0 -170
  69. package/dist/src/extract/framework-adapters/react/helpers/dom-attribute-surfaces.d.ts +0 -15
  70. package/dist/src/extract/framework-adapters/react/helpers/dom-attribute-surfaces.js +0 -231
  71. package/dist/src/extract/framework-adapters/react/helpers/extract-binding-fallback-props.d.ts +0 -4
  72. package/dist/src/extract/framework-adapters/react/helpers/extract-binding-fallback-props.js +0 -50
  73. package/dist/src/extract/framework-adapters/react/helpers/extract-from-react-source-file.d.ts +0 -5
  74. package/dist/src/extract/framework-adapters/react/helpers/extract-from-react-source-file.js +0 -23
  75. package/dist/src/extract/framework-adapters/react/helpers/extract-react-allowed-components.d.ts +0 -2
  76. package/dist/src/extract/framework-adapters/react/helpers/extract-react-allowed-components.js +0 -25
  77. package/dist/src/extract/framework-adapters/react/helpers/extract-react-binding-defaults.d.ts +0 -6
  78. package/dist/src/extract/framework-adapters/react/helpers/extract-react-binding-defaults.js +0 -48
  79. package/dist/src/extract/framework-adapters/react/helpers/extract-react-component-from-export.d.ts +0 -15
  80. package/dist/src/extract/framework-adapters/react/helpers/extract-react-component-from-export.js +0 -106
  81. package/dist/src/extract/framework-adapters/react/helpers/extract-react-prop-types.d.ts +0 -3
  82. package/dist/src/extract/framework-adapters/react/helpers/extract-react-prop-types.js +0 -64
  83. package/dist/src/extract/framework-adapters/react/helpers/extract-react-props-from-type.d.ts +0 -15
  84. package/dist/src/extract/framework-adapters/react/helpers/extract-react-props-from-type.js +0 -318
  85. package/dist/src/extract/framework-adapters/react/helpers/extract-react-slots.d.ts +0 -6
  86. package/dist/src/extract/framework-adapters/react/helpers/extract-react-slots.js +0 -44
  87. package/dist/src/extract/framework-adapters/react/helpers/filter-impl-alias-props.d.ts +0 -4
  88. package/dist/src/extract/framework-adapters/react/helpers/filter-impl-alias-props.js +0 -52
  89. package/dist/src/extract/framework-adapters/react/helpers/infer-primitive-dom-props.d.ts +0 -6
  90. package/dist/src/extract/framework-adapters/react/helpers/infer-primitive-dom-props.js +0 -69
  91. package/dist/src/extract/framework-adapters/react/helpers/resolve-component-function.d.ts +0 -4
  92. package/dist/src/extract/framework-adapters/react/helpers/resolve-component-function.js +0 -131
  93. package/dist/src/extract/framework-adapters/react/helpers/resolve-react-prop-forwarding.d.ts +0 -8
  94. package/dist/src/extract/framework-adapters/react/helpers/resolve-react-prop-forwarding.js +0 -22
  95. package/dist/src/extract/framework-adapters/react/helpers/resolve-react-props-type.d.ts +0 -14
  96. package/dist/src/extract/framework-adapters/react/helpers/resolve-react-props-type.js +0 -86
  97. package/dist/src/extract/framework-adapters/react/helpers/synthesize-react-structural-slots.d.ts +0 -8
  98. package/dist/src/extract/framework-adapters/react/helpers/synthesize-react-structural-slots.js +0 -44
  99. package/dist/src/extract/framework-adapters/shared/helpers/build-component-lookup-maps.d.ts +0 -5
  100. package/dist/src/extract/framework-adapters/shared/helpers/build-component-lookup-maps.js +0 -10
  101. package/dist/src/extract/framework-adapters/shared/helpers/collect-jsdoc-slot-comments.d.ts +0 -2
  102. package/dist/src/extract/framework-adapters/shared/helpers/collect-jsdoc-slot-comments.js +0 -13
  103. package/dist/src/extract/framework-adapters/shared/helpers/file-processing/project-source-files.d.ts +0 -5
  104. package/dist/src/extract/framework-adapters/shared/helpers/file-processing/project-source-files.js +0 -13
  105. package/dist/src/extract/framework-adapters/shared/helpers/file-processing/result-normalizer.d.ts +0 -6
  106. package/dist/src/extract/framework-adapters/shared/helpers/file-processing/result-normalizer.js +0 -6
  107. package/dist/src/extract/framework-adapters/shared/helpers/find-tsx-workspace-package.d.ts +0 -2
  108. package/dist/src/extract/framework-adapters/shared/helpers/find-tsx-workspace-package.js +0 -62
  109. package/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-tsconfig-path.d.ts +0 -7
  110. package/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-tsconfig-path.js +0 -93
  111. package/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-workspace-imports.d.ts +0 -6
  112. package/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-workspace-imports.js +0 -58
  113. package/dist/src/extract/framework-adapters/shared/helpers/tsx-node-utils.d.ts +0 -13
  114. package/dist/src/extract/framework-adapters/shared/helpers/tsx-node-utils.js +0 -76
  115. package/dist/src/extract/framework-adapters/shared/helpers/tsx-renderable-exports.d.ts +0 -12
  116. package/dist/src/extract/framework-adapters/shared/helpers/tsx-renderable-exports.js +0 -35
  117. package/dist/src/extract/framework-adapters/shared/helpers/tsx-shared.d.ts +0 -14
  118. package/dist/src/extract/framework-adapters/shared/helpers/tsx-shared.js +0 -54
  119. package/dist/src/extract/framework-adapters/stencil/extractor.js +0 -82
  120. package/dist/src/extract/framework-adapters/stencil/helpers/detect-stencil-class.d.ts +0 -7
  121. package/dist/src/extract/framework-adapters/stencil/helpers/detect-stencil-class.js +0 -32
  122. package/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-props.d.ts +0 -5
  123. package/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-props.js +0 -62
  124. package/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-slots.d.ts +0 -6
  125. package/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-slots.js +0 -87
  126. package/dist/src/extract/framework-adapters/stencil/helpers/stencil-prop-helpers.d.ts +0 -5
  127. package/dist/src/extract/framework-adapters/stencil/helpers/stencil-prop-helpers.js +0 -39
  128. package/dist/src/extract/framework-adapters/svelte/extractor.js +0 -27
  129. package/dist/src/extract/framework-adapters/svelte/helpers/classify-svelte-props-annotation.d.ts +0 -6
  130. package/dist/src/extract/framework-adapters/svelte/helpers/classify-svelte-props-annotation.js +0 -51
  131. package/dist/src/extract/framework-adapters/svelte/helpers/collect-svelte-type-references.d.ts +0 -3
  132. package/dist/src/extract/framework-adapters/svelte/helpers/collect-svelte-type-references.js +0 -52
  133. package/dist/src/extract/framework-adapters/svelte/helpers/extract-from-svelte-file.d.ts +0 -7
  134. package/dist/src/extract/framework-adapters/svelte/helpers/extract-from-svelte-file.js +0 -90
  135. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-ast-type-members.d.ts +0 -15
  136. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-ast-type-members.js +0 -46
  137. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-declaration-data.d.ts +0 -7
  138. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-declaration-data.js +0 -64
  139. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-external-type-members.d.ts +0 -4
  140. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-external-type-members.js +0 -58
  141. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-from-destructure.d.ts +0 -4
  142. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-from-destructure.js +0 -85
  143. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-props.d.ts +0 -22
  144. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-props.js +0 -55
  145. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-template-slots.d.ts +0 -7
  146. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-template-slots.js +0 -63
  147. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-type-member-props.d.ts +0 -3
  148. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-type-member-props.js +0 -31
  149. package/dist/src/extract/framework-adapters/svelte/helpers/find-svelte-script-declarations.d.ts +0 -8
  150. package/dist/src/extract/framework-adapters/svelte/helpers/find-svelte-script-declarations.js +0 -91
  151. package/dist/src/extract/framework-adapters/svelte/helpers/get-svelte-component-name.d.ts +0 -1
  152. package/dist/src/extract/framework-adapters/svelte/helpers/get-svelte-component-name.js +0 -26
  153. package/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type-strings.d.ts +0 -3
  154. package/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type-strings.js +0 -91
  155. package/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type.d.ts +0 -11
  156. package/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type.js +0 -68
  157. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-dts-location.d.ts +0 -1
  158. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-dts-location.js +0 -90
  159. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-allowed-components.d.ts +0 -2
  160. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-allowed-components.js +0 -20
  161. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-external-type-readers.d.ts +0 -3
  162. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-external-type-readers.js +0 -68
  163. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-checker.d.ts +0 -4
  164. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-checker.js +0 -68
  165. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-members.d.ts +0 -6
  166. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-members.js +0 -30
  167. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-unresolved-retry.d.ts +0 -13
  168. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-unresolved-retry.js +0 -192
  169. package/dist/src/extract/framework-adapters/svelte/types/svelte-ast-node.d.ts +0 -12
  170. package/dist/src/extract/framework-adapters/svelte/types/svelte-ast-node.js +0 -1
  171. package/dist/src/extract/framework-adapters/vue/extractor.js +0 -61
  172. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-object-props.d.ts +0 -3
  173. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-object-props.js +0 -67
  174. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-options-props.d.ts +0 -4
  175. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-options-props.js +0 -72
  176. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-object-props.d.ts +0 -8
  177. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-object-props.js +0 -64
  178. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-props.d.ts +0 -2
  179. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-props.js +0 -66
  180. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-slots.d.ts +0 -24
  181. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-slots.js +0 -56
  182. package/dist/src/extract/framework-adapters/vue/helpers/resolve-vue-component-name.d.ts +0 -2
  183. package/dist/src/extract/framework-adapters/vue/helpers/resolve-vue-component-name.js +0 -9
  184. package/dist/src/extract/framework-adapters/vue/helpers/resolve-workspace-module.d.ts +0 -1
  185. package/dist/src/extract/framework-adapters/vue/helpers/resolve-workspace-module.js +0 -76
  186. package/dist/src/extract/framework-adapters/vue/helpers/workspace-package-dirs.d.ts +0 -2
  187. package/dist/src/extract/framework-adapters/vue/helpers/workspace-package-dirs.js +0 -77
  188. package/dist/src/extract/framework-adapters/vue-tsx/extractor.js +0 -82
  189. package/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-props.d.ts +0 -5
  190. package/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-props.js +0 -189
  191. package/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-slots.d.ts +0 -4
  192. package/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-slots.js +0 -91
  193. package/dist/src/extract/framework-adapters/vue-tsx/helpers/resolve-ast-object.d.ts +0 -11
  194. package/dist/src/extract/framework-adapters/vue-tsx/helpers/resolve-ast-object.js +0 -95
  195. package/dist/src/extract/framework-adapters/web-components/extractor.js +0 -55
  196. package/dist/src/extract/framework-adapters/web-components/helpers/collect-wc-html-templates.d.ts +0 -4
  197. package/dist/src/extract/framework-adapters/web-components/helpers/collect-wc-html-templates.js +0 -67
  198. package/dist/src/extract/framework-adapters/web-components/helpers/detect-wc-non-public-members.d.ts +0 -9
  199. package/dist/src/extract/framework-adapters/web-components/helpers/detect-wc-non-public-members.js +0 -11
  200. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-accessor-props.d.ts +0 -3
  201. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-accessor-props.js +0 -65
  202. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-class-properties.d.ts +0 -3
  203. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-class-properties.js +0 -60
  204. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-inheritance.d.ts +0 -4
  205. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-inheritance.js +0 -16
  206. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-jsdoc-attr-props.d.ts +0 -3
  207. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-jsdoc-attr-props.js +0 -24
  208. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-observed-attrs.d.ts +0 -3
  209. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-observed-attrs.js +0 -27
  210. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-slots.d.ts +0 -6
  211. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-slots.js +0 -56
  212. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-template-content.d.ts +0 -4
  213. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-template-content.js +0 -49
  214. package/dist/src/extract/framework-adapters/web-components/helpers/merge-wc-prop-lists.d.ts +0 -9
  215. package/dist/src/extract/framework-adapters/web-components/helpers/merge-wc-prop-lists.js +0 -19
  216. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-base-class.d.ts +0 -2
  217. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-base-class.js +0 -59
  218. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-decorator-tag.d.ts +0 -2
  219. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-decorator-tag.js +0 -54
  220. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import-source.d.ts +0 -7
  221. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import-source.js +0 -47
  222. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import.d.ts +0 -4
  223. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import.js +0 -93
  224. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-sibling-definition.d.ts +0 -4
  225. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-sibling-definition.js +0 -79
  226. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-tag-name.d.ts +0 -7
  227. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-tag-name.js +0 -62
  228. package/dist/src/extract/helpers/evidence/ast/collect-structural-jsx-evidence.d.ts +0 -5
  229. package/dist/src/extract/helpers/evidence/ast/collect-structural-jsx-evidence.js +0 -63
  230. package/dist/src/extract/helpers/evidence/ast/detect-react-node-types.d.ts +0 -2
  231. package/dist/src/extract/helpers/evidence/ast/detect-react-node-types.js +0 -24
  232. package/dist/src/extract/helpers/evidence/ast/get-jsx-ast-data.d.ts +0 -14
  233. package/dist/src/extract/helpers/evidence/ast/get-jsx-ast-data.js +0 -85
  234. package/dist/src/extract/helpers/evidence/collect-jsx-component-references.d.ts +0 -5
  235. package/dist/src/extract/helpers/evidence/collect-jsx-component-references.js +0 -52
  236. package/dist/src/extract/helpers/evidence/detect-slot-from-prop.d.ts +0 -16
  237. package/dist/src/extract/helpers/evidence/detect-slot-from-prop.js +0 -39
  238. package/dist/src/extract/orchestrator/execute-extraction-orchestrator.d.ts +0 -13
  239. package/dist/src/extract/orchestrator/execute-extraction-orchestrator.js +0 -17
  240. package/dist/src/extract/services/classification/helpers/check-prop-types.d.ts +0 -7
  241. package/dist/src/extract/services/classification/helpers/check-prop-types.js +0 -22
  242. package/dist/src/extract/services/classification/helpers/detect-dom-props.d.ts +0 -2
  243. package/dist/src/extract/services/classification/helpers/detect-dom-props.js +0 -63
  244. package/dist/src/extract/services/deduplication/deduplicate-components.d.ts +0 -2
  245. package/dist/src/extract/services/deduplication/deduplicate-components.js +0 -58
  246. package/dist/src/extract/services/deduplication/helpers/component-path-analysis.d.ts +0 -10
  247. package/dist/src/extract/services/deduplication/helpers/component-path-analysis.js +0 -85
  248. package/dist/src/extract/services/deduplication/helpers/component-path-scoring.d.ts +0 -10
  249. package/dist/src/extract/services/deduplication/helpers/component-path-scoring.js +0 -73
  250. package/dist/src/extract/services/extraction/extract-components.d.ts +0 -3
  251. package/dist/src/extract/services/extraction/extract-components.js +0 -19
  252. package/dist/src/extract/services/extraction/helpers/collect-sveltekit-route-exclusions.d.ts +0 -2
  253. package/dist/src/extract/services/extraction/helpers/collect-sveltekit-route-exclusions.js +0 -18
  254. package/dist/src/extract/services/extraction/helpers/filter-hook-components.d.ts +0 -6
  255. package/dist/src/extract/services/extraction/helpers/filter-hook-components.js +0 -18
  256. package/dist/src/extract/services/extraction/helpers/register-extractors.d.ts +0 -8
  257. package/dist/src/extract/services/extraction/helpers/register-extractors.js +0 -71
  258. package/dist/src/extract/services/extraction/helpers/run-extractor-batches.d.ts +0 -4
  259. package/dist/src/extract/services/extraction/helpers/run-extractor-batches.js +0 -24
  260. package/dist/src/extract/services/quality/evaluate-extraction-quality.d.ts +0 -4
  261. package/dist/src/extract/services/quality/evaluate-extraction-quality.js +0 -61
  262. package/dist/src/extract/services/quality/helpers/authorability/evaluate-authorability.d.ts +0 -28
  263. package/dist/src/extract/services/quality/helpers/authorability/evaluate-authorability.js +0 -67
  264. package/dist/src/extract/services/quality/helpers/inspection/detect-data-wrapper-patterns.d.ts +0 -16
  265. package/dist/src/extract/services/quality/helpers/inspection/detect-data-wrapper-patterns.js +0 -63
  266. package/dist/src/extract/services/quality/helpers/scoring/collect-scoring-inputs.d.ts +0 -14
  267. package/dist/src/extract/services/quality/helpers/scoring/compute-extraction-score.d.ts +0 -6
  268. package/dist/src/extract/services/quality/helpers/scoring/compute-extraction-score.js +0 -12
  269. package/dist/src/extract/types/classification.d.ts +0 -4
  270. package/dist/src/extract/types/classification.js +0 -1
  271. package/dist/src/extract/types/component-extractor.d.ts +0 -7
  272. package/dist/src/extract/types/component-extractor.js +0 -1
  273. package/dist/src/extract/types/component.js +0 -1
  274. package/dist/src/extract/types/contract.d.ts +0 -16
  275. package/dist/src/extract/types/contract.js +0 -1
  276. package/dist/src/extract/types/display.d.ts +0 -3
  277. package/dist/src/extract/types/options.d.ts +0 -15
  278. package/dist/src/extract/types/options.js +0 -1
  279. package/dist/src/extract/types/scoring.d.ts +0 -9
  280. package/dist/src/extract/types/scoring.js +0 -1
  281. package/dist/src/extract/types/source-inspection.d.ts +0 -5
  282. package/dist/src/extract/types/source-inspection.js +0 -1
  283. /package/dist/src/extract/{helpers/evidence/parse-source-imports.d.ts → parse-imported-names.d.ts} +0 -0
  284. /package/dist/src/extract/{helpers/evidence/parse-source-imports.js → parse-imported-names.js} +0 -0
  285. /package/dist/src/extract/{framework-adapters/shared/helpers/resolve-import-file-path.d.ts → resolve-local-module.d.ts} +0 -0
  286. /package/dist/src/extract/{framework-adapters/shared/helpers/resolve-import-file-path.js → resolve-local-module.js} +0 -0
  287. /package/dist/src/extract/{framework-adapters/shared/helpers/resolve-type-symbol.d.ts → resolve-type-property.d.ts} +0 -0
  288. /package/dist/src/extract/{framework-adapters/shared/helpers/resolve-type-symbol.js → resolve-type-property.js} +0 -0
  289. /package/dist/src/extract/{helpers/evidence/collect-allowed-component-names.d.ts → slot-allowed-components.d.ts} +0 -0
  290. /package/dist/src/extract/{helpers/evidence/collect-allowed-component-names.js → slot-allowed-components.js} +0 -0
  291. /package/dist/src/extract/{framework-adapters/shared/helpers/get-node-source-lines.js → source-line-metadata.js} +0 -0
  292. /package/dist/src/extract/{services/quality/helpers/inspection/validate-extracted-components.js → validate.js} +0 -0
@@ -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
- }
@@ -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>;
@@ -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,3 +0,0 @@
1
- import type { AstNode } from '../types/svelte-ast-node.js';
2
- export declare function renderType(typeNode: AstNode | undefined): string;
3
- export declare function renderLiteral(node: AstNode | undefined): string | undefined;
@@ -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
- }
@@ -1,2 +0,0 @@
1
- import type { RawComponentDefinition } from '../../../types/component.js';
2
- export declare function resolveAllowedComponents(components: RawComponentDefinition[]): void;
@@ -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
- }
@@ -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>;
@@ -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
- }
@@ -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[];