@contentful/experience-design-system-extraction 2.36.2-dev-build-a6f80ae6.0 → 2.36.2-dev-build-7907fec3.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/controller/extract-controller.d.ts +10 -0
  3. package/dist/src/extract/controller/extract-controller.js +33 -0
  4. package/dist/src/extract/controller/helpers/validate-endpoint-request.d.ts +2 -0
  5. package/dist/src/extract/controller/helpers/validate-endpoint-request.js +24 -0
  6. package/dist/src/extract/{astro.d.ts → framework-adapters/astro/extractor.d.ts} +1 -1
  7. package/dist/src/extract/framework-adapters/astro/extractor.js +45 -0
  8. package/dist/src/extract/framework-adapters/astro/frontmatter.d.ts +11 -0
  9. package/dist/src/extract/framework-adapters/astro/frontmatter.js +96 -0
  10. package/dist/src/extract/framework-adapters/astro/helpers/collect-astro-props-bindings.d.ts +4 -0
  11. package/dist/src/extract/framework-adapters/astro/helpers/collect-astro-props-bindings.js +47 -0
  12. package/dist/src/extract/framework-adapters/astro/slots.d.ts +7 -0
  13. package/dist/src/extract/framework-adapters/astro/slots.js +44 -0
  14. package/dist/src/extract/{react.d.ts → framework-adapters/react/extractor.d.ts} +1 -1
  15. package/dist/src/extract/framework-adapters/react/extractor.js +31 -0
  16. package/dist/src/extract/framework-adapters/react/helpers/collect-dom-wrapper-contexts.d.ts +4 -0
  17. package/dist/src/extract/framework-adapters/react/helpers/collect-dom-wrapper-contexts.js +73 -0
  18. package/dist/src/extract/framework-adapters/react/helpers/collect-prop-dataflow.d.ts +14 -0
  19. package/dist/src/extract/framework-adapters/react/helpers/collect-prop-dataflow.js +220 -0
  20. package/dist/src/extract/framework-adapters/react/helpers/collect-react-impl-hints.d.ts +5 -0
  21. package/dist/src/extract/framework-adapters/react/helpers/collect-react-impl-hints.js +32 -0
  22. package/dist/src/extract/framework-adapters/react/helpers/detect-dom-is-pure-wrapper.d.ts +2 -0
  23. package/dist/src/extract/framework-adapters/react/helpers/detect-dom-is-pure-wrapper.js +59 -0
  24. package/dist/src/extract/framework-adapters/react/helpers/detect-dom-type-patterns.d.ts +8 -0
  25. package/dist/src/extract/framework-adapters/react/helpers/detect-dom-type-patterns.js +29 -0
  26. package/dist/src/extract/framework-adapters/react/helpers/detect-omit-wrapped-custom-props.d.ts +2 -0
  27. package/dist/src/extract/framework-adapters/react/helpers/detect-omit-wrapped-custom-props.js +64 -0
  28. package/dist/src/extract/framework-adapters/react/helpers/detect-pick-type-patterns.d.ts +4 -0
  29. package/dist/src/extract/framework-adapters/react/helpers/detect-pick-type-patterns.js +64 -0
  30. package/dist/src/extract/framework-adapters/react/helpers/detect-react-polymorphic.d.ts +5 -0
  31. package/dist/src/extract/framework-adapters/react/helpers/detect-react-polymorphic.js +170 -0
  32. package/dist/src/extract/framework-adapters/react/helpers/dom-attribute-surfaces.d.ts +15 -0
  33. package/dist/src/extract/framework-adapters/react/helpers/dom-attribute-surfaces.js +231 -0
  34. package/dist/src/extract/framework-adapters/react/helpers/extract-binding-fallback-props.d.ts +4 -0
  35. package/dist/src/extract/framework-adapters/react/helpers/extract-binding-fallback-props.js +50 -0
  36. package/dist/src/extract/framework-adapters/react/helpers/extract-from-react-source-file.d.ts +5 -0
  37. package/dist/src/extract/framework-adapters/react/helpers/extract-from-react-source-file.js +23 -0
  38. package/dist/src/extract/framework-adapters/react/helpers/extract-react-allowed-components.d.ts +2 -0
  39. package/dist/src/extract/framework-adapters/react/helpers/extract-react-allowed-components.js +25 -0
  40. package/dist/src/extract/framework-adapters/react/helpers/extract-react-binding-defaults.d.ts +6 -0
  41. package/dist/src/extract/framework-adapters/react/helpers/extract-react-binding-defaults.js +48 -0
  42. package/dist/src/extract/framework-adapters/react/helpers/extract-react-component-from-export.d.ts +15 -0
  43. package/dist/src/extract/framework-adapters/react/helpers/extract-react-component-from-export.js +106 -0
  44. package/dist/src/extract/framework-adapters/react/helpers/extract-react-prop-types.d.ts +3 -0
  45. package/dist/src/extract/framework-adapters/react/helpers/extract-react-prop-types.js +64 -0
  46. package/dist/src/extract/framework-adapters/react/helpers/extract-react-props-from-type.d.ts +15 -0
  47. package/dist/src/extract/framework-adapters/react/helpers/extract-react-props-from-type.js +318 -0
  48. package/dist/src/extract/framework-adapters/react/helpers/extract-react-slots.d.ts +6 -0
  49. package/dist/src/extract/framework-adapters/react/helpers/extract-react-slots.js +44 -0
  50. package/dist/src/extract/framework-adapters/react/helpers/filter-impl-alias-props.d.ts +4 -0
  51. package/dist/src/extract/framework-adapters/react/helpers/filter-impl-alias-props.js +52 -0
  52. package/dist/src/extract/framework-adapters/react/helpers/infer-primitive-dom-props.d.ts +6 -0
  53. package/dist/src/extract/framework-adapters/react/helpers/infer-primitive-dom-props.js +69 -0
  54. package/dist/src/extract/framework-adapters/react/helpers/resolve-component-function.d.ts +4 -0
  55. package/dist/src/extract/framework-adapters/react/helpers/resolve-component-function.js +131 -0
  56. package/dist/src/extract/framework-adapters/react/helpers/resolve-react-prop-forwarding.d.ts +8 -0
  57. package/dist/src/extract/framework-adapters/react/helpers/resolve-react-prop-forwarding.js +22 -0
  58. package/dist/src/extract/framework-adapters/react/helpers/resolve-react-props-type.d.ts +14 -0
  59. package/dist/src/extract/framework-adapters/react/helpers/resolve-react-props-type.js +86 -0
  60. package/dist/src/extract/framework-adapters/react/helpers/synthesize-react-structural-slots.d.ts +8 -0
  61. package/dist/src/extract/framework-adapters/react/helpers/synthesize-react-structural-slots.js +44 -0
  62. package/dist/src/extract/framework-adapters/shared/helpers/build-component-lookup-maps.d.ts +5 -0
  63. package/dist/src/extract/framework-adapters/shared/helpers/build-component-lookup-maps.js +10 -0
  64. package/dist/src/extract/framework-adapters/shared/helpers/collect-jsdoc-slot-comments.d.ts +2 -0
  65. package/dist/src/extract/framework-adapters/shared/helpers/collect-jsdoc-slot-comments.js +13 -0
  66. package/dist/src/extract/{file-extraction-workers.d.ts → framework-adapters/shared/helpers/file-processing/file-workers.d.ts} +1 -13
  67. package/dist/src/extract/{file-extraction-workers.js → framework-adapters/shared/helpers/file-processing/file-workers.js} +0 -19
  68. package/dist/src/extract/framework-adapters/shared/helpers/file-processing/project-source-files.d.ts +5 -0
  69. package/dist/src/extract/framework-adapters/shared/helpers/file-processing/project-source-files.js +13 -0
  70. package/dist/src/extract/framework-adapters/shared/helpers/file-processing/result-normalizer.d.ts +6 -0
  71. package/dist/src/extract/framework-adapters/shared/helpers/file-processing/result-normalizer.js +6 -0
  72. package/dist/src/extract/framework-adapters/shared/helpers/find-tsx-workspace-package.d.ts +2 -0
  73. package/dist/src/extract/framework-adapters/shared/helpers/find-tsx-workspace-package.js +62 -0
  74. package/dist/src/extract/{source-line-metadata.d.ts → framework-adapters/shared/helpers/get-node-source-lines.d.ts} +1 -1
  75. package/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-tsconfig-path.d.ts +7 -0
  76. package/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-tsconfig-path.js +93 -0
  77. package/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-workspace-imports.d.ts +6 -0
  78. package/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-workspace-imports.js +58 -0
  79. package/dist/src/extract/framework-adapters/shared/helpers/tsx-node-utils.d.ts +13 -0
  80. package/dist/src/extract/framework-adapters/shared/helpers/tsx-node-utils.js +76 -0
  81. package/dist/src/extract/framework-adapters/shared/helpers/tsx-renderable-exports.d.ts +12 -0
  82. package/dist/src/extract/framework-adapters/shared/helpers/tsx-renderable-exports.js +35 -0
  83. package/dist/src/extract/framework-adapters/shared/helpers/tsx-shared.d.ts +14 -0
  84. package/dist/src/extract/framework-adapters/shared/helpers/tsx-shared.js +54 -0
  85. package/dist/src/extract/{stencil.d.ts → framework-adapters/stencil/extractor.d.ts} +1 -1
  86. package/dist/src/extract/framework-adapters/stencil/extractor.js +82 -0
  87. package/dist/src/extract/framework-adapters/stencil/helpers/detect-stencil-class.d.ts +7 -0
  88. package/dist/src/extract/framework-adapters/stencil/helpers/detect-stencil-class.js +32 -0
  89. package/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-props.d.ts +5 -0
  90. package/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-props.js +62 -0
  91. package/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-slots.d.ts +6 -0
  92. package/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-slots.js +87 -0
  93. package/dist/src/extract/framework-adapters/stencil/helpers/stencil-prop-helpers.d.ts +5 -0
  94. package/dist/src/extract/framework-adapters/stencil/helpers/stencil-prop-helpers.js +39 -0
  95. package/dist/src/extract/{svelte.d.ts → framework-adapters/svelte/extractor.d.ts} +2 -1
  96. package/dist/src/extract/framework-adapters/svelte/extractor.js +27 -0
  97. package/dist/src/extract/framework-adapters/svelte/helpers/classify-svelte-props-annotation.d.ts +6 -0
  98. package/dist/src/extract/framework-adapters/svelte/helpers/classify-svelte-props-annotation.js +51 -0
  99. package/dist/src/extract/framework-adapters/svelte/helpers/collect-svelte-type-references.d.ts +3 -0
  100. package/dist/src/extract/framework-adapters/svelte/helpers/collect-svelte-type-references.js +52 -0
  101. package/dist/src/extract/framework-adapters/svelte/helpers/extract-from-svelte-file.d.ts +7 -0
  102. package/dist/src/extract/framework-adapters/svelte/helpers/extract-from-svelte-file.js +90 -0
  103. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-ast-type-members.d.ts +15 -0
  104. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-ast-type-members.js +46 -0
  105. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-declaration-data.d.ts +7 -0
  106. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-declaration-data.js +64 -0
  107. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-external-type-members.d.ts +4 -0
  108. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-external-type-members.js +58 -0
  109. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-from-destructure.d.ts +4 -0
  110. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-from-destructure.js +85 -0
  111. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-props.d.ts +22 -0
  112. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-props.js +55 -0
  113. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-template-slots.d.ts +7 -0
  114. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-template-slots.js +63 -0
  115. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-type-member-props.d.ts +3 -0
  116. package/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-type-member-props.js +31 -0
  117. package/dist/src/extract/framework-adapters/svelte/helpers/find-svelte-script-declarations.d.ts +8 -0
  118. package/dist/src/extract/framework-adapters/svelte/helpers/find-svelte-script-declarations.js +91 -0
  119. package/dist/src/extract/framework-adapters/svelte/helpers/get-svelte-component-name.d.ts +1 -0
  120. package/dist/src/extract/framework-adapters/svelte/helpers/get-svelte-component-name.js +26 -0
  121. package/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type-strings.d.ts +3 -0
  122. package/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type-strings.js +91 -0
  123. package/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type.d.ts +11 -0
  124. package/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type.js +68 -0
  125. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-dts-location.d.ts +1 -0
  126. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-dts-location.js +90 -0
  127. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-allowed-components.d.ts +2 -0
  128. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-allowed-components.js +20 -0
  129. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-external-type-readers.d.ts +3 -0
  130. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-external-type-readers.js +68 -0
  131. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-checker.d.ts +4 -0
  132. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-checker.js +68 -0
  133. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-members.d.ts +6 -0
  134. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-members.js +30 -0
  135. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-unresolved-retry.d.ts +13 -0
  136. package/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-unresolved-retry.js +192 -0
  137. package/dist/src/extract/framework-adapters/svelte/types/svelte-ast-node.d.ts +12 -0
  138. package/dist/src/extract/framework-adapters/svelte/types/svelte-ast-node.js +1 -0
  139. package/dist/src/extract/{vue.d.ts → framework-adapters/vue/extractor.d.ts} +1 -1
  140. package/dist/src/extract/framework-adapters/vue/extractor.js +61 -0
  141. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-object-props.d.ts +3 -0
  142. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-object-props.js +67 -0
  143. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-options-props.d.ts +4 -0
  144. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-options-props.js +72 -0
  145. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-object-props.d.ts +8 -0
  146. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-object-props.js +64 -0
  147. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-props.d.ts +2 -0
  148. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-props.js +66 -0
  149. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-slots.d.ts +24 -0
  150. package/dist/src/extract/framework-adapters/vue/helpers/extract-vue-slots.js +56 -0
  151. package/dist/src/extract/framework-adapters/vue/helpers/resolve-vue-component-name.d.ts +2 -0
  152. package/dist/src/extract/framework-adapters/vue/helpers/resolve-vue-component-name.js +9 -0
  153. package/dist/src/extract/framework-adapters/vue/helpers/resolve-workspace-module.d.ts +1 -0
  154. package/dist/src/extract/framework-adapters/vue/helpers/resolve-workspace-module.js +76 -0
  155. package/dist/src/extract/framework-adapters/vue/helpers/workspace-package-dirs.d.ts +2 -0
  156. package/dist/src/extract/framework-adapters/vue/helpers/workspace-package-dirs.js +77 -0
  157. package/dist/src/extract/{vue-tsx.d.ts → framework-adapters/vue-tsx/extractor.d.ts} +1 -1
  158. package/dist/src/extract/framework-adapters/vue-tsx/extractor.js +82 -0
  159. package/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-props.d.ts +5 -0
  160. package/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-props.js +189 -0
  161. package/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-slots.d.ts +4 -0
  162. package/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-slots.js +91 -0
  163. package/dist/src/extract/framework-adapters/vue-tsx/helpers/resolve-ast-object.d.ts +11 -0
  164. package/dist/src/extract/framework-adapters/vue-tsx/helpers/resolve-ast-object.js +95 -0
  165. package/dist/src/extract/{web-components.d.ts → framework-adapters/web-components/extractor.d.ts} +1 -1
  166. package/dist/src/extract/framework-adapters/web-components/extractor.js +55 -0
  167. package/dist/src/extract/framework-adapters/web-components/helpers/collect-wc-html-templates.d.ts +4 -0
  168. package/dist/src/extract/framework-adapters/web-components/helpers/collect-wc-html-templates.js +67 -0
  169. package/dist/src/extract/framework-adapters/web-components/helpers/detect-wc-non-public-members.d.ts +9 -0
  170. package/dist/src/extract/framework-adapters/web-components/helpers/detect-wc-non-public-members.js +11 -0
  171. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-accessor-props.d.ts +3 -0
  172. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-accessor-props.js +65 -0
  173. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-class-properties.d.ts +3 -0
  174. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-class-properties.js +60 -0
  175. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-inheritance.d.ts +4 -0
  176. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-inheritance.js +16 -0
  177. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-jsdoc-attr-props.d.ts +3 -0
  178. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-jsdoc-attr-props.js +24 -0
  179. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-observed-attrs.d.ts +3 -0
  180. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-observed-attrs.js +27 -0
  181. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-slots.d.ts +6 -0
  182. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-slots.js +56 -0
  183. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-template-content.d.ts +4 -0
  184. package/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-template-content.js +49 -0
  185. package/dist/src/extract/framework-adapters/web-components/helpers/merge-wc-prop-lists.d.ts +9 -0
  186. package/dist/src/extract/framework-adapters/web-components/helpers/merge-wc-prop-lists.js +19 -0
  187. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-base-class.d.ts +2 -0
  188. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-base-class.js +59 -0
  189. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-decorator-tag.d.ts +2 -0
  190. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-decorator-tag.js +54 -0
  191. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import-source.d.ts +7 -0
  192. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import-source.js +47 -0
  193. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import.d.ts +4 -0
  194. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import.js +93 -0
  195. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-sibling-definition.d.ts +4 -0
  196. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-sibling-definition.js +79 -0
  197. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-tag-name.d.ts +7 -0
  198. package/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-tag-name.js +62 -0
  199. package/dist/src/extract/helpers/evidence/ast/collect-structural-jsx-evidence.d.ts +5 -0
  200. package/dist/src/extract/helpers/evidence/ast/collect-structural-jsx-evidence.js +63 -0
  201. package/dist/src/extract/helpers/evidence/ast/detect-react-node-types.d.ts +2 -0
  202. package/dist/src/extract/helpers/evidence/ast/detect-react-node-types.js +24 -0
  203. package/dist/src/extract/helpers/evidence/ast/get-jsx-ast-data.d.ts +14 -0
  204. package/dist/src/extract/helpers/evidence/ast/get-jsx-ast-data.js +85 -0
  205. package/dist/src/extract/helpers/evidence/collect-jsx-component-references.d.ts +5 -0
  206. package/dist/src/extract/helpers/evidence/collect-jsx-component-references.js +52 -0
  207. package/dist/src/extract/helpers/evidence/detect-slot-from-prop.d.ts +16 -0
  208. package/dist/src/extract/helpers/evidence/detect-slot-from-prop.js +39 -0
  209. package/dist/src/extract/orchestrator/execute-extraction-orchestrator.d.ts +13 -0
  210. package/dist/src/extract/orchestrator/execute-extraction-orchestrator.js +17 -0
  211. package/dist/src/{pre-classify.d.ts → extract/services/classification/classify-component-props.d.ts} +3 -5
  212. package/dist/src/{pre-classify.js → extract/services/classification/classify-component-props.js} +8 -100
  213. package/dist/src/extract/services/classification/helpers/check-prop-types.d.ts +7 -0
  214. package/dist/src/extract/services/classification/helpers/check-prop-types.js +22 -0
  215. package/dist/src/extract/services/classification/helpers/detect-dom-props.d.ts +2 -0
  216. package/dist/src/extract/services/classification/helpers/detect-dom-props.js +63 -0
  217. package/dist/src/extract/services/deduplication/deduplicate-components.d.ts +2 -0
  218. package/dist/src/extract/services/deduplication/deduplicate-components.js +58 -0
  219. package/dist/src/extract/services/deduplication/helpers/component-path-analysis.d.ts +10 -0
  220. package/dist/src/extract/services/deduplication/helpers/component-path-analysis.js +85 -0
  221. package/dist/src/extract/services/deduplication/helpers/component-path-scoring.d.ts +10 -0
  222. package/dist/src/extract/services/deduplication/helpers/component-path-scoring.js +73 -0
  223. package/dist/src/extract/services/extraction/extract-components.d.ts +3 -0
  224. package/dist/src/extract/services/extraction/extract-components.js +19 -0
  225. package/dist/src/extract/services/extraction/helpers/collect-sveltekit-route-exclusions.d.ts +2 -0
  226. package/dist/src/extract/services/extraction/helpers/collect-sveltekit-route-exclusions.js +18 -0
  227. package/dist/src/extract/services/extraction/helpers/filter-hook-components.d.ts +6 -0
  228. package/dist/src/extract/services/extraction/helpers/filter-hook-components.js +18 -0
  229. package/dist/src/extract/services/extraction/helpers/register-extractors.d.ts +8 -0
  230. package/dist/src/extract/services/extraction/helpers/register-extractors.js +71 -0
  231. package/dist/src/extract/services/extraction/helpers/run-extractor-batches.d.ts +4 -0
  232. package/dist/src/extract/services/extraction/helpers/run-extractor-batches.js +24 -0
  233. package/dist/src/extract/services/quality/evaluate-extraction-quality.d.ts +4 -0
  234. package/dist/src/extract/services/quality/evaluate-extraction-quality.js +61 -0
  235. package/dist/src/extract/services/quality/helpers/authorability/evaluate-authorability.d.ts +28 -0
  236. package/dist/src/extract/services/quality/helpers/authorability/evaluate-authorability.js +67 -0
  237. package/dist/src/extract/services/quality/helpers/inspection/detect-data-wrapper-patterns.d.ts +16 -0
  238. package/dist/src/extract/services/quality/helpers/inspection/detect-data-wrapper-patterns.js +63 -0
  239. package/dist/src/extract/{source-inspection.d.ts → services/quality/helpers/inspection/inspect-component-source.d.ts} +3 -6
  240. package/dist/src/extract/{source-inspection.js → services/quality/helpers/inspection/inspect-component-source.js} +5 -65
  241. package/dist/src/extract/{validate.d.ts → services/quality/helpers/inspection/validate-extracted-components.d.ts} +1 -1
  242. package/dist/src/extract/services/quality/helpers/scoring/collect-scoring-inputs.d.ts +14 -0
  243. package/dist/src/extract/{scoring.js → services/quality/helpers/scoring/collect-scoring-inputs.js} +10 -24
  244. package/dist/src/extract/services/quality/helpers/scoring/compute-extraction-score.d.ts +6 -0
  245. package/dist/src/extract/services/quality/helpers/scoring/compute-extraction-score.js +12 -0
  246. package/dist/src/extract/types/classification.d.ts +4 -0
  247. package/dist/src/extract/types/classification.js +1 -0
  248. package/dist/src/extract/types/component-extractor.d.ts +7 -0
  249. package/dist/src/extract/types/component-extractor.js +1 -0
  250. package/dist/src/{types.d.ts → extract/types/component.d.ts} +0 -22
  251. package/dist/src/extract/types/component.js +1 -0
  252. package/dist/src/extract/types/contract.d.ts +16 -0
  253. package/dist/src/extract/types/contract.js +1 -0
  254. package/dist/src/extract/types/display.d.ts +3 -0
  255. package/dist/src/{types.js → extract/types/display.js} +1 -1
  256. package/dist/src/extract/types/options.d.ts +15 -0
  257. package/dist/src/extract/types/options.js +1 -0
  258. package/dist/src/extract/types/scoring.d.ts +9 -0
  259. package/dist/src/extract/types/scoring.js +1 -0
  260. package/dist/src/extract/types/source-inspection.d.ts +5 -0
  261. package/dist/src/extract/types/source-inspection.js +1 -0
  262. package/dist/src/index.d.ts +27 -21
  263. package/dist/src/index.js +21 -17
  264. package/package.json +1 -1
  265. package/dist/src/extract/astro.js +0 -226
  266. package/dist/src/extract/non-authorable-filter.d.ts +0 -17
  267. package/dist/src/extract/non-authorable-filter.js +0 -60
  268. package/dist/src/extract/pipeline.d.ts +0 -7
  269. package/dist/src/extract/pipeline.js +0 -343
  270. package/dist/src/extract/react.js +0 -2069
  271. package/dist/src/extract/scoring.d.ts +0 -12
  272. package/dist/src/extract/slot-detection.d.ts +0 -35
  273. package/dist/src/extract/slot-detection.js +0 -98
  274. package/dist/src/extract/stencil.js +0 -312
  275. package/dist/src/extract/structural-slot-evidence.d.ts +0 -63
  276. package/dist/src/extract/structural-slot-evidence.js +0 -278
  277. package/dist/src/extract/svelte.js +0 -1309
  278. package/dist/src/extract/tsx-shared.d.ts +0 -37
  279. package/dist/src/extract/tsx-shared.js +0 -368
  280. package/dist/src/extract/vue-tsx.js +0 -449
  281. package/dist/src/extract/vue.js +0 -605
  282. package/dist/src/extract/web-components.js +0 -863
  283. /package/dist/src/extract/{source-line-metadata.js → framework-adapters/shared/helpers/get-node-source-lines.js} +0 -0
  284. /package/dist/src/extract/{resolve-local-module.d.ts → framework-adapters/shared/helpers/resolve-import-file-path.d.ts} +0 -0
  285. /package/dist/src/extract/{resolve-local-module.js → framework-adapters/shared/helpers/resolve-import-file-path.js} +0 -0
  286. /package/dist/src/extract/{resolve-type-property.d.ts → framework-adapters/shared/helpers/resolve-type-symbol.d.ts} +0 -0
  287. /package/dist/src/extract/{resolve-type-property.js → framework-adapters/shared/helpers/resolve-type-symbol.js} +0 -0
  288. /package/dist/src/extract/{slot-allowed-components.d.ts → helpers/evidence/collect-allowed-component-names.d.ts} +0 -0
  289. /package/dist/src/extract/{slot-allowed-components.js → helpers/evidence/collect-allowed-component-names.js} +0 -0
  290. /package/dist/src/extract/{parse-imported-names.d.ts → helpers/evidence/parse-source-imports.d.ts} +0 -0
  291. /package/dist/src/extract/{parse-imported-names.js → helpers/evidence/parse-source-imports.js} +0 -0
  292. /package/dist/src/extract/{validate.js → services/quality/helpers/inspection/validate-extracted-components.js} +0 -0
@@ -1,37 +0,0 @@
1
- import { Node, Project, type SourceFile, type Type } from 'ts-morph';
2
- import type { ExtractionExclusion } from '../types.js';
3
- export declare function getTsxExtractionContext(filePaths: string[], componentFilePattern: RegExp): {
4
- componentFiles: string[];
5
- project: Project;
6
- } | undefined;
7
- export declare function extractTsxComponents<T>(filePaths: string[], componentFilePattern: RegExp, extract: (sourceFile: SourceFile, exclusions: ExtractionExclusion[]) => T[]): {
8
- components: T[];
9
- warnings: string[];
10
- exclusions: ExtractionExclusion[];
11
- project?: Project;
12
- };
13
- export declare function resolveDefaultExportName(declarations: Node[], exported: {
14
- has(name: string): boolean;
15
- }, allowVariableDeclaration?: boolean): string | undefined;
16
- export declare function getRenderableExports(sourceFile: SourceFile, exclusions: ExtractionExclusion[], options: {
17
- allowVariableDeclaration?: boolean;
18
- hookReason: string;
19
- }): Array<{
20
- name: string;
21
- declarations: Node[];
22
- }>;
23
- export declare function kebabToPascal(input: string): string;
24
- export declare function extractAllowedValues(type: Type): string[] | undefined;
25
- /**
26
- * Custom elements include a hyphen. Lowercase, unqualified tags are therefore
27
- * the conservative syntactic form for intrinsic JSX elements.
28
- */
29
- export declare function isIntrinsicJsxElement(tagName: string): boolean;
30
- /** The tag name of the JSX element that owns an attribute or spread. */
31
- export declare function getJsxTagNameNode(node: Node): Node | undefined;
32
- export declare function getNodeDefinitions(node: Node): {
33
- getDeclarationNode(): Node | undefined;
34
- }[];
35
- export declare function getTypeTargetDeclarations(targetNode: Node, allowWorkspaceImportFallback?: boolean): Node[];
36
- export declare function getValueTargetDeclarations(targetNode: Node): Node[];
37
- export declare function getTypeReferenceName(typeNode: Node): string | undefined;
@@ -1,368 +0,0 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
- import { dirname, join, resolve } from 'node:path';
3
- import { Node, Project, SyntaxKind } from 'ts-morph';
4
- import ts from 'typescript';
5
- const packageRootByFilePathCache = new Map();
6
- const workspacePackageManifestCache = new Map();
7
- const nearestTsConfigPathCache = new Map();
8
- const tsConfigPathsCache = new Map();
9
- function createTsxProject(filePaths) {
10
- const project = new Project({
11
- compilerOptions: {
12
- jsx: 1,
13
- target: 99,
14
- module: 99,
15
- moduleResolution: 100,
16
- skipLibCheck: true,
17
- allowJs: true,
18
- },
19
- skipAddingFilesFromTsConfig: true,
20
- });
21
- for (const filePath of filePaths) {
22
- project.addSourceFileAtPath(filePath);
23
- }
24
- return project;
25
- }
26
- function getTsxProjectFiles(filePaths) {
27
- return filePaths.filter((filePath) => /\.[jt]sx?$/.test(filePath) && !filePath.endsWith('.d.ts'));
28
- }
29
- export function getTsxExtractionContext(filePaths, componentFilePattern) {
30
- const componentFiles = filePaths.filter((filePath) => componentFilePattern.test(filePath));
31
- if (componentFiles.length === 0)
32
- return undefined;
33
- return {
34
- componentFiles,
35
- project: createTsxProject(getTsxProjectFiles(filePaths)),
36
- };
37
- }
38
- export function extractTsxComponents(filePaths, componentFilePattern, extract) {
39
- const extractionContext = getTsxExtractionContext(filePaths, componentFilePattern);
40
- if (!extractionContext) {
41
- return { components: [], warnings: [], exclusions: [] };
42
- }
43
- const { componentFiles, project } = extractionContext;
44
- const components = [];
45
- const warnings = [];
46
- const exclusions = [];
47
- for (const filePath of componentFiles) {
48
- try {
49
- const sourceFile = project.getSourceFile(filePath);
50
- if (!sourceFile)
51
- continue;
52
- components.push(...extract(sourceFile, exclusions));
53
- }
54
- catch (e) {
55
- warnings.push(`Failed to extract from ${filePath}: ${e instanceof Error ? e.message : String(e)}`);
56
- }
57
- }
58
- return { components, warnings, exclusions, project };
59
- }
60
- export function resolveDefaultExportName(declarations, exported, allowVariableDeclaration = false) {
61
- const declaration = declarations[0];
62
- const name = Node.isFunctionDeclaration(declaration)
63
- ? declaration.getName()
64
- : allowVariableDeclaration && Node.isVariableDeclaration(declaration)
65
- ? declaration.getName()
66
- : undefined;
67
- if (!name || !/^[A-Z]/.test(name) || exported.has(name))
68
- return undefined;
69
- return name;
70
- }
71
- export function getRenderableExports(sourceFile, exclusions, options) {
72
- const renderable = [];
73
- const exported = sourceFile.getExportedDeclarations();
74
- for (const [exportKey, declarations] of exported) {
75
- const name = exportKey === 'default'
76
- ? resolveDefaultExportName(declarations, exported, options.allowVariableDeclaration)
77
- : exportKey;
78
- if (!name || !/^[A-Z]/.test(name))
79
- continue;
80
- if (name.startsWith('use')) {
81
- exclusions.push({
82
- itemType: 'component',
83
- name,
84
- source: sourceFile.getFilePath(),
85
- reason: options.hookReason,
86
- stage: 'component-filter',
87
- });
88
- continue;
89
- }
90
- renderable.push({ name, declarations });
91
- }
92
- return renderable;
93
- }
94
- export function kebabToPascal(input) {
95
- return input
96
- .split('-')
97
- .filter(Boolean)
98
- .map((s) => s.charAt(0).toUpperCase() + s.slice(1))
99
- .join('');
100
- }
101
- export function extractAllowedValues(type) {
102
- if (!type.isUnion())
103
- return undefined;
104
- const literals = type
105
- .getUnionTypes()
106
- .filter((t) => t.isStringLiteral())
107
- .map((t) => t.getLiteralValueOrThrow());
108
- return literals.length >= 2 ? literals.sort() : undefined;
109
- }
110
- /**
111
- * Custom elements include a hyphen. Lowercase, unqualified tags are therefore
112
- * the conservative syntactic form for intrinsic JSX elements.
113
- */
114
- export function isIntrinsicJsxElement(tagName) {
115
- return /^[a-z][A-Za-z0-9]*$/.test(tagName);
116
- }
117
- /** The tag name of the JSX element that owns an attribute or spread. */
118
- export function getJsxTagNameNode(node) {
119
- const openingElement = node.getFirstAncestorByKind(SyntaxKind.JsxOpeningElement);
120
- const selfClosingElement = node.getFirstAncestorByKind(SyntaxKind.JsxSelfClosingElement);
121
- return openingElement?.getTagNameNode() ?? selfClosingElement?.getTagNameNode();
122
- }
123
- export function getNodeDefinitions(node) {
124
- const anyNode = node;
125
- return anyNode.getDefinitions?.() ?? [];
126
- }
127
- export function getTypeTargetDeclarations(targetNode, allowWorkspaceImportFallback = false) {
128
- return getNodeDefinitions(targetNode).flatMap((definition) => {
129
- const declaration = definition.getDeclarationNode();
130
- if (!declaration)
131
- return [];
132
- if (!allowWorkspaceImportFallback || !Node.isImportSpecifier(declaration)) {
133
- return [declaration];
134
- }
135
- const resolvedDeclarations = resolveWorkspaceImportSpecifierDeclarations(declaration, targetNode);
136
- return resolvedDeclarations.length > 0 ? resolvedDeclarations : [declaration];
137
- });
138
- }
139
- export function getValueTargetDeclarations(targetNode) {
140
- return getNodeDefinitions(targetNode).flatMap((definition) => {
141
- const declaration = definition.getDeclarationNode();
142
- if (!declaration)
143
- return [];
144
- if (!Node.isImportSpecifier(declaration)) {
145
- return [declaration];
146
- }
147
- const resolvedDeclarations = resolveWorkspaceImportSpecifierDeclarations(declaration, targetNode);
148
- return resolvedDeclarations.length > 0 ? resolvedDeclarations : [declaration];
149
- });
150
- }
151
- export function getTypeReferenceName(typeNode) {
152
- if (Node.isTypeReference(typeNode)) {
153
- return typeNode.getTypeName().getText().split('.').pop();
154
- }
155
- if (Node.isExpressionWithTypeArguments(typeNode)) {
156
- return typeNode.getExpression().getText().split('.').pop();
157
- }
158
- return undefined;
159
- }
160
- function resolveWorkspaceImportSpecifierDeclarations(importSpecifier, referenceNode) {
161
- if (!Node.isImportSpecifier(importSpecifier))
162
- return [];
163
- const importDeclaration = importSpecifier.getImportDeclaration();
164
- const moduleSpecifierSourceFile = importDeclaration.getModuleSpecifierSourceFile();
165
- if (moduleSpecifierSourceFile) {
166
- return getExportedDeclarationsForImportSpecifier(importSpecifier, moduleSpecifierSourceFile);
167
- }
168
- const moduleSpecifier = importDeclaration.getModuleSpecifierValue();
169
- if (!isBareModuleSpecifier(moduleSpecifier))
170
- return [];
171
- const workspaceEntrySourceFile = findWorkspacePackageEntrySourceFile(referenceNode.getSourceFile(), moduleSpecifier);
172
- if (workspaceEntrySourceFile) {
173
- return getExportedDeclarationsForImportSpecifier(importSpecifier, workspaceEntrySourceFile);
174
- }
175
- const aliasedSourceFile = findRepoLocalAliasSourceFile(referenceNode.getSourceFile(), moduleSpecifier);
176
- if (!aliasedSourceFile)
177
- return [];
178
- return getExportedDeclarationsForImportSpecifier(importSpecifier, aliasedSourceFile);
179
- }
180
- function getExportedDeclarationsForImportSpecifier(importSpecifier, sourceFile) {
181
- if (!Node.isImportSpecifier(importSpecifier))
182
- return [];
183
- const exportedName = importSpecifier.getNameNode().getText();
184
- return sourceFile.getExportedDeclarations().get(exportedName) ?? [];
185
- }
186
- function isBareModuleSpecifier(moduleSpecifier) {
187
- return !moduleSpecifier.startsWith('.') && !moduleSpecifier.startsWith('/');
188
- }
189
- function findRepoLocalAliasSourceFile(originSourceFile, moduleSpecifier) {
190
- const resolvedPath = resolveRepoLocalAliasImportPath(originSourceFile.getFilePath(), moduleSpecifier);
191
- if (!resolvedPath)
192
- return undefined;
193
- const project = originSourceFile.getProject();
194
- return findProjectSourceFileByImportPath(project, resolvedPath);
195
- }
196
- function resolveRepoLocalAliasImportPath(importingFilePath, moduleSpecifier) {
197
- const nearestTsConfigPath = findNearestTsConfigPath(importingFilePath);
198
- if (!nearestTsConfigPath)
199
- return undefined;
200
- const tsConfigPaths = getTsConfigPaths(nearestTsConfigPath);
201
- if (!tsConfigPaths)
202
- return undefined;
203
- for (const [pattern, targets] of Object.entries(tsConfigPaths.paths)) {
204
- const match = matchTsConfigPathPattern(pattern, moduleSpecifier);
205
- if (!match.matched)
206
- continue;
207
- for (const targetPattern of targets) {
208
- const substitutedTarget = substituteTsConfigPathTarget(targetPattern, match.wildcard);
209
- const resolvedPath = resolve(tsConfigPaths.baseUrl, substitutedTarget);
210
- const sourceFilePath = resolveImportSourcePath(resolvedPath);
211
- if (sourceFilePath)
212
- return sourceFilePath;
213
- }
214
- }
215
- return undefined;
216
- }
217
- function findNearestTsConfigPath(filePath) {
218
- if (nearestTsConfigPathCache.has(filePath)) {
219
- return nearestTsConfigPathCache.get(filePath) ?? undefined;
220
- }
221
- let currentDir = dirname(filePath);
222
- while (true) {
223
- for (const candidateName of ['tsconfig.json', 'jsconfig.json']) {
224
- const candidatePath = join(currentDir, candidateName);
225
- if (existsSync(candidatePath)) {
226
- nearestTsConfigPathCache.set(filePath, candidatePath);
227
- return candidatePath;
228
- }
229
- }
230
- const parentDir = dirname(currentDir);
231
- if (parentDir === currentDir) {
232
- nearestTsConfigPathCache.set(filePath, null);
233
- return undefined;
234
- }
235
- currentDir = parentDir;
236
- }
237
- }
238
- function getTsConfigPaths(tsConfigPath) {
239
- if (tsConfigPathsCache.has(tsConfigPath)) {
240
- return tsConfigPathsCache.get(tsConfigPath) ?? undefined;
241
- }
242
- const configFile = ts.readConfigFile(tsConfigPath, ts.sys.readFile);
243
- if (configFile.error || !configFile.config) {
244
- tsConfigPathsCache.set(tsConfigPath, null);
245
- return undefined;
246
- }
247
- const parsedConfig = ts.parseJsonConfigFileContent(configFile.config, ts.sys, dirname(tsConfigPath));
248
- const paths = parsedConfig.options.paths;
249
- if (!paths || Object.keys(paths).length === 0) {
250
- tsConfigPathsCache.set(tsConfigPath, null);
251
- return undefined;
252
- }
253
- const baseUrl = parsedConfig.options.baseUrl ?? dirname(tsConfigPath);
254
- const result = { baseUrl, paths };
255
- tsConfigPathsCache.set(tsConfigPath, result);
256
- return result;
257
- }
258
- function matchTsConfigPathPattern(pattern, specifier) {
259
- if (!pattern.includes('*')) {
260
- return { matched: pattern === specifier };
261
- }
262
- const [prefix, suffix] = pattern.split('*');
263
- if (!specifier.startsWith(prefix) || !specifier.endsWith(suffix)) {
264
- return { matched: false };
265
- }
266
- return {
267
- matched: true,
268
- wildcard: specifier.slice(prefix.length, specifier.length - suffix.length),
269
- };
270
- }
271
- function substituteTsConfigPathTarget(targetPattern, wildcard) {
272
- return wildcard === undefined ? targetPattern : targetPattern.replace('*', wildcard);
273
- }
274
- function resolveImportSourcePath(basePath) {
275
- const candidates = [
276
- basePath,
277
- `${basePath}.ts`,
278
- `${basePath}.tsx`,
279
- `${basePath}.js`,
280
- `${basePath}.jsx`,
281
- join(basePath, 'index.ts'),
282
- join(basePath, 'index.tsx'),
283
- join(basePath, 'index.js'),
284
- join(basePath, 'index.jsx'),
285
- ];
286
- return candidates.find((candidatePath) => existsSync(candidatePath));
287
- }
288
- function findProjectSourceFileByImportPath(project, resolvedPath) {
289
- const candidatePaths = [
290
- resolvedPath,
291
- `${resolvedPath}.ts`,
292
- `${resolvedPath}.tsx`,
293
- `${resolvedPath}.js`,
294
- `${resolvedPath}.jsx`,
295
- join(resolvedPath, 'index.ts'),
296
- join(resolvedPath, 'index.tsx'),
297
- join(resolvedPath, 'index.js'),
298
- join(resolvedPath, 'index.jsx'),
299
- ];
300
- for (const candidatePath of candidatePaths) {
301
- const sourceFile = project.getSourceFile(candidatePath);
302
- if (sourceFile)
303
- return sourceFile;
304
- }
305
- return undefined;
306
- }
307
- function findWorkspacePackageEntrySourceFile(originSourceFile, moduleSpecifier) {
308
- const project = originSourceFile.getProject();
309
- const candidateSourceFiles = project.getSourceFiles().filter((sourceFile) => {
310
- const manifest = getWorkspacePackageManifestForSourceFile(sourceFile);
311
- return manifest?.name === moduleSpecifier;
312
- });
313
- if (candidateSourceFiles.length === 0)
314
- return undefined;
315
- const packageRootDir = getWorkspacePackageManifestForSourceFile(candidateSourceFiles[0])?.rootDir;
316
- if (!packageRootDir)
317
- return undefined;
318
- const preferredEntryPaths = [
319
- join(packageRootDir, 'src/index.ts'),
320
- join(packageRootDir, 'src/index.tsx'),
321
- join(packageRootDir, 'index.ts'),
322
- join(packageRootDir, 'index.tsx'),
323
- ];
324
- for (const entryPath of preferredEntryPaths) {
325
- const entrySourceFile = project.getSourceFile(entryPath);
326
- if (entrySourceFile) {
327
- return entrySourceFile;
328
- }
329
- }
330
- return candidateSourceFiles.find((sourceFile) => sourceFile.getDirectoryPath() === join(packageRootDir, 'src'));
331
- }
332
- function getWorkspacePackageManifestForSourceFile(sourceFile) {
333
- const packageRootDir = findNearestPackageRootDir(sourceFile.getFilePath());
334
- if (!packageRootDir)
335
- return undefined;
336
- if (workspacePackageManifestCache.has(packageRootDir)) {
337
- return workspacePackageManifestCache.get(packageRootDir) ?? undefined;
338
- }
339
- const packageJsonPath = join(packageRootDir, 'package.json');
340
- try {
341
- const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
342
- const manifest = typeof packageJson.name === 'string' ? { name: packageJson.name, rootDir: packageRootDir } : null;
343
- workspacePackageManifestCache.set(packageRootDir, manifest);
344
- return manifest ?? undefined;
345
- }
346
- catch {
347
- workspacePackageManifestCache.set(packageRootDir, null);
348
- return undefined;
349
- }
350
- }
351
- function findNearestPackageRootDir(filePath) {
352
- if (packageRootByFilePathCache.has(filePath)) {
353
- return packageRootByFilePathCache.get(filePath) ?? undefined;
354
- }
355
- let currentDir = dirname(filePath);
356
- while (true) {
357
- if (existsSync(join(currentDir, 'package.json'))) {
358
- packageRootByFilePathCache.set(filePath, currentDir);
359
- return currentDir;
360
- }
361
- const parentDir = dirname(currentDir);
362
- if (parentDir === currentDir) {
363
- packageRootByFilePathCache.set(filePath, null);
364
- return undefined;
365
- }
366
- currentDir = parentDir;
367
- }
368
- }