@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,6 @@
1
+ /* @bit-no-check */
2
+
3
+ @import "foo.css";
4
+ @import url("baz.css");
5
+ @value a from 'bla.css';
6
+ @value a, b as x from url(another.css);
@@ -0,0 +1,4 @@
1
+ /* @bit-no-check */
2
+ @import "_foo";
3
+ @import "_bar.css";
4
+ @import "baz.less";
@@ -0,0 +1,2 @@
1
+ /* @bit-no-check */
2
+ @import _foo
@@ -0,0 +1,3 @@
1
+ /* @bit-no-check */
2
+ @import "_foo";
3
+ @import "baz.scss";
@@ -0,0 +1,5 @@
1
+ /* @bit-no-check */
2
+ @import "mystyles"
3
+ @import "styles2.styl"
4
+ @require "styles3.styl";
5
+ @require "styles4";
@@ -0,0 +1,8 @@
1
+ // import * as fs from 'fs';
2
+ // import { square, diag } from 'lib';
3
+ // import foo from './bar';
4
+ // import './my-module.js'; // Import a module for side-effects only
5
+ // import zip = require('./ZipCodeValidator'); // needed when importing a module using `export =` syntax
6
+
7
+ // console.log(square(11)); // 121
8
+ // console.log(diag(4, 3)); // 5
@@ -0,0 +1,6 @@
1
+ // // @bit-no-check
2
+ // {
3
+ // "very invalid": "javascript",
4
+ // "this", "is actually json",
5
+ // "But" not even valid json.
6
+ // }
@@ -0,0 +1,200 @@
1
+ // most of the functions in this file were taken from the Madge project: https://github.com/pahen/madge
2
+ // reasons for not using Madge directly: 1) it has issues with TypeScript on Windows. 2) it has issues with tsx files
3
+
4
+ import os from 'os';
5
+ import path from 'path';
6
+
7
+ import dependencyTree from './dependency-tree';
8
+ import { PathLinuxRelative } from '@teambit/toolbox.path.path';
9
+
10
+ /**
11
+ * Check if running on Windows.
12
+ * @type {Boolean}
13
+ */
14
+ const isWin = os.platform() === 'win32';
15
+
16
+ /**
17
+ * Check if path is from NPM folder
18
+ * @param {String} path
19
+ * @return {Boolean}
20
+ */
21
+ function isNpmPathFunc(pathStr) {
22
+ return pathStr.indexOf('node_modules') >= 0;
23
+ }
24
+
25
+ /**
26
+ * Sort tree.
27
+ * @param {Object} tree
28
+ * @return {Object}
29
+ */
30
+ function sort(tree) {
31
+ return Object.keys(tree)
32
+ .sort()
33
+ .reduce((acc, id) => {
34
+ acc[id] = tree[id].sort();
35
+ return acc;
36
+ }, {});
37
+ }
38
+
39
+ /**
40
+ * Exclude modules from tree using RegExp.
41
+ * @param {Object} tree
42
+ * @param {Array} excludeRegExp
43
+ * @return {Object}
44
+ */
45
+ function exclude(tree, excludeRegExp) {
46
+ const regExpList = excludeRegExp.map((re) => new RegExp(re));
47
+
48
+ function regExpFilter(id) {
49
+ return regExpList.findIndex((regexp) => regexp.test(id)) < 0;
50
+ }
51
+
52
+ return Object.keys(tree)
53
+ .filter(regExpFilter)
54
+ .reduce((acc, id) => {
55
+ acc[id] = tree[id].filter(regExpFilter);
56
+ return acc;
57
+ }, {});
58
+ }
59
+
60
+ /**
61
+ * Process absolute path and return a shorter one.
62
+ * @param {String} absPath
63
+ * @param {Object} cache
64
+ * @param {String} baseDir
65
+ * @return {String}
66
+ */
67
+ export function processPath(absPath, cache, baseDir) {
68
+ if (cache[absPath]) {
69
+ return cache[absPath];
70
+ }
71
+
72
+ let relPath = path.relative(baseDir, absPath);
73
+
74
+ if (isWin) {
75
+ relPath = relPath.replace(/\\/g, '/');
76
+ }
77
+
78
+ cache[absPath] = relPath;
79
+
80
+ return relPath;
81
+ }
82
+
83
+ /**
84
+ * Convert deep tree produced by dependency-tree to a
85
+ * shallow (one level deep) tree used by madge.
86
+ * @param {Object} depTree
87
+ * @param {Object} tree
88
+ * @param {Object} pathCache
89
+ * @param {String} baseDir
90
+ * @return {Object}
91
+ */
92
+ function convertTreePaths(depTree, pathCache, baseDir) {
93
+ const tree = {};
94
+ Object.keys(depTree).forEach((file) => {
95
+ tree[processPath(file, pathCache, baseDir)] = depTree[file].map((d) => processPath(d, pathCache, baseDir));
96
+ });
97
+
98
+ return tree;
99
+ }
100
+
101
+ // e.g. { 'index.ts': ['foo.ts', '../node_modules/react/index.js'] }
102
+ // all paths are normalized to Linux
103
+ export type MadgeTree = { [relativePath: string]: PathLinuxRelative[] };
104
+
105
+ // e.g. { '/tmp/workspace': ['lodash', 'underscore'] };
106
+ export type Missing = { [absolutePath: string]: string[] };
107
+
108
+ type GenerateTreeResults = {
109
+ madgeTree: MadgeTree;
110
+ skipped: Missing;
111
+ pathMap: any;
112
+ errors: { [filePath: string]: Error };
113
+ };
114
+
115
+ /**
116
+ * Generate the tree from the given files
117
+ * @param {Array} files
118
+ * @param config
119
+ * @return {Object}
120
+ */
121
+ export default function generateTree(files: string[] = [], config): GenerateTreeResults {
122
+ const depTree = {};
123
+ const nonExistent = {};
124
+ const npmPaths = {};
125
+ const pathCache = {};
126
+ const pathMap = [];
127
+ const errors = {};
128
+
129
+ files.forEach((file) => {
130
+ if (depTree[file]) {
131
+ return;
132
+ }
133
+
134
+ const detective = config.detectiveOptions;
135
+ try {
136
+ const dependencyTreeResult = dependencyTree({
137
+ filename: file,
138
+ directory: config.baseDir,
139
+ requireConfig: config.requireConfig,
140
+ webpackConfig: config.webpackConfig,
141
+ resolveConfig: config.resolveConfig,
142
+ visited: config.visited,
143
+ errors,
144
+ filter: (dependencyFilePath, traversedFilePath) => {
145
+ let dependencyFilterRes = true;
146
+ const isNpmPath = isNpmPathFunc(dependencyFilePath);
147
+
148
+ if (config.dependencyFilter) {
149
+ dependencyFilterRes = config.dependencyFilter(dependencyFilePath, traversedFilePath, config.baseDir);
150
+ }
151
+
152
+ if (config.includeNpm && isNpmPath) {
153
+ (npmPaths[traversedFilePath] = npmPaths[traversedFilePath] || []).push(dependencyFilePath);
154
+ }
155
+
156
+ return !isNpmPath && (dependencyFilterRes || dependencyFilterRes === undefined);
157
+ },
158
+ detective,
159
+ nonExistent,
160
+ pathMap,
161
+ cacheProjectAst: config.cacheProjectAst,
162
+ envDetectors: config.envDetectors,
163
+ });
164
+ Object.assign(depTree, dependencyTreeResult);
165
+ } catch (err: any) {
166
+ errors[file] = err;
167
+ }
168
+ });
169
+
170
+ let tree = convertTreePaths(depTree, pathCache, config.baseDir);
171
+
172
+ // rename errors keys from absolute paths to relative paths
173
+ Object.keys(errors).forEach((file) => {
174
+ const relativeFile = processPath(file, pathCache, config.baseDir);
175
+ if (relativeFile !== file) {
176
+ errors[relativeFile] = errors[file];
177
+ delete errors[file];
178
+ }
179
+ });
180
+
181
+ Object.keys(npmPaths).forEach((npmKey) => {
182
+ const id = processPath(npmKey, pathCache, config.baseDir);
183
+ // a file might not be in the tree if it has errors or errors found with its parents
184
+ if (!tree[id]) return;
185
+ npmPaths[npmKey].forEach((npmPath) => {
186
+ tree[id].push(processPath(npmPath, pathCache, config.baseDir));
187
+ });
188
+ });
189
+
190
+ if (config.excludeRegExp) {
191
+ tree = exclude(tree, config.excludeRegExp);
192
+ }
193
+
194
+ return {
195
+ madgeTree: sort(tree),
196
+ skipped: nonExistent,
197
+ pathMap,
198
+ errors,
199
+ };
200
+ }
@@ -0,0 +1,5 @@
1
+ import { getDependencyTree } from './build-tree';
2
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
3
+ import getDependenciesFromSource from './precinct';
4
+
5
+ export { getDependencyTree, getDependenciesFromSource };
@@ -0,0 +1,76 @@
1
+ import { resolvePackageNameByPath, resolvePackagePath } from '@teambit/legacy.utils';
2
+ import { ResolvedPackageData, resolvePackageData } from '../resolve-pkg-data';
3
+ import { processPath, Missing } from './generate-tree-madge';
4
+ import { groupBy } from 'lodash';
5
+
6
+ export type MissingGroupItem = { originFile: string; packages?: string[]; files?: string[] };
7
+ export type FoundPackages = {
8
+ packages: { [packageName: string]: string };
9
+ components: ResolvedPackageData[];
10
+ };
11
+
12
+ export class MissingHandler {
13
+ constructor(private missing: Missing, private componentDir: string, private workspacePath: string) {}
14
+
15
+ /**
16
+ * Run over each entry in the missing array and transform the missing from list of paths
17
+ * to object with missing types
18
+ */
19
+ groupAndFindMissing(): { missingGroups: MissingGroupItem[]; foundPackages: FoundPackages } {
20
+ const missingGroups: MissingGroupItem[] = this.groupMissingByType();
21
+ missingGroups.forEach((group: MissingGroupItem) => {
22
+ if (group.packages) group.packages = group.packages.map(resolvePackageNameByPath);
23
+ });
24
+ // This is a hack to solve problems that madge has with packages for type script files
25
+ // It see them as missing even if they are exists
26
+ const foundPackages: FoundPackages = {
27
+ packages: {},
28
+ components: [],
29
+ };
30
+ missingGroups.forEach((group) => this.processMissingGroup(group, foundPackages));
31
+
32
+ return { missingGroups, foundPackages };
33
+ }
34
+
35
+ private processMissingGroup(group: MissingGroupItem, foundPackages: FoundPackages) {
36
+ if (!group.packages) return;
37
+ const missingPackages: string[] = [];
38
+ group.packages.forEach((packageName) => {
39
+ // Don't try to resolve the same package twice
40
+ if (missingPackages.includes(packageName)) return;
41
+ const resolvedPath = resolvePackagePath(packageName, this.componentDir, this.workspacePath);
42
+ if (!resolvedPath) {
43
+ missingPackages.push(packageName);
44
+ return;
45
+ }
46
+ const resolvedPackageData = resolvePackageData(this.componentDir, resolvedPath);
47
+ if (!resolvedPackageData) {
48
+ missingPackages.push(packageName);
49
+ return;
50
+ }
51
+ // if the package is actually a component add it to the components list
52
+ if (resolvedPackageData.componentId) {
53
+ foundPackages.components.push(resolvedPackageData);
54
+ } else {
55
+ const version = resolvedPackageData.versionUsedByDependent || resolvedPackageData.concreteVersion;
56
+ if (!version) throw new Error(`unable to find the version for a package ${packageName}`);
57
+ const packageWithVersion = {
58
+ [resolvedPackageData.name]: version,
59
+ };
60
+ Object.assign(foundPackages.packages, packageWithVersion);
61
+ }
62
+ });
63
+ }
64
+
65
+ /**
66
+ * Group missing dependencies by types (files, packages)
67
+ * @param {Array} missing list of missing paths to group
68
+ * @returns {Function} function which group the dependencies
69
+ */
70
+ private groupMissingByType(): MissingGroupItem[] {
71
+ const byPathType = (item) => (item.startsWith('.') ? 'files' : 'packages');
72
+ return Object.keys(this.missing).map((key) =>
73
+ Object.assign({ originFile: processPath(key, {}, this.componentDir) }, groupBy(this.missing[key], byPathType))
74
+ );
75
+ }
76
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Path Map is the extra data about the files and the dependencies, such as ImportSpecifiers and
3
+ * custom-resolve-modules used.
4
+ * The data is retrieved by dependency-tree which collects them from the various detectives.
5
+ * It is used to update the final tree.
6
+ */
7
+
8
+ import { clone } from 'lodash';
9
+ import { processPath } from './generate-tree-madge';
10
+ import { Specifier } from '@teambit/legacy/dist/consumer/component/dependencies/dependency';
11
+
12
+ export type PathMapDependency = {
13
+ importSource: string; // dependency path as it has been received from dependency-tree lib
14
+ resolvedDep: string; // path relative to consumer root (after convertPathMapToRelativePaths() )
15
+ importSpecifiers?: Specifier[]; // relevant for ES6 and TS
16
+ };
17
+
18
+ /**
19
+ * PathMap is used to get the ImportSpecifiers from dependency-tree library
20
+ */
21
+ export type PathMapItem = {
22
+ file: string; // path relative to consumer root (after convertPathMapToRelativePaths() )
23
+ dependencies: PathMapDependency[];
24
+ };
25
+
26
+ export function convertPathMapToRelativePaths(pathMap: PathMapItem[], baseDir: string): PathMapItem[] {
27
+ const pathCache = {};
28
+ return pathMap.map((file: PathMapItem) => {
29
+ const newFile = clone(file);
30
+ newFile.file = processPath(file.file, pathCache, baseDir);
31
+ newFile.dependencies = file.dependencies.map((dependency) => {
32
+ const newDependency = clone(dependency);
33
+ newDependency.resolvedDep = processPath(dependency.resolvedDep, pathCache, baseDir);
34
+ return newDependency;
35
+ });
36
+ return newFile;
37
+ });
38
+ }