@teambit/dependencies 1.0.330 → 1.0.331

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 (276) hide show
  1. package/artifacts/__bit_junit.xml +203 -5
  2. package/artifacts/schema.json +2016 -1173
  3. package/dependencies-loader/apply-overrides.ts +3 -3
  4. package/dependencies-loader/auto-detect-deps.ts +16 -13
  5. package/dependencies-loader/dependencies-loader.ts +1 -1
  6. package/dist/dependencies-loader/apply-overrides.js +12 -5
  7. package/dist/dependencies-loader/apply-overrides.js.map +1 -1
  8. package/dist/dependencies-loader/auto-detect-deps.d.ts +4 -4
  9. package/dist/dependencies-loader/auto-detect-deps.js +14 -14
  10. package/dist/dependencies-loader/auto-detect-deps.js.map +1 -1
  11. package/dist/dependencies-loader/dependencies-loader.js +4 -4
  12. package/dist/dependencies-loader/dependencies-loader.js.map +1 -1
  13. package/dist/files-dependency-builder/build-tree.d.ts +11 -0
  14. package/dist/files-dependency-builder/build-tree.js +233 -0
  15. package/dist/files-dependency-builder/build-tree.js.map +1 -0
  16. package/dist/files-dependency-builder/build-tree.spec.d.ts +1 -0
  17. package/dist/files-dependency-builder/build-tree.spec.js +154 -0
  18. package/dist/files-dependency-builder/build-tree.spec.js.map +1 -0
  19. package/dist/files-dependency-builder/dependency-tree/Config.d.ts +4 -0
  20. package/dist/files-dependency-builder/dependency-tree/Config.js +74 -0
  21. package/dist/files-dependency-builder/dependency-tree/Config.js.map +1 -0
  22. package/dist/files-dependency-builder/dependency-tree/index.d.ts +15 -0
  23. package/dist/files-dependency-builder/dependency-tree/index.js +272 -0
  24. package/dist/files-dependency-builder/dependency-tree/index.js.map +1 -0
  25. package/dist/files-dependency-builder/dependency-tree/index.spec.d.ts +1 -0
  26. package/dist/files-dependency-builder/dependency-tree/index.spec.js +877 -0
  27. package/dist/files-dependency-builder/dependency-tree/index.spec.js.map +1 -0
  28. package/dist/files-dependency-builder/detectives/detective-css/index.d.ts +1 -0
  29. package/dist/files-dependency-builder/detectives/detective-css/index.js +18 -0
  30. package/dist/files-dependency-builder/detectives/detective-css/index.js.map +1 -0
  31. package/dist/files-dependency-builder/detectives/detective-es6/index.d.ts +1 -0
  32. package/dist/files-dependency-builder/detectives/detective-es6/index.js +18 -0
  33. package/dist/files-dependency-builder/detectives/detective-es6/index.js.map +1 -0
  34. package/dist/files-dependency-builder/detectives/detective-less/index.d.ts +1 -0
  35. package/dist/files-dependency-builder/detectives/detective-less/index.js +18 -0
  36. package/dist/files-dependency-builder/detectives/detective-less/index.js.map +1 -0
  37. package/dist/files-dependency-builder/detectives/detective-sass/index.d.ts +1 -0
  38. package/dist/files-dependency-builder/detectives/detective-sass/index.js +18 -0
  39. package/dist/files-dependency-builder/detectives/detective-sass/index.js.map +1 -0
  40. package/dist/files-dependency-builder/detectives/detective-scss/index.d.ts +1 -0
  41. package/dist/files-dependency-builder/detectives/detective-scss/index.js +18 -0
  42. package/dist/files-dependency-builder/detectives/detective-scss/index.js.map +1 -0
  43. package/dist/files-dependency-builder/detectives/detective-typescript/index.d.ts +1 -0
  44. package/dist/files-dependency-builder/detectives/detective-typescript/index.js +18 -0
  45. package/dist/files-dependency-builder/detectives/detective-typescript/index.js.map +1 -0
  46. package/dist/files-dependency-builder/detector-hook.d.ts +47 -0
  47. package/dist/files-dependency-builder/detector-hook.js +29 -0
  48. package/dist/files-dependency-builder/detector-hook.js.map +1 -0
  49. package/dist/files-dependency-builder/filing-cabinet/index.d.ts +17 -0
  50. package/dist/files-dependency-builder/filing-cabinet/index.js +140 -0
  51. package/dist/files-dependency-builder/filing-cabinet/index.js.map +1 -0
  52. package/dist/files-dependency-builder/filing-cabinet/index.spec.d.ts +1 -0
  53. package/dist/files-dependency-builder/filing-cabinet/index.spec.js +651 -0
  54. package/dist/files-dependency-builder/filing-cabinet/index.spec.js.map +1 -0
  55. package/dist/files-dependency-builder/fixtures/build-tree/a.d.ts +1 -0
  56. package/dist/files-dependency-builder/fixtures/build-tree/a.js +6 -0
  57. package/dist/files-dependency-builder/fixtures/build-tree/a.js.map +1 -0
  58. package/dist/files-dependency-builder/fixtures/build-tree/b.d.ts +1 -0
  59. package/dist/files-dependency-builder/fixtures/build-tree/b.js +6 -0
  60. package/dist/files-dependency-builder/fixtures/build-tree/b.js.map +1 -0
  61. package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-a.d.ts +1 -0
  62. package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-a.js +3 -0
  63. package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-a.js.map +1 -0
  64. package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-b.d.ts +1 -0
  65. package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-b.js +3 -0
  66. package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-b.js.map +1 -0
  67. package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-c.d.ts +1 -0
  68. package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-c.js +10 -0
  69. package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-c.js.map +1 -0
  70. package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/foo.d.ts +1 -0
  71. package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/foo.js +3 -0
  72. package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/foo.js.map +1 -0
  73. package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/index.d.ts +1 -0
  74. package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/index.js +21 -0
  75. package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/index.js.map +1 -0
  76. package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/is-string.d.ts +2 -0
  77. package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/is-string.js +18 -0
  78. package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/is-string.js.map +1 -0
  79. package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/self-cycle.d.ts +2 -0
  80. package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/self-cycle.js +20 -0
  81. package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/self-cycle.js.map +1 -0
  82. package/dist/files-dependency-builder/fixtures/build-tree/unparsed.d.ts +0 -0
  83. package/dist/files-dependency-builder/fixtures/build-tree/unparsed.js +5 -0
  84. package/dist/files-dependency-builder/fixtures/build-tree/unparsed.js.map +1 -0
  85. package/dist/files-dependency-builder/fixtures/dependency-tree/amd/a.d.ts +0 -0
  86. package/dist/files-dependency-builder/fixtures/dependency-tree/amd/a.js +10 -0
  87. package/dist/files-dependency-builder/fixtures/dependency-tree/amd/a.js.map +1 -0
  88. package/dist/files-dependency-builder/fixtures/dependency-tree/amd/b.d.ts +0 -0
  89. package/dist/files-dependency-builder/fixtures/dependency-tree/amd/b.js +10 -0
  90. package/dist/files-dependency-builder/fixtures/dependency-tree/amd/b.js.map +1 -0
  91. package/dist/files-dependency-builder/fixtures/dependency-tree/amd/c.d.ts +0 -0
  92. package/dist/files-dependency-builder/fixtures/dependency-tree/amd/c.js +6 -0
  93. package/dist/files-dependency-builder/fixtures/dependency-tree/amd/c.js.map +1 -0
  94. package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/a.d.ts +1 -0
  95. package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/a.js +6 -0
  96. package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/a.js.map +1 -0
  97. package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/b.d.ts +1 -0
  98. package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/b.js +6 -0
  99. package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/b.js.map +1 -0
  100. package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/c.d.ts +1 -0
  101. package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/c.js +6 -0
  102. package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/c.js.map +1 -0
  103. package/dist/files-dependency-builder/fixtures/dependency-tree/onlyRealDeps/a.d.ts +1 -0
  104. package/dist/files-dependency-builder/fixtures/dependency-tree/onlyRealDeps/a.js +8 -0
  105. package/dist/files-dependency-builder/fixtures/dependency-tree/onlyRealDeps/a.js.map +1 -0
  106. package/dist/files-dependency-builder/fixtures/dependency-tree/webpack/aliased.d.ts +1 -0
  107. package/dist/files-dependency-builder/fixtures/dependency-tree/webpack/aliased.js +6 -0
  108. package/dist/files-dependency-builder/fixtures/dependency-tree/webpack/aliased.js.map +1 -0
  109. package/dist/files-dependency-builder/fixtures/dependency-tree/webpack/unaliased.d.ts +1 -0
  110. package/dist/files-dependency-builder/fixtures/dependency-tree/webpack/unaliased.js +6 -0
  111. package/dist/files-dependency-builder/fixtures/dependency-tree/webpack/unaliased.js.map +1 -0
  112. package/dist/files-dependency-builder/fixtures/filing-cabinet/ast.d.ts +221 -0
  113. package/dist/files-dependency-builder/fixtures/filing-cabinet/ast.js +259 -0
  114. package/dist/files-dependency-builder/fixtures/filing-cabinet/ast.js.map +1 -0
  115. package/dist/files-dependency-builder/fixtures/filing-cabinet/foo.d.ts +2 -0
  116. package/dist/files-dependency-builder/fixtures/filing-cabinet/foo.js +12 -0
  117. package/dist/files-dependency-builder/fixtures/filing-cabinet/foo.js.map +1 -0
  118. package/dist/files-dependency-builder/fixtures/filing-cabinet/foo.scss +1 -0
  119. package/dist/files-dependency-builder/fixtures/filing-cabinet/foo2.scss +0 -0
  120. package/dist/files-dependency-builder/fixtures/filing-cabinet/mockedJSFiles.d.ts +59 -0
  121. package/dist/files-dependency-builder/fixtures/filing-cabinet/mockedJSFiles.js +65 -0
  122. package/dist/files-dependency-builder/fixtures/filing-cabinet/mockedJSFiles.js.map +1 -0
  123. package/dist/files-dependency-builder/fixtures/filing-cabinet/root1/mod1.d.ts +1 -0
  124. package/dist/files-dependency-builder/fixtures/filing-cabinet/root1/mod1.js +5 -0
  125. package/dist/files-dependency-builder/fixtures/filing-cabinet/root1/mod1.js.map +1 -0
  126. package/dist/files-dependency-builder/fixtures/filing-cabinet/root2/mod2.d.ts +1 -0
  127. package/dist/files-dependency-builder/fixtures/filing-cabinet/root2/mod2.js +5 -0
  128. package/dist/files-dependency-builder/fixtures/filing-cabinet/root2/mod2.js.map +1 -0
  129. package/dist/files-dependency-builder/fixtures/filing-cabinet/webpack.config.d.ts +6 -0
  130. package/dist/files-dependency-builder/fixtures/filing-cabinet/webpack.config.js +12 -0
  131. package/dist/files-dependency-builder/fixtures/filing-cabinet/webpack.config.js.map +1 -0
  132. package/dist/files-dependency-builder/fixtures/missing-deps.d.ts +0 -0
  133. package/dist/files-dependency-builder/fixtures/missing-deps.js +5 -0
  134. package/dist/files-dependency-builder/fixtures/missing-deps.js.map +1 -0
  135. package/dist/files-dependency-builder/fixtures/precinct/Gruntfile.d.ts +2 -0
  136. package/dist/files-dependency-builder/fixtures/precinct/Gruntfile.js +24 -0
  137. package/dist/files-dependency-builder/fixtures/precinct/Gruntfile.js.map +1 -0
  138. package/dist/files-dependency-builder/fixtures/precinct/amd.d.ts +0 -0
  139. package/dist/files-dependency-builder/fixtures/precinct/amd.js +6 -0
  140. package/dist/files-dependency-builder/fixtures/precinct/amd.js.map +1 -0
  141. package/dist/files-dependency-builder/fixtures/precinct/bar.foo +1 -0
  142. package/dist/files-dependency-builder/fixtures/precinct/cjsExportLazy.d.ts +6 -0
  143. package/dist/files-dependency-builder/fixtures/precinct/cjsExportLazy.js +11 -0
  144. package/dist/files-dependency-builder/fixtures/precinct/cjsExportLazy.js.map +1 -0
  145. package/dist/files-dependency-builder/fixtures/precinct/commonjs.d.ts +1 -0
  146. package/dist/files-dependency-builder/fixtures/precinct/commonjs.js +7 -0
  147. package/dist/files-dependency-builder/fixtures/precinct/commonjs.js.map +1 -0
  148. package/dist/files-dependency-builder/fixtures/precinct/coreModules.d.ts +1 -0
  149. package/dist/files-dependency-builder/fixtures/precinct/coreModules.js +9 -0
  150. package/dist/files-dependency-builder/fixtures/precinct/coreModules.js.map +1 -0
  151. package/dist/files-dependency-builder/fixtures/precinct/es6.d.ts +1 -0
  152. package/dist/files-dependency-builder/fixtures/precinct/es6.js +15 -0
  153. package/dist/files-dependency-builder/fixtures/precinct/es6.js.map +1 -0
  154. package/dist/files-dependency-builder/fixtures/precinct/es6MixedExportLazy.d.ts +5 -0
  155. package/dist/files-dependency-builder/fixtures/precinct/es6MixedExportLazy.js +15 -0
  156. package/dist/files-dependency-builder/fixtures/precinct/es6MixedExportLazy.js.map +1 -0
  157. package/dist/files-dependency-builder/fixtures/precinct/es7.d.ts +1 -0
  158. package/dist/files-dependency-builder/fixtures/precinct/es7.js +7 -0
  159. package/dist/files-dependency-builder/fixtures/precinct/es7.js.map +1 -0
  160. package/dist/files-dependency-builder/fixtures/precinct/exampleAST.d.ts +24 -0
  161. package/dist/files-dependency-builder/fixtures/precinct/exampleAST.js +30 -0
  162. package/dist/files-dependency-builder/fixtures/precinct/exampleAST.js.map +1 -0
  163. package/dist/files-dependency-builder/fixtures/precinct/foo.foo +1 -0
  164. package/dist/files-dependency-builder/fixtures/precinct/styles.css +6 -0
  165. package/dist/files-dependency-builder/fixtures/precinct/styles.less +4 -0
  166. package/dist/files-dependency-builder/fixtures/precinct/styles.sass +2 -0
  167. package/dist/files-dependency-builder/fixtures/precinct/styles.scss +3 -0
  168. package/dist/files-dependency-builder/fixtures/precinct/styles.styl +5 -0
  169. package/dist/files-dependency-builder/fixtures/precinct/typescript.d.ts +0 -0
  170. package/dist/files-dependency-builder/fixtures/precinct/typescript.js +11 -0
  171. package/dist/files-dependency-builder/fixtures/precinct/typescript.js.map +1 -0
  172. package/dist/files-dependency-builder/fixtures/precinct/unparseable.d.ts +0 -0
  173. package/dist/files-dependency-builder/fixtures/precinct/unparseable.js +9 -0
  174. package/dist/files-dependency-builder/fixtures/precinct/unparseable.js.map +1 -0
  175. package/dist/files-dependency-builder/fixtures/unsupported-file.pdf +0 -0
  176. package/dist/files-dependency-builder/generate-tree-madge.d.ts +31 -0
  177. package/dist/files-dependency-builder/generate-tree-madge.js +196 -0
  178. package/dist/files-dependency-builder/generate-tree-madge.js.map +1 -0
  179. package/dist/files-dependency-builder/index.d.ts +3 -0
  180. package/dist/files-dependency-builder/index.js +34 -0
  181. package/dist/files-dependency-builder/index.js.map +1 -0
  182. package/dist/files-dependency-builder/missing-handler.d.ts +34 -0
  183. package/dist/files-dependency-builder/missing-handler.js +107 -0
  184. package/dist/files-dependency-builder/missing-handler.js.map +1 -0
  185. package/dist/files-dependency-builder/path-map.d.ts +20 -0
  186. package/dist/files-dependency-builder/path-map.js +46 -0
  187. package/dist/files-dependency-builder/path-map.js.map +1 -0
  188. package/dist/files-dependency-builder/precinct/index.d.ts +22 -0
  189. package/dist/files-dependency-builder/precinct/index.js +306 -0
  190. package/dist/files-dependency-builder/precinct/index.js.map +1 -0
  191. package/dist/files-dependency-builder/precinct/index.spec.d.ts +1 -0
  192. package/dist/files-dependency-builder/precinct/index.spec.js +300 -0
  193. package/dist/files-dependency-builder/precinct/index.spec.js.map +1 -0
  194. package/dist/files-dependency-builder/types/dependency-tree-type.d.ts +35 -0
  195. package/dist/files-dependency-builder/types/dependency-tree-type.js +34 -0
  196. package/dist/files-dependency-builder/types/dependency-tree-type.js.map +1 -0
  197. package/dist/files-dependency-builder/types/index.d.ts +0 -0
  198. package/dist/files-dependency-builder/types/index.js +7 -0
  199. package/dist/files-dependency-builder/types/index.js.map +1 -0
  200. package/dist/index.d.ts +1 -0
  201. package/dist/index.js +25 -0
  202. package/dist/index.js.map +1 -1
  203. package/dist/resolve-pkg-data.d.ts +23 -0
  204. package/dist/resolve-pkg-data.js +157 -0
  205. package/dist/resolve-pkg-data.js.map +1 -0
  206. package/files-dependency-builder/build-tree.spec.ts +130 -0
  207. package/files-dependency-builder/build-tree.ts +185 -0
  208. package/files-dependency-builder/dependency-tree/Config.ts +68 -0
  209. package/files-dependency-builder/dependency-tree/index.spec.ts +893 -0
  210. package/files-dependency-builder/dependency-tree/index.ts +244 -0
  211. package/files-dependency-builder/detectives/detective-css/index.ts +1 -0
  212. package/files-dependency-builder/detectives/detective-es6/index.ts +1 -0
  213. package/files-dependency-builder/detectives/detective-less/index.ts +1 -0
  214. package/files-dependency-builder/detectives/detective-sass/index.ts +1 -0
  215. package/files-dependency-builder/detectives/detective-scss/index.ts +1 -0
  216. package/files-dependency-builder/detectives/detective-typescript/index.ts +1 -0
  217. package/files-dependency-builder/detector-hook.ts +69 -0
  218. package/files-dependency-builder/filing-cabinet/index.spec.ts +718 -0
  219. package/files-dependency-builder/filing-cabinet/index.ts +119 -0
  220. package/files-dependency-builder/fixtures/build-tree/a.js +2 -0
  221. package/files-dependency-builder/fixtures/build-tree/b.js +2 -0
  222. package/files-dependency-builder/fixtures/build-tree/not-link-file/file-a.js +2 -0
  223. package/files-dependency-builder/fixtures/build-tree/not-link-file/file-b.js +4 -0
  224. package/files-dependency-builder/fixtures/build-tree/not-link-file/file-c.js +3 -0
  225. package/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/foo.js +2 -0
  226. package/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/index.js +2 -0
  227. package/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/is-string.js +3 -0
  228. package/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/self-cycle.js +3 -0
  229. package/files-dependency-builder/fixtures/build-tree/unparsed.js +2 -0
  230. package/files-dependency-builder/fixtures/dependency-tree/amd/a.js +6 -0
  231. package/files-dependency-builder/fixtures/dependency-tree/amd/b.js +6 -0
  232. package/files-dependency-builder/fixtures/dependency-tree/amd/c.js +2 -0
  233. package/files-dependency-builder/fixtures/dependency-tree/commonjs/a.js +2 -0
  234. package/files-dependency-builder/fixtures/dependency-tree/commonjs/b.js +3 -0
  235. package/files-dependency-builder/fixtures/dependency-tree/commonjs/c.js +3 -0
  236. package/files-dependency-builder/fixtures/dependency-tree/onlyRealDeps/a.js +4 -0
  237. package/files-dependency-builder/fixtures/dependency-tree/webpack/aliased.js +2 -0
  238. package/files-dependency-builder/fixtures/dependency-tree/webpack/unaliased.js +2 -0
  239. package/files-dependency-builder/fixtures/filing-cabinet/ast.js +266 -0
  240. package/files-dependency-builder/fixtures/filing-cabinet/foo.jsx +3 -0
  241. package/files-dependency-builder/fixtures/filing-cabinet/foo.scss +1 -0
  242. package/files-dependency-builder/fixtures/filing-cabinet/foo2.scss +0 -0
  243. package/files-dependency-builder/fixtures/filing-cabinet/mockedJSFiles.js +61 -0
  244. package/files-dependency-builder/fixtures/filing-cabinet/root1/mod1.js +1 -0
  245. package/files-dependency-builder/fixtures/filing-cabinet/root2/mod2.js +1 -0
  246. package/files-dependency-builder/fixtures/filing-cabinet/webpack.config.js +8 -0
  247. package/files-dependency-builder/fixtures/missing-deps.js +2 -0
  248. package/files-dependency-builder/fixtures/precinct/Gruntfile.js +22 -0
  249. package/files-dependency-builder/fixtures/precinct/amd.js +2 -0
  250. package/files-dependency-builder/fixtures/precinct/bar.foo +1 -0
  251. package/files-dependency-builder/fixtures/precinct/cjsExportLazy.js +7 -0
  252. package/files-dependency-builder/fixtures/precinct/commonjs.js +3 -0
  253. package/files-dependency-builder/fixtures/precinct/coreModules.js +5 -0
  254. package/files-dependency-builder/fixtures/precinct/es6.js +4 -0
  255. package/files-dependency-builder/fixtures/precinct/es6MixedExportLazy.js +7 -0
  256. package/files-dependency-builder/fixtures/precinct/es7.js +3 -0
  257. package/files-dependency-builder/fixtures/precinct/exampleAST.js +32 -0
  258. package/files-dependency-builder/fixtures/precinct/foo.foo +1 -0
  259. package/files-dependency-builder/fixtures/precinct/styles.css +6 -0
  260. package/files-dependency-builder/fixtures/precinct/styles.less +4 -0
  261. package/files-dependency-builder/fixtures/precinct/styles.sass +2 -0
  262. package/files-dependency-builder/fixtures/precinct/styles.scss +3 -0
  263. package/files-dependency-builder/fixtures/precinct/styles.styl +5 -0
  264. package/files-dependency-builder/fixtures/precinct/typescript.ts +8 -0
  265. package/files-dependency-builder/fixtures/precinct/unparseable.js +6 -0
  266. package/files-dependency-builder/fixtures/unsupported-file.pdf +0 -0
  267. package/files-dependency-builder/generate-tree-madge.ts +200 -0
  268. package/files-dependency-builder/index.ts +5 -0
  269. package/files-dependency-builder/missing-handler.ts +76 -0
  270. package/files-dependency-builder/path-map.ts +38 -0
  271. package/files-dependency-builder/precinct/index.spec.ts +342 -0
  272. package/files-dependency-builder/precinct/index.ts +250 -0
  273. package/files-dependency-builder/types/dependency-tree-type.ts +46 -0
  274. package/files-dependency-builder/types/index.ts +3 -0
  275. package/package.json +37 -13
  276. /package/dist/{preview-1720513025675.js → preview-1720667996237.js} +0 -0
@@ -0,0 +1,244 @@
1
+ /**
2
+ * this file had been forked from https://github.com/dependents/node-dependency-tree
3
+ */
4
+ import fs from 'fs';
5
+ import debugFactory from 'debug';
6
+ import cabinet from '../filing-cabinet';
7
+ import precinct from '../precinct';
8
+ import Config from './Config';
9
+
10
+ const debug = debugFactory('tree');
11
+
12
+ /**
13
+ * Recursively find all dependencies (avoiding circular) traversing the entire dependency tree
14
+ * and returns a flat list of all unique, visited nodes
15
+ *
16
+ * @param {Object} options
17
+ * @param {String} options.filename - The path of the module whose tree to traverse
18
+ * @param {String} options.directory - The directory containing all JS files
19
+ * @param {String} [options.requireConfig] - The path to a requirejs config
20
+ * @param {String} [options.webpackConfig] - The path to a webpack config
21
+ * @param {Object} [options.visited] - Cache of visited, absolutely pathed files that should not be reprocessed.
22
+ * Format is a filename -> tree as list lookup table
23
+ * @param {Array} [options.nonExistent] - List of partials that do not exist
24
+ * @return {Object}
25
+ */
26
+ export default function (options) {
27
+ const config = new Config(options);
28
+
29
+ if (!fs.existsSync(config.filename)) {
30
+ debug(`file ${config.filename} does not exist`);
31
+ return {};
32
+ }
33
+ return traverse(config);
34
+ }
35
+
36
+ /**
37
+ * Executes a post-order depth first search on the dependency tree and returns a
38
+ * list of absolute file paths. The order of files in the list will be the
39
+ * proper concatenation order for bundling.
40
+ *
41
+ * In other words, for any file in the list, all of that file's dependencies (direct or indirect) will appear at
42
+ * lower indices in the list. The root (entry point) file will therefore appear last.
43
+ *
44
+ * The list will not contain duplicates.
45
+ *
46
+ * Params are those of module.exports
47
+ */
48
+ module.exports.toList = function (options) {
49
+ options.isListForm = true;
50
+
51
+ return module.exports(options);
52
+ };
53
+
54
+ /**
55
+ * Returns the list of dependencies for the given filename
56
+ *
57
+ * Protected for testing
58
+ *
59
+ * @param {Config} config
60
+ * @return {Array}
61
+ */
62
+ module.exports._getDependencies = function (config) {
63
+ let dependenciesRaw; // from some detectives it comes as an array, from some it is an object
64
+ const precinctOptions = config.detectiveConfig;
65
+ precinctOptions.includeCore = false;
66
+ precinctOptions.envDetectors = config.envDetectors;
67
+ // @ts-ignore
68
+ delete precinct.ast;
69
+
70
+ try {
71
+ dependenciesRaw = precinct.paperwork(config.filename, precinctOptions);
72
+ } catch (e: any) {
73
+ debug(`error getting dependencies: ${e.message}`);
74
+ debug(e.stack);
75
+ e.code = 'PARSING_ERROR';
76
+ config.errors[config.filename] = e;
77
+ dependenciesRaw = [];
78
+ }
79
+ const dependencies =
80
+ typeof dependenciesRaw === 'object' && !Array.isArray(dependenciesRaw)
81
+ ? Object.keys(dependenciesRaw)
82
+ : dependenciesRaw;
83
+ const isDependenciesArray = Array.isArray(dependenciesRaw);
84
+ debug(`extracted ${dependencies.length} dependencies: `, dependencies);
85
+
86
+ const resolvedDependencies = [];
87
+ const pathMapDependencies = [];
88
+ const pathMapFile = { file: config.filename };
89
+
90
+ dependencies.forEach((dependency) => processDependency(dependency));
91
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
92
+ pathMapFile.dependencies = pathMapDependencies;
93
+ config.pathMap.push(pathMapFile);
94
+ return resolvedDependencies;
95
+
96
+ function processDependency(dependency) {
97
+ if (isHttp(dependency)) {
98
+ debug(`skipping an http dependency: ${dependency}`);
99
+ return;
100
+ }
101
+ const cabinetParams = {
102
+ dependency,
103
+ filename: config.filename,
104
+ directory: config.directory,
105
+ // @ts-ignore
106
+ ast: precinct.ast,
107
+ config: config.requireConfig,
108
+ webpackConfig: config.webpackConfig,
109
+ resolveConfig: config.resolveConfig,
110
+ envDetectors: config.envDetectors,
111
+ };
112
+ if (!isDependenciesArray && dependenciesRaw[dependency].isScript !== undefined) {
113
+ // used for vue
114
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
115
+ cabinetParams.isScript = dependenciesRaw[dependency].isScript;
116
+ }
117
+ let result;
118
+ try {
119
+ result = cabinet(cabinetParams);
120
+ } catch (err: any) {
121
+ debug(`error resolving dependencies: ${err.message}`);
122
+ debug(err.stack);
123
+ err.code = 'RESOLVE_ERROR';
124
+ throw err;
125
+ }
126
+
127
+ if (!result) {
128
+ debug(`skipping an empty filepath resolution for dependency: ${dependency}`);
129
+ addToNonExistent(dependency);
130
+ return;
131
+ }
132
+
133
+ const exists = fs.existsSync(result);
134
+
135
+ if (!exists) {
136
+ addToNonExistent(dependency);
137
+ debug(`skipping non-empty but non-existent resolution: ${result} for dependency: ${dependency}`);
138
+ return;
139
+ }
140
+ const pathMap = { importSource: dependency, resolvedDep: result };
141
+ if (!isDependenciesArray && dependenciesRaw[dependency].importSpecifiers) {
142
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
143
+ pathMap.importSpecifiers = dependenciesRaw[dependency].importSpecifiers;
144
+ }
145
+
146
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
147
+ pathMapDependencies.push(pathMap);
148
+
149
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
150
+ resolvedDependencies.push(result);
151
+ }
152
+ function addToNonExistent(dependency) {
153
+ if (config.nonExistent[config.filename]) {
154
+ config.nonExistent[config.filename].push(dependency);
155
+ } else {
156
+ config.nonExistent[config.filename] = [dependency];
157
+ }
158
+ }
159
+ };
160
+
161
+ /**
162
+ * the traverse is not a recursive function anymore, it has been changed to be iterative to fix
163
+ * some performance issues.
164
+ * @todo: we have some redundancy here with the `tree` and pathMap`. the `tree` has only the dependencies,
165
+ * `pathMap` has the dependencies and some more info, such as importSpecifiers. we should use only
166
+ * pathMap and get rid of tree.
167
+ */
168
+ function traverse(config) {
169
+ const tree = [];
170
+ const stack = [config.filename];
171
+ while (stack.length) {
172
+ const dependency = stack.pop();
173
+ debug(`traversing ${dependency}`);
174
+ if (config.visited[dependency]) {
175
+ populateFromCache(dependency);
176
+ } else {
177
+ traverseDependency(dependency);
178
+ }
179
+ }
180
+
181
+ return tree;
182
+
183
+ function traverseDependency(dependency) {
184
+ const localConfig = config.clone();
185
+ localConfig.filename = dependency;
186
+ let dependencies = module.exports._getDependencies(localConfig);
187
+ if (config.filter) {
188
+ debug('using filter function to filter out dependencies');
189
+ debug(`number of dependencies before filtering: ${dependencies.length}`);
190
+ dependencies = dependencies.filter(function (filePath) {
191
+ return localConfig.filter(filePath, localConfig.filename);
192
+ });
193
+ debug(`number of dependencies after filtering: ${dependencies.length}`);
194
+ }
195
+ debug('cabinet-resolved all dependencies: ', dependencies);
196
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
197
+ tree[dependency] = dependencies;
198
+ const filePathMap = config.pathMap.find((pathMapEntry) => pathMapEntry.file === dependency);
199
+ if (!filePathMap) throw new Error(`file ${dependency} is missing from PathMap`);
200
+ config.visited[dependency] = {
201
+ pathMap: filePathMap,
202
+ missing: config.nonExistent[dependency],
203
+ error: config.errors[dependency],
204
+ };
205
+ stack.push(...dependencies);
206
+ }
207
+
208
+ function populateFromCache(dependency) {
209
+ debug(`already visited ${dependency}. Will try to find it and its dependencies in the cache`);
210
+ const dependenciesStack = [dependency];
211
+ while (dependenciesStack.length) {
212
+ findAllDependenciesInCache(dependenciesStack);
213
+ }
214
+ }
215
+
216
+ function findAllDependenciesInCache(dependenciesStack) {
217
+ const dependency = dependenciesStack.pop();
218
+ if (!config.visited[dependency]) {
219
+ debug(`unable to find ${dependency} in the cache, it was probably filtered before`);
220
+ return;
221
+ }
222
+ debug(`found ${dependency} in the cache`);
223
+ const dependencies = config.visited[dependency].pathMap.dependencies.map((d) => d.resolvedDep);
224
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
225
+ tree[dependency] = dependencies;
226
+ config.pathMap.push(config.visited[dependency].pathMap);
227
+ if (config.visited[dependency].missing) {
228
+ config.nonExistent[dependency] = config.visited[dependency].missing;
229
+ }
230
+ if (config.visited[dependency].error) {
231
+ config.errors[dependency] = config.visited[dependency].error;
232
+ }
233
+ dependencies.forEach((d) => {
234
+ if (!tree[d]) dependenciesStack.push(d);
235
+ });
236
+ }
237
+ }
238
+
239
+ /**
240
+ * whether the dependency is from CDN. (http/https)
241
+ */
242
+ function isHttp(dependency) {
243
+ return Boolean(dependency.startsWith('http://') || dependency.startsWith('https://'));
244
+ }
@@ -0,0 +1 @@
1
+ export * from '@teambit/styling.deps-detectors.detective-css';
@@ -0,0 +1 @@
1
+ export * from '@teambit/node.deps-detectors.detective-es6';
@@ -0,0 +1 @@
1
+ export * from '@teambit/styling.deps-detectors.detective-less';
@@ -0,0 +1 @@
1
+ export * from '@teambit/styling.deps-detectors.detective-sass';
@@ -0,0 +1 @@
1
+ export * from '@teambit/styling.deps-detectors.detective-scss';
@@ -0,0 +1 @@
1
+ export * from '@teambit/typescript.deps-detectors.detective-typescript';
@@ -0,0 +1,69 @@
1
+ export type FileContext = {
2
+ /**
3
+ * extension of the file. (e.g. `.js`, '.jsx', '.ts', etc.)
4
+ */
5
+ ext: string;
6
+ };
7
+
8
+ export type DependencyContext = {
9
+ /**
10
+ * name of the dependency.
11
+ * e.g. `lodash` in `import _ from 'lodash'`
12
+ */
13
+ dependency: string;
14
+
15
+ /**
16
+ * name of the file.
17
+ */
18
+ filename: string;
19
+
20
+ /**
21
+ * directory of the file.
22
+ */
23
+ directory: string;
24
+ };
25
+
26
+ export interface DependencyDetector {
27
+ /**
28
+ * determine whether to apply on given file.
29
+ */
30
+ isSupported(context: FileContext): boolean;
31
+
32
+ /**
33
+ * determine what type of content the detector is for.
34
+ * by default, the type is the extension name of the file (without the dot)
35
+ * if no type provided.
36
+ */
37
+ type?: string;
38
+
39
+ /**
40
+ * detect file dependencies. list of file dependencies of the module.
41
+ */
42
+ detect(fileContent: string): string[];
43
+
44
+ /**
45
+ * resolve the imported file location
46
+ * @param file
47
+ */
48
+ dependencyLookup?(file: DependencyContext): string;
49
+ }
50
+
51
+ export class DetectorHook {
52
+ static hooks: DependencyDetector[] = [];
53
+
54
+ isSupported(ext: string): boolean {
55
+ return !!DetectorHook.hooks.find((hook) => {
56
+ return hook.isSupported({
57
+ ext,
58
+ });
59
+ });
60
+ }
61
+
62
+ getDetector(ext: string): DependencyDetector | undefined {
63
+ return DetectorHook.hooks.find((hook) => {
64
+ return hook.isSupported({
65
+ ext,
66
+ });
67
+ });
68
+ }
69
+ }