@teambit/dependencies 1.0.483 → 1.0.485

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.
@@ -1,7 +1,35 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="141" failures="0" errors="0" skipped="31">
3
- <testsuite name="teambit.dependencies/dependencies@1.0.483" tests="141" failures="0" errors="0" skipped="31">
3
+ <testsuite name="teambit.dependencies/dependencies@1.0.485" tests="141" failures="0" errors="0" skipped="31">
4
4
  <testcase classname="dist/dependencies.spec.js" name="should add the snap prefix" time="0.001"/>
5
+ <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="when no files are passed should return an empty tree" time="0.001"/>
6
+ <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="when unsupported files are passed should return them with no dependencies" time="0.001"/>
7
+ <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="when supported and unsupported files are passed should return them all" time="0.068"/>
8
+ <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="when a js file has parsing error it should add the file to the tree with the error instance">
9
+ <skipped/>
10
+ </testcase>
11
+ <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="when a js file has parsing error and it retrieved from the cache it should add the file to the tree with the error instance">
12
+ <skipped/>
13
+ </testcase>
14
+ <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="should add all the files to the tree">
15
+ <skipped/>
16
+ </testcase>
17
+ <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="should not add the error to the files without parsing error">
18
+ <skipped/>
19
+ </testcase>
20
+ <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="should add the parsing error to the un-parsed file">
21
+ <skipped/>
22
+ </testcase>
23
+ <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="it should add the missing dependency to the missing section in the tree">
24
+ <skipped/>
25
+ </testcase>
26
+ <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="it should add the missing package to the missing section in the tree">
27
+ <skipped/>
28
+ </testcase>
29
+ <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="should not throw an error and should remove itself from the dependencies files" time="0.001"/>
30
+ <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="should not recognize the cycle dependencies as link files">
31
+ <skipped/>
32
+ </testcase>
5
33
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/testing-library__jest-dom" time="0.001"/>
6
34
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/chai"/>
7
35
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/mocha"/>
@@ -9,7 +37,7 @@
9
37
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/cors"/>
10
38
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/cross-spawn"/>
11
39
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/didyoumean"/>
12
- <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/eslint"/>
40
+ <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/eslint" time="0.001"/>
13
41
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/express"/>
14
42
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/find-cache-dir"/>
15
43
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/find-root"/>
@@ -38,41 +66,13 @@
38
66
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/webpack"/>
39
67
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/webpack-dev-server"/>
40
68
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/webpack-merge"/>
41
- <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="when no files are passed should return an empty tree"/>
42
- <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="when unsupported files are passed should return them with no dependencies"/>
43
- <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="when supported and unsupported files are passed should return them all" time="0.061"/>
44
- <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="when a js file has parsing error it should add the file to the tree with the error instance">
45
- <skipped/>
46
- </testcase>
47
- <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="when a js file has parsing error and it retrieved from the cache it should add the file to the tree with the error instance">
48
- <skipped/>
49
- </testcase>
50
- <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="should add all the files to the tree">
51
- <skipped/>
52
- </testcase>
53
- <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="should not add the error to the files without parsing error">
54
- <skipped/>
55
- </testcase>
56
- <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="should add the parsing error to the un-parsed file">
57
- <skipped/>
58
- </testcase>
59
- <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="it should add the missing dependency to the missing section in the tree">
60
- <skipped/>
61
- </testcase>
62
- <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="it should add the missing package to the missing section in the tree">
63
- <skipped/>
64
- </testcase>
65
- <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="should not throw an error and should remove itself from the dependencies files"/>
66
- <testcase classname="dist/files-dependency-builder/build-tree.spec.js" name="should not recognize the cycle dependencies as link files">
67
- <skipped/>
68
- </testcase>
69
69
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an empty object for a non-existent filename" time="0.001"/>
70
70
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="handles nested tree structures" time="0.006"/>
71
71
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="does not include files that are not real (#13)" time="0.001"/>
72
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="does not choke on cyclic dependencies" time="0.084"/>
72
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="does not choke on cyclic dependencies" time="0.098"/>
73
73
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="excludes Nodejs core modules by default" time="0.001"/>
74
74
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns a list of absolutely pathed files"/>
75
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="passes it through to precinct" time="0.051"/>
75
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="passes it through to precinct" time="0.053"/>
76
76
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="stores the invalid partials" time="0.001"/>
77
77
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="does not store anything" time="0.002"/>
78
78
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="stores the invalid ones" time="0.002"/>
@@ -82,25 +82,25 @@
82
82
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="throws if a supplied filter is not a function"/>
83
83
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="does not throw on the legacy `root` option"/>
84
84
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="does not throw"/>
85
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns no dependencies" time="0.001"/>
86
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns the precomputed list of a cached entry point"/>
87
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an object form of the dependency tree for a file" time="0.001"/>
88
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an object form of the dependency tree for a file" time="0.001"/>
85
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns no dependencies"/>
86
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns the precomputed list of a cached entry point" time="0.001"/>
87
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an object form of the dependency tree for a file" time="0.002"/>
88
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an object form of the dependency tree for a file" time="0.002"/>
89
89
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="resolves files that have jsx" time="0.002"/>
90
90
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="resolves files with a jsx extension" time="0.001"/>
91
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="resolves files that have es7"/>
92
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an object form of the dependency tree for a file" time="0.006"/>
93
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an object form of the dependency tree for a file"/>
94
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an object form of the dependency tree for a file" time="0.003"/>
95
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an object form of the dependency tree for a file" time="0.016"/>
91
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="resolves files that have es7" time="0.001"/>
92
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an object form of the dependency tree for a file" time="0.007"/>
93
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an object form of the dependency tree for a file" time="0.001"/>
94
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an object form of the dependency tree for a file" time="0.004"/>
95
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="returns an object form of the dependency tree for a file" time="0.019"/>
96
96
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="resolves unaliased modules">
97
97
  <skipped/>
98
98
  </testcase>
99
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="uses the filter to determine if a file should be included in the results" time="0.002"/>
99
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="uses the filter to determine if a file should be included in the results" time="0.003"/>
100
100
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="includes the lazy dependency" time="0.001"/>
101
101
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="includes the lazy dependency" time="0.001"/>
102
102
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="includes the dynamic import" time="0.001"/>
103
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="should include it as a dependency and not throw an error" time="0.001"/>
103
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="should include it as a dependency and not throw an error"/>
104
104
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="it includes the module entry as dependency">
105
105
  <skipped/>
106
106
  </testcase>
@@ -108,47 +108,47 @@
108
108
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="should not override the cache with wrong packages" time="0.002"/>
109
109
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="should not crash with &quot;RangeError: Maximum call stack size exceeded&quot; error" time="0.001"/>
110
110
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="should not show missing dependencies" time="0.001"/>
111
- <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="should not show missing dependencies when importing from https" time="0.001"/>
111
+ <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="should not show missing dependencies when importing from https"/>
112
112
  <testcase classname="dist/files-dependency-builder/dependency-tree/index.spec.js" name="should not show missing dependencies when importing from http"/>
113
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="uses a generic resolve for unsupported file extensions" time="0.001"/>
113
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="uses a generic resolve for unsupported file extensions" time="0.002"/>
114
114
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="reuses the ast when trying to determine the module type" time="0.001"/>
115
115
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves the dependency successfully"/>
116
116
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="uses the filename to look for the module type"/>
117
117
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="assumes commonjs for es6 modules with no requirejs/webpack config">
118
118
  <skipped/>
119
119
  </testcase>
120
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves files with the .jsx extension"/>
120
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves files with the .jsx extension" time="0.001"/>
121
121
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="uses require's resolver">
122
122
  <skipped/>
123
123
  </testcase>
124
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="returns an empty string for an unresolved module"/>
125
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="adds the directory to the require resolution paths" time="0.001"/>
126
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves a relative dependency about the filename" time="0.001"/>
127
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves a .. dependency to its parent directory's index.js file"/>
124
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="returns an empty string for an unresolved module" time="0.001"/>
125
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="adds the directory to the require resolution paths" time="0.002"/>
126
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves a relative dependency about the filename"/>
127
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves a .. dependency to its parent directory's index.js file" time="0.001"/>
128
128
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves a dependency within a directory outside of the given file">
129
129
  <skipped/>
130
130
  </testcase>
131
131
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves a node module with module entry in package.json">
132
132
  <skipped/>
133
133
  </testcase>
134
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves a nested module"/>
135
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves to the index.js file of a directory" time="0.001"/>
136
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves implicit .jsx requires" time="0.001"/>
134
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves a nested module" time="0.001"/>
135
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves to the index.js file of a directory"/>
136
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves implicit .jsx requires"/>
137
137
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves implicit .scss requires"/>
138
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves implicit .json requires"/>
138
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves implicit .json requires" time="0.001"/>
139
139
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves an import" time="0.001"/>
140
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="returns an empty result" time="0.001"/>
140
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="returns an empty result" time="0.002"/>
141
141
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="uses the sass resolver for .scss files"/>
142
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="uses the sass resolver for .sass files" time="0.001"/>
142
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="uses the sass resolver for .sass files"/>
143
143
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="uses the stylus resolver"/>
144
144
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves extensionless dependencies"/>
145
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves dependencies with a less extension"/>
145
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves dependencies with a less extension" time="0.001"/>
146
146
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="resolves dependencies with a css extension"/>
147
147
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="uses a generic resolve for unsupported file extensions"/>
148
148
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="supports passing env detectors"/>
149
149
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="registers a custom resolver for a given extension" time="0.001"/>
150
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="allows does not break default resolvers" time="0.001"/>
151
- <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="can be called multiple times" time="0.001"/>
150
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="allows does not break default resolvers" time="0.002"/>
151
+ <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="can be called multiple times"/>
152
152
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="does not add redundant extensions to supportedFileExtensions"/>
153
153
  <testcase classname="dist/files-dependency-builder/filing-cabinet/index.spec.js" name="should resolve the dependency to a node_module package (using webpack under the hood)">
154
154
  <skipped/>
@@ -192,7 +192,7 @@
192
192
  <testcase classname="dist/files-dependency-builder/precinct/index.spec.js" name="returns the dependencies for the given filepath">
193
193
  <skipped/>
194
194
  </testcase>
195
- <testcase classname="dist/files-dependency-builder/precinct/index.spec.js" name="throws if the file cannot be found" time="0.001"/>
195
+ <testcase classname="dist/files-dependency-builder/precinct/index.spec.js" name="throws if the file cannot be found"/>
196
196
  <testcase classname="dist/files-dependency-builder/precinct/index.spec.js" name="filters out core modules if options.includeCore is false" time="0.001"/>
197
197
  <testcase classname="dist/files-dependency-builder/precinct/index.spec.js" name="does not filter out core modules by default">
198
198
  <skipped/>
@@ -4708,7 +4708,7 @@
4708
4708
  "componentId": {
4709
4709
  "scope": "teambit.dependencies",
4710
4710
  "name": "dependencies",
4711
- "version": "1.0.483"
4711
+ "version": "1.0.485"
4712
4712
  },
4713
4713
  "taggedModuleExports": []
4714
4714
  }
@@ -2,7 +2,7 @@ import path from 'path';
2
2
  import { uniq } from 'lodash';
3
3
  import { IssuesClasses } from '@teambit/component-issues';
4
4
  import { getLastModifiedComponentTimestampMs } from '@teambit/toolbox.fs.last-modified';
5
- import { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';
5
+ import { ExtensionDataEntry } from '@teambit/legacy.extension-data';
6
6
  import Component from '@teambit/legacy/dist/consumer/component/consumer-component';
7
7
  import { DependencyLoaderOpts } from '@teambit/legacy/dist/consumer/component/component-loader';
8
8
  import { COMPONENT_CONFIG_FILE_NAME } from '@teambit/legacy/dist/constants';
@@ -4,7 +4,7 @@ import { Workspace } from '@teambit/workspace';
4
4
  import logger from '@teambit/legacy/dist/logger/logger';
5
5
  import { isEmpty } from 'lodash';
6
6
  import Component from '@teambit/legacy/dist/consumer/component/consumer-component';
7
- import { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';
7
+ import { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy.extension-data';
8
8
  import Dependencies from '@teambit/legacy/dist/consumer/component/dependencies/dependencies';
9
9
  import { DependencyResolverMain } from '@teambit/dependency-resolver';
10
10
  import { DEPENDENCIES_FIELDS } from '@teambit/legacy/dist/constants';
@@ -32,9 +32,9 @@ function _toolboxFs() {
32
32
  };
33
33
  return data;
34
34
  }
35
- function _config() {
36
- const data = require("@teambit/legacy/dist/consumer/config");
37
- _config = function () {
35
+ function _legacy() {
36
+ const data = require("@teambit/legacy.extension-data");
37
+ _legacy = function () {
38
38
  return data;
39
39
  };
40
40
  return data;
@@ -200,7 +200,7 @@ class DependenciesLoader {
200
200
  if (!ext) {
201
201
  extExistOnComponent = false;
202
202
  // Create new deps resolver extension entry to add to the component with data only
203
- ext = new (_config().ExtensionDataEntry)(undefined, undefined, depResolverAspectName, undefined, {});
203
+ ext = new (_legacy().ExtensionDataEntry)(undefined, undefined, depResolverAspectName, undefined, {});
204
204
  }
205
205
  if (!ext.data[dataField]) ext.data[dataField] = [];
206
206
  if (operation === 'add') {
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","_interopRequireDefault","require","_lodash","_componentIssues","_toolboxFs","_config","_constants","_dependencyResolver","_dependenciesData","_dependenciesVersionsResolver","_autoDetectDeps","_applyOverrides","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DependenciesLoader","constructor","component","depsResolver","devFiles","aspectLoader","logger","idStr","id","toString","load","workspace","opts","dependenciesData","debugDependenciesData","getDependenciesData","applyOverrides","ApplyOverrides","allDependencies","allPackagesDependencies","issues","results","setDependenciesDataOnComponent","overridesDependencies","updateDependenciesVersions","autoDetectOverrides","components","resolveExtensionsVersions","loadFromScope","depsDataFromCache","getDependenciesDataFromCacheIfPossible","autoDetectDeps","AutoDetectDeps","cacheResolvedDependencies","cacheProjectAst","shouldSaveInCache","storeInFsCache","consumer","componentFsCache","saveDependenciesDataInCache","serialize","useDependenciesCache","cacheData","getDependenciesDataFromCache","rootDir","componentMap","getComponentDir","filesPaths","files","map","f","path","componentConfigPath","join","COMPONENT_CONFIG_FILE_NAME","push","lastModifiedComponent","getLastModifiedComponentTimestampMs","wasModifiedAfterCache","timestamp","debug","DependenciesData","deserialize","shouldBlockSavingInCache","setDependencies","dependencies","setDevDependencies","devDependencies","setPeerDependencies","peerDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","missingFromOverrides","missingPackageDependencies","length","getOrCreate","IssuesClasses","MissingManuallyConfiguredPackages","uniq","isEmpty","manuallyRemovedDependencies","manuallyAddedDependencies","coreAspects","pushToDependencyResolverExtension","dataField","operation","depResolverAspectName","DependencyResolverAspect","extExistOnComponent","ext","extensions","findCoreExtension","ExtensionDataEntry","undefined","existing","find","c","packageName","componentId","exports"],"sources":["dependencies-loader.ts"],"sourcesContent":["import path from 'path';\nimport { uniq } from 'lodash';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { getLastModifiedComponentTimestampMs } from '@teambit/toolbox.fs.last-modified';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { DependencyLoaderOpts } from '@teambit/legacy/dist/consumer/component/component-loader';\nimport { COMPONENT_CONFIG_FILE_NAME } from '@teambit/legacy/dist/constants';\nimport { Workspace } from '@teambit/workspace';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { DevFilesMain } from '@teambit/dev-files';\nimport { Logger } from '@teambit/logger';\nimport { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { DependenciesData } from './dependencies-data';\nimport { updateDependenciesVersions } from './dependencies-versions-resolver';\nimport { AutoDetectDeps, DebugDependencies } from './auto-detect-deps';\nimport OverridesDependencies from './overrides-dependencies';\nimport { ApplyOverrides } from './apply-overrides';\n\nexport class DependenciesLoader {\n private idStr: string;\n constructor(\n private component: Component,\n private depsResolver: DependencyResolverMain,\n private devFiles: DevFilesMain,\n private aspectLoader: AspectLoaderMain,\n private logger: Logger\n ) {\n this.idStr = this.component.id.toString();\n }\n async load(workspace: Workspace, opts: DependencyLoaderOpts) {\n const { dependenciesData, debugDependenciesData } = await this.getDependenciesData(workspace, opts);\n const applyOverrides = new ApplyOverrides(this.component, this.depsResolver, this.logger, workspace);\n applyOverrides.allDependencies = dependenciesData.allDependencies;\n applyOverrides.allPackagesDependencies = dependenciesData.allPackagesDependencies;\n if (debugDependenciesData) {\n // if it's coming from the cache, it's empty\n applyOverrides.debugDependenciesData = debugDependenciesData;\n }\n applyOverrides.issues = dependenciesData.issues;\n const results = await applyOverrides.getDependenciesData();\n this.setDependenciesDataOnComponent(results.dependenciesData, results.overridesDependencies);\n await updateDependenciesVersions(\n this.depsResolver,\n workspace,\n this.component,\n results.overridesDependencies,\n results.autoDetectOverrides,\n applyOverrides.debugDependenciesData.components,\n opts.resolveExtensionsVersions\n );\n\n return {\n dependenciesData: results.dependenciesData,\n overridesDependencies: results.overridesDependencies,\n debugDependenciesData: applyOverrides.debugDependenciesData,\n };\n }\n\n async loadFromScope(dependenciesData: Partial<DependenciesData>) {\n const applyOverrides = new ApplyOverrides(this.component, this.depsResolver, this.logger);\n const { allDependencies, allPackagesDependencies, issues } = dependenciesData;\n if (allDependencies) applyOverrides.allDependencies = allDependencies;\n if (allPackagesDependencies) applyOverrides.allPackagesDependencies = allPackagesDependencies;\n if (issues) applyOverrides.issues = issues;\n const results = await applyOverrides.getDependenciesData();\n this.setDependenciesDataOnComponent(results.dependenciesData, results.overridesDependencies);\n }\n\n private async getDependenciesData(\n workspace: Workspace,\n opts: DependencyLoaderOpts\n ): Promise<{\n dependenciesData: DependenciesData;\n debugDependenciesData?: DebugDependencies;\n }> {\n const depsDataFromCache = await this.getDependenciesDataFromCacheIfPossible(workspace, opts);\n if (depsDataFromCache) {\n return { dependenciesData: depsDataFromCache };\n }\n\n const autoDetectDeps = new AutoDetectDeps(\n this.component,\n workspace,\n this.devFiles,\n this.depsResolver,\n this.aspectLoader\n );\n const results = await autoDetectDeps.getDependenciesData(opts.cacheResolvedDependencies, opts.cacheProjectAst);\n if (this.shouldSaveInCache(results.dependenciesData, opts.storeInFsCache)) {\n await workspace.consumer.componentFsCache.saveDependenciesDataInCache(\n this.idStr,\n results.dependenciesData.serialize()\n );\n }\n\n return results;\n }\n\n private async getDependenciesDataFromCacheIfPossible(\n workspace: Workspace,\n opts: DependencyLoaderOpts\n ): Promise<DependenciesData | null> {\n if (!opts.useDependenciesCache) {\n return null;\n }\n const cacheData = await workspace.consumer.componentFsCache.getDependenciesDataFromCache(this.idStr);\n if (!cacheData) {\n return null; // probably the first time, so it wasn't entered to the cache yet.\n }\n const rootDir = this.component.componentMap?.getComponentDir();\n if (!rootDir) {\n // could happen on legacy only and when there is no trackDir, in which case, we can't\n // determine whether or not a component file has been deleted, as a result, we are unable\n // to invalidate the cache in such a case.\n return null;\n }\n const filesPaths = this.component.files.map((f) => f.path);\n const componentConfigPath = path.join(workspace.path, rootDir, COMPONENT_CONFIG_FILE_NAME);\n filesPaths.push(componentConfigPath);\n const lastModifiedComponent = await getLastModifiedComponentTimestampMs(rootDir, filesPaths);\n const wasModifiedAfterCache = lastModifiedComponent > cacheData.timestamp;\n if (wasModifiedAfterCache) {\n return null; // cache is invalid.\n }\n this.logger.debug(`dependencies-loader, getting the dependencies data for ${this.idStr} from the cache`);\n return DependenciesData.deserialize(cacheData.data);\n }\n\n private shouldSaveInCache(dependenciesData: DependenciesData, storeInFsCache = true) {\n if (!storeInFsCache) return false;\n if (!dependenciesData.issues) return true;\n return !dependenciesData.issues.shouldBlockSavingInCache();\n }\n\n private setDependenciesDataOnComponent(\n dependenciesData: DependenciesData,\n overridesDependencies: OverridesDependencies\n ) {\n this.component.setDependencies(dependenciesData.allDependencies.dependencies);\n this.component.setDevDependencies(dependenciesData.allDependencies.devDependencies);\n this.component.setPeerDependencies(dependenciesData.allDependencies.peerDependencies);\n this.component.packageDependencies = dependenciesData.allPackagesDependencies.packageDependencies ?? {};\n this.component.devPackageDependencies = dependenciesData.allPackagesDependencies.devPackageDependencies ?? {};\n this.component.peerPackageDependencies = dependenciesData.allPackagesDependencies.peerPackageDependencies ?? {};\n const missingFromOverrides = overridesDependencies.missingPackageDependencies;\n if (missingFromOverrides.length) {\n dependenciesData.issues.getOrCreate(IssuesClasses.MissingManuallyConfiguredPackages).data =\n uniq(missingFromOverrides);\n }\n if (!dependenciesData.issues.isEmpty()) this.component.issues = dependenciesData.issues;\n this.component.manuallyRemovedDependencies = overridesDependencies.manuallyRemovedDependencies;\n this.component.manuallyAddedDependencies = overridesDependencies.manuallyAddedDependencies;\n if (dependenciesData.coreAspects.length) {\n this.pushToDependencyResolverExtension('coreAspects', dependenciesData.coreAspects, 'set');\n }\n }\n\n private pushToDependencyResolverExtension(dataField: string, data: any, operation: 'add' | 'set' = 'add') {\n const depResolverAspectName = DependencyResolverAspect.id;\n let extExistOnComponent = true;\n let ext = this.component.extensions.findCoreExtension(depResolverAspectName);\n if (!ext) {\n extExistOnComponent = false;\n // Create new deps resolver extension entry to add to the component with data only\n ext = new ExtensionDataEntry(undefined, undefined, depResolverAspectName, undefined, {});\n }\n\n if (!ext.data[dataField]) ext.data[dataField] = [];\n if (operation === 'add') {\n const existing = ext.data[dataField].find((c) => c.packageName === data.packageName);\n if (existing) {\n existing.componentId = data.componentId;\n } else {\n ext.data[dataField].push(data);\n }\n }\n if (operation === 'set') {\n ext.data[dataField] = data;\n }\n if (!extExistOnComponent) {\n this.component.extensions.push(ext);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_path","data","_interopRequireDefault","require","_lodash","_componentIssues","_toolboxFs","_legacy","_constants","_dependencyResolver","_dependenciesData","_dependenciesVersionsResolver","_autoDetectDeps","_applyOverrides","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DependenciesLoader","constructor","component","depsResolver","devFiles","aspectLoader","logger","idStr","id","toString","load","workspace","opts","dependenciesData","debugDependenciesData","getDependenciesData","applyOverrides","ApplyOverrides","allDependencies","allPackagesDependencies","issues","results","setDependenciesDataOnComponent","overridesDependencies","updateDependenciesVersions","autoDetectOverrides","components","resolveExtensionsVersions","loadFromScope","depsDataFromCache","getDependenciesDataFromCacheIfPossible","autoDetectDeps","AutoDetectDeps","cacheResolvedDependencies","cacheProjectAst","shouldSaveInCache","storeInFsCache","consumer","componentFsCache","saveDependenciesDataInCache","serialize","useDependenciesCache","cacheData","getDependenciesDataFromCache","rootDir","componentMap","getComponentDir","filesPaths","files","map","f","path","componentConfigPath","join","COMPONENT_CONFIG_FILE_NAME","push","lastModifiedComponent","getLastModifiedComponentTimestampMs","wasModifiedAfterCache","timestamp","debug","DependenciesData","deserialize","shouldBlockSavingInCache","setDependencies","dependencies","setDevDependencies","devDependencies","setPeerDependencies","peerDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","missingFromOverrides","missingPackageDependencies","length","getOrCreate","IssuesClasses","MissingManuallyConfiguredPackages","uniq","isEmpty","manuallyRemovedDependencies","manuallyAddedDependencies","coreAspects","pushToDependencyResolverExtension","dataField","operation","depResolverAspectName","DependencyResolverAspect","extExistOnComponent","ext","extensions","findCoreExtension","ExtensionDataEntry","undefined","existing","find","c","packageName","componentId","exports"],"sources":["dependencies-loader.ts"],"sourcesContent":["import path from 'path';\nimport { uniq } from 'lodash';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { getLastModifiedComponentTimestampMs } from '@teambit/toolbox.fs.last-modified';\nimport { ExtensionDataEntry } from '@teambit/legacy.extension-data';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { DependencyLoaderOpts } from '@teambit/legacy/dist/consumer/component/component-loader';\nimport { COMPONENT_CONFIG_FILE_NAME } from '@teambit/legacy/dist/constants';\nimport { Workspace } from '@teambit/workspace';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { DevFilesMain } from '@teambit/dev-files';\nimport { Logger } from '@teambit/logger';\nimport { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { DependenciesData } from './dependencies-data';\nimport { updateDependenciesVersions } from './dependencies-versions-resolver';\nimport { AutoDetectDeps, DebugDependencies } from './auto-detect-deps';\nimport OverridesDependencies from './overrides-dependencies';\nimport { ApplyOverrides } from './apply-overrides';\n\nexport class DependenciesLoader {\n private idStr: string;\n constructor(\n private component: Component,\n private depsResolver: DependencyResolverMain,\n private devFiles: DevFilesMain,\n private aspectLoader: AspectLoaderMain,\n private logger: Logger\n ) {\n this.idStr = this.component.id.toString();\n }\n async load(workspace: Workspace, opts: DependencyLoaderOpts) {\n const { dependenciesData, debugDependenciesData } = await this.getDependenciesData(workspace, opts);\n const applyOverrides = new ApplyOverrides(this.component, this.depsResolver, this.logger, workspace);\n applyOverrides.allDependencies = dependenciesData.allDependencies;\n applyOverrides.allPackagesDependencies = dependenciesData.allPackagesDependencies;\n if (debugDependenciesData) {\n // if it's coming from the cache, it's empty\n applyOverrides.debugDependenciesData = debugDependenciesData;\n }\n applyOverrides.issues = dependenciesData.issues;\n const results = await applyOverrides.getDependenciesData();\n this.setDependenciesDataOnComponent(results.dependenciesData, results.overridesDependencies);\n await updateDependenciesVersions(\n this.depsResolver,\n workspace,\n this.component,\n results.overridesDependencies,\n results.autoDetectOverrides,\n applyOverrides.debugDependenciesData.components,\n opts.resolveExtensionsVersions\n );\n\n return {\n dependenciesData: results.dependenciesData,\n overridesDependencies: results.overridesDependencies,\n debugDependenciesData: applyOverrides.debugDependenciesData,\n };\n }\n\n async loadFromScope(dependenciesData: Partial<DependenciesData>) {\n const applyOverrides = new ApplyOverrides(this.component, this.depsResolver, this.logger);\n const { allDependencies, allPackagesDependencies, issues } = dependenciesData;\n if (allDependencies) applyOverrides.allDependencies = allDependencies;\n if (allPackagesDependencies) applyOverrides.allPackagesDependencies = allPackagesDependencies;\n if (issues) applyOverrides.issues = issues;\n const results = await applyOverrides.getDependenciesData();\n this.setDependenciesDataOnComponent(results.dependenciesData, results.overridesDependencies);\n }\n\n private async getDependenciesData(\n workspace: Workspace,\n opts: DependencyLoaderOpts\n ): Promise<{\n dependenciesData: DependenciesData;\n debugDependenciesData?: DebugDependencies;\n }> {\n const depsDataFromCache = await this.getDependenciesDataFromCacheIfPossible(workspace, opts);\n if (depsDataFromCache) {\n return { dependenciesData: depsDataFromCache };\n }\n\n const autoDetectDeps = new AutoDetectDeps(\n this.component,\n workspace,\n this.devFiles,\n this.depsResolver,\n this.aspectLoader\n );\n const results = await autoDetectDeps.getDependenciesData(opts.cacheResolvedDependencies, opts.cacheProjectAst);\n if (this.shouldSaveInCache(results.dependenciesData, opts.storeInFsCache)) {\n await workspace.consumer.componentFsCache.saveDependenciesDataInCache(\n this.idStr,\n results.dependenciesData.serialize()\n );\n }\n\n return results;\n }\n\n private async getDependenciesDataFromCacheIfPossible(\n workspace: Workspace,\n opts: DependencyLoaderOpts\n ): Promise<DependenciesData | null> {\n if (!opts.useDependenciesCache) {\n return null;\n }\n const cacheData = await workspace.consumer.componentFsCache.getDependenciesDataFromCache(this.idStr);\n if (!cacheData) {\n return null; // probably the first time, so it wasn't entered to the cache yet.\n }\n const rootDir = this.component.componentMap?.getComponentDir();\n if (!rootDir) {\n // could happen on legacy only and when there is no trackDir, in which case, we can't\n // determine whether or not a component file has been deleted, as a result, we are unable\n // to invalidate the cache in such a case.\n return null;\n }\n const filesPaths = this.component.files.map((f) => f.path);\n const componentConfigPath = path.join(workspace.path, rootDir, COMPONENT_CONFIG_FILE_NAME);\n filesPaths.push(componentConfigPath);\n const lastModifiedComponent = await getLastModifiedComponentTimestampMs(rootDir, filesPaths);\n const wasModifiedAfterCache = lastModifiedComponent > cacheData.timestamp;\n if (wasModifiedAfterCache) {\n return null; // cache is invalid.\n }\n this.logger.debug(`dependencies-loader, getting the dependencies data for ${this.idStr} from the cache`);\n return DependenciesData.deserialize(cacheData.data);\n }\n\n private shouldSaveInCache(dependenciesData: DependenciesData, storeInFsCache = true) {\n if (!storeInFsCache) return false;\n if (!dependenciesData.issues) return true;\n return !dependenciesData.issues.shouldBlockSavingInCache();\n }\n\n private setDependenciesDataOnComponent(\n dependenciesData: DependenciesData,\n overridesDependencies: OverridesDependencies\n ) {\n this.component.setDependencies(dependenciesData.allDependencies.dependencies);\n this.component.setDevDependencies(dependenciesData.allDependencies.devDependencies);\n this.component.setPeerDependencies(dependenciesData.allDependencies.peerDependencies);\n this.component.packageDependencies = dependenciesData.allPackagesDependencies.packageDependencies ?? {};\n this.component.devPackageDependencies = dependenciesData.allPackagesDependencies.devPackageDependencies ?? {};\n this.component.peerPackageDependencies = dependenciesData.allPackagesDependencies.peerPackageDependencies ?? {};\n const missingFromOverrides = overridesDependencies.missingPackageDependencies;\n if (missingFromOverrides.length) {\n dependenciesData.issues.getOrCreate(IssuesClasses.MissingManuallyConfiguredPackages).data =\n uniq(missingFromOverrides);\n }\n if (!dependenciesData.issues.isEmpty()) this.component.issues = dependenciesData.issues;\n this.component.manuallyRemovedDependencies = overridesDependencies.manuallyRemovedDependencies;\n this.component.manuallyAddedDependencies = overridesDependencies.manuallyAddedDependencies;\n if (dependenciesData.coreAspects.length) {\n this.pushToDependencyResolverExtension('coreAspects', dependenciesData.coreAspects, 'set');\n }\n }\n\n private pushToDependencyResolverExtension(dataField: string, data: any, operation: 'add' | 'set' = 'add') {\n const depResolverAspectName = DependencyResolverAspect.id;\n let extExistOnComponent = true;\n let ext = this.component.extensions.findCoreExtension(depResolverAspectName);\n if (!ext) {\n extExistOnComponent = false;\n // Create new deps resolver extension entry to add to the component with data only\n ext = new ExtensionDataEntry(undefined, undefined, depResolverAspectName, undefined, {});\n }\n\n if (!ext.data[dataField]) ext.data[dataField] = [];\n if (operation === 'add') {\n const existing = ext.data[dataField].find((c) => c.packageName === data.packageName);\n if (existing) {\n existing.componentId = data.componentId;\n } else {\n ext.data[dataField].push(data);\n }\n }\n if (operation === 'set') {\n ext.data[dataField] = data;\n }\n if (!extExistOnComponent) {\n this.component.extensions.push(ext);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_logger","data","_interopRequireDefault","require","_lodash","_constants","_autoDetectDeps","e","__esModule","default","updateDependenciesVersions","depsResolver","workspace","component","overridesDependencies","autoDetectOverrides","debugDependencies","updateExtensionsVersions","consumer","autoDetectConfigMerge","getAutoDetectConfigMerge","id","currentLane","getCurrentLaneObject","updateDependencies","dependencies","devDependencies","peerDependencies","updateExtensions","extensions","resolveVersion","depType","pkg","idFromBitMap","getIdFromBitMap","idFromComponentConfig","getIdFromComponentConfig","getFromComponentConfig","getFromBitMap","getFromUpdateDependentsOnLane","getIdFromUpdateDependentsOnLane","getFromOverrides","resolveFromOverrides","debugDep","find","dep","isEqualWithoutVersion","getFromDepPackageJson","hasVersion","getFromDepPackageJsonDueToWorkspacePolicy","isPkgInWorkspacePolicies","getFromMergeConfig","resolveFromMergeConfig","getFromDepPackageJsonDueToAutoDetectOverrides","isPkgInAutoDetectOverrides","getFromModel","getIdFromModelDeps","componentFromModel","strategies","strategy","strategyId","logger","debug","version","toString","name","versionResolvedFrom","replace","undefined","updateDependency","dependency","packageName","resolvedVersion","changeVersion","get","forEach","updateExtension","extension","extensionId","componentId","getAllDependenciesIds","searchWithoutVersion","existingIds","bitmapIdsFromCurrentLane","filterWithoutVersion","length","updateDependents","overrides","getComponentDependenciesWithVersion","isEmpty","Object","keys","idStr","toStringWithoutVersion","pkgName","getDependenciesToAddManually","found","validVersion","getValidVersion","DEPENDENCIES_FIELDS","some","depField","getWorkspacePolicyManifest","foundVersion","field"],"sources":["dependencies-versions-resolver.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { Workspace } from '@teambit/workspace';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { isEmpty } from 'lodash';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport Dependencies from '@teambit/legacy/dist/consumer/component/dependencies/dependencies';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { DEPENDENCIES_FIELDS } from '@teambit/legacy/dist/constants';\nimport Dependency from '@teambit/legacy/dist/consumer/component/dependencies/dependency';\nimport OverridesDependencies from './overrides-dependencies';\nimport { DebugComponentsDependency, getValidVersion } from './auto-detect-deps';\n\ntype DepType = 'dependencies' | 'devDependencies' | 'peerDependencies';\n\nexport async function updateDependenciesVersions(\n depsResolver: DependencyResolverMain,\n workspace: Workspace,\n component: Component,\n overridesDependencies: OverridesDependencies,\n autoDetectOverrides?: Record<string, any>,\n debugDependencies?: DebugComponentsDependency[],\n updateExtensionsVersions = true\n) {\n const consumer: Consumer = workspace.consumer;\n const autoDetectConfigMerge = workspace.getAutoDetectConfigMerge(component.id) || {};\n const currentLane = await workspace.getCurrentLaneObject();\n\n updateDependencies(component.dependencies, 'dependencies');\n updateDependencies(component.devDependencies, 'devDependencies');\n updateDependencies(component.peerDependencies, 'peerDependencies');\n if (updateExtensionsVersions) {\n updateExtensions(component.extensions);\n }\n\n /**\n * the `pkg` can be missing only in two scenarios:\n * 1: the dependency is using relative-paths, not the module path. (which bit-status shows an error and suggests\n * running bit link --rewire).\n * 2: this gets called for extension-id.\n */\n function resolveVersion(id: ComponentID, depType: DepType, pkg?: string): string | undefined {\n const idFromBitMap = getIdFromBitMap(id);\n const idFromComponentConfig = getIdFromComponentConfig(id);\n const getFromComponentConfig = () => idFromComponentConfig;\n const getFromBitMap = () => idFromBitMap || null;\n const getFromUpdateDependentsOnLane = () => getIdFromUpdateDependentsOnLane(id);\n // later, change this to return the version from the overrides.\n const getFromOverrides = () => resolveFromOverrides(id, depType, pkg);\n const debugDep = debugDependencies?.find((dep) => dep.id.isEqualWithoutVersion(id));\n // the id we get from the auto-detect is coming from the package.json of the dependency.\n const getFromDepPackageJson = () => (id.hasVersion() ? id : null);\n // In case it's resolved from the node_modules, and it's also in the ws policy or variants,\n // use the resolved version from the node_modules / package folder\n const getFromDepPackageJsonDueToWorkspacePolicy = () =>\n pkg && id.hasVersion() && isPkgInWorkspacePolicies(pkg) ? id : null;\n // merge config here is only auto-detected ones. their priority is less then the ws policy\n // otherwise, imagine you merge a lane, you don't like the dependency you got from the other lane, you run\n // bit-install to change it, but it won't do anything.\n const getFromMergeConfig = () => (pkg ? resolveFromMergeConfig(id, pkg) : null);\n const getFromDepPackageJsonDueToAutoDetectOverrides = () => (pkg && isPkgInAutoDetectOverrides(pkg) ? id : null);\n // If there is a version in the node_modules/package folder, but it's not in the ws policy,\n // prefer the version from the model over the version from the node_modules\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const getFromModel = () => getIdFromModelDeps(component.componentFromModel!, id);\n\n const strategies = [\n getFromComponentConfig,\n getFromOverrides,\n getFromBitMap,\n getFromUpdateDependentsOnLane,\n getFromDepPackageJsonDueToWorkspacePolicy,\n getFromMergeConfig,\n getFromDepPackageJsonDueToAutoDetectOverrides,\n getFromModel,\n getFromDepPackageJson,\n ];\n\n for (const strategy of strategies) {\n const strategyId = strategy();\n if (strategyId) {\n logger.debug(\n `found dependency version ${strategyId.version} for ${id.toString()} in strategy ${strategy.name}`\n );\n if (debugDep) {\n debugDep.versionResolvedFrom = strategy.name.replace('getFrom', '');\n debugDep.version = strategyId.version;\n }\n\n return strategyId.version;\n }\n }\n return undefined;\n }\n\n function updateDependency(dependency: Dependency, depType: DepType) {\n const { id, packageName } = dependency;\n const resolvedVersion = resolveVersion(id, depType, packageName);\n if (resolvedVersion) {\n dependency.id = dependency.id.changeVersion(resolvedVersion);\n }\n }\n function updateDependencies(dependencies: Dependencies, depType: DepType) {\n dependencies.get().forEach((dep) => updateDependency(dep, depType));\n }\n\n function updateExtension(extension: ExtensionDataEntry) {\n if (extension.extensionId) {\n const resolvedVersion = resolveVersion(extension.extensionId, 'devDependencies');\n if (resolvedVersion) {\n extension.extensionId = extension.extensionId.changeVersion(resolvedVersion);\n }\n }\n }\n function updateExtensions(extensions: ExtensionDataList) {\n extensions.forEach(updateExtension);\n }\n\n function getIdFromModelDeps(componentFromModel: Component, componentId: ComponentID): ComponentID | null {\n if (!componentFromModel) return null;\n const dependency = componentFromModel.getAllDependenciesIds().searchWithoutVersion(componentId);\n if (!dependency) return null;\n return dependency;\n }\n\n function getIdFromBitMap(componentId: ComponentID): ComponentID | null | undefined {\n const existingIds = consumer.bitmapIdsFromCurrentLane.filterWithoutVersion(componentId);\n return existingIds.length === 1 ? existingIds[0] : undefined;\n }\n\n function getIdFromUpdateDependentsOnLane(id: ComponentID) {\n const updateDependents = currentLane?.updateDependents;\n if (!updateDependents) return undefined;\n return updateDependents.find((dep) => dep.isEqualWithoutVersion(id));\n }\n\n function getIdFromComponentConfig(componentId: ComponentID): ComponentID | undefined {\n const dependencies = component.overrides.getComponentDependenciesWithVersion();\n if (isEmpty(dependencies)) return undefined;\n const dependency = Object.keys(dependencies).find((idStr) => componentId.toStringWithoutVersion() === idStr);\n if (!dependency) return undefined;\n return componentId.changeVersion(dependencies[dependency]);\n }\n\n function resolveFromOverrides(id: ComponentID, depType: DepType, pkgName?: string): ComponentID | undefined {\n if (!pkgName) return undefined;\n const dependencies = overridesDependencies.getDependenciesToAddManually();\n const found = dependencies?.[depType]?.[pkgName];\n if (!found) return undefined;\n const validVersion = getValidVersion(found);\n return validVersion ? id.changeVersion(validVersion) : undefined;\n }\n\n function isPkgInAutoDetectOverrides(pkgName: string): boolean {\n return DEPENDENCIES_FIELDS.some(\n (depField) => autoDetectOverrides?.[depField] && autoDetectOverrides[depField][pkgName]\n );\n }\n\n function isPkgInWorkspacePolicies(pkgName: string) {\n return depsResolver.getWorkspacePolicyManifest().dependencies?.[pkgName];\n }\n\n function resolveFromMergeConfig(id: ComponentID, pkgName: string): ComponentID | undefined {\n let foundVersion: string | undefined | null;\n DEPENDENCIES_FIELDS.forEach((field) => {\n if (autoDetectConfigMerge[field]?.[pkgName]) {\n foundVersion = autoDetectConfigMerge[field]?.[pkgName];\n foundVersion = foundVersion ? getValidVersion(foundVersion) : null;\n }\n });\n return foundVersion ? id.changeVersion(foundVersion) : undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_logger","data","_interopRequireDefault","require","_lodash","_constants","_autoDetectDeps","e","__esModule","default","updateDependenciesVersions","depsResolver","workspace","component","overridesDependencies","autoDetectOverrides","debugDependencies","updateExtensionsVersions","consumer","autoDetectConfigMerge","getAutoDetectConfigMerge","id","currentLane","getCurrentLaneObject","updateDependencies","dependencies","devDependencies","peerDependencies","updateExtensions","extensions","resolveVersion","depType","pkg","idFromBitMap","getIdFromBitMap","idFromComponentConfig","getIdFromComponentConfig","getFromComponentConfig","getFromBitMap","getFromUpdateDependentsOnLane","getIdFromUpdateDependentsOnLane","getFromOverrides","resolveFromOverrides","debugDep","find","dep","isEqualWithoutVersion","getFromDepPackageJson","hasVersion","getFromDepPackageJsonDueToWorkspacePolicy","isPkgInWorkspacePolicies","getFromMergeConfig","resolveFromMergeConfig","getFromDepPackageJsonDueToAutoDetectOverrides","isPkgInAutoDetectOverrides","getFromModel","getIdFromModelDeps","componentFromModel","strategies","strategy","strategyId","logger","debug","version","toString","name","versionResolvedFrom","replace","undefined","updateDependency","dependency","packageName","resolvedVersion","changeVersion","get","forEach","updateExtension","extension","extensionId","componentId","getAllDependenciesIds","searchWithoutVersion","existingIds","bitmapIdsFromCurrentLane","filterWithoutVersion","length","updateDependents","overrides","getComponentDependenciesWithVersion","isEmpty","Object","keys","idStr","toStringWithoutVersion","pkgName","getDependenciesToAddManually","found","validVersion","getValidVersion","DEPENDENCIES_FIELDS","some","depField","getWorkspacePolicyManifest","foundVersion","field"],"sources":["dependencies-versions-resolver.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { Workspace } from '@teambit/workspace';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { isEmpty } from 'lodash';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy.extension-data';\nimport Dependencies from '@teambit/legacy/dist/consumer/component/dependencies/dependencies';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { DEPENDENCIES_FIELDS } from '@teambit/legacy/dist/constants';\nimport Dependency from '@teambit/legacy/dist/consumer/component/dependencies/dependency';\nimport OverridesDependencies from './overrides-dependencies';\nimport { DebugComponentsDependency, getValidVersion } from './auto-detect-deps';\n\ntype DepType = 'dependencies' | 'devDependencies' | 'peerDependencies';\n\nexport async function updateDependenciesVersions(\n depsResolver: DependencyResolverMain,\n workspace: Workspace,\n component: Component,\n overridesDependencies: OverridesDependencies,\n autoDetectOverrides?: Record<string, any>,\n debugDependencies?: DebugComponentsDependency[],\n updateExtensionsVersions = true\n) {\n const consumer: Consumer = workspace.consumer;\n const autoDetectConfigMerge = workspace.getAutoDetectConfigMerge(component.id) || {};\n const currentLane = await workspace.getCurrentLaneObject();\n\n updateDependencies(component.dependencies, 'dependencies');\n updateDependencies(component.devDependencies, 'devDependencies');\n updateDependencies(component.peerDependencies, 'peerDependencies');\n if (updateExtensionsVersions) {\n updateExtensions(component.extensions);\n }\n\n /**\n * the `pkg` can be missing only in two scenarios:\n * 1: the dependency is using relative-paths, not the module path. (which bit-status shows an error and suggests\n * running bit link --rewire).\n * 2: this gets called for extension-id.\n */\n function resolveVersion(id: ComponentID, depType: DepType, pkg?: string): string | undefined {\n const idFromBitMap = getIdFromBitMap(id);\n const idFromComponentConfig = getIdFromComponentConfig(id);\n const getFromComponentConfig = () => idFromComponentConfig;\n const getFromBitMap = () => idFromBitMap || null;\n const getFromUpdateDependentsOnLane = () => getIdFromUpdateDependentsOnLane(id);\n // later, change this to return the version from the overrides.\n const getFromOverrides = () => resolveFromOverrides(id, depType, pkg);\n const debugDep = debugDependencies?.find((dep) => dep.id.isEqualWithoutVersion(id));\n // the id we get from the auto-detect is coming from the package.json of the dependency.\n const getFromDepPackageJson = () => (id.hasVersion() ? id : null);\n // In case it's resolved from the node_modules, and it's also in the ws policy or variants,\n // use the resolved version from the node_modules / package folder\n const getFromDepPackageJsonDueToWorkspacePolicy = () =>\n pkg && id.hasVersion() && isPkgInWorkspacePolicies(pkg) ? id : null;\n // merge config here is only auto-detected ones. their priority is less then the ws policy\n // otherwise, imagine you merge a lane, you don't like the dependency you got from the other lane, you run\n // bit-install to change it, but it won't do anything.\n const getFromMergeConfig = () => (pkg ? resolveFromMergeConfig(id, pkg) : null);\n const getFromDepPackageJsonDueToAutoDetectOverrides = () => (pkg && isPkgInAutoDetectOverrides(pkg) ? id : null);\n // If there is a version in the node_modules/package folder, but it's not in the ws policy,\n // prefer the version from the model over the version from the node_modules\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const getFromModel = () => getIdFromModelDeps(component.componentFromModel!, id);\n\n const strategies = [\n getFromComponentConfig,\n getFromOverrides,\n getFromBitMap,\n getFromUpdateDependentsOnLane,\n getFromDepPackageJsonDueToWorkspacePolicy,\n getFromMergeConfig,\n getFromDepPackageJsonDueToAutoDetectOverrides,\n getFromModel,\n getFromDepPackageJson,\n ];\n\n for (const strategy of strategies) {\n const strategyId = strategy();\n if (strategyId) {\n logger.debug(\n `found dependency version ${strategyId.version} for ${id.toString()} in strategy ${strategy.name}`\n );\n if (debugDep) {\n debugDep.versionResolvedFrom = strategy.name.replace('getFrom', '');\n debugDep.version = strategyId.version;\n }\n\n return strategyId.version;\n }\n }\n return undefined;\n }\n\n function updateDependency(dependency: Dependency, depType: DepType) {\n const { id, packageName } = dependency;\n const resolvedVersion = resolveVersion(id, depType, packageName);\n if (resolvedVersion) {\n dependency.id = dependency.id.changeVersion(resolvedVersion);\n }\n }\n function updateDependencies(dependencies: Dependencies, depType: DepType) {\n dependencies.get().forEach((dep) => updateDependency(dep, depType));\n }\n\n function updateExtension(extension: ExtensionDataEntry) {\n if (extension.extensionId) {\n const resolvedVersion = resolveVersion(extension.extensionId, 'devDependencies');\n if (resolvedVersion) {\n extension.extensionId = extension.extensionId.changeVersion(resolvedVersion);\n }\n }\n }\n function updateExtensions(extensions: ExtensionDataList) {\n extensions.forEach(updateExtension);\n }\n\n function getIdFromModelDeps(componentFromModel: Component, componentId: ComponentID): ComponentID | null {\n if (!componentFromModel) return null;\n const dependency = componentFromModel.getAllDependenciesIds().searchWithoutVersion(componentId);\n if (!dependency) return null;\n return dependency;\n }\n\n function getIdFromBitMap(componentId: ComponentID): ComponentID | null | undefined {\n const existingIds = consumer.bitmapIdsFromCurrentLane.filterWithoutVersion(componentId);\n return existingIds.length === 1 ? existingIds[0] : undefined;\n }\n\n function getIdFromUpdateDependentsOnLane(id: ComponentID) {\n const updateDependents = currentLane?.updateDependents;\n if (!updateDependents) return undefined;\n return updateDependents.find((dep) => dep.isEqualWithoutVersion(id));\n }\n\n function getIdFromComponentConfig(componentId: ComponentID): ComponentID | undefined {\n const dependencies = component.overrides.getComponentDependenciesWithVersion();\n if (isEmpty(dependencies)) return undefined;\n const dependency = Object.keys(dependencies).find((idStr) => componentId.toStringWithoutVersion() === idStr);\n if (!dependency) return undefined;\n return componentId.changeVersion(dependencies[dependency]);\n }\n\n function resolveFromOverrides(id: ComponentID, depType: DepType, pkgName?: string): ComponentID | undefined {\n if (!pkgName) return undefined;\n const dependencies = overridesDependencies.getDependenciesToAddManually();\n const found = dependencies?.[depType]?.[pkgName];\n if (!found) return undefined;\n const validVersion = getValidVersion(found);\n return validVersion ? id.changeVersion(validVersion) : undefined;\n }\n\n function isPkgInAutoDetectOverrides(pkgName: string): boolean {\n return DEPENDENCIES_FIELDS.some(\n (depField) => autoDetectOverrides?.[depField] && autoDetectOverrides[depField][pkgName]\n );\n }\n\n function isPkgInWorkspacePolicies(pkgName: string) {\n return depsResolver.getWorkspacePolicyManifest().dependencies?.[pkgName];\n }\n\n function resolveFromMergeConfig(id: ComponentID, pkgName: string): ComponentID | undefined {\n let foundVersion: string | undefined | null;\n DEPENDENCIES_FIELDS.forEach((field) => {\n if (autoDetectConfigMerge[field]?.[pkgName]) {\n foundVersion = autoDetectConfigMerge[field]?.[pkgName];\n foundVersion = foundVersion ? getValidVersion(foundVersion) : null;\n }\n });\n return foundVersion ? id.changeVersion(foundVersion) : undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { ComponentID } from '@teambit/component-id';
2
- import { DependenciesInfo } from '@teambit/legacy/dist/scope/graph/scope-graph';
2
+ import { DependenciesInfo } from '@teambit/legacy.dependency-graph';
3
3
  export type DependentsResults = {
4
4
  scopeDependents: DependenciesInfo[];
5
5
  workspaceDependents: DependenciesInfo[];
@@ -32,9 +32,9 @@ function _consumerNotFound() {
32
32
  };
33
33
  return data;
34
34
  }
35
- function _scopeGraph() {
36
- const data = _interopRequireDefault(require("@teambit/legacy/dist/scope/graph/scope-graph"));
37
- _scopeGraph = function () {
35
+ function _legacy() {
36
+ const data = require("@teambit/legacy.dependency-graph");
37
+ _legacy = function () {
38
38
  return data;
39
39
  };
40
40
  return data;
@@ -45,11 +45,10 @@ async function dependents(id) {
45
45
  if (!consumer) throw new (_consumerNotFound().default)(); // @todo: supports this on bare-scope.
46
46
  throwForNewComponent(id, consumer);
47
47
  const bitId = consumer.getParsedIdIfExist(id) || _componentId().ComponentID.fromString(id);
48
- const scopeGraph = await _scopeGraph().default.buildGraphFromScope(consumer.scope);
49
- const scopeDependencyGraph = new (_scopeGraph().default)(scopeGraph);
48
+ const scopeDependencyGraph = await _legacy().DependencyGraph.loadLatest(consumer.scope);
50
49
  const scopeDependents = scopeDependencyGraph.getDependentsInfo(bitId);
51
- const workspaceGraph = await _scopeGraph().default.buildGraphFromWorkspace(consumer, true);
52
- const workspaceDependencyGraph = new (_scopeGraph().default)(workspaceGraph);
50
+ const workspaceGraph = await _legacy().DependencyGraph.buildGraphFromWorkspace(consumer, true);
51
+ const workspaceDependencyGraph = new (_legacy().DependencyGraph)(workspaceGraph);
53
52
  const workspaceDependents = workspaceDependencyGraph.getDependentsInfo(bitId);
54
53
  return {
55
54
  scopeDependents,
@@ -1 +1 @@
1
- {"version":3,"names":["_componentId","data","require","_bitError","_consumer","_consumerNotFound","_interopRequireDefault","_scopeGraph","e","__esModule","default","dependents","id","consumer","loadConsumerIfExist","ConsumerNotFound","throwForNewComponent","bitId","getParsedIdIfExist","ComponentID","fromString","scopeGraph","DependencyGraph","buildGraphFromScope","scope","scopeDependencyGraph","scopeDependents","getDependentsInfo","workspaceGraph","buildGraphFromWorkspace","workspaceDependencyGraph","workspaceDependents","bitMap","getExistingBitId","_legacy","hasScope","BitError"],"sources":["dependents.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\nimport { loadConsumerIfExist, Consumer } from '@teambit/legacy/dist/consumer';\nimport ConsumerNotFound from '@teambit/legacy/dist/consumer/exceptions/consumer-not-found';\nimport DependencyGraph, { DependenciesInfo } from '@teambit/legacy/dist/scope/graph/scope-graph';\n\nexport type DependentsResults = {\n scopeDependents: DependenciesInfo[];\n workspaceDependents: DependenciesInfo[];\n id: ComponentID;\n};\n\nexport async function dependents(id: string): Promise<DependentsResults> {\n const consumer = await loadConsumerIfExist();\n if (!consumer) throw new ConsumerNotFound(); // @todo: supports this on bare-scope.\n throwForNewComponent(id, consumer);\n const bitId = consumer.getParsedIdIfExist(id) || ComponentID.fromString(id);\n const scopeGraph = await DependencyGraph.buildGraphFromScope(consumer.scope);\n const scopeDependencyGraph = new DependencyGraph(scopeGraph);\n const scopeDependents = scopeDependencyGraph.getDependentsInfo(bitId);\n const workspaceGraph = await DependencyGraph.buildGraphFromWorkspace(consumer, true);\n const workspaceDependencyGraph = new DependencyGraph(workspaceGraph);\n const workspaceDependents = workspaceDependencyGraph.getDependentsInfo(bitId);\n return { scopeDependents, workspaceDependents, id: bitId };\n}\n\nfunction throwForNewComponent(id: string, consumer: Consumer) {\n const bitId = consumer.bitMap.getExistingBitId(id, false);\n if (!bitId) return;\n if (!bitId._legacy.hasScope()) {\n throw new BitError(`${id} is a new component, there is no data about it in the scope`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,kBAAA;EAAA,MAAAJ,IAAA,GAAAK,sBAAA,CAAAJ,OAAA;EAAAG,iBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,YAAA;EAAA,MAAAN,IAAA,GAAAK,sBAAA,CAAAJ,OAAA;EAAAK,WAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiG,SAAAK,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQ1F,eAAeG,UAAUA,CAACC,EAAU,EAA8B;EACvE,MAAMC,QAAQ,GAAG,MAAM,IAAAC,+BAAmB,EAAC,CAAC;EAC5C,IAAI,CAACD,QAAQ,EAAE,MAAM,KAAIE,2BAAgB,EAAC,CAAC,CAAC,CAAC;EAC7CC,oBAAoB,CAACJ,EAAE,EAAEC,QAAQ,CAAC;EAClC,MAAMI,KAAK,GAAGJ,QAAQ,CAACK,kBAAkB,CAACN,EAAE,CAAC,IAAIO,0BAAW,CAACC,UAAU,CAACR,EAAE,CAAC;EAC3E,MAAMS,UAAU,GAAG,MAAMC,qBAAe,CAACC,mBAAmB,CAACV,QAAQ,CAACW,KAAK,CAAC;EAC5E,MAAMC,oBAAoB,GAAG,KAAIH,qBAAe,EAACD,UAAU,CAAC;EAC5D,MAAMK,eAAe,GAAGD,oBAAoB,CAACE,iBAAiB,CAACV,KAAK,CAAC;EACrE,MAAMW,cAAc,GAAG,MAAMN,qBAAe,CAACO,uBAAuB,CAAChB,QAAQ,EAAE,IAAI,CAAC;EACpF,MAAMiB,wBAAwB,GAAG,KAAIR,qBAAe,EAACM,cAAc,CAAC;EACpE,MAAMG,mBAAmB,GAAGD,wBAAwB,CAACH,iBAAiB,CAACV,KAAK,CAAC;EAC7E,OAAO;IAAES,eAAe;IAAEK,mBAAmB;IAAEnB,EAAE,EAAEK;EAAM,CAAC;AAC5D;AAEA,SAASD,oBAAoBA,CAACJ,EAAU,EAAEC,QAAkB,EAAE;EAC5D,MAAMI,KAAK,GAAGJ,QAAQ,CAACmB,MAAM,CAACC,gBAAgB,CAACrB,EAAE,EAAE,KAAK,CAAC;EACzD,IAAI,CAACK,KAAK,EAAE;EACZ,IAAI,CAACA,KAAK,CAACiB,OAAO,CAACC,QAAQ,CAAC,CAAC,EAAE;IAC7B,MAAM,KAAIC,oBAAQ,EAAC,GAAGxB,EAAE,6DAA6D,CAAC;EACxF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_componentId","data","require","_bitError","_consumer","_consumerNotFound","_interopRequireDefault","_legacy","e","__esModule","default","dependents","id","consumer","loadConsumerIfExist","ConsumerNotFound","throwForNewComponent","bitId","getParsedIdIfExist","ComponentID","fromString","scopeDependencyGraph","DependencyGraph","loadLatest","scope","scopeDependents","getDependentsInfo","workspaceGraph","buildGraphFromWorkspace","workspaceDependencyGraph","workspaceDependents","bitMap","getExistingBitId","hasScope","BitError"],"sources":["dependents.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\nimport { loadConsumerIfExist, Consumer } from '@teambit/legacy/dist/consumer';\nimport ConsumerNotFound from '@teambit/legacy/dist/consumer/exceptions/consumer-not-found';\nimport { DependencyGraph, DependenciesInfo } from '@teambit/legacy.dependency-graph';\n\nexport type DependentsResults = {\n scopeDependents: DependenciesInfo[];\n workspaceDependents: DependenciesInfo[];\n id: ComponentID;\n};\n\nexport async function dependents(id: string): Promise<DependentsResults> {\n const consumer = await loadConsumerIfExist();\n if (!consumer) throw new ConsumerNotFound(); // @todo: supports this on bare-scope.\n throwForNewComponent(id, consumer);\n const bitId = consumer.getParsedIdIfExist(id) || ComponentID.fromString(id);\n const scopeDependencyGraph = await DependencyGraph.loadLatest(consumer.scope);\n const scopeDependents = scopeDependencyGraph.getDependentsInfo(bitId);\n const workspaceGraph = await DependencyGraph.buildGraphFromWorkspace(consumer, true);\n const workspaceDependencyGraph = new DependencyGraph(workspaceGraph);\n const workspaceDependents = workspaceDependencyGraph.getDependentsInfo(bitId);\n return { scopeDependents, workspaceDependents, id: bitId };\n}\n\nfunction throwForNewComponent(id: string, consumer: Consumer) {\n const bitId = consumer.bitMap.getExistingBitId(id, false);\n if (!bitId) return;\n if (!bitId._legacy.hasScope()) {\n throw new BitError(`${id} is a new component, there is no data about it in the scope`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,kBAAA;EAAA,MAAAJ,IAAA,GAAAK,sBAAA,CAAAJ,OAAA;EAAAG,iBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAqF,SAAAK,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQ9E,eAAeG,UAAUA,CAACC,EAAU,EAA8B;EACvE,MAAMC,QAAQ,GAAG,MAAM,IAAAC,+BAAmB,EAAC,CAAC;EAC5C,IAAI,CAACD,QAAQ,EAAE,MAAM,KAAIE,2BAAgB,EAAC,CAAC,CAAC,CAAC;EAC7CC,oBAAoB,CAACJ,EAAE,EAAEC,QAAQ,CAAC;EAClC,MAAMI,KAAK,GAAGJ,QAAQ,CAACK,kBAAkB,CAACN,EAAE,CAAC,IAAIO,0BAAW,CAACC,UAAU,CAACR,EAAE,CAAC;EAC3E,MAAMS,oBAAoB,GAAG,MAAMC,yBAAe,CAACC,UAAU,CAACV,QAAQ,CAACW,KAAK,CAAC;EAC7E,MAAMC,eAAe,GAAGJ,oBAAoB,CAACK,iBAAiB,CAACT,KAAK,CAAC;EACrE,MAAMU,cAAc,GAAG,MAAML,yBAAe,CAACM,uBAAuB,CAACf,QAAQ,EAAE,IAAI,CAAC;EACpF,MAAMgB,wBAAwB,GAAG,KAAIP,yBAAe,EAACK,cAAc,CAAC;EACpE,MAAMG,mBAAmB,GAAGD,wBAAwB,CAACH,iBAAiB,CAACT,KAAK,CAAC;EAC7E,OAAO;IAAEQ,eAAe;IAAEK,mBAAmB;IAAElB,EAAE,EAAEK;EAAM,CAAC;AAC5D;AAEA,SAASD,oBAAoBA,CAACJ,EAAU,EAAEC,QAAkB,EAAE;EAC5D,MAAMI,KAAK,GAAGJ,QAAQ,CAACkB,MAAM,CAACC,gBAAgB,CAACpB,EAAE,EAAE,KAAK,CAAC;EACzD,IAAI,CAACK,KAAK,EAAE;EACZ,IAAI,CAACA,KAAK,CAACV,OAAO,CAAC0B,QAAQ,CAAC,CAAC,EAAE;IAC7B,MAAM,KAAIC,oBAAQ,EAAC,GAAGtB,EAAE,6DAA6D,CAAC;EACxF;AACF","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import { ComponentID } from '@teambit/component-id';
2
- import { DependenciesInfo } from '@teambit/legacy/dist/scope/graph/scope-graph';
2
+ import { DependenciesInfo } from '@teambit/legacy.dependency-graph';
3
3
  export declare function generateDependenciesInfoTable(dependenciesInfo: DependenciesInfo[], id: ComponentID): string;
4
4
  export declare function generateDependentsInfoTable(dependentsInfo: DependenciesInfo[], id: ComponentID): string;
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_table","e","__esModule","default","getAllDependenciesRows","dependenciesInfoArray","id","map","dependency","row","push","toString","depth","parent","dependencyType","generateDependenciesInfoTable","dependenciesInfo","length","dependenciesHeader","c","cyan","allDependenciesRows","dependenciesTable","table","concat","bold","generateDependentsInfoTable","dependentsInfo","dependentsHeader","dependentsTable"],"sources":["template.ts"],"sourcesContent":["import c from 'chalk';\nimport { table } from 'table';\nimport { ComponentID } from '@teambit/component-id';\nimport { DependenciesInfo } from '@teambit/legacy/dist/scope/graph/scope-graph';\n\nfunction getAllDependenciesRows(dependenciesInfoArray: DependenciesInfo[], id: ComponentID): Array<string[]> {\n return dependenciesInfoArray.map((dependency: DependenciesInfo) => {\n const row: string[] = [];\n row.push(dependency.id.toString());\n row.push(dependency.depth.toString());\n row.push(dependency.parent === id.toString() ? '<self>' : dependency.parent);\n row.push(dependency.dependencyType);\n return row;\n });\n}\n\nexport function generateDependenciesInfoTable(dependenciesInfo: DependenciesInfo[], id: ComponentID) {\n if (!dependenciesInfo.length) {\n return '';\n }\n\n const dependenciesHeader: string[][] = [];\n dependenciesHeader.push([\n c.cyan('Dependency ID'),\n c.cyan('Depth'),\n c.cyan('Immediate Dependent'),\n c.cyan('Dependency type'),\n ]);\n const allDependenciesRows = getAllDependenciesRows(dependenciesInfo, id);\n\n const dependenciesTable = table(dependenciesHeader.concat(allDependenciesRows));\n return `\\n${c.bold('Dependencies Details')}\\n${dependenciesTable}`;\n}\n\nexport function generateDependentsInfoTable(dependentsInfo: DependenciesInfo[], id: ComponentID) {\n if (!dependentsInfo.length) {\n return '';\n }\n const dependentsHeader: string[][] = [];\n dependentsHeader.push([\n c.cyan('Dependent ID'),\n c.cyan('Depth'),\n c.cyan('Immediate Dependency'),\n c.cyan('Dependent type'),\n ]);\n const allDependenciesRows = getAllDependenciesRows(dependentsInfo, id);\n const dependentsTable = table(dependentsHeader.concat(allDependenciesRows));\n return `\\n${c.bold('Dependents Details')}\\n${dependentsTable}`;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,OAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8B,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI9B,SAASG,sBAAsBA,CAACC,qBAAyC,EAAEC,EAAe,EAAmB;EAC3G,OAAOD,qBAAqB,CAACE,GAAG,CAAEC,UAA4B,IAAK;IACjE,MAAMC,GAAa,GAAG,EAAE;IACxBA,GAAG,CAACC,IAAI,CAACF,UAAU,CAACF,EAAE,CAACK,QAAQ,CAAC,CAAC,CAAC;IAClCF,GAAG,CAACC,IAAI,CAACF,UAAU,CAACI,KAAK,CAACD,QAAQ,CAAC,CAAC,CAAC;IACrCF,GAAG,CAACC,IAAI,CAACF,UAAU,CAACK,MAAM,KAAKP,EAAE,CAACK,QAAQ,CAAC,CAAC,GAAG,QAAQ,GAAGH,UAAU,CAACK,MAAM,CAAC;IAC5EJ,GAAG,CAACC,IAAI,CAACF,UAAU,CAACM,cAAc,CAAC;IACnC,OAAOL,GAAG;EACZ,CAAC,CAAC;AACJ;AAEO,SAASM,6BAA6BA,CAACC,gBAAoC,EAAEV,EAAe,EAAE;EACnG,IAAI,CAACU,gBAAgB,CAACC,MAAM,EAAE;IAC5B,OAAO,EAAE;EACX;EAEA,MAAMC,kBAA8B,GAAG,EAAE;EACzCA,kBAAkB,CAACR,IAAI,CAAC,CACtBS,gBAAC,CAACC,IAAI,CAAC,eAAe,CAAC,EACvBD,gBAAC,CAACC,IAAI,CAAC,OAAO,CAAC,EACfD,gBAAC,CAACC,IAAI,CAAC,qBAAqB,CAAC,EAC7BD,gBAAC,CAACC,IAAI,CAAC,iBAAiB,CAAC,CAC1B,CAAC;EACF,MAAMC,mBAAmB,GAAGjB,sBAAsB,CAACY,gBAAgB,EAAEV,EAAE,CAAC;EAExE,MAAMgB,iBAAiB,GAAG,IAAAC,cAAK,EAACL,kBAAkB,CAACM,MAAM,CAACH,mBAAmB,CAAC,CAAC;EAC/E,OAAO,KAAKF,gBAAC,CAACM,IAAI,CAAC,sBAAsB,CAAC,KAAKH,iBAAiB,EAAE;AACpE;AAEO,SAASI,2BAA2BA,CAACC,cAAkC,EAAErB,EAAe,EAAE;EAC/F,IAAI,CAACqB,cAAc,CAACV,MAAM,EAAE;IAC1B,OAAO,EAAE;EACX;EACA,MAAMW,gBAA4B,GAAG,EAAE;EACvCA,gBAAgB,CAAClB,IAAI,CAAC,CACpBS,gBAAC,CAACC,IAAI,CAAC,cAAc,CAAC,EACtBD,gBAAC,CAACC,IAAI,CAAC,OAAO,CAAC,EACfD,gBAAC,CAACC,IAAI,CAAC,sBAAsB,CAAC,EAC9BD,gBAAC,CAACC,IAAI,CAAC,gBAAgB,CAAC,CACzB,CAAC;EACF,MAAMC,mBAAmB,GAAGjB,sBAAsB,CAACuB,cAAc,EAAErB,EAAE,CAAC;EACtE,MAAMuB,eAAe,GAAG,IAAAN,cAAK,EAACK,gBAAgB,CAACJ,MAAM,CAACH,mBAAmB,CAAC,CAAC;EAC3E,OAAO,KAAKF,gBAAC,CAACM,IAAI,CAAC,oBAAoB,CAAC,KAAKI,eAAe,EAAE;AAChE","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_table","e","__esModule","default","getAllDependenciesRows","dependenciesInfoArray","id","map","dependency","row","push","toString","depth","parent","dependencyType","generateDependenciesInfoTable","dependenciesInfo","length","dependenciesHeader","c","cyan","allDependenciesRows","dependenciesTable","table","concat","bold","generateDependentsInfoTable","dependentsInfo","dependentsHeader","dependentsTable"],"sources":["template.ts"],"sourcesContent":["import c from 'chalk';\nimport { table } from 'table';\nimport { ComponentID } from '@teambit/component-id';\nimport { DependenciesInfo } from '@teambit/legacy.dependency-graph';\n\nfunction getAllDependenciesRows(dependenciesInfoArray: DependenciesInfo[], id: ComponentID): Array<string[]> {\n return dependenciesInfoArray.map((dependency: DependenciesInfo) => {\n const row: string[] = [];\n row.push(dependency.id.toString());\n row.push(dependency.depth.toString());\n row.push(dependency.parent === id.toString() ? '<self>' : dependency.parent);\n row.push(dependency.dependencyType);\n return row;\n });\n}\n\nexport function generateDependenciesInfoTable(dependenciesInfo: DependenciesInfo[], id: ComponentID) {\n if (!dependenciesInfo.length) {\n return '';\n }\n\n const dependenciesHeader: string[][] = [];\n dependenciesHeader.push([\n c.cyan('Dependency ID'),\n c.cyan('Depth'),\n c.cyan('Immediate Dependent'),\n c.cyan('Dependency type'),\n ]);\n const allDependenciesRows = getAllDependenciesRows(dependenciesInfo, id);\n\n const dependenciesTable = table(dependenciesHeader.concat(allDependenciesRows));\n return `\\n${c.bold('Dependencies Details')}\\n${dependenciesTable}`;\n}\n\nexport function generateDependentsInfoTable(dependentsInfo: DependenciesInfo[], id: ComponentID) {\n if (!dependentsInfo.length) {\n return '';\n }\n const dependentsHeader: string[][] = [];\n dependentsHeader.push([\n c.cyan('Dependent ID'),\n c.cyan('Depth'),\n c.cyan('Immediate Dependency'),\n c.cyan('Dependent type'),\n ]);\n const allDependenciesRows = getAllDependenciesRows(dependentsInfo, id);\n const dependentsTable = table(dependentsHeader.concat(allDependenciesRows));\n return `\\n${c.bold('Dependents Details')}\\n${dependentsTable}`;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,OAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8B,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI9B,SAASG,sBAAsBA,CAACC,qBAAyC,EAAEC,EAAe,EAAmB;EAC3G,OAAOD,qBAAqB,CAACE,GAAG,CAAEC,UAA4B,IAAK;IACjE,MAAMC,GAAa,GAAG,EAAE;IACxBA,GAAG,CAACC,IAAI,CAACF,UAAU,CAACF,EAAE,CAACK,QAAQ,CAAC,CAAC,CAAC;IAClCF,GAAG,CAACC,IAAI,CAACF,UAAU,CAACI,KAAK,CAACD,QAAQ,CAAC,CAAC,CAAC;IACrCF,GAAG,CAACC,IAAI,CAACF,UAAU,CAACK,MAAM,KAAKP,EAAE,CAACK,QAAQ,CAAC,CAAC,GAAG,QAAQ,GAAGH,UAAU,CAACK,MAAM,CAAC;IAC5EJ,GAAG,CAACC,IAAI,CAACF,UAAU,CAACM,cAAc,CAAC;IACnC,OAAOL,GAAG;EACZ,CAAC,CAAC;AACJ;AAEO,SAASM,6BAA6BA,CAACC,gBAAoC,EAAEV,EAAe,EAAE;EACnG,IAAI,CAACU,gBAAgB,CAACC,MAAM,EAAE;IAC5B,OAAO,EAAE;EACX;EAEA,MAAMC,kBAA8B,GAAG,EAAE;EACzCA,kBAAkB,CAACR,IAAI,CAAC,CACtBS,gBAAC,CAACC,IAAI,CAAC,eAAe,CAAC,EACvBD,gBAAC,CAACC,IAAI,CAAC,OAAO,CAAC,EACfD,gBAAC,CAACC,IAAI,CAAC,qBAAqB,CAAC,EAC7BD,gBAAC,CAACC,IAAI,CAAC,iBAAiB,CAAC,CAC1B,CAAC;EACF,MAAMC,mBAAmB,GAAGjB,sBAAsB,CAACY,gBAAgB,EAAEV,EAAE,CAAC;EAExE,MAAMgB,iBAAiB,GAAG,IAAAC,cAAK,EAACL,kBAAkB,CAACM,MAAM,CAACH,mBAAmB,CAAC,CAAC;EAC/E,OAAO,KAAKF,gBAAC,CAACM,IAAI,CAAC,sBAAsB,CAAC,KAAKH,iBAAiB,EAAE;AACpE;AAEO,SAASI,2BAA2BA,CAACC,cAAkC,EAAErB,EAAe,EAAE;EAC/F,IAAI,CAACqB,cAAc,CAACV,MAAM,EAAE;IAC1B,OAAO,EAAE;EACX;EACA,MAAMW,gBAA4B,GAAG,EAAE;EACvCA,gBAAgB,CAAClB,IAAI,CAAC,CACpBS,gBAAC,CAACC,IAAI,CAAC,cAAc,CAAC,EACtBD,gBAAC,CAACC,IAAI,CAAC,OAAO,CAAC,EACfD,gBAAC,CAACC,IAAI,CAAC,sBAAsB,CAAC,EAC9BD,gBAAC,CAACC,IAAI,CAAC,gBAAgB,CAAC,CACzB,CAAC;EACF,MAAMC,mBAAmB,GAAGjB,sBAAsB,CAACuB,cAAc,EAAErB,EAAE,CAAC;EACtE,MAAMuB,eAAe,GAAG,IAAAN,cAAK,EAACK,gBAAgB,CAACJ,MAAM,CAACH,mBAAmB,CAAC,CAAC;EAC3E,OAAO,KAAKF,gBAAC,CAACM,IAAI,CAAC,oBAAoB,CAAC,KAAKI,eAAe,EAAE;AAChE","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/dependencies",
3
- "version": "1.0.483",
3
+ "version": "1.0.485",
4
4
  "homepage": "https://bit.cloud/teambit/dependencies/dependencies",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.dependencies",
8
8
  "name": "dependencies",
9
- "version": "1.0.483"
9
+ "version": "1.0.485"
10
10
  },
11
11
  "dependencies": {
12
12
  "archy": "1.0.0",
@@ -38,21 +38,23 @@
38
38
  "@teambit/styling.deps-detectors.detective-sass": "0.0.9",
39
39
  "@teambit/styling.deps-detectors.detective-scss": "0.0.9",
40
40
  "@teambit/typescript.deps-detectors.detective-typescript": "0.0.8",
41
- "@teambit/cli": "0.0.1060",
42
- "@teambit/graph": "1.0.483",
43
- "@teambit/aspect-loader": "1.0.483",
41
+ "@teambit/cli": "0.0.1062",
42
+ "@teambit/graph": "1.0.485",
43
+ "@teambit/aspect-loader": "1.0.485",
44
44
  "@teambit/component-package-version": "0.0.434",
45
- "@teambit/dependency-resolver": "1.0.483",
46
- "@teambit/dev-files": "1.0.483",
47
- "@teambit/logger": "0.0.1153",
48
- "@teambit/scope": "1.0.483",
49
- "@teambit/workspace": "1.0.483",
50
- "@teambit/component.sources": "0.0.50",
45
+ "@teambit/dependency-resolver": "1.0.485",
46
+ "@teambit/dev-files": "1.0.485",
47
+ "@teambit/logger": "0.0.1155",
48
+ "@teambit/scope": "1.0.485",
49
+ "@teambit/workspace": "1.0.485",
50
+ "@teambit/legacy.dependency-graph": "0.0.3",
51
+ "@teambit/component.sources": "0.0.52",
51
52
  "@teambit/legacy.utils": "0.0.7",
52
53
  "@teambit/toolbox.path.path": "0.0.4",
53
54
  "@teambit/component-issues": "0.0.151",
54
- "@teambit/legacy.bit-map": "0.0.55",
55
+ "@teambit/legacy.bit-map": "0.0.57",
55
56
  "@teambit/toolbox.fs.extension-getter": "0.0.1",
57
+ "@teambit/legacy.extension-data": "0.0.2",
56
58
  "@teambit/toolbox.fs.last-modified": "0.0.1"
57
59
  },
58
60
  "devDependencies": {
@@ -66,8 +68,8 @@
66
68
  "@types/mocha": "9.1.0",
67
69
  "@teambit/defender.fs.global-bit-temp-dir": "0.0.1",
68
70
  "@teambit/harmony.envs.core-aspect-env": "0.0.63",
69
- "@teambit/component.testing.mock-components": "0.0.257",
70
- "@teambit/harmony.testing.load-aspect": "0.0.252",
71
+ "@teambit/component.testing.mock-components": "0.0.259",
72
+ "@teambit/harmony.testing.load-aspect": "0.0.254",
71
73
  "@teambit/workspace.testing.mock-workspace": "0.0.27"
72
74
  },
73
75
  "peerDependencies": {