@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
@@ -0,0 +1,343 @@
1
+ import { extractStencilComponents } from './stencil.js';
2
+ import { extractReactComponents } from './react.js';
3
+ import { extractVueTsxComponents } from './vue-tsx.js';
4
+ import { extractVueComponents } from './vue.js';
5
+ import { extractAstroComponents } from './astro.js';
6
+ import { extractWebComponentDefinitions } from './web-components.js';
7
+ import { extractSvelteComponents } from './svelte.js';
8
+ const extractors = [
9
+ {
10
+ name: 'stencil',
11
+ fileFilter: (f) => /\.[jt]sx$/.test(f),
12
+ extract: extractStencilComponents,
13
+ },
14
+ {
15
+ name: 'react',
16
+ fileFilter: (f) => /\.[jt]sx?$/.test(f) && !f.endsWith('.d.ts'),
17
+ extract: extractReactComponents,
18
+ },
19
+ {
20
+ name: 'vue-tsx',
21
+ fileFilter: (f) => /\.[jt]sx?$/.test(f) && !f.endsWith('.d.ts'),
22
+ extract: extractVueTsxComponents,
23
+ },
24
+ {
25
+ name: 'vue',
26
+ fileFilter: (f) => f.endsWith('.vue'),
27
+ extract: extractVueComponents,
28
+ },
29
+ {
30
+ name: 'astro',
31
+ fileFilter: (f) => f.endsWith('.astro'),
32
+ extract: extractAstroComponents,
33
+ },
34
+ {
35
+ name: 'web-components',
36
+ fileFilter: (f) => /\.[jt]s$/.test(f) && !/\.[jt]sx$/.test(f) && !f.endsWith('.d.ts'),
37
+ extract: extractWebComponentDefinitions,
38
+ },
39
+ {
40
+ name: 'svelte',
41
+ fileFilter: (f) => {
42
+ if (!f.endsWith('.svelte'))
43
+ return false;
44
+ // SvelteKit route conventions: +page.svelte, +layout.svelte, +error.svelte
45
+ // are framework-managed entrypoints, not authorable design-system components.
46
+ // Mirrors how Next.js page.tsx / layout.tsx are filtered in pre-classify.
47
+ const filename = f.replace(/\\/g, '/').split('/').pop() ?? '';
48
+ if (/^\+(page|layout|error)\.svelte$/.test(filename))
49
+ return false;
50
+ return true;
51
+ },
52
+ extract: extractSvelteComponents,
53
+ },
54
+ ];
55
+ function getPathPreferenceScore(filePath) {
56
+ const normalized = filePath.replace(/\\/g, '/');
57
+ const segments = normalized.split('/').filter(Boolean);
58
+ const filename = segments.at(-1) ?? '';
59
+ const basename = filename.replace(/\.[^.]+$/, '');
60
+ let score = 0;
61
+ if (/^index\.[jt]sx?$/.test(filename))
62
+ score += 100;
63
+ if (basename && segments.at(-2) === basename)
64
+ score -= 10;
65
+ const componentsSegmentCount = segments.filter((segment) => segment === 'components').length;
66
+ score -= componentsSegmentCount * 8;
67
+ score -= segments.length;
68
+ return score;
69
+ }
70
+ function getPackageRootInfo(segments) {
71
+ for (let index = 0; index < segments.length; index += 1) {
72
+ const segment = segments[index];
73
+ if ((segment === '.packages' || segment === 'packages') && segments[index + 1]) {
74
+ return {
75
+ rootSegments: segments.slice(0, index + 2),
76
+ relativeSegments: segments.slice(index + 2),
77
+ };
78
+ }
79
+ }
80
+ const srcIndex = segments.lastIndexOf('src');
81
+ if (srcIndex >= 0) {
82
+ return {
83
+ rootSegments: segments.slice(0, srcIndex),
84
+ relativeSegments: segments.slice(srcIndex),
85
+ };
86
+ }
87
+ return null;
88
+ }
89
+ function getScopeInfo(filePath) {
90
+ const normalized = filePath.replace(/\\/g, '/');
91
+ const segments = normalized.split('/').filter(Boolean);
92
+ const rootInfo = getPackageRootInfo(segments);
93
+ if (!rootInfo) {
94
+ return null;
95
+ }
96
+ const { rootSegments, relativeSegments } = rootInfo;
97
+ return {
98
+ rootKey: rootSegments.join('/'),
99
+ relativeSegments,
100
+ };
101
+ }
102
+ function getTopLevelFamilyName(relativeSegments) {
103
+ const [first, second, third] = relativeSegments;
104
+ if (relativeSegments.length === 1 && first) {
105
+ return first.replace(/\.[^.]+$/, '');
106
+ }
107
+ if (first === 'src' && second === 'components' && third) {
108
+ const fileSegment = relativeSegments[3];
109
+ if (fileSegment &&
110
+ (fileSegment === `${third}.tsx` ||
111
+ fileSegment === `${third}.ts` ||
112
+ fileSegment === 'index.tsx' ||
113
+ fileSegment === 'index.ts')) {
114
+ return third;
115
+ }
116
+ return null;
117
+ }
118
+ if (first === 'src' && second) {
119
+ const fileSegment = relativeSegments[2];
120
+ if (fileSegment &&
121
+ (fileSegment === `${second}.vue` ||
122
+ fileSegment === `${second}.tsx` ||
123
+ fileSegment === `${second}.ts` ||
124
+ fileSegment === 'index.tsx' ||
125
+ fileSegment === 'index.ts' ||
126
+ fileSegment === 'index.vue')) {
127
+ return second;
128
+ }
129
+ return null;
130
+ }
131
+ if (first) {
132
+ const fileSegment = relativeSegments[1];
133
+ if (fileSegment === `${first}.tsx` ||
134
+ fileSegment === `${first}.ts` ||
135
+ fileSegment === `${first}.vue` ||
136
+ fileSegment === 'index.tsx' ||
137
+ fileSegment === 'index.ts' ||
138
+ fileSegment === 'index.vue') {
139
+ return first;
140
+ }
141
+ }
142
+ return null;
143
+ }
144
+ function isWithinTopLevelFamily(relativeSegments, componentName) {
145
+ const [first, second, third] = relativeSegments;
146
+ const componentFilenames = new Set([
147
+ `${componentName}.tsx`,
148
+ `${componentName}.ts`,
149
+ `${componentName}.vue`,
150
+ 'index.tsx',
151
+ 'index.ts',
152
+ 'index.vue',
153
+ ]);
154
+ if (relativeSegments.length === 1) {
155
+ return new Set([`${componentName}.tsx`, `${componentName}.ts`, `${componentName}.vue`]).has(first);
156
+ }
157
+ if (first === 'src' && second === 'components' && third === componentName) {
158
+ return true;
159
+ }
160
+ if (first === 'components' && second === componentName) {
161
+ return true;
162
+ }
163
+ if (first === 'src' && second === componentName) {
164
+ return true;
165
+ }
166
+ if (first === componentName) {
167
+ return componentFilenames.has(second) || relativeSegments.length > 2;
168
+ }
169
+ return false;
170
+ }
171
+ function getFamilyScopeKey(filePath, componentName, topLevelFamiliesByRoot) {
172
+ const normalized = filePath.replace(/\\/g, '/');
173
+ const scopeInfo = getScopeInfo(filePath);
174
+ if (!scopeInfo) {
175
+ return normalized;
176
+ }
177
+ const { rootKey, relativeSegments } = scopeInfo;
178
+ const topLevelFamilies = topLevelFamiliesByRoot.get(rootKey);
179
+ if (topLevelFamilies?.has(componentName) && isWithinTopLevelFamily(relativeSegments, componentName)) {
180
+ return `${rootKey}::${componentName}`;
181
+ }
182
+ const [first, second, third] = relativeSegments;
183
+ if (first === 'src' && second === 'components' && third) {
184
+ return `${rootKey}/src/components/${third}`;
185
+ }
186
+ if (first === 'components' && second) {
187
+ return `${rootKey}/components/${second}`;
188
+ }
189
+ if (first === 'src' && second && relativeSegments.length > 2) {
190
+ return `${rootKey}/src/${second}`;
191
+ }
192
+ if (first && relativeSegments.length > 1) {
193
+ return `${rootKey}/${first}`;
194
+ }
195
+ return rootKey;
196
+ }
197
+ function choosePreferredComponent(existing, candidate) {
198
+ const existingScore = getPathPreferenceScore(existing.source);
199
+ const candidateScore = getPathPreferenceScore(candidate.source);
200
+ if (candidateScore > existingScore) {
201
+ return {
202
+ winner: candidate,
203
+ loser: existing,
204
+ reason: `preferred ${candidate.source} over ${existing.source} based on path heuristics`,
205
+ };
206
+ }
207
+ if (candidateScore < existingScore) {
208
+ return {
209
+ winner: existing,
210
+ loser: candidate,
211
+ reason: `kept ${existing.source} over ${candidate.source} based on path heuristics`,
212
+ };
213
+ }
214
+ if (candidate.source.length < existing.source.length) {
215
+ return {
216
+ winner: candidate,
217
+ loser: existing,
218
+ reason: `preferred shorter path ${candidate.source} over ${existing.source}`,
219
+ };
220
+ }
221
+ return {
222
+ winner: existing,
223
+ loser: candidate,
224
+ reason: `kept ${existing.source} over ${candidate.source} by stable first-seen order`,
225
+ };
226
+ }
227
+ export async function extractComponents(filePaths, onProgress, opts) {
228
+ const filesByExtractor = new Map();
229
+ const exclusions = [];
230
+ for (const extractor of extractors) {
231
+ filesByExtractor.set(extractor, []);
232
+ }
233
+ for (const filePath of filePaths) {
234
+ for (const extractor of extractors) {
235
+ if (extractor.fileFilter(filePath)) {
236
+ filesByExtractor.get(extractor).push(filePath);
237
+ }
238
+ else if (extractor.name === 'svelte' && filePath.endsWith('.svelte')) {
239
+ const filename = filePath.replace(/\\/g, '/').split('/').pop() ?? '';
240
+ if (/^\+(page|layout|error)\.svelte$/.test(filename)) {
241
+ exclusions.push({
242
+ itemType: 'file',
243
+ name: filename,
244
+ source: filePath,
245
+ reason: 'SvelteKit route entrypoints are framework-managed, not authorable components',
246
+ stage: 'file-filter',
247
+ });
248
+ }
249
+ }
250
+ }
251
+ }
252
+ const perExtractorFiles = new Map();
253
+ const perExtractorComponents = new Map();
254
+ let totalFilesProcessed = 0;
255
+ let totalComponentsFound = 0;
256
+ const results = await Promise.all(extractors.map(async (extractor) => {
257
+ const files = filesByExtractor.get(extractor);
258
+ if (files.length === 0)
259
+ return { components: [], warnings: [] };
260
+ perExtractorFiles.set(extractor, 0);
261
+ perExtractorComponents.set(extractor, 0);
262
+ const result = await extractor.extract(files, (p) => {
263
+ const prevFiles = perExtractorFiles.get(extractor) ?? 0;
264
+ const prevComponents = perExtractorComponents.get(extractor) ?? 0;
265
+ totalFilesProcessed += p.filesProcessed - prevFiles;
266
+ totalComponentsFound += p.componentsFound - prevComponents;
267
+ perExtractorFiles.set(extractor, p.filesProcessed);
268
+ perExtractorComponents.set(extractor, p.componentsFound);
269
+ onProgress?.({ filesProcessed: totalFilesProcessed, componentsFound: totalComponentsFound });
270
+ }, opts);
271
+ return result;
272
+ }));
273
+ const allWarnings = [];
274
+ const componentsByKey = new Map();
275
+ const keysByName = new Map();
276
+ const topLevelFamiliesByRoot = new Map();
277
+ for (const result of results) {
278
+ for (const component of result.components) {
279
+ const scopeInfo = getScopeInfo(component.source);
280
+ if (!scopeInfo)
281
+ continue;
282
+ const familyName = getTopLevelFamilyName(scopeInfo.relativeSegments);
283
+ if (!familyName)
284
+ continue;
285
+ const existingFamilies = topLevelFamiliesByRoot.get(scopeInfo.rootKey) ?? new Set();
286
+ existingFamilies.add(familyName);
287
+ topLevelFamiliesByRoot.set(scopeInfo.rootKey, existingFamilies);
288
+ }
289
+ }
290
+ for (const result of results) {
291
+ allWarnings.push(...result.warnings);
292
+ exclusions.push(...(result.exclusions ?? []));
293
+ for (const component of result.components) {
294
+ const scopeKey = getFamilyScopeKey(component.source, component.name, topLevelFamiliesByRoot);
295
+ const identityKey = `${component.name}::${scopeKey}`;
296
+ const existing = componentsByKey.get(identityKey);
297
+ if (existing) {
298
+ const selected = choosePreferredComponent(existing, component);
299
+ allWarnings.push(`Duplicate component "${component.name}" found in ${component.source} (already seen in ${existing.source}); ${selected.reason}`);
300
+ exclusions.push({
301
+ itemType: 'component',
302
+ name: selected.loser.name,
303
+ source: selected.loser.source,
304
+ reason: `duplicate identity; ${selected.reason}`,
305
+ stage: 'duplicate-filter',
306
+ });
307
+ componentsByKey.set(identityKey, selected.winner);
308
+ continue;
309
+ }
310
+ const existingKeys = keysByName.get(component.name) ?? [];
311
+ const crossPackageKey = existingKeys.find((key) => key !== identityKey);
312
+ if (crossPackageKey) {
313
+ const crossPackageComponent = componentsByKey.get(crossPackageKey);
314
+ if (crossPackageComponent) {
315
+ allWarnings.push(`Component name collision "${component.name}" found in ${component.source} (also seen in ${crossPackageComponent.source})`);
316
+ }
317
+ }
318
+ componentsByKey.set(identityKey, component);
319
+ keysByName.set(component.name, [...existingKeys, identityKey]);
320
+ }
321
+ }
322
+ const allComponents = [...componentsByKey.values()];
323
+ const filteredComponents = [];
324
+ for (const component of allComponents) {
325
+ if (/^use[A-Z]/.test(component.name)) {
326
+ allWarnings.push(`Skipped hook: ${component.name} (hooks are not renderable components)`);
327
+ exclusions.push({
328
+ itemType: 'component',
329
+ name: component.name,
330
+ source: component.source,
331
+ reason: 'Hook names are not renderable components',
332
+ stage: 'component-filter',
333
+ });
334
+ continue;
335
+ }
336
+ filteredComponents.push(component);
337
+ }
338
+ return {
339
+ components: filteredComponents.sort((a, b) => a.name.localeCompare(b.name)),
340
+ warnings: allWarnings,
341
+ exclusions,
342
+ };
343
+ }
@@ -1,2 +1,2 @@
1
- import type { ComponentExtractionResult } from '../../types/component.js';
1
+ import type { ComponentExtractionResult } from '../types.js';
2
2
  export declare function extractReactComponents(filePaths: string[]): Promise<ComponentExtractionResult>;