@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.
- package/artifacts/__bit_junit.xml +203 -5
- package/artifacts/schema.json +2016 -1173
- package/dependencies-loader/apply-overrides.ts +3 -3
- package/dependencies-loader/auto-detect-deps.ts +16 -13
- package/dependencies-loader/dependencies-loader.ts +1 -1
- package/dist/dependencies-loader/apply-overrides.js +12 -5
- package/dist/dependencies-loader/apply-overrides.js.map +1 -1
- package/dist/dependencies-loader/auto-detect-deps.d.ts +4 -4
- package/dist/dependencies-loader/auto-detect-deps.js +14 -14
- package/dist/dependencies-loader/auto-detect-deps.js.map +1 -1
- package/dist/dependencies-loader/dependencies-loader.js +4 -4
- package/dist/dependencies-loader/dependencies-loader.js.map +1 -1
- package/dist/files-dependency-builder/build-tree.d.ts +11 -0
- package/dist/files-dependency-builder/build-tree.js +233 -0
- package/dist/files-dependency-builder/build-tree.js.map +1 -0
- package/dist/files-dependency-builder/build-tree.spec.d.ts +1 -0
- package/dist/files-dependency-builder/build-tree.spec.js +154 -0
- package/dist/files-dependency-builder/build-tree.spec.js.map +1 -0
- package/dist/files-dependency-builder/dependency-tree/Config.d.ts +4 -0
- package/dist/files-dependency-builder/dependency-tree/Config.js +74 -0
- package/dist/files-dependency-builder/dependency-tree/Config.js.map +1 -0
- package/dist/files-dependency-builder/dependency-tree/index.d.ts +15 -0
- package/dist/files-dependency-builder/dependency-tree/index.js +272 -0
- package/dist/files-dependency-builder/dependency-tree/index.js.map +1 -0
- package/dist/files-dependency-builder/dependency-tree/index.spec.d.ts +1 -0
- package/dist/files-dependency-builder/dependency-tree/index.spec.js +877 -0
- package/dist/files-dependency-builder/dependency-tree/index.spec.js.map +1 -0
- package/dist/files-dependency-builder/detectives/detective-css/index.d.ts +1 -0
- package/dist/files-dependency-builder/detectives/detective-css/index.js +18 -0
- package/dist/files-dependency-builder/detectives/detective-css/index.js.map +1 -0
- package/dist/files-dependency-builder/detectives/detective-es6/index.d.ts +1 -0
- package/dist/files-dependency-builder/detectives/detective-es6/index.js +18 -0
- package/dist/files-dependency-builder/detectives/detective-es6/index.js.map +1 -0
- package/dist/files-dependency-builder/detectives/detective-less/index.d.ts +1 -0
- package/dist/files-dependency-builder/detectives/detective-less/index.js +18 -0
- package/dist/files-dependency-builder/detectives/detective-less/index.js.map +1 -0
- package/dist/files-dependency-builder/detectives/detective-sass/index.d.ts +1 -0
- package/dist/files-dependency-builder/detectives/detective-sass/index.js +18 -0
- package/dist/files-dependency-builder/detectives/detective-sass/index.js.map +1 -0
- package/dist/files-dependency-builder/detectives/detective-scss/index.d.ts +1 -0
- package/dist/files-dependency-builder/detectives/detective-scss/index.js +18 -0
- package/dist/files-dependency-builder/detectives/detective-scss/index.js.map +1 -0
- package/dist/files-dependency-builder/detectives/detective-typescript/index.d.ts +1 -0
- package/dist/files-dependency-builder/detectives/detective-typescript/index.js +18 -0
- package/dist/files-dependency-builder/detectives/detective-typescript/index.js.map +1 -0
- package/dist/files-dependency-builder/detector-hook.d.ts +47 -0
- package/dist/files-dependency-builder/detector-hook.js +29 -0
- package/dist/files-dependency-builder/detector-hook.js.map +1 -0
- package/dist/files-dependency-builder/filing-cabinet/index.d.ts +17 -0
- package/dist/files-dependency-builder/filing-cabinet/index.js +140 -0
- package/dist/files-dependency-builder/filing-cabinet/index.js.map +1 -0
- package/dist/files-dependency-builder/filing-cabinet/index.spec.d.ts +1 -0
- package/dist/files-dependency-builder/filing-cabinet/index.spec.js +651 -0
- package/dist/files-dependency-builder/filing-cabinet/index.spec.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/a.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/a.js +6 -0
- package/dist/files-dependency-builder/fixtures/build-tree/a.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/b.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/b.js +6 -0
- package/dist/files-dependency-builder/fixtures/build-tree/b.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-a.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-a.js +3 -0
- package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-a.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-b.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-b.js +3 -0
- package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-b.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-c.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-c.js +10 -0
- package/dist/files-dependency-builder/fixtures/build-tree/not-link-file/file-c.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/foo.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/foo.js +3 -0
- package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/foo.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/index.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/index.js +21 -0
- package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/index.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/is-string.d.ts +2 -0
- package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/is-string.js +18 -0
- package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/is-string.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/self-cycle.d.ts +2 -0
- package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/self-cycle.js +20 -0
- package/dist/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/self-cycle.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/build-tree/unparsed.d.ts +0 -0
- package/dist/files-dependency-builder/fixtures/build-tree/unparsed.js +5 -0
- package/dist/files-dependency-builder/fixtures/build-tree/unparsed.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/amd/a.d.ts +0 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/amd/a.js +10 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/amd/a.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/amd/b.d.ts +0 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/amd/b.js +10 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/amd/b.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/amd/c.d.ts +0 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/amd/c.js +6 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/amd/c.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/a.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/a.js +6 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/a.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/b.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/b.js +6 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/b.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/c.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/c.js +6 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/commonjs/c.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/onlyRealDeps/a.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/onlyRealDeps/a.js +8 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/onlyRealDeps/a.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/webpack/aliased.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/webpack/aliased.js +6 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/webpack/aliased.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/webpack/unaliased.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/webpack/unaliased.js +6 -0
- package/dist/files-dependency-builder/fixtures/dependency-tree/webpack/unaliased.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/ast.d.ts +221 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/ast.js +259 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/ast.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/foo.d.ts +2 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/foo.js +12 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/foo.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/foo.scss +1 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/foo2.scss +0 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/mockedJSFiles.d.ts +59 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/mockedJSFiles.js +65 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/mockedJSFiles.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/root1/mod1.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/root1/mod1.js +5 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/root1/mod1.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/root2/mod2.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/root2/mod2.js +5 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/root2/mod2.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/webpack.config.d.ts +6 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/webpack.config.js +12 -0
- package/dist/files-dependency-builder/fixtures/filing-cabinet/webpack.config.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/missing-deps.d.ts +0 -0
- package/dist/files-dependency-builder/fixtures/missing-deps.js +5 -0
- package/dist/files-dependency-builder/fixtures/missing-deps.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/Gruntfile.d.ts +2 -0
- package/dist/files-dependency-builder/fixtures/precinct/Gruntfile.js +24 -0
- package/dist/files-dependency-builder/fixtures/precinct/Gruntfile.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/amd.d.ts +0 -0
- package/dist/files-dependency-builder/fixtures/precinct/amd.js +6 -0
- package/dist/files-dependency-builder/fixtures/precinct/amd.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/bar.foo +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/cjsExportLazy.d.ts +6 -0
- package/dist/files-dependency-builder/fixtures/precinct/cjsExportLazy.js +11 -0
- package/dist/files-dependency-builder/fixtures/precinct/cjsExportLazy.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/commonjs.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/commonjs.js +7 -0
- package/dist/files-dependency-builder/fixtures/precinct/commonjs.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/coreModules.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/coreModules.js +9 -0
- package/dist/files-dependency-builder/fixtures/precinct/coreModules.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/es6.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/es6.js +15 -0
- package/dist/files-dependency-builder/fixtures/precinct/es6.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/es6MixedExportLazy.d.ts +5 -0
- package/dist/files-dependency-builder/fixtures/precinct/es6MixedExportLazy.js +15 -0
- package/dist/files-dependency-builder/fixtures/precinct/es6MixedExportLazy.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/es7.d.ts +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/es7.js +7 -0
- package/dist/files-dependency-builder/fixtures/precinct/es7.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/exampleAST.d.ts +24 -0
- package/dist/files-dependency-builder/fixtures/precinct/exampleAST.js +30 -0
- package/dist/files-dependency-builder/fixtures/precinct/exampleAST.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/foo.foo +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/styles.css +6 -0
- package/dist/files-dependency-builder/fixtures/precinct/styles.less +4 -0
- package/dist/files-dependency-builder/fixtures/precinct/styles.sass +2 -0
- package/dist/files-dependency-builder/fixtures/precinct/styles.scss +3 -0
- package/dist/files-dependency-builder/fixtures/precinct/styles.styl +5 -0
- package/dist/files-dependency-builder/fixtures/precinct/typescript.d.ts +0 -0
- package/dist/files-dependency-builder/fixtures/precinct/typescript.js +11 -0
- package/dist/files-dependency-builder/fixtures/precinct/typescript.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/precinct/unparseable.d.ts +0 -0
- package/dist/files-dependency-builder/fixtures/precinct/unparseable.js +9 -0
- package/dist/files-dependency-builder/fixtures/precinct/unparseable.js.map +1 -0
- package/dist/files-dependency-builder/fixtures/unsupported-file.pdf +0 -0
- package/dist/files-dependency-builder/generate-tree-madge.d.ts +31 -0
- package/dist/files-dependency-builder/generate-tree-madge.js +196 -0
- package/dist/files-dependency-builder/generate-tree-madge.js.map +1 -0
- package/dist/files-dependency-builder/index.d.ts +3 -0
- package/dist/files-dependency-builder/index.js +34 -0
- package/dist/files-dependency-builder/index.js.map +1 -0
- package/dist/files-dependency-builder/missing-handler.d.ts +34 -0
- package/dist/files-dependency-builder/missing-handler.js +107 -0
- package/dist/files-dependency-builder/missing-handler.js.map +1 -0
- package/dist/files-dependency-builder/path-map.d.ts +20 -0
- package/dist/files-dependency-builder/path-map.js +46 -0
- package/dist/files-dependency-builder/path-map.js.map +1 -0
- package/dist/files-dependency-builder/precinct/index.d.ts +22 -0
- package/dist/files-dependency-builder/precinct/index.js +306 -0
- package/dist/files-dependency-builder/precinct/index.js.map +1 -0
- package/dist/files-dependency-builder/precinct/index.spec.d.ts +1 -0
- package/dist/files-dependency-builder/precinct/index.spec.js +300 -0
- package/dist/files-dependency-builder/precinct/index.spec.js.map +1 -0
- package/dist/files-dependency-builder/types/dependency-tree-type.d.ts +35 -0
- package/dist/files-dependency-builder/types/dependency-tree-type.js +34 -0
- package/dist/files-dependency-builder/types/dependency-tree-type.js.map +1 -0
- package/dist/files-dependency-builder/types/index.d.ts +0 -0
- package/dist/files-dependency-builder/types/index.js +7 -0
- package/dist/files-dependency-builder/types/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -1
- package/dist/resolve-pkg-data.d.ts +23 -0
- package/dist/resolve-pkg-data.js +157 -0
- package/dist/resolve-pkg-data.js.map +1 -0
- package/files-dependency-builder/build-tree.spec.ts +130 -0
- package/files-dependency-builder/build-tree.ts +185 -0
- package/files-dependency-builder/dependency-tree/Config.ts +68 -0
- package/files-dependency-builder/dependency-tree/index.spec.ts +893 -0
- package/files-dependency-builder/dependency-tree/index.ts +244 -0
- package/files-dependency-builder/detectives/detective-css/index.ts +1 -0
- package/files-dependency-builder/detectives/detective-es6/index.ts +1 -0
- package/files-dependency-builder/detectives/detective-less/index.ts +1 -0
- package/files-dependency-builder/detectives/detective-sass/index.ts +1 -0
- package/files-dependency-builder/detectives/detective-scss/index.ts +1 -0
- package/files-dependency-builder/detectives/detective-typescript/index.ts +1 -0
- package/files-dependency-builder/detector-hook.ts +69 -0
- package/files-dependency-builder/filing-cabinet/index.spec.ts +718 -0
- package/files-dependency-builder/filing-cabinet/index.ts +119 -0
- package/files-dependency-builder/fixtures/build-tree/a.js +2 -0
- package/files-dependency-builder/fixtures/build-tree/b.js +2 -0
- package/files-dependency-builder/fixtures/build-tree/not-link-file/file-a.js +2 -0
- package/files-dependency-builder/fixtures/build-tree/not-link-file/file-b.js +4 -0
- package/files-dependency-builder/fixtures/build-tree/not-link-file/file-c.js +3 -0
- package/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/foo.js +2 -0
- package/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/index.js +2 -0
- package/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/is-string.js +3 -0
- package/files-dependency-builder/fixtures/build-tree/tree-shaking-cycle/self-cycle.js +3 -0
- package/files-dependency-builder/fixtures/build-tree/unparsed.js +2 -0
- package/files-dependency-builder/fixtures/dependency-tree/amd/a.js +6 -0
- package/files-dependency-builder/fixtures/dependency-tree/amd/b.js +6 -0
- package/files-dependency-builder/fixtures/dependency-tree/amd/c.js +2 -0
- package/files-dependency-builder/fixtures/dependency-tree/commonjs/a.js +2 -0
- package/files-dependency-builder/fixtures/dependency-tree/commonjs/b.js +3 -0
- package/files-dependency-builder/fixtures/dependency-tree/commonjs/c.js +3 -0
- package/files-dependency-builder/fixtures/dependency-tree/onlyRealDeps/a.js +4 -0
- package/files-dependency-builder/fixtures/dependency-tree/webpack/aliased.js +2 -0
- package/files-dependency-builder/fixtures/dependency-tree/webpack/unaliased.js +2 -0
- package/files-dependency-builder/fixtures/filing-cabinet/ast.js +266 -0
- package/files-dependency-builder/fixtures/filing-cabinet/foo.jsx +3 -0
- package/files-dependency-builder/fixtures/filing-cabinet/foo.scss +1 -0
- package/files-dependency-builder/fixtures/filing-cabinet/foo2.scss +0 -0
- package/files-dependency-builder/fixtures/filing-cabinet/mockedJSFiles.js +61 -0
- package/files-dependency-builder/fixtures/filing-cabinet/root1/mod1.js +1 -0
- package/files-dependency-builder/fixtures/filing-cabinet/root2/mod2.js +1 -0
- package/files-dependency-builder/fixtures/filing-cabinet/webpack.config.js +8 -0
- package/files-dependency-builder/fixtures/missing-deps.js +2 -0
- package/files-dependency-builder/fixtures/precinct/Gruntfile.js +22 -0
- package/files-dependency-builder/fixtures/precinct/amd.js +2 -0
- package/files-dependency-builder/fixtures/precinct/bar.foo +1 -0
- package/files-dependency-builder/fixtures/precinct/cjsExportLazy.js +7 -0
- package/files-dependency-builder/fixtures/precinct/commonjs.js +3 -0
- package/files-dependency-builder/fixtures/precinct/coreModules.js +5 -0
- package/files-dependency-builder/fixtures/precinct/es6.js +4 -0
- package/files-dependency-builder/fixtures/precinct/es6MixedExportLazy.js +7 -0
- package/files-dependency-builder/fixtures/precinct/es7.js +3 -0
- package/files-dependency-builder/fixtures/precinct/exampleAST.js +32 -0
- package/files-dependency-builder/fixtures/precinct/foo.foo +1 -0
- package/files-dependency-builder/fixtures/precinct/styles.css +6 -0
- package/files-dependency-builder/fixtures/precinct/styles.less +4 -0
- package/files-dependency-builder/fixtures/precinct/styles.sass +2 -0
- package/files-dependency-builder/fixtures/precinct/styles.scss +3 -0
- package/files-dependency-builder/fixtures/precinct/styles.styl +5 -0
- package/files-dependency-builder/fixtures/precinct/typescript.ts +8 -0
- package/files-dependency-builder/fixtures/precinct/unparseable.js +6 -0
- package/files-dependency-builder/fixtures/unsupported-file.pdf +0 -0
- package/files-dependency-builder/generate-tree-madge.ts +200 -0
- package/files-dependency-builder/index.ts +5 -0
- package/files-dependency-builder/missing-handler.ts +76 -0
- package/files-dependency-builder/path-map.ts +38 -0
- package/files-dependency-builder/precinct/index.spec.ts +342 -0
- package/files-dependency-builder/precinct/index.ts +250 -0
- package/files-dependency-builder/types/dependency-tree-type.ts +46 -0
- package/files-dependency-builder/types/index.ts +3 -0
- package/package.json +37 -13
- /package/dist/{preview-1720513025675.js → preview-1720667996237.js} +0 -0
|
@@ -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
|
|
File without changes
|
|
@@ -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,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
|
+
}
|