@teambit/dependencies 1.0.101 → 1.0.103

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.
@@ -2,7 +2,6 @@ import R from 'ramda';
2
2
  import path from 'path';
3
3
  import { uniq } from 'lodash';
4
4
  import { IssuesClasses } from '@teambit/component-issues';
5
- import { Consumer } from '@teambit/legacy/dist/consumer';
6
5
  import logger from '@teambit/legacy/dist/logger/logger';
7
6
  import { getLastModifiedComponentTimestampMs } from '@teambit/legacy/dist/utils/fs/last-modified';
8
7
  import { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';
@@ -21,21 +20,17 @@ import { ApplyOverrides } from './apply-overrides';
21
20
 
22
21
  export class DependenciesLoader {
23
22
  private idStr: string;
24
- private consumer: Consumer;
25
23
  constructor(
26
24
  private component: Component,
27
- private workspace: Workspace,
28
25
  private depsResolver: DependencyResolverMain,
29
26
  private devFiles: DevFilesMain,
30
- private aspectLoader: AspectLoaderMain,
31
- private opts: DependencyLoaderOpts
27
+ private aspectLoader: AspectLoaderMain
32
28
  ) {
33
- this.consumer = this.workspace.consumer;
34
29
  this.idStr = this.component.id.toString();
35
30
  }
36
- async load() {
37
- const { dependenciesData, debugDependenciesData } = await this.getDependenciesData();
38
- const applyOverrides = new ApplyOverrides(this.component, this.depsResolver, this.workspace);
31
+ async load(workspace: Workspace, opts: DependencyLoaderOpts) {
32
+ const { dependenciesData, debugDependenciesData } = await this.getDependenciesData(workspace, opts);
33
+ const applyOverrides = new ApplyOverrides(this.component, this.depsResolver, workspace);
39
34
  applyOverrides.allDependencies = dependenciesData.allDependencies;
40
35
  applyOverrides.allPackagesDependencies = dependenciesData.allPackagesDependencies;
41
36
  if (debugDependenciesData) {
@@ -47,7 +42,7 @@ export class DependenciesLoader {
47
42
  this.setDependenciesDataOnComponent(results.dependenciesData, results.overridesDependencies);
48
43
  updateDependenciesVersions(
49
44
  this.depsResolver,
50
- this.workspace,
45
+ workspace,
51
46
  this.component,
52
47
  results.overridesDependencies,
53
48
  results.autoDetectOverrides,
@@ -61,28 +56,38 @@ export class DependenciesLoader {
61
56
  };
62
57
  }
63
58
 
64
- private async getDependenciesData(): Promise<{
59
+ async loadFromScope(dependenciesData: Partial<DependenciesData>) {
60
+ const applyOverrides = new ApplyOverrides(this.component, this.depsResolver);
61
+ const { allDependencies, allPackagesDependencies, issues } = dependenciesData;
62
+ if (allDependencies) applyOverrides.allDependencies = allDependencies;
63
+ if (allPackagesDependencies) applyOverrides.allPackagesDependencies = allPackagesDependencies;
64
+ if (issues) applyOverrides.issues = issues;
65
+ const results = await applyOverrides.getDependenciesData();
66
+ this.setDependenciesDataOnComponent(results.dependenciesData, results.overridesDependencies);
67
+ }
68
+
69
+ private async getDependenciesData(
70
+ workspace: Workspace,
71
+ opts: DependencyLoaderOpts
72
+ ): Promise<{
65
73
  dependenciesData: DependenciesData;
66
74
  debugDependenciesData?: DebugDependencies;
67
75
  }> {
68
- const depsDataFromCache = await this.getDependenciesDataFromCacheIfPossible();
76
+ const depsDataFromCache = await this.getDependenciesDataFromCacheIfPossible(workspace, opts);
69
77
  if (depsDataFromCache) {
70
78
  return { dependenciesData: depsDataFromCache };
71
79
  }
72
80
 
73
81
  const autoDetectDeps = new AutoDetectDeps(
74
82
  this.component,
75
- this.workspace,
83
+ workspace,
76
84
  this.devFiles,
77
85
  this.depsResolver,
78
86
  this.aspectLoader
79
87
  );
80
- const results = await autoDetectDeps.getDependenciesData(
81
- this.opts.cacheResolvedDependencies,
82
- this.opts.cacheProjectAst
83
- );
88
+ const results = await autoDetectDeps.getDependenciesData(opts.cacheResolvedDependencies, opts.cacheProjectAst);
84
89
  if (this.shouldSaveInCache(results.dependenciesData)) {
85
- await this.consumer.componentFsCache.saveDependenciesDataInCache(
90
+ await workspace.consumer.componentFsCache.saveDependenciesDataInCache(
86
91
  this.idStr,
87
92
  results.dependenciesData.serialize()
88
93
  );
@@ -91,11 +96,14 @@ export class DependenciesLoader {
91
96
  return results;
92
97
  }
93
98
 
94
- private async getDependenciesDataFromCacheIfPossible(): Promise<DependenciesData | null> {
95
- if (!this.opts.useDependenciesCache) {
99
+ private async getDependenciesDataFromCacheIfPossible(
100
+ workspace: Workspace,
101
+ opts: DependencyLoaderOpts
102
+ ): Promise<DependenciesData | null> {
103
+ if (!opts.useDependenciesCache) {
96
104
  return null;
97
105
  }
98
- const cacheData = await this.consumer.componentFsCache.getDependenciesDataFromCache(this.idStr);
106
+ const cacheData = await workspace.consumer.componentFsCache.getDependenciesDataFromCache(this.idStr);
99
107
  if (!cacheData) {
100
108
  return null; // probably the first time, so it wasn't entered to the cache yet.
101
109
  }
@@ -107,7 +115,7 @@ export class DependenciesLoader {
107
115
  return null;
108
116
  }
109
117
  const filesPaths = this.component.files.map((f) => f.path);
110
- const componentConfigPath = path.join(this.consumer.getPath(), rootDir, COMPONENT_CONFIG_FILE_NAME);
118
+ const componentConfigPath = path.join(workspace.path, rootDir, COMPONENT_CONFIG_FILE_NAME);
111
119
  filesPaths.push(componentConfigPath);
112
120
  const lastModifiedComponent = await getLastModifiedComponentTimestampMs(rootDir, filesPaths);
113
121
  const wasModifiedAfterCache = lastModifiedComponent > cacheData.timestamp;
@@ -9,19 +9,17 @@ import { DebugDependencies } from './auto-detect-deps';
9
9
  import OverridesDependencies from './overrides-dependencies';
10
10
  export declare class DependenciesLoader {
11
11
  private component;
12
- private workspace;
13
12
  private depsResolver;
14
13
  private devFiles;
15
14
  private aspectLoader;
16
- private opts;
17
15
  private idStr;
18
- private consumer;
19
- constructor(component: Component, workspace: Workspace, depsResolver: DependencyResolverMain, devFiles: DevFilesMain, aspectLoader: AspectLoaderMain, opts: DependencyLoaderOpts);
20
- load(): Promise<{
16
+ constructor(component: Component, depsResolver: DependencyResolverMain, devFiles: DevFilesMain, aspectLoader: AspectLoaderMain);
17
+ load(workspace: Workspace, opts: DependencyLoaderOpts): Promise<{
21
18
  dependenciesData: DependenciesData;
22
19
  overridesDependencies: OverridesDependencies;
23
20
  debugDependenciesData: DebugDependencies;
24
21
  }>;
22
+ loadFromScope(dependenciesData: Partial<DependenciesData>): Promise<void>;
25
23
  private getDependenciesData;
26
24
  private getDependenciesDataFromCacheIfPossible;
27
25
  private shouldSaveInCache;
@@ -100,24 +100,20 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
100
100
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
101
101
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
102
102
  class DependenciesLoader {
103
- constructor(component, workspace, depsResolver, devFiles, aspectLoader, opts) {
103
+ constructor(component, depsResolver, devFiles, aspectLoader) {
104
104
  this.component = component;
105
- this.workspace = workspace;
106
105
  this.depsResolver = depsResolver;
107
106
  this.devFiles = devFiles;
108
107
  this.aspectLoader = aspectLoader;
109
- this.opts = opts;
110
108
  _defineProperty(this, "idStr", void 0);
111
- _defineProperty(this, "consumer", void 0);
112
- this.consumer = this.workspace.consumer;
113
109
  this.idStr = this.component.id.toString();
114
110
  }
115
- async load() {
111
+ async load(workspace, opts) {
116
112
  const {
117
113
  dependenciesData,
118
114
  debugDependenciesData
119
- } = await this.getDependenciesData();
120
- const applyOverrides = new (_applyOverrides().ApplyOverrides)(this.component, this.depsResolver, this.workspace);
115
+ } = await this.getDependenciesData(workspace, opts);
116
+ const applyOverrides = new (_applyOverrides().ApplyOverrides)(this.component, this.depsResolver, workspace);
121
117
  applyOverrides.allDependencies = dependenciesData.allDependencies;
122
118
  applyOverrides.allPackagesDependencies = dependenciesData.allPackagesDependencies;
123
119
  if (debugDependenciesData) {
@@ -127,33 +123,46 @@ class DependenciesLoader {
127
123
  applyOverrides.issues = dependenciesData.issues;
128
124
  const results = await applyOverrides.getDependenciesData();
129
125
  this.setDependenciesDataOnComponent(results.dependenciesData, results.overridesDependencies);
130
- (0, _dependenciesVersionsResolver().updateDependenciesVersions)(this.depsResolver, this.workspace, this.component, results.overridesDependencies, results.autoDetectOverrides, applyOverrides.debugDependenciesData.components);
126
+ (0, _dependenciesVersionsResolver().updateDependenciesVersions)(this.depsResolver, workspace, this.component, results.overridesDependencies, results.autoDetectOverrides, applyOverrides.debugDependenciesData.components);
131
127
  return {
132
128
  dependenciesData: results.dependenciesData,
133
129
  overridesDependencies: results.overridesDependencies,
134
130
  debugDependenciesData: applyOverrides.debugDependenciesData
135
131
  };
136
132
  }
137
- async getDependenciesData() {
138
- const depsDataFromCache = await this.getDependenciesDataFromCacheIfPossible();
133
+ async loadFromScope(dependenciesData) {
134
+ const applyOverrides = new (_applyOverrides().ApplyOverrides)(this.component, this.depsResolver);
135
+ const {
136
+ allDependencies,
137
+ allPackagesDependencies,
138
+ issues
139
+ } = dependenciesData;
140
+ if (allDependencies) applyOverrides.allDependencies = allDependencies;
141
+ if (allPackagesDependencies) applyOverrides.allPackagesDependencies = allPackagesDependencies;
142
+ if (issues) applyOverrides.issues = issues;
143
+ const results = await applyOverrides.getDependenciesData();
144
+ this.setDependenciesDataOnComponent(results.dependenciesData, results.overridesDependencies);
145
+ }
146
+ async getDependenciesData(workspace, opts) {
147
+ const depsDataFromCache = await this.getDependenciesDataFromCacheIfPossible(workspace, opts);
139
148
  if (depsDataFromCache) {
140
149
  return {
141
150
  dependenciesData: depsDataFromCache
142
151
  };
143
152
  }
144
- const autoDetectDeps = new (_autoDetectDeps().AutoDetectDeps)(this.component, this.workspace, this.devFiles, this.depsResolver, this.aspectLoader);
145
- const results = await autoDetectDeps.getDependenciesData(this.opts.cacheResolvedDependencies, this.opts.cacheProjectAst);
153
+ const autoDetectDeps = new (_autoDetectDeps().AutoDetectDeps)(this.component, workspace, this.devFiles, this.depsResolver, this.aspectLoader);
154
+ const results = await autoDetectDeps.getDependenciesData(opts.cacheResolvedDependencies, opts.cacheProjectAst);
146
155
  if (this.shouldSaveInCache(results.dependenciesData)) {
147
- await this.consumer.componentFsCache.saveDependenciesDataInCache(this.idStr, results.dependenciesData.serialize());
156
+ await workspace.consumer.componentFsCache.saveDependenciesDataInCache(this.idStr, results.dependenciesData.serialize());
148
157
  }
149
158
  return results;
150
159
  }
151
- async getDependenciesDataFromCacheIfPossible() {
160
+ async getDependenciesDataFromCacheIfPossible(workspace, opts) {
152
161
  var _this$component$compo;
153
- if (!this.opts.useDependenciesCache) {
162
+ if (!opts.useDependenciesCache) {
154
163
  return null;
155
164
  }
156
- const cacheData = await this.consumer.componentFsCache.getDependenciesDataFromCache(this.idStr);
165
+ const cacheData = await workspace.consumer.componentFsCache.getDependenciesDataFromCache(this.idStr);
157
166
  if (!cacheData) {
158
167
  return null; // probably the first time, so it wasn't entered to the cache yet.
159
168
  }
@@ -166,7 +175,7 @@ class DependenciesLoader {
166
175
  return null;
167
176
  }
168
177
  const filesPaths = this.component.files.map(f => f.path);
169
- const componentConfigPath = _path().default.join(this.consumer.getPath(), rootDir, _constants().COMPONENT_CONFIG_FILE_NAME);
178
+ const componentConfigPath = _path().default.join(workspace.path, rootDir, _constants().COMPONENT_CONFIG_FILE_NAME);
170
179
  filesPaths.push(componentConfigPath);
171
180
  const lastModifiedComponent = await (0, _lastModified().getLastModifiedComponentTimestampMs)(rootDir, filesPaths);
172
181
  const wasModifiedAfterCache = lastModifiedComponent > cacheData.timestamp;
@@ -1 +1 @@
1
- {"version":3,"names":["_ramda","data","_interopRequireDefault","require","_path","_lodash","_componentIssues","_logger","_lastModified","_config","_constants","_dependencyResolver","_dependenciesData","_dependenciesVersionsResolver","_autoDetectDeps","_applyOverrides","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","DependenciesLoader","constructor","component","workspace","depsResolver","devFiles","aspectLoader","opts","consumer","idStr","id","toString","load","dependenciesData","debugDependenciesData","getDependenciesData","applyOverrides","ApplyOverrides","allDependencies","allPackagesDependencies","issues","results","setDependenciesDataOnComponent","overridesDependencies","updateDependenciesVersions","autoDetectOverrides","components","depsDataFromCache","getDependenciesDataFromCacheIfPossible","autoDetectDeps","AutoDetectDeps","cacheResolvedDependencies","cacheProjectAst","shouldSaveInCache","componentFsCache","saveDependenciesDataInCache","serialize","_this$component$compo","useDependenciesCache","cacheData","getDependenciesDataFromCache","rootDir","componentMap","getComponentDir","filesPaths","files","map","f","path","componentConfigPath","join","getPath","COMPONENT_CONFIG_FILE_NAME","push","lastModifiedComponent","getLastModifiedComponentTimestampMs","wasModifiedAfterCache","timestamp","logger","debug","DependenciesData","deserialize","shouldBlockSavingInCache","setDependencies","dependencies","setDevDependencies","devDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","missingFromOverrides","missingPackageDependencies","R","isEmpty","getOrCreate","IssuesClasses","MissingManuallyConfiguredPackages","uniq","manuallyRemovedDependencies","manuallyAddedDependencies","coreAspects","length","pushToDependencyResolverExtension","dataField","operation","depResolverAspectName","DependencyResolverAspect","extExistOnComponent","ext","extensions","findCoreExtension","ExtensionDataEntry","existing","find","c","packageName","componentId","exports"],"sources":["dependencies-loader.ts"],"sourcesContent":["import R from 'ramda';\nimport path from 'path';\nimport { uniq } from 'lodash';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { getLastModifiedComponentTimestampMs } from '@teambit/legacy/dist/utils/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 { 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 private consumer: Consumer;\n constructor(\n private component: Component,\n private workspace: Workspace,\n private depsResolver: DependencyResolverMain,\n private devFiles: DevFilesMain,\n private aspectLoader: AspectLoaderMain,\n private opts: DependencyLoaderOpts\n ) {\n this.consumer = this.workspace.consumer;\n this.idStr = this.component.id.toString();\n }\n async load() {\n const { dependenciesData, debugDependenciesData } = await this.getDependenciesData();\n const applyOverrides = new ApplyOverrides(this.component, this.depsResolver, this.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 updateDependenciesVersions(\n this.depsResolver,\n this.workspace,\n this.component,\n results.overridesDependencies,\n results.autoDetectOverrides,\n applyOverrides.debugDependenciesData.components\n );\n\n return {\n dependenciesData: results.dependenciesData,\n overridesDependencies: results.overridesDependencies,\n debugDependenciesData: applyOverrides.debugDependenciesData,\n };\n }\n\n private async getDependenciesData(): Promise<{\n dependenciesData: DependenciesData;\n debugDependenciesData?: DebugDependencies;\n }> {\n const depsDataFromCache = await this.getDependenciesDataFromCacheIfPossible();\n if (depsDataFromCache) {\n return { dependenciesData: depsDataFromCache };\n }\n\n const autoDetectDeps = new AutoDetectDeps(\n this.component,\n this.workspace,\n this.devFiles,\n this.depsResolver,\n this.aspectLoader\n );\n const results = await autoDetectDeps.getDependenciesData(\n this.opts.cacheResolvedDependencies,\n this.opts.cacheProjectAst\n );\n if (this.shouldSaveInCache(results.dependenciesData)) {\n await this.consumer.componentFsCache.saveDependenciesDataInCache(\n this.idStr,\n results.dependenciesData.serialize()\n );\n }\n\n return results;\n }\n\n private async getDependenciesDataFromCacheIfPossible(): Promise<DependenciesData | null> {\n if (!this.opts.useDependenciesCache) {\n return null;\n }\n const cacheData = await this.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(this.consumer.getPath(), 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 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) {\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.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 (!R.isEmpty(missingFromOverrides)) {\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":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,MAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,iBAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,gBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,cAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,aAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,QAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,OAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAS,WAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,UAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAU,oBAAA;EAAA,MAAAV,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAQ,mBAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAW,kBAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,iBAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,8BAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,6BAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,gBAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,eAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAc,gBAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,eAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAmD,SAAAC,uBAAAc,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAE5C,MAAMU,kBAAkB,CAAC;EAG9BC,WAAWA,CACDC,SAAoB,EACpBC,SAAoB,EACpBC,YAAoC,EACpCC,QAAsB,EACtBC,YAA8B,EAC9BC,IAA0B,EAClC;IAAA,KANQL,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,YAAoC,GAApCA,YAAoC;IAAA,KACpCC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,YAA8B,GAA9BA,YAA8B;IAAA,KAC9BC,IAA0B,GAA1BA,IAA0B;IAAA7B,eAAA;IAAAA,eAAA;IAElC,IAAI,CAAC8B,QAAQ,GAAG,IAAI,CAACL,SAAS,CAACK,QAAQ;IACvC,IAAI,CAACC,KAAK,GAAG,IAAI,CAACP,SAAS,CAACQ,EAAE,CAACC,QAAQ,CAAC,CAAC;EAC3C;EACA,MAAMC,IAAIA,CAAA,EAAG;IACX,MAAM;MAAEC,gBAAgB;MAAEC;IAAsB,CAAC,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAAC,CAAC;IACpF,MAAMC,cAAc,GAAG,KAAIC,gCAAc,EAAC,IAAI,CAACf,SAAS,EAAE,IAAI,CAACE,YAAY,EAAE,IAAI,CAACD,SAAS,CAAC;IAC5Fa,cAAc,CAACE,eAAe,GAAGL,gBAAgB,CAACK,eAAe;IACjEF,cAAc,CAACG,uBAAuB,GAAGN,gBAAgB,CAACM,uBAAuB;IACjF,IAAIL,qBAAqB,EAAE;MACzB;MACAE,cAAc,CAACF,qBAAqB,GAAGA,qBAAqB;IAC9D;IACAE,cAAc,CAACI,MAAM,GAAGP,gBAAgB,CAACO,MAAM;IAC/C,MAAMC,OAAO,GAAG,MAAML,cAAc,CAACD,mBAAmB,CAAC,CAAC;IAC1D,IAAI,CAACO,8BAA8B,CAACD,OAAO,CAACR,gBAAgB,EAAEQ,OAAO,CAACE,qBAAqB,CAAC;IAC5F,IAAAC,0DAA0B,EACxB,IAAI,CAACpB,YAAY,EACjB,IAAI,CAACD,SAAS,EACd,IAAI,CAACD,SAAS,EACdmB,OAAO,CAACE,qBAAqB,EAC7BF,OAAO,CAACI,mBAAmB,EAC3BT,cAAc,CAACF,qBAAqB,CAACY,UACvC,CAAC;IAED,OAAO;MACLb,gBAAgB,EAAEQ,OAAO,CAACR,gBAAgB;MAC1CU,qBAAqB,EAAEF,OAAO,CAACE,qBAAqB;MACpDT,qBAAqB,EAAEE,cAAc,CAACF;IACxC,CAAC;EACH;EAEA,MAAcC,mBAAmBA,CAAA,EAG9B;IACD,MAAMY,iBAAiB,GAAG,MAAM,IAAI,CAACC,sCAAsC,CAAC,CAAC;IAC7E,IAAID,iBAAiB,EAAE;MACrB,OAAO;QAAEd,gBAAgB,EAAEc;MAAkB,CAAC;IAChD;IAEA,MAAME,cAAc,GAAG,KAAIC,gCAAc,EACvC,IAAI,CAAC5B,SAAS,EACd,IAAI,CAACC,SAAS,EACd,IAAI,CAACE,QAAQ,EACb,IAAI,CAACD,YAAY,EACjB,IAAI,CAACE,YACP,CAAC;IACD,MAAMe,OAAO,GAAG,MAAMQ,cAAc,CAACd,mBAAmB,CACtD,IAAI,CAACR,IAAI,CAACwB,yBAAyB,EACnC,IAAI,CAACxB,IAAI,CAACyB,eACZ,CAAC;IACD,IAAI,IAAI,CAACC,iBAAiB,CAACZ,OAAO,CAACR,gBAAgB,CAAC,EAAE;MACpD,MAAM,IAAI,CAACL,QAAQ,CAAC0B,gBAAgB,CAACC,2BAA2B,CAC9D,IAAI,CAAC1B,KAAK,EACVY,OAAO,CAACR,gBAAgB,CAACuB,SAAS,CAAC,CACrC,CAAC;IACH;IAEA,OAAOf,OAAO;EAChB;EAEA,MAAcO,sCAAsCA,CAAA,EAAqC;IAAA,IAAAS,qBAAA;IACvF,IAAI,CAAC,IAAI,CAAC9B,IAAI,CAAC+B,oBAAoB,EAAE;MACnC,OAAO,IAAI;IACb;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAAC/B,QAAQ,CAAC0B,gBAAgB,CAACM,4BAA4B,CAAC,IAAI,CAAC/B,KAAK,CAAC;IAC/F,IAAI,CAAC8B,SAAS,EAAE;MACd,OAAO,IAAI,CAAC,CAAC;IACf;;IACA,MAAME,OAAO,IAAAJ,qBAAA,GAAG,IAAI,CAACnC,SAAS,CAACwC,YAAY,cAAAL,qBAAA,uBAA3BA,qBAAA,CAA6BM,eAAe,CAAC,CAAC;IAC9D,IAAI,CAACF,OAAO,EAAE;MACZ;MACA;MACA;MACA,OAAO,IAAI;IACb;IACA,MAAMG,UAAU,GAAG,IAAI,CAAC1C,SAAS,CAAC2C,KAAK,CAACC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,CAAC;IAC1D,MAAMC,mBAAmB,GAAGD,eAAI,CAACE,IAAI,CAAC,IAAI,CAAC1C,QAAQ,CAAC2C,OAAO,CAAC,CAAC,EAAEV,OAAO,EAAEW,uCAA0B,CAAC;IACnGR,UAAU,CAACS,IAAI,CAACJ,mBAAmB,CAAC;IACpC,MAAMK,qBAAqB,GAAG,MAAM,IAAAC,mDAAmC,EAACd,OAAO,EAAEG,UAAU,CAAC;IAC5F,MAAMY,qBAAqB,GAAGF,qBAAqB,GAAGf,SAAS,CAACkB,SAAS;IACzE,IAAID,qBAAqB,EAAE;MACzB,OAAO,IAAI,CAAC,CAAC;IACf;;IACAE,iBAAM,CAACC,KAAK,CAAE,0DAAyD,IAAI,CAAClD,KAAM,iBAAgB,CAAC;IACnG,OAAOmD,oCAAgB,CAACC,WAAW,CAACtB,SAAS,CAAC/E,IAAI,CAAC;EACrD;EAEQyE,iBAAiBA,CAACpB,gBAAkC,EAAE;IAC5D,IAAI,CAACA,gBAAgB,CAACO,MAAM,EAAE,OAAO,IAAI;IACzC,OAAO,CAACP,gBAAgB,CAACO,MAAM,CAAC0C,wBAAwB,CAAC,CAAC;EAC5D;EAEQxC,8BAA8BA,CACpCT,gBAAkC,EAClCU,qBAA4C,EAC5C;IACA,IAAI,CAACrB,SAAS,CAAC6D,eAAe,CAAClD,gBAAgB,CAACK,eAAe,CAAC8C,YAAY,CAAC;IAC7E,IAAI,CAAC9D,SAAS,CAAC+D,kBAAkB,CAACpD,gBAAgB,CAACK,eAAe,CAACgD,eAAe,CAAC;IACnF,IAAI,CAAChE,SAAS,CAACiE,mBAAmB,GAAGtD,gBAAgB,CAACM,uBAAuB,CAACgD,mBAAmB,IAAI,CAAC,CAAC;IACvG,IAAI,CAACjE,SAAS,CAACkE,sBAAsB,GAAGvD,gBAAgB,CAACM,uBAAuB,CAACiD,sBAAsB,IAAI,CAAC,CAAC;IAC7G,IAAI,CAAClE,SAAS,CAACmE,uBAAuB,GAAGxD,gBAAgB,CAACM,uBAAuB,CAACkD,uBAAuB,IAAI,CAAC,CAAC;IAC/G,MAAMC,oBAAoB,GAAG/C,qBAAqB,CAACgD,0BAA0B;IAC7E,IAAI,CAACC,gBAAC,CAACC,OAAO,CAACH,oBAAoB,CAAC,EAAE;MACpCzD,gBAAgB,CAACO,MAAM,CAACsD,WAAW,CAACC,gCAAa,CAACC,iCAAiC,CAAC,CAACpH,IAAI,GACvF,IAAAqH,cAAI,EAACP,oBAAoB,CAAC;IAC9B;IACA,IAAI,CAACzD,gBAAgB,CAACO,MAAM,CAACqD,OAAO,CAAC,CAAC,EAAE,IAAI,CAACvE,SAAS,CAACkB,MAAM,GAAGP,gBAAgB,CAACO,MAAM;IACvF,IAAI,CAAClB,SAAS,CAAC4E,2BAA2B,GAAGvD,qBAAqB,CAACuD,2BAA2B;IAC9F,IAAI,CAAC5E,SAAS,CAAC6E,yBAAyB,GAAGxD,qBAAqB,CAACwD,yBAAyB;IAC1F,IAAIlE,gBAAgB,CAACmE,WAAW,CAACC,MAAM,EAAE;MACvC,IAAI,CAACC,iCAAiC,CAAC,aAAa,EAAErE,gBAAgB,CAACmE,WAAW,EAAE,KAAK,CAAC;IAC5F;EACF;EAEQE,iCAAiCA,CAACC,SAAiB,EAAE3H,IAAS,EAAE4H,SAAwB,GAAG,KAAK,EAAE;IACxG,MAAMC,qBAAqB,GAAGC,6BAAwB,CAAC5E,EAAE;IACzD,IAAI6E,mBAAmB,GAAG,IAAI;IAC9B,IAAIC,GAAG,GAAG,IAAI,CAACtF,SAAS,CAACuF,UAAU,CAACC,iBAAiB,CAACL,qBAAqB,CAAC;IAC5E,IAAI,CAACG,GAAG,EAAE;MACRD,mBAAmB,GAAG,KAAK;MAC3B;MACAC,GAAG,GAAG,KAAIG,4BAAkB,EAAChG,SAAS,EAAEA,SAAS,EAAE0F,qBAAqB,EAAE1F,SAAS,EAAE,CAAC,CAAC,CAAC;IAC1F;IAEA,IAAI,CAAC6F,GAAG,CAAChI,IAAI,CAAC2H,SAAS,CAAC,EAAEK,GAAG,CAAChI,IAAI,CAAC2H,SAAS,CAAC,GAAG,EAAE;IAClD,IAAIC,SAAS,KAAK,KAAK,EAAE;MACvB,MAAMQ,QAAQ,GAAGJ,GAAG,CAAChI,IAAI,CAAC2H,SAAS,CAAC,CAACU,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,WAAW,KAAKvI,IAAI,CAACuI,WAAW,CAAC;MACpF,IAAIH,QAAQ,EAAE;QACZA,QAAQ,CAACI,WAAW,GAAGxI,IAAI,CAACwI,WAAW;MACzC,CAAC,MAAM;QACLR,GAAG,CAAChI,IAAI,CAAC2H,SAAS,CAAC,CAAC9B,IAAI,CAAC7F,IAAI,CAAC;MAChC;IACF;IACA,IAAI4H,SAAS,KAAK,KAAK,EAAE;MACvBI,GAAG,CAAChI,IAAI,CAAC2H,SAAS,CAAC,GAAG3H,IAAI;IAC5B;IACA,IAAI,CAAC+H,mBAAmB,EAAE;MACxB,IAAI,CAACrF,SAAS,CAACuF,UAAU,CAACpC,IAAI,CAACmC,GAAG,CAAC;IACrC;EACF;AACF;AAACS,OAAA,CAAAjG,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"names":["_ramda","data","_interopRequireDefault","require","_path","_lodash","_componentIssues","_logger","_lastModified","_config","_constants","_dependencyResolver","_dependenciesData","_dependenciesVersionsResolver","_autoDetectDeps","_applyOverrides","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","DependenciesLoader","constructor","component","depsResolver","devFiles","aspectLoader","idStr","id","toString","load","workspace","opts","dependenciesData","debugDependenciesData","getDependenciesData","applyOverrides","ApplyOverrides","allDependencies","allPackagesDependencies","issues","results","setDependenciesDataOnComponent","overridesDependencies","updateDependenciesVersions","autoDetectOverrides","components","loadFromScope","depsDataFromCache","getDependenciesDataFromCacheIfPossible","autoDetectDeps","AutoDetectDeps","cacheResolvedDependencies","cacheProjectAst","shouldSaveInCache","consumer","componentFsCache","saveDependenciesDataInCache","serialize","_this$component$compo","useDependenciesCache","cacheData","getDependenciesDataFromCache","rootDir","componentMap","getComponentDir","filesPaths","files","map","f","path","componentConfigPath","join","COMPONENT_CONFIG_FILE_NAME","push","lastModifiedComponent","getLastModifiedComponentTimestampMs","wasModifiedAfterCache","timestamp","logger","debug","DependenciesData","deserialize","shouldBlockSavingInCache","setDependencies","dependencies","setDevDependencies","devDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","missingFromOverrides","missingPackageDependencies","R","isEmpty","getOrCreate","IssuesClasses","MissingManuallyConfiguredPackages","uniq","manuallyRemovedDependencies","manuallyAddedDependencies","coreAspects","length","pushToDependencyResolverExtension","dataField","operation","depResolverAspectName","DependencyResolverAspect","extExistOnComponent","ext","extensions","findCoreExtension","ExtensionDataEntry","existing","find","c","packageName","componentId","exports"],"sources":["dependencies-loader.ts"],"sourcesContent":["import R from 'ramda';\nimport path from 'path';\nimport { uniq } from 'lodash';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { getLastModifiedComponentTimestampMs } from '@teambit/legacy/dist/utils/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 { 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 ) {\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, 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 updateDependenciesVersions(\n this.depsResolver,\n workspace,\n this.component,\n results.overridesDependencies,\n results.autoDetectOverrides,\n applyOverrides.debugDependenciesData.components\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);\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)) {\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 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) {\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.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 (!R.isEmpty(missingFromOverrides)) {\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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"}
@@ -7,7 +7,7 @@ import { DependencyLoaderOpts } from '@teambit/legacy/dist/consumer/component/co
7
7
  import DependencyGraph from '@teambit/legacy/dist/scope/graph/scope-graph';
8
8
  import { DevFilesMain } from '@teambit/dev-files';
9
9
  import { AspectLoaderMain } from '@teambit/aspect-loader';
10
- import { OverridesDependenciesData } from './dependencies-loader/dependencies-data';
10
+ import { DependenciesData, OverridesDependenciesData } from './dependencies-loader/dependencies-data';
11
11
  import { RemoveDependenciesFlags, SetDependenciesFlags } from './dependencies-cmd';
12
12
  import { DebugDependencies } from './dependencies-loader/auto-detect-deps';
13
13
  export declare type RemoveDependencyResult = {
@@ -49,10 +49,17 @@ export declare class DependenciesMain {
49
49
  eject(componentPattern: string): Promise<ComponentID[]>;
50
50
  getDependencies(id: string): Promise<DependenciesResults>;
51
51
  loadDependencies(component: ConsumerComponent, opts: DependencyLoaderOpts): Promise<{
52
- dependenciesData: import("./dependencies-loader/dependencies-data").DependenciesData;
52
+ dependenciesData: DependenciesData;
53
53
  overridesDependencies: import("./dependencies-loader/overrides-dependencies").default;
54
54
  debugDependenciesData: DebugDependencies;
55
55
  }>;
56
+ /**
57
+ * load dependencies without the need for the workspace.
58
+ * the "auto-detect" are passed here as "dependenciesData". the "overrides", such as dependencies from the env,
59
+ * are calculated here.
60
+ * eventually all these dependencies are added to the ConsumerComponent object.
61
+ */
62
+ loadDependenciesFromScope(component: ConsumerComponent, dependenciesData: Partial<DependenciesData>): Promise<void>;
56
63
  debugDependencies(id: string): Promise<DependenciesResultsDebug>;
57
64
  /**
58
65
  * helps determine what snap/tag changed a specific dependency.
@@ -230,8 +230,19 @@ class DependenciesMain {
230
230
  };
231
231
  }
232
232
  async loadDependencies(component, opts) {
233
- const dependenciesLoader = new (_dependenciesLoader().DependenciesLoader)(component, this.workspace, this.dependencyResolver, this.devFiles, this.aspectLoader, opts);
234
- return dependenciesLoader.load();
233
+ const dependenciesLoader = new (_dependenciesLoader().DependenciesLoader)(component, this.dependencyResolver, this.devFiles, this.aspectLoader);
234
+ return dependenciesLoader.load(this.workspace, opts);
235
+ }
236
+
237
+ /**
238
+ * load dependencies without the need for the workspace.
239
+ * the "auto-detect" are passed here as "dependenciesData". the "overrides", such as dependencies from the env,
240
+ * are calculated here.
241
+ * eventually all these dependencies are added to the ConsumerComponent object.
242
+ */
243
+ async loadDependenciesFromScope(component, dependenciesData) {
244
+ const dependenciesLoader = new (_dependenciesLoader().DependenciesLoader)(component, this.dependencyResolver, this.devFiles, this.aspectLoader);
245
+ return dependenciesLoader.loadFromScope(dependenciesData);
235
246
  }
236
247
  async debugDependencies(id) {
237
248
  // @todo: supports this on bare-scope.
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_moment","_interopRequireDefault","_dependencyResolver","_workspace","_interopRequireWildcard","_lodash","_pMapSeries","_componentLoader","_scopeGraph","_devFiles","_aspectLoader","_dependenciesLoader","_dependenciesCmd","_dependencies","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DependenciesMain","constructor","workspace","dependencyResolver","devFiles","aspectLoader","setDependency","componentPattern","packages","options","compIds","idsByPattern","getDepField","dev","peer","packagesObj","Promise","all","map","pkg","name","version","getPackageNameAndVerResolved","optional","config","policy","compId","addSpecificComponentConfig","DependencyResolverAspect","id","shouldMergeWithExisting","shouldMergeWithPrevious","bitMap","write","changedComps","toStringWithoutVersion","addedPackages","removeDependency","removeOnlyIfExists","results","pMapSeries","component","depList","getDependencies","getCurrentConfig","currentConfigFromWorkspace","getSpecificComponentConfig","extFromScope","getExtensionsFromScopeAndSpecific","toConfigObject","currentDepResolverConfig","newDepResolverConfig","cloneDeep","removedPackagesWithNulls","_dependency$getPackag","_newDepResolverConfig","splitPkgToNameAndVer","dependency","findByPkgNameOrCompId","depName","getPackageName","getLifeCycle","lifecycle","depField","KEY_NAME_BY_LIFECYCLE_TYPE","existsInSpecificConfig","removedPackages","compact","reset","eject","OutsideWorkspaceError","resolveComponentId","consumer","scopeGraph","DependencyGraph","buildGraphFromScope","scope","scopeDependencyGraph","workspaceGraph","buildGraphFromWorkspace","workspaceDependencyGraph","loadDependencies","opts","dependenciesLoader","DependenciesLoader","load","debugDependencies","consumerComponent","state","_consumer","dependenciesData","cacheResolvedDependencies","useDependenciesCache","missingPackageDependencies","manuallyAddedDependencies","manuallyRemovedDependencies","overridesDependencies","sources","dep","source","debugDependenciesData","coreAspects","blame","compName","log","getLogs","blameResults","lastVersion","logItem","changeVersion","tag","hash","snap","author","username","date","moment","Date","parseInt","format","message","usageDeep","isComponentId","_this$dependencyResol","_this$dependencyResol2","getPackageManager","findUsages","lockfileDir","path","depth","usage","allComps","list","comp","toString","resolveLatest","pkgName","versionResolver","getVersionResolver","resolved","resolveRemoteVersion","rootDir","Error","versionResolved","packageSplit","split","startsWith","provider","cli","depsResolver","depsMain","depsCmd","DependenciesCmd","commands","DependenciesGetCmd","DependenciesRemoveCmd","DependenciesUnsetCmd","DependenciesDebugCmd","DependenciesSetCmd","DependenciesResetCmd","DependenciesEjectCmd","DependenciesBlameCmd","DependenciesUsageCmd","whyCmd","WhyCmd","register","ComponentLoader","loadDeps","bind","exports","CLIAspect","WorkspaceAspect","DevFilesAspect","AspectLoaderAspect","MainRuntime","includes","DependenciesAspect","addRuntime","_default"],"sources":["dependencies.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport moment from 'moment';\nimport { ComponentID } from '@teambit/component-id';\nimport {\n DependencyResolverAspect,\n DependencyResolverMain,\n KEY_NAME_BY_LIFECYCLE_TYPE,\n} from '@teambit/dependency-resolver';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { cloneDeep, compact, set } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport ComponentLoader, { DependencyLoaderOpts } from '@teambit/legacy/dist/consumer/component/component-loader';\nimport DependencyGraph from '@teambit/legacy/dist/scope/graph/scope-graph';\nimport DevFilesAspect, { DevFilesMain } from '@teambit/dev-files';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { DependenciesLoader } from './dependencies-loader/dependencies-loader';\nimport { OverridesDependenciesData } from './dependencies-loader/dependencies-data';\nimport {\n DependenciesBlameCmd,\n DependenciesCmd,\n DependenciesDebugCmd,\n DependenciesEjectCmd,\n DependenciesGetCmd,\n DependenciesRemoveCmd,\n DependenciesResetCmd,\n DependenciesSetCmd,\n DependenciesUnsetCmd,\n DependenciesUsageCmd,\n RemoveDependenciesFlags,\n SetDependenciesFlags,\n WhyCmd,\n} from './dependencies-cmd';\nimport { DependenciesAspect } from './dependencies.aspect';\nimport { DebugDependencies } from './dependencies-loader/auto-detect-deps';\n\nexport type RemoveDependencyResult = { id: ComponentID; removedPackages: string[] };\n\nexport type DependenciesResultsDebug = DebugDependencies &\n OverridesDependenciesData & { coreAspects: string[]; sources: { id: string; source: string }[] };\n\nexport type DependenciesResults = {\n scopeGraph: DependencyGraph;\n workspaceGraph: DependencyGraph;\n id: ComponentID;\n};\n\nexport type BlameResult = {\n snap: string;\n tag?: string;\n author: string;\n date: string;\n message: string;\n version: string;\n};\n\nexport class DependenciesMain {\n constructor(\n private workspace: Workspace,\n private dependencyResolver: DependencyResolverMain,\n private devFiles: DevFilesMain,\n private aspectLoader: AspectLoaderMain\n ) {}\n\n async setDependency(\n componentPattern: string,\n packages: string[],\n options: SetDependenciesFlags\n ): Promise<{ changedComps: string[]; addedPackages: Record<string, string> }> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n const getDepField = () => {\n if (options.dev) return 'devDependencies';\n if (options.peer) return 'peerDependencies';\n return 'dependencies';\n };\n const packagesObj = {};\n await Promise.all(\n packages.map(async (pkg) => {\n const [name, version] = await this.getPackageNameAndVerResolved(pkg);\n if (options.optional) {\n packagesObj[name] = { optional: true, version };\n } else {\n packagesObj[name] = version;\n }\n })\n );\n const config = {\n policy: {\n [getDepField()]: packagesObj,\n },\n };\n await Promise.all(\n compIds.map(async (compId) => {\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, config, {\n shouldMergeWithExisting: true,\n shouldMergeWithPrevious: true,\n });\n })\n );\n\n await this.workspace.bitMap.write(`deps-set (${componentPattern})`);\n\n return {\n changedComps: compIds.map((compId) => compId.toStringWithoutVersion()),\n addedPackages: packagesObj,\n };\n }\n\n async removeDependency(\n componentPattern: string,\n packages: string[],\n options: RemoveDependenciesFlags = {},\n removeOnlyIfExists = false // unset\n ): Promise<RemoveDependencyResult[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n const results = await pMapSeries(compIds, async (compId) => {\n const component = await this.workspace.get(compId);\n const depList = await this.dependencyResolver.getDependencies(component);\n const getCurrentConfig = async () => {\n const currentConfigFromWorkspace = await this.workspace.getSpecificComponentConfig(\n compId,\n DependencyResolverAspect.id\n );\n if (currentConfigFromWorkspace) return currentConfigFromWorkspace;\n const extFromScope = await this.workspace.getExtensionsFromScopeAndSpecific(compId);\n return extFromScope?.toConfigObject()[DependencyResolverAspect.id];\n };\n const currentDepResolverConfig = await getCurrentConfig();\n const newDepResolverConfig = cloneDeep(currentDepResolverConfig || {});\n const removedPackagesWithNulls = await pMapSeries(packages, async (pkg) => {\n const [name, version] = this.splitPkgToNameAndVer(pkg);\n const dependency = depList.findByPkgNameOrCompId(name, version);\n if (!dependency) return null;\n const depName = dependency.getPackageName?.() || dependency.id;\n const getLifeCycle = () => {\n if (options.dev) return 'dev';\n if (options.peer) return 'peer';\n return dependency.lifecycle;\n };\n const depField = KEY_NAME_BY_LIFECYCLE_TYPE[getLifeCycle()];\n const existsInSpecificConfig = newDepResolverConfig.policy?.[depField]?.[depName];\n if (existsInSpecificConfig) {\n if (existsInSpecificConfig === '-') return null;\n delete newDepResolverConfig.policy[depField][depName];\n } else {\n if (removeOnlyIfExists) return null;\n set(newDepResolverConfig, ['policy', depField, depName], '-');\n }\n return `${depName}@${dependency.version}`;\n });\n const removedPackages = compact(removedPackagesWithNulls);\n if (!removedPackages.length) return null;\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, newDepResolverConfig);\n return { id: compId, removedPackages };\n });\n await this.workspace.bitMap.write(`deps-remove (${componentPattern})`);\n\n return compact(results);\n }\n\n async reset(componentPattern: string): Promise<ComponentID[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n await pMapSeries(compIds, async (compId) => {\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, { policy: {} });\n });\n await this.workspace.bitMap.write(`deps-reset (${componentPattern})`);\n\n return compIds;\n }\n\n async eject(componentPattern: string): Promise<ComponentID[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n await pMapSeries(compIds, async (compId) => {\n await this.workspace.addSpecificComponentConfig(\n compId,\n DependencyResolverAspect.id,\n {},\n {\n shouldMergeWithExisting: true,\n shouldMergeWithPrevious: true,\n }\n );\n });\n await this.workspace.bitMap.write(`deps-eject (${componentPattern})`);\n\n return compIds;\n }\n\n async getDependencies(id: string): Promise<DependenciesResults> {\n // @todo: supports this on bare-scope.\n if (!this.workspace) throw new OutsideWorkspaceError();\n const compId = await this.workspace.resolveComponentId(id);\n const consumer = this.workspace.consumer;\n const scopeGraph = await DependencyGraph.buildGraphFromScope(consumer.scope);\n const scopeDependencyGraph = new DependencyGraph(scopeGraph);\n\n const workspaceGraph = await DependencyGraph.buildGraphFromWorkspace(consumer, true);\n const workspaceDependencyGraph = new DependencyGraph(workspaceGraph);\n\n return { scopeGraph: scopeDependencyGraph, workspaceGraph: workspaceDependencyGraph, id: compId };\n }\n\n async loadDependencies(component: ConsumerComponent, opts: DependencyLoaderOpts) {\n const dependenciesLoader = new DependenciesLoader(\n component,\n this.workspace,\n this.dependencyResolver,\n this.devFiles,\n this.aspectLoader,\n opts\n );\n return dependenciesLoader.load();\n }\n\n async debugDependencies(id: string): Promise<DependenciesResultsDebug> {\n // @todo: supports this on bare-scope.\n if (!this.workspace) throw new OutsideWorkspaceError();\n const compId = await this.workspace.resolveComponentId(id);\n const component = await this.workspace.get(compId);\n const consumerComponent = component.state._consumer as ConsumerComponent;\n\n const dependenciesData = await this.loadDependencies(consumerComponent, {\n cacheResolvedDependencies: {},\n useDependenciesCache: false,\n });\n\n const { missingPackageDependencies, manuallyAddedDependencies, manuallyRemovedDependencies } =\n dependenciesData.overridesDependencies;\n\n const results = await this.dependencyResolver.getDependencies(component);\n const sources = results.map((dep) => ({ id: dep.id, source: dep.source }));\n\n return {\n ...dependenciesData.debugDependenciesData,\n manuallyRemovedDependencies,\n manuallyAddedDependencies,\n missingPackageDependencies,\n coreAspects: dependenciesData.dependenciesData.coreAspects,\n sources,\n };\n }\n\n /**\n * helps determine what snap/tag changed a specific dependency.\n * the results are sorted from the oldest to newest.\n */\n async blame(compName: string, depName: string) {\n const id = await this.workspace.resolveComponentId(compName);\n const log = await this.workspace.scope.getLogs(id);\n const blameResults: BlameResult[] = [];\n let lastVersion = '';\n await pMapSeries(log, async (logItem) => {\n const component = await this.workspace.get(id.changeVersion(logItem.tag || logItem.hash));\n const depList = await this.dependencyResolver.getDependencies(component);\n const dependency = depList.findByPkgNameOrCompId(depName);\n if (dependency && dependency.version === lastVersion) {\n return;\n }\n let version: string;\n if (!dependency) {\n if (!lastVersion) return;\n version = '<REMOVED>';\n } else {\n version = dependency.version;\n }\n if (!dependency || dependency.version === lastVersion) return;\n lastVersion = dependency.version;\n blameResults.push({\n snap: logItem.hash,\n tag: logItem.tag,\n author: logItem.username || '<N/A>',\n date: logItem.date ? moment(new Date(parseInt(logItem.date))).format('YYYY-MM-DD HH:mm:ss') : '<N/A>',\n message: logItem.message,\n version,\n });\n });\n return blameResults;\n }\n\n async usageDeep(depName: string, opts?: { depth?: number }): Promise<string | undefined> {\n if (!isComponentId(depName)) {\n return this.dependencyResolver.getPackageManager()?.findUsages?.(depName, {\n lockfileDir: this.workspace.path,\n depth: opts?.depth,\n });\n }\n return undefined;\n }\n\n /**\n * @param depName either component-id-string or package-name (of the component or not component)\n * @returns a map of component-id-string to the version of the dependency\n */\n async usage(depName: string): Promise<{ [compIdStr: string]: string }> {\n const [name, version] = this.splitPkgToNameAndVer(depName);\n const allComps = await this.workspace.list();\n const results = {};\n await Promise.all(\n allComps.map(async (comp) => {\n const depList = await this.dependencyResolver.getDependencies(comp);\n const dependency = depList.findByPkgNameOrCompId(name, version);\n if (dependency) {\n results[comp.id.toString()] = dependency.version;\n }\n })\n );\n return results;\n }\n\n private async getPackageNameAndVerResolved(pkg: string): Promise<[string, string]> {\n const resolveLatest = async (pkgName: string) => {\n const versionResolver = await this.dependencyResolver.getVersionResolver({});\n const resolved = await versionResolver.resolveRemoteVersion(pkgName, { rootDir: '' });\n if (!resolved.version) throw new Error(`unable to resolve version for ${pkgName}`);\n return resolved.version;\n };\n const [name, version] = this.splitPkgToNameAndVer(pkg);\n const versionResolved = !version || version === 'latest' ? await resolveLatest(name) : version;\n return [name, versionResolved];\n }\n\n private splitPkgToNameAndVer(pkg: string): [string, string | undefined] {\n const packageSplit = pkg.split('@');\n if (pkg.startsWith('@')) {\n // scoped package\n if (packageSplit.length > 3) throw new Error(`invalid package \"${pkg}\" syntax, expected \"package[@version]\"`);\n return [`@${packageSplit[1]}`, packageSplit[2]];\n }\n if (packageSplit.length > 2) throw new Error(`invalid package \"${pkg}\" syntax, expected \"package[@version]\"`);\n return [packageSplit[0], packageSplit[1]];\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, DependencyResolverAspect, DevFilesAspect, AspectLoaderAspect];\n\n static runtime = MainRuntime;\n\n static async provider([cli, workspace, depsResolver, devFiles, aspectLoader]: [\n CLIMain,\n Workspace,\n DependencyResolverMain,\n DevFilesMain,\n AspectLoaderMain\n ]) {\n const depsMain = new DependenciesMain(workspace, depsResolver, devFiles, aspectLoader);\n const depsCmd = new DependenciesCmd();\n depsCmd.commands = [\n new DependenciesGetCmd(depsMain),\n new DependenciesRemoveCmd(depsMain),\n new DependenciesUnsetCmd(depsMain),\n new DependenciesDebugCmd(depsMain),\n new DependenciesSetCmd(depsMain),\n new DependenciesResetCmd(depsMain),\n new DependenciesEjectCmd(depsMain),\n new DependenciesBlameCmd(depsMain),\n new DependenciesUsageCmd(depsMain),\n ];\n const whyCmd = new WhyCmd(depsMain);\n cli.register(depsCmd, whyCmd);\n\n ComponentLoader.loadDeps = depsMain.loadDependencies.bind(depsMain);\n\n return depsMain;\n }\n}\n\nfunction isComponentId(depName: string) {\n return depName.includes('/') && depName[0] !== '@';\n}\n\nDependenciesAspect.addRuntime(DependenciesMain);\n\nexport default DependenciesMain;\n"],"mappings":";;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,oBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,mBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAM,uBAAA,CAAAL,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,QAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,OAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,YAAA;EAAA,MAAAR,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAO,WAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAS,iBAAA;EAAA,MAAAT,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAQ,gBAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,YAAA;EAAA,MAAAV,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAS,WAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,UAAA;EAAA,MAAAX,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAU,SAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,cAAA;EAAA,MAAAZ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAW,aAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,oBAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,mBAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAc,iBAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,gBAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAeA,SAAAe,cAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,aAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2D,SAAAgB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAtB,uBAAAkC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,QAAArB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAW,IAAA,CAAAtB,CAAA,OAAAW,MAAA,CAAAY,qBAAA,QAAAC,CAAA,GAAAb,MAAA,CAAAY,qBAAA,CAAAvB,CAAA,GAAAE,CAAA,KAAAsB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAvB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAwB,UAAA,OAAAvB,CAAA,CAAAwB,IAAA,CAAAC,KAAA,CAAAzB,CAAA,EAAAqB,CAAA,YAAArB,CAAA;AAAA,SAAA0B,cAAA7B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA4B,SAAA,CAAAC,MAAA,EAAA7B,CAAA,UAAAC,CAAA,WAAA2B,SAAA,CAAA5B,CAAA,IAAA4B,SAAA,CAAA5B,CAAA,QAAAA,CAAA,OAAAmB,OAAA,CAAAV,MAAA,CAAAR,CAAA,OAAA6B,OAAA,WAAA9B,CAAA,IAAA+B,eAAA,CAAAjC,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAuB,yBAAA,GAAAvB,MAAA,CAAAwB,gBAAA,CAAAnC,CAAA,EAAAW,MAAA,CAAAuB,yBAAA,CAAA/B,CAAA,KAAAkB,OAAA,CAAAV,MAAA,CAAAR,CAAA,GAAA6B,OAAA,WAAA9B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAAA,SAAAiC,gBAAAb,GAAA,EAAAgB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAT,MAAA,CAAAC,cAAA,CAAAQ,GAAA,EAAAgB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAX,UAAA,QAAAa,YAAA,QAAAC,QAAA,oBAAApB,GAAA,CAAAgB,GAAA,IAAAC,KAAA,WAAAjB,GAAA;AAAA,SAAAkB,eAAAG,GAAA,QAAAL,GAAA,GAAAM,YAAA,CAAAD,GAAA,2BAAAL,GAAA,gBAAAA,GAAA,GAAAO,MAAA,CAAAP,GAAA;AAAA,SAAAM,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAA7B,IAAA,CAAA2B,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAuBpD,MAAMS,gBAAgB,CAAC;EAC5BC,WAAWA,CACDC,SAAoB,EACpBC,kBAA0C,EAC1CC,QAAsB,EACtBC,YAA8B,EACtC;IAAA,KAJQH,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,kBAA0C,GAA1CA,kBAA0C;IAAA,KAC1CC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,YAA8B,GAA9BA,YAA8B;EACrC;EAEH,MAAMC,aAAaA,CACjBC,gBAAwB,EACxBC,QAAkB,EAClBC,OAA6B,EAC+C;IAC5E,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACR,SAAS,CAACS,YAAY,CAACJ,gBAAgB,CAAC;IACnE,MAAMK,WAAW,GAAGA,CAAA,KAAM;MACxB,IAAIH,OAAO,CAACI,GAAG,EAAE,OAAO,iBAAiB;MACzC,IAAIJ,OAAO,CAACK,IAAI,EAAE,OAAO,kBAAkB;MAC3C,OAAO,cAAc;IACvB,CAAC;IACD,MAAMC,WAAW,GAAG,CAAC,CAAC;IACtB,MAAMC,OAAO,CAACC,GAAG,CACfT,QAAQ,CAACU,GAAG,CAAC,MAAOC,GAAG,IAAK;MAC1B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,MAAM,IAAI,CAACC,4BAA4B,CAACH,GAAG,CAAC;MACpE,IAAIV,OAAO,CAACc,QAAQ,EAAE;QACpBR,WAAW,CAACK,IAAI,CAAC,GAAG;UAAEG,QAAQ,EAAE,IAAI;UAAEF;QAAQ,CAAC;MACjD,CAAC,MAAM;QACLN,WAAW,CAACK,IAAI,CAAC,GAAGC,OAAO;MAC7B;IACF,CAAC,CACH,CAAC;IACD,MAAMG,MAAM,GAAG;MACbC,MAAM,EAAE;QACN,CAACb,WAAW,CAAC,CAAC,GAAGG;MACnB;IACF,CAAC;IACD,MAAMC,OAAO,CAACC,GAAG,CACfP,OAAO,CAACQ,GAAG,CAAC,MAAOQ,MAAM,IAAK;MAC5B,MAAM,IAAI,CAACxB,SAAS,CAACyB,0BAA0B,CAACD,MAAM,EAAEE,8CAAwB,CAACC,EAAE,EAAEL,MAAM,EAAE;QAC3FM,uBAAuB,EAAE,IAAI;QAC7BC,uBAAuB,EAAE;MAC3B,CAAC,CAAC;IACJ,CAAC,CACH,CAAC;IAED,MAAM,IAAI,CAAC7B,SAAS,CAAC8B,MAAM,CAACC,KAAK,CAAE,aAAY1B,gBAAiB,GAAE,CAAC;IAEnE,OAAO;MACL2B,YAAY,EAAExB,OAAO,CAACQ,GAAG,CAAEQ,MAAM,IAAKA,MAAM,CAACS,sBAAsB,CAAC,CAAC,CAAC;MACtEC,aAAa,EAAErB;IACjB,CAAC;EACH;EAEA,MAAMsB,gBAAgBA,CACpB9B,gBAAwB,EACxBC,QAAkB,EAClBC,OAAgC,GAAG,CAAC,CAAC,EACrC6B,kBAAkB,GAAG,KAAK,CAAC;EAAA,EACQ;IACnC,MAAM5B,OAAO,GAAG,MAAM,IAAI,CAACR,SAAS,CAACS,YAAY,CAACJ,gBAAgB,CAAC;IACnE,MAAMgC,OAAO,GAAG,MAAM,IAAAC,qBAAU,EAAC9B,OAAO,EAAE,MAAOgB,MAAM,IAAK;MAC1D,MAAMe,SAAS,GAAG,MAAM,IAAI,CAACvC,SAAS,CAAChD,GAAG,CAACwE,MAAM,CAAC;MAClD,MAAMgB,OAAO,GAAG,MAAM,IAAI,CAACvC,kBAAkB,CAACwC,eAAe,CAACF,SAAS,CAAC;MACxE,MAAMG,gBAAgB,GAAG,MAAAA,CAAA,KAAY;QACnC,MAAMC,0BAA0B,GAAG,MAAM,IAAI,CAAC3C,SAAS,CAAC4C,0BAA0B,CAChFpB,MAAM,EACNE,8CAAwB,CAACC,EAC3B,CAAC;QACD,IAAIgB,0BAA0B,EAAE,OAAOA,0BAA0B;QACjE,MAAME,YAAY,GAAG,MAAM,IAAI,CAAC7C,SAAS,CAAC8C,iCAAiC,CAACtB,MAAM,CAAC;QACnF,OAAOqB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEE,cAAc,CAAC,CAAC,CAACrB,8CAAwB,CAACC,EAAE,CAAC;MACpE,CAAC;MACD,MAAMqB,wBAAwB,GAAG,MAAMN,gBAAgB,CAAC,CAAC;MACzD,MAAMO,oBAAoB,GAAG,IAAAC,mBAAS,EAACF,wBAAwB,IAAI,CAAC,CAAC,CAAC;MACtE,MAAMG,wBAAwB,GAAG,MAAM,IAAAb,qBAAU,EAAChC,QAAQ,EAAE,MAAOW,GAAG,IAAK;QAAA,IAAAmC,qBAAA,EAAAC,qBAAA;QACzE,MAAM,CAACnC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAI,CAACmC,oBAAoB,CAACrC,GAAG,CAAC;QACtD,MAAMsC,UAAU,GAAGf,OAAO,CAACgB,qBAAqB,CAACtC,IAAI,EAAEC,OAAO,CAAC;QAC/D,IAAI,CAACoC,UAAU,EAAE,OAAO,IAAI;QAC5B,MAAME,OAAO,GAAG,EAAAL,qBAAA,GAAAG,UAAU,CAACG,cAAc,cAAAN,qBAAA,uBAAzBA,qBAAA,CAAA1F,IAAA,CAAA6F,UAA4B,CAAC,KAAIA,UAAU,CAAC5B,EAAE;QAC9D,MAAMgC,YAAY,GAAGA,CAAA,KAAM;UACzB,IAAIpD,OAAO,CAACI,GAAG,EAAE,OAAO,KAAK;UAC7B,IAAIJ,OAAO,CAACK,IAAI,EAAE,OAAO,MAAM;UAC/B,OAAO2C,UAAU,CAACK,SAAS;QAC7B,CAAC;QACD,MAAMC,QAAQ,GAAGC,gDAA0B,CAACH,YAAY,CAAC,CAAC,CAAC;QAC3D,MAAMI,sBAAsB,IAAAV,qBAAA,GAAGJ,oBAAoB,CAAC1B,MAAM,cAAA8B,qBAAA,gBAAAA,qBAAA,GAA3BA,qBAAA,CAA8BQ,QAAQ,CAAC,cAAAR,qBAAA,uBAAvCA,qBAAA,CAA0CI,OAAO,CAAC;QACjF,IAAIM,sBAAsB,EAAE;UAC1B,IAAIA,sBAAsB,KAAK,GAAG,EAAE,OAAO,IAAI;UAC/C,OAAOd,oBAAoB,CAAC1B,MAAM,CAACsC,QAAQ,CAAC,CAACJ,OAAO,CAAC;QACvD,CAAC,MAAM;UACL,IAAIrB,kBAAkB,EAAE,OAAO,IAAI;UACnC,IAAAxE,aAAG,EAACqF,oBAAoB,EAAE,CAAC,QAAQ,EAAEY,QAAQ,EAAEJ,OAAO,CAAC,EAAE,GAAG,CAAC;QAC/D;QACA,OAAQ,GAAEA,OAAQ,IAAGF,UAAU,CAACpC,OAAQ,EAAC;MAC3C,CAAC,CAAC;MACF,MAAM6C,eAAe,GAAG,IAAAC,iBAAO,EAACd,wBAAwB,CAAC;MACzD,IAAI,CAACa,eAAe,CAACxF,MAAM,EAAE,OAAO,IAAI;MACxC,MAAM,IAAI,CAACwB,SAAS,CAACyB,0BAA0B,CAACD,MAAM,EAAEE,8CAAwB,CAACC,EAAE,EAAEsB,oBAAoB,CAAC;MAC1G,OAAO;QAAEtB,EAAE,EAAEH,MAAM;QAAEwC;MAAgB,CAAC;IACxC,CAAC,CAAC;IACF,MAAM,IAAI,CAAChE,SAAS,CAAC8B,MAAM,CAACC,KAAK,CAAE,gBAAe1B,gBAAiB,GAAE,CAAC;IAEtE,OAAO,IAAA4D,iBAAO,EAAC5B,OAAO,CAAC;EACzB;EAEA,MAAM6B,KAAKA,CAAC7D,gBAAwB,EAA0B;IAC5D,MAAMG,OAAO,GAAG,MAAM,IAAI,CAACR,SAAS,CAACS,YAAY,CAACJ,gBAAgB,CAAC;IACnE,MAAM,IAAAiC,qBAAU,EAAC9B,OAAO,EAAE,MAAOgB,MAAM,IAAK;MAC1C,MAAM,IAAI,CAACxB,SAAS,CAACyB,0BAA0B,CAACD,MAAM,EAAEE,8CAAwB,CAACC,EAAE,EAAE;QAAEJ,MAAM,EAAE,CAAC;MAAE,CAAC,CAAC;IACtG,CAAC,CAAC;IACF,MAAM,IAAI,CAACvB,SAAS,CAAC8B,MAAM,CAACC,KAAK,CAAE,eAAc1B,gBAAiB,GAAE,CAAC;IAErE,OAAOG,OAAO;EAChB;EAEA,MAAM2D,KAAKA,CAAC9D,gBAAwB,EAA0B;IAC5D,MAAMG,OAAO,GAAG,MAAM,IAAI,CAACR,SAAS,CAACS,YAAY,CAACJ,gBAAgB,CAAC;IACnE,MAAM,IAAAiC,qBAAU,EAAC9B,OAAO,EAAE,MAAOgB,MAAM,IAAK;MAC1C,MAAM,IAAI,CAACxB,SAAS,CAACyB,0BAA0B,CAC7CD,MAAM,EACNE,8CAAwB,CAACC,EAAE,EAC3B,CAAC,CAAC,EACF;QACEC,uBAAuB,EAAE,IAAI;QAC7BC,uBAAuB,EAAE;MAC3B,CACF,CAAC;IACH,CAAC,CAAC;IACF,MAAM,IAAI,CAAC7B,SAAS,CAAC8B,MAAM,CAACC,KAAK,CAAE,eAAc1B,gBAAiB,GAAE,CAAC;IAErE,OAAOG,OAAO;EAChB;EAEA,MAAMiC,eAAeA,CAACd,EAAU,EAAgC;IAC9D;IACA,IAAI,CAAC,IAAI,CAAC3B,SAAS,EAAE,MAAM,KAAIoE,kCAAqB,EAAC,CAAC;IACtD,MAAM5C,MAAM,GAAG,MAAM,IAAI,CAACxB,SAAS,CAACqE,kBAAkB,CAAC1C,EAAE,CAAC;IAC1D,MAAM2C,QAAQ,GAAG,IAAI,CAACtE,SAAS,CAACsE,QAAQ;IACxC,MAAMC,UAAU,GAAG,MAAMC,qBAAe,CAACC,mBAAmB,CAACH,QAAQ,CAACI,KAAK,CAAC;IAC5E,MAAMC,oBAAoB,GAAG,KAAIH,qBAAe,EAACD,UAAU,CAAC;IAE5D,MAAMK,cAAc,GAAG,MAAMJ,qBAAe,CAACK,uBAAuB,CAACP,QAAQ,EAAE,IAAI,CAAC;IACpF,MAAMQ,wBAAwB,GAAG,KAAIN,qBAAe,EAACI,cAAc,CAAC;IAEpE,OAAO;MAAEL,UAAU,EAAEI,oBAAoB;MAAEC,cAAc,EAAEE,wBAAwB;MAAEnD,EAAE,EAAEH;IAAO,CAAC;EACnG;EAEA,MAAMuD,gBAAgBA,CAACxC,SAA4B,EAAEyC,IAA0B,EAAE;IAC/E,MAAMC,kBAAkB,GAAG,KAAIC,wCAAkB,EAC/C3C,SAAS,EACT,IAAI,CAACvC,SAAS,EACd,IAAI,CAACC,kBAAkB,EACvB,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,YAAY,EACjB6E,IACF,CAAC;IACD,OAAOC,kBAAkB,CAACE,IAAI,CAAC,CAAC;EAClC;EAEA,MAAMC,iBAAiBA,CAACzD,EAAU,EAAqC;IACrE;IACA,IAAI,CAAC,IAAI,CAAC3B,SAAS,EAAE,MAAM,KAAIoE,kCAAqB,EAAC,CAAC;IACtD,MAAM5C,MAAM,GAAG,MAAM,IAAI,CAACxB,SAAS,CAACqE,kBAAkB,CAAC1C,EAAE,CAAC;IAC1D,MAAMY,SAAS,GAAG,MAAM,IAAI,CAACvC,SAAS,CAAChD,GAAG,CAACwE,MAAM,CAAC;IAClD,MAAM6D,iBAAiB,GAAG9C,SAAS,CAAC+C,KAAK,CAACC,SAA8B;IAExE,MAAMC,gBAAgB,GAAG,MAAM,IAAI,CAACT,gBAAgB,CAACM,iBAAiB,EAAE;MACtEI,yBAAyB,EAAE,CAAC,CAAC;MAC7BC,oBAAoB,EAAE;IACxB,CAAC,CAAC;IAEF,MAAM;MAAEC,0BAA0B;MAAEC,yBAAyB;MAAEC;IAA4B,CAAC,GAC1FL,gBAAgB,CAACM,qBAAqB;IAExC,MAAMzD,OAAO,GAAG,MAAM,IAAI,CAACpC,kBAAkB,CAACwC,eAAe,CAACF,SAAS,CAAC;IACxE,MAAMwD,OAAO,GAAG1D,OAAO,CAACrB,GAAG,CAAEgF,GAAG,KAAM;MAAErE,EAAE,EAAEqE,GAAG,CAACrE,EAAE;MAAEsE,MAAM,EAAED,GAAG,CAACC;IAAO,CAAC,CAAC,CAAC;IAE1E,OAAA3H,aAAA,CAAAA,aAAA,KACKkH,gBAAgB,CAACU,qBAAqB;MACzCL,2BAA2B;MAC3BD,yBAAyB;MACzBD,0BAA0B;MAC1BQ,WAAW,EAAEX,gBAAgB,CAACA,gBAAgB,CAACW,WAAW;MAC1DJ;IAAO;EAEX;;EAEA;AACF;AACA;AACA;EACE,MAAMK,KAAKA,CAACC,QAAgB,EAAE5C,OAAe,EAAE;IAC7C,MAAM9B,EAAE,GAAG,MAAM,IAAI,CAAC3B,SAAS,CAACqE,kBAAkB,CAACgC,QAAQ,CAAC;IAC5D,MAAMC,GAAG,GAAG,MAAM,IAAI,CAACtG,SAAS,CAAC0E,KAAK,CAAC6B,OAAO,CAAC5E,EAAE,CAAC;IAClD,MAAM6E,YAA2B,GAAG,EAAE;IACtC,IAAIC,WAAW,GAAG,EAAE;IACpB,MAAM,IAAAnE,qBAAU,EAACgE,GAAG,EAAE,MAAOI,OAAO,IAAK;MACvC,MAAMnE,SAAS,GAAG,MAAM,IAAI,CAACvC,SAAS,CAAChD,GAAG,CAAC2E,EAAE,CAACgF,aAAa,CAACD,OAAO,CAACE,GAAG,IAAIF,OAAO,CAACG,IAAI,CAAC,CAAC;MACzF,MAAMrE,OAAO,GAAG,MAAM,IAAI,CAACvC,kBAAkB,CAACwC,eAAe,CAACF,SAAS,CAAC;MACxE,MAAMgB,UAAU,GAAGf,OAAO,CAACgB,qBAAqB,CAACC,OAAO,CAAC;MACzD,IAAIF,UAAU,IAAIA,UAAU,CAACpC,OAAO,KAAKsF,WAAW,EAAE;QACpD;MACF;MACA,IAAItF,OAAe;MACnB,IAAI,CAACoC,UAAU,EAAE;QACf,IAAI,CAACkD,WAAW,EAAE;QAClBtF,OAAO,GAAG,WAAW;MACvB,CAAC,MAAM;QACLA,OAAO,GAAGoC,UAAU,CAACpC,OAAO;MAC9B;MACA,IAAI,CAACoC,UAAU,IAAIA,UAAU,CAACpC,OAAO,KAAKsF,WAAW,EAAE;MACvDA,WAAW,GAAGlD,UAAU,CAACpC,OAAO;MAChCqF,YAAY,CAACpI,IAAI,CAAC;QAChB0I,IAAI,EAAEJ,OAAO,CAACG,IAAI;QAClBD,GAAG,EAAEF,OAAO,CAACE,GAAG;QAChBG,MAAM,EAAEL,OAAO,CAACM,QAAQ,IAAI,OAAO;QACnCC,IAAI,EAAEP,OAAO,CAACO,IAAI,GAAG,IAAAC,iBAAM,EAAC,IAAIC,IAAI,CAACC,QAAQ,CAACV,OAAO,CAACO,IAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAAC,qBAAqB,CAAC,GAAG,OAAO;QACrGC,OAAO,EAAEZ,OAAO,CAACY,OAAO;QACxBnG;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAOqF,YAAY;EACrB;EAEA,MAAMe,SAASA,CAAC9D,OAAe,EAAEuB,IAAyB,EAA+B;IACvF,IAAI,CAACwC,aAAa,CAAC/D,OAAO,CAAC,EAAE;MAAA,IAAAgE,qBAAA,EAAAC,sBAAA;MAC3B,QAAAD,qBAAA,GAAO,IAAI,CAACxH,kBAAkB,CAAC0H,iBAAiB,CAAC,CAAC,cAAAF,qBAAA,gBAAAC,sBAAA,GAA3CD,qBAAA,CAA6CG,UAAU,cAAAF,sBAAA,uBAAvDA,sBAAA,CAAAhK,IAAA,CAAA+J,qBAAA,EAA0DhE,OAAO,EAAE;QACxEoE,WAAW,EAAE,IAAI,CAAC7H,SAAS,CAAC8H,IAAI;QAChCC,KAAK,EAAE/C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE+C;MACf,CAAC,CAAC;IACJ;IACA,OAAOrI,SAAS;EAClB;;EAEA;AACF;AACA;AACA;EACE,MAAMsI,KAAKA,CAACvE,OAAe,EAA4C;IACrE,MAAM,CAACvC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAI,CAACmC,oBAAoB,CAACG,OAAO,CAAC;IAC1D,MAAMwE,QAAQ,GAAG,MAAM,IAAI,CAACjI,SAAS,CAACkI,IAAI,CAAC,CAAC;IAC5C,MAAM7F,OAAO,GAAG,CAAC,CAAC;IAClB,MAAMvB,OAAO,CAACC,GAAG,CACfkH,QAAQ,CAACjH,GAAG,CAAC,MAAOmH,IAAI,IAAK;MAC3B,MAAM3F,OAAO,GAAG,MAAM,IAAI,CAACvC,kBAAkB,CAACwC,eAAe,CAAC0F,IAAI,CAAC;MACnE,MAAM5E,UAAU,GAAGf,OAAO,CAACgB,qBAAqB,CAACtC,IAAI,EAAEC,OAAO,CAAC;MAC/D,IAAIoC,UAAU,EAAE;QACdlB,OAAO,CAAC8F,IAAI,CAACxG,EAAE,CAACyG,QAAQ,CAAC,CAAC,CAAC,GAAG7E,UAAU,CAACpC,OAAO;MAClD;IACF,CAAC,CACH,CAAC;IACD,OAAOkB,OAAO;EAChB;EAEA,MAAcjB,4BAA4BA,CAACH,GAAW,EAA6B;IACjF,MAAMoH,aAAa,GAAG,MAAOC,OAAe,IAAK;MAC/C,MAAMC,eAAe,GAAG,MAAM,IAAI,CAACtI,kBAAkB,CAACuI,kBAAkB,CAAC,CAAC,CAAC,CAAC;MAC5E,MAAMC,QAAQ,GAAG,MAAMF,eAAe,CAACG,oBAAoB,CAACJ,OAAO,EAAE;QAAEK,OAAO,EAAE;MAAG,CAAC,CAAC;MACrF,IAAI,CAACF,QAAQ,CAACtH,OAAO,EAAE,MAAM,IAAIyH,KAAK,CAAE,iCAAgCN,OAAQ,EAAC,CAAC;MAClF,OAAOG,QAAQ,CAACtH,OAAO;IACzB,CAAC;IACD,MAAM,CAACD,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAI,CAACmC,oBAAoB,CAACrC,GAAG,CAAC;IACtD,MAAM4H,eAAe,GAAG,CAAC1H,OAAO,IAAIA,OAAO,KAAK,QAAQ,GAAG,MAAMkH,aAAa,CAACnH,IAAI,CAAC,GAAGC,OAAO;IAC9F,OAAO,CAACD,IAAI,EAAE2H,eAAe,CAAC;EAChC;EAEQvF,oBAAoBA,CAACrC,GAAW,EAAgC;IACtE,MAAM6H,YAAY,GAAG7H,GAAG,CAAC8H,KAAK,CAAC,GAAG,CAAC;IACnC,IAAI9H,GAAG,CAAC+H,UAAU,CAAC,GAAG,CAAC,EAAE;MACvB;MACA,IAAIF,YAAY,CAACtK,MAAM,GAAG,CAAC,EAAE,MAAM,IAAIoK,KAAK,CAAE,oBAAmB3H,GAAI,wCAAuC,CAAC;MAC7G,OAAO,CAAE,IAAG6H,YAAY,CAAC,CAAC,CAAE,EAAC,EAAEA,YAAY,CAAC,CAAC,CAAC,CAAC;IACjD;IACA,IAAIA,YAAY,CAACtK,MAAM,GAAG,CAAC,EAAE,MAAM,IAAIoK,KAAK,CAAE,oBAAmB3H,GAAI,wCAAuC,CAAC;IAC7G,OAAO,CAAC6H,YAAY,CAAC,CAAC,CAAC,EAAEA,YAAY,CAAC,CAAC,CAAC,CAAC;EAC3C;EAOA,aAAaG,QAAQA,CAAC,CAACC,GAAG,EAAElJ,SAAS,EAAEmJ,YAAY,EAAEjJ,QAAQ,EAAEC,YAAY,CAM1E,EAAE;IACD,MAAMiJ,QAAQ,GAAG,IAAItJ,gBAAgB,CAACE,SAAS,EAAEmJ,YAAY,EAAEjJ,QAAQ,EAAEC,YAAY,CAAC;IACtF,MAAMkJ,OAAO,GAAG,KAAIC,kCAAe,EAAC,CAAC;IACrCD,OAAO,CAACE,QAAQ,GAAG,CACjB,KAAIC,qCAAkB,EAACJ,QAAQ,CAAC,EAChC,KAAIK,wCAAqB,EAACL,QAAQ,CAAC,EACnC,KAAIM,uCAAoB,EAACN,QAAQ,CAAC,EAClC,KAAIO,uCAAoB,EAACP,QAAQ,CAAC,EAClC,KAAIQ,qCAAkB,EAACR,QAAQ,CAAC,EAChC,KAAIS,uCAAoB,EAACT,QAAQ,CAAC,EAClC,KAAIU,uCAAoB,EAACV,QAAQ,CAAC,EAClC,KAAIW,uCAAoB,EAACX,QAAQ,CAAC,EAClC,KAAIY,uCAAoB,EAACZ,QAAQ,CAAC,CACnC;IACD,MAAMa,MAAM,GAAG,KAAIC,yBAAM,EAACd,QAAQ,CAAC;IACnCF,GAAG,CAACiB,QAAQ,CAACd,OAAO,EAAEY,MAAM,CAAC;IAE7BG,0BAAe,CAACC,QAAQ,GAAGjB,QAAQ,CAACrE,gBAAgB,CAACuF,IAAI,CAAClB,QAAQ,CAAC;IAEnE,OAAOA,QAAQ;EACjB;AACF;AAACmB,OAAA,CAAAzK,gBAAA,GAAAA,gBAAA;AAAApB,eAAA,CApTYoB,gBAAgB,WAoRZ,EAAE;AAAApB,eAAA,CApRNoB,gBAAgB,kBAqRL,CAAC0K,gBAAS,EAAEC,oBAAe,EAAE/I,8CAAwB,EAAEgJ,mBAAc,EAAEC,uBAAkB,CAAC;AAAAjM,eAAA,CArRrGoB,gBAAgB,aAuRV8K,kBAAW;AA+B9B,SAASpD,aAAaA,CAAC/D,OAAe,EAAE;EACtC,OAAOA,OAAO,CAACoH,QAAQ,CAAC,GAAG,CAAC,IAAIpH,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;AACpD;AAEAqH,kCAAkB,CAACC,UAAU,CAACjL,gBAAgB,CAAC;AAAC,IAAAkL,QAAA,GAAAT,OAAA,CAAAzN,OAAA,GAEjCgD,gBAAgB"}
1
+ {"version":3,"names":["_cli","data","require","_moment","_interopRequireDefault","_dependencyResolver","_workspace","_interopRequireWildcard","_lodash","_pMapSeries","_componentLoader","_scopeGraph","_devFiles","_aspectLoader","_dependenciesLoader","_dependenciesCmd","_dependencies","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DependenciesMain","constructor","workspace","dependencyResolver","devFiles","aspectLoader","setDependency","componentPattern","packages","options","compIds","idsByPattern","getDepField","dev","peer","packagesObj","Promise","all","map","pkg","name","version","getPackageNameAndVerResolved","optional","config","policy","compId","addSpecificComponentConfig","DependencyResolverAspect","id","shouldMergeWithExisting","shouldMergeWithPrevious","bitMap","write","changedComps","toStringWithoutVersion","addedPackages","removeDependency","removeOnlyIfExists","results","pMapSeries","component","depList","getDependencies","getCurrentConfig","currentConfigFromWorkspace","getSpecificComponentConfig","extFromScope","getExtensionsFromScopeAndSpecific","toConfigObject","currentDepResolverConfig","newDepResolverConfig","cloneDeep","removedPackagesWithNulls","_dependency$getPackag","_newDepResolverConfig","splitPkgToNameAndVer","dependency","findByPkgNameOrCompId","depName","getPackageName","getLifeCycle","lifecycle","depField","KEY_NAME_BY_LIFECYCLE_TYPE","existsInSpecificConfig","removedPackages","compact","reset","eject","OutsideWorkspaceError","resolveComponentId","consumer","scopeGraph","DependencyGraph","buildGraphFromScope","scope","scopeDependencyGraph","workspaceGraph","buildGraphFromWorkspace","workspaceDependencyGraph","loadDependencies","opts","dependenciesLoader","DependenciesLoader","load","loadDependenciesFromScope","dependenciesData","loadFromScope","debugDependencies","consumerComponent","state","_consumer","cacheResolvedDependencies","useDependenciesCache","missingPackageDependencies","manuallyAddedDependencies","manuallyRemovedDependencies","overridesDependencies","sources","dep","source","debugDependenciesData","coreAspects","blame","compName","log","getLogs","blameResults","lastVersion","logItem","changeVersion","tag","hash","snap","author","username","date","moment","Date","parseInt","format","message","usageDeep","isComponentId","_this$dependencyResol","_this$dependencyResol2","getPackageManager","findUsages","lockfileDir","path","depth","usage","allComps","list","comp","toString","resolveLatest","pkgName","versionResolver","getVersionResolver","resolved","resolveRemoteVersion","rootDir","Error","versionResolved","packageSplit","split","startsWith","provider","cli","depsResolver","depsMain","depsCmd","DependenciesCmd","commands","DependenciesGetCmd","DependenciesRemoveCmd","DependenciesUnsetCmd","DependenciesDebugCmd","DependenciesSetCmd","DependenciesResetCmd","DependenciesEjectCmd","DependenciesBlameCmd","DependenciesUsageCmd","whyCmd","WhyCmd","register","ComponentLoader","loadDeps","bind","exports","CLIAspect","WorkspaceAspect","DevFilesAspect","AspectLoaderAspect","MainRuntime","includes","DependenciesAspect","addRuntime","_default"],"sources":["dependencies.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport moment from 'moment';\nimport { ComponentID } from '@teambit/component-id';\nimport {\n DependencyResolverAspect,\n DependencyResolverMain,\n KEY_NAME_BY_LIFECYCLE_TYPE,\n} from '@teambit/dependency-resolver';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { cloneDeep, compact, set } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport ComponentLoader, { DependencyLoaderOpts } from '@teambit/legacy/dist/consumer/component/component-loader';\nimport DependencyGraph from '@teambit/legacy/dist/scope/graph/scope-graph';\nimport DevFilesAspect, { DevFilesMain } from '@teambit/dev-files';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { DependenciesLoader } from './dependencies-loader/dependencies-loader';\nimport { DependenciesData, OverridesDependenciesData } from './dependencies-loader/dependencies-data';\nimport {\n DependenciesBlameCmd,\n DependenciesCmd,\n DependenciesDebugCmd,\n DependenciesEjectCmd,\n DependenciesGetCmd,\n DependenciesRemoveCmd,\n DependenciesResetCmd,\n DependenciesSetCmd,\n DependenciesUnsetCmd,\n DependenciesUsageCmd,\n RemoveDependenciesFlags,\n SetDependenciesFlags,\n WhyCmd,\n} from './dependencies-cmd';\nimport { DependenciesAspect } from './dependencies.aspect';\nimport { DebugDependencies } from './dependencies-loader/auto-detect-deps';\n\nexport type RemoveDependencyResult = { id: ComponentID; removedPackages: string[] };\n\nexport type DependenciesResultsDebug = DebugDependencies &\n OverridesDependenciesData & { coreAspects: string[]; sources: { id: string; source: string }[] };\n\nexport type DependenciesResults = {\n scopeGraph: DependencyGraph;\n workspaceGraph: DependencyGraph;\n id: ComponentID;\n};\n\nexport type BlameResult = {\n snap: string;\n tag?: string;\n author: string;\n date: string;\n message: string;\n version: string;\n};\n\nexport class DependenciesMain {\n constructor(\n private workspace: Workspace,\n private dependencyResolver: DependencyResolverMain,\n private devFiles: DevFilesMain,\n private aspectLoader: AspectLoaderMain\n ) {}\n\n async setDependency(\n componentPattern: string,\n packages: string[],\n options: SetDependenciesFlags\n ): Promise<{ changedComps: string[]; addedPackages: Record<string, string> }> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n const getDepField = () => {\n if (options.dev) return 'devDependencies';\n if (options.peer) return 'peerDependencies';\n return 'dependencies';\n };\n const packagesObj = {};\n await Promise.all(\n packages.map(async (pkg) => {\n const [name, version] = await this.getPackageNameAndVerResolved(pkg);\n if (options.optional) {\n packagesObj[name] = { optional: true, version };\n } else {\n packagesObj[name] = version;\n }\n })\n );\n const config = {\n policy: {\n [getDepField()]: packagesObj,\n },\n };\n await Promise.all(\n compIds.map(async (compId) => {\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, config, {\n shouldMergeWithExisting: true,\n shouldMergeWithPrevious: true,\n });\n })\n );\n\n await this.workspace.bitMap.write(`deps-set (${componentPattern})`);\n\n return {\n changedComps: compIds.map((compId) => compId.toStringWithoutVersion()),\n addedPackages: packagesObj,\n };\n }\n\n async removeDependency(\n componentPattern: string,\n packages: string[],\n options: RemoveDependenciesFlags = {},\n removeOnlyIfExists = false // unset\n ): Promise<RemoveDependencyResult[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n const results = await pMapSeries(compIds, async (compId) => {\n const component = await this.workspace.get(compId);\n const depList = await this.dependencyResolver.getDependencies(component);\n const getCurrentConfig = async () => {\n const currentConfigFromWorkspace = await this.workspace.getSpecificComponentConfig(\n compId,\n DependencyResolverAspect.id\n );\n if (currentConfigFromWorkspace) return currentConfigFromWorkspace;\n const extFromScope = await this.workspace.getExtensionsFromScopeAndSpecific(compId);\n return extFromScope?.toConfigObject()[DependencyResolverAspect.id];\n };\n const currentDepResolverConfig = await getCurrentConfig();\n const newDepResolverConfig = cloneDeep(currentDepResolverConfig || {});\n const removedPackagesWithNulls = await pMapSeries(packages, async (pkg) => {\n const [name, version] = this.splitPkgToNameAndVer(pkg);\n const dependency = depList.findByPkgNameOrCompId(name, version);\n if (!dependency) return null;\n const depName = dependency.getPackageName?.() || dependency.id;\n const getLifeCycle = () => {\n if (options.dev) return 'dev';\n if (options.peer) return 'peer';\n return dependency.lifecycle;\n };\n const depField = KEY_NAME_BY_LIFECYCLE_TYPE[getLifeCycle()];\n const existsInSpecificConfig = newDepResolverConfig.policy?.[depField]?.[depName];\n if (existsInSpecificConfig) {\n if (existsInSpecificConfig === '-') return null;\n delete newDepResolverConfig.policy[depField][depName];\n } else {\n if (removeOnlyIfExists) return null;\n set(newDepResolverConfig, ['policy', depField, depName], '-');\n }\n return `${depName}@${dependency.version}`;\n });\n const removedPackages = compact(removedPackagesWithNulls);\n if (!removedPackages.length) return null;\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, newDepResolverConfig);\n return { id: compId, removedPackages };\n });\n await this.workspace.bitMap.write(`deps-remove (${componentPattern})`);\n\n return compact(results);\n }\n\n async reset(componentPattern: string): Promise<ComponentID[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n await pMapSeries(compIds, async (compId) => {\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, { policy: {} });\n });\n await this.workspace.bitMap.write(`deps-reset (${componentPattern})`);\n\n return compIds;\n }\n\n async eject(componentPattern: string): Promise<ComponentID[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n await pMapSeries(compIds, async (compId) => {\n await this.workspace.addSpecificComponentConfig(\n compId,\n DependencyResolverAspect.id,\n {},\n {\n shouldMergeWithExisting: true,\n shouldMergeWithPrevious: true,\n }\n );\n });\n await this.workspace.bitMap.write(`deps-eject (${componentPattern})`);\n\n return compIds;\n }\n\n async getDependencies(id: string): Promise<DependenciesResults> {\n // @todo: supports this on bare-scope.\n if (!this.workspace) throw new OutsideWorkspaceError();\n const compId = await this.workspace.resolveComponentId(id);\n const consumer = this.workspace.consumer;\n const scopeGraph = await DependencyGraph.buildGraphFromScope(consumer.scope);\n const scopeDependencyGraph = new DependencyGraph(scopeGraph);\n\n const workspaceGraph = await DependencyGraph.buildGraphFromWorkspace(consumer, true);\n const workspaceDependencyGraph = new DependencyGraph(workspaceGraph);\n\n return { scopeGraph: scopeDependencyGraph, workspaceGraph: workspaceDependencyGraph, id: compId };\n }\n\n async loadDependencies(component: ConsumerComponent, opts: DependencyLoaderOpts) {\n const dependenciesLoader = new DependenciesLoader(\n component,\n this.dependencyResolver,\n this.devFiles,\n this.aspectLoader\n );\n return dependenciesLoader.load(this.workspace, opts);\n }\n\n /**\n * load dependencies without the need for the workspace.\n * the \"auto-detect\" are passed here as \"dependenciesData\". the \"overrides\", such as dependencies from the env,\n * are calculated here.\n * eventually all these dependencies are added to the ConsumerComponent object.\n */\n async loadDependenciesFromScope(component: ConsumerComponent, dependenciesData: Partial<DependenciesData>) {\n const dependenciesLoader = new DependenciesLoader(\n component,\n this.dependencyResolver,\n this.devFiles,\n this.aspectLoader\n );\n return dependenciesLoader.loadFromScope(dependenciesData);\n }\n\n async debugDependencies(id: string): Promise<DependenciesResultsDebug> {\n // @todo: supports this on bare-scope.\n if (!this.workspace) throw new OutsideWorkspaceError();\n const compId = await this.workspace.resolveComponentId(id);\n const component = await this.workspace.get(compId);\n const consumerComponent = component.state._consumer as ConsumerComponent;\n\n const dependenciesData = await this.loadDependencies(consumerComponent, {\n cacheResolvedDependencies: {},\n useDependenciesCache: false,\n });\n\n const { missingPackageDependencies, manuallyAddedDependencies, manuallyRemovedDependencies } =\n dependenciesData.overridesDependencies;\n\n const results = await this.dependencyResolver.getDependencies(component);\n const sources = results.map((dep) => ({ id: dep.id, source: dep.source }));\n\n return {\n ...dependenciesData.debugDependenciesData,\n manuallyRemovedDependencies,\n manuallyAddedDependencies,\n missingPackageDependencies,\n coreAspects: dependenciesData.dependenciesData.coreAspects,\n sources,\n };\n }\n\n /**\n * helps determine what snap/tag changed a specific dependency.\n * the results are sorted from the oldest to newest.\n */\n async blame(compName: string, depName: string) {\n const id = await this.workspace.resolveComponentId(compName);\n const log = await this.workspace.scope.getLogs(id);\n const blameResults: BlameResult[] = [];\n let lastVersion = '';\n await pMapSeries(log, async (logItem) => {\n const component = await this.workspace.get(id.changeVersion(logItem.tag || logItem.hash));\n const depList = await this.dependencyResolver.getDependencies(component);\n const dependency = depList.findByPkgNameOrCompId(depName);\n if (dependency && dependency.version === lastVersion) {\n return;\n }\n let version: string;\n if (!dependency) {\n if (!lastVersion) return;\n version = '<REMOVED>';\n } else {\n version = dependency.version;\n }\n if (!dependency || dependency.version === lastVersion) return;\n lastVersion = dependency.version;\n blameResults.push({\n snap: logItem.hash,\n tag: logItem.tag,\n author: logItem.username || '<N/A>',\n date: logItem.date ? moment(new Date(parseInt(logItem.date))).format('YYYY-MM-DD HH:mm:ss') : '<N/A>',\n message: logItem.message,\n version,\n });\n });\n return blameResults;\n }\n\n async usageDeep(depName: string, opts?: { depth?: number }): Promise<string | undefined> {\n if (!isComponentId(depName)) {\n return this.dependencyResolver.getPackageManager()?.findUsages?.(depName, {\n lockfileDir: this.workspace.path,\n depth: opts?.depth,\n });\n }\n return undefined;\n }\n\n /**\n * @param depName either component-id-string or package-name (of the component or not component)\n * @returns a map of component-id-string to the version of the dependency\n */\n async usage(depName: string): Promise<{ [compIdStr: string]: string }> {\n const [name, version] = this.splitPkgToNameAndVer(depName);\n const allComps = await this.workspace.list();\n const results = {};\n await Promise.all(\n allComps.map(async (comp) => {\n const depList = await this.dependencyResolver.getDependencies(comp);\n const dependency = depList.findByPkgNameOrCompId(name, version);\n if (dependency) {\n results[comp.id.toString()] = dependency.version;\n }\n })\n );\n return results;\n }\n\n private async getPackageNameAndVerResolved(pkg: string): Promise<[string, string]> {\n const resolveLatest = async (pkgName: string) => {\n const versionResolver = await this.dependencyResolver.getVersionResolver({});\n const resolved = await versionResolver.resolveRemoteVersion(pkgName, { rootDir: '' });\n if (!resolved.version) throw new Error(`unable to resolve version for ${pkgName}`);\n return resolved.version;\n };\n const [name, version] = this.splitPkgToNameAndVer(pkg);\n const versionResolved = !version || version === 'latest' ? await resolveLatest(name) : version;\n return [name, versionResolved];\n }\n\n private splitPkgToNameAndVer(pkg: string): [string, string | undefined] {\n const packageSplit = pkg.split('@');\n if (pkg.startsWith('@')) {\n // scoped package\n if (packageSplit.length > 3) throw new Error(`invalid package \"${pkg}\" syntax, expected \"package[@version]\"`);\n return [`@${packageSplit[1]}`, packageSplit[2]];\n }\n if (packageSplit.length > 2) throw new Error(`invalid package \"${pkg}\" syntax, expected \"package[@version]\"`);\n return [packageSplit[0], packageSplit[1]];\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, DependencyResolverAspect, DevFilesAspect, AspectLoaderAspect];\n\n static runtime = MainRuntime;\n\n static async provider([cli, workspace, depsResolver, devFiles, aspectLoader]: [\n CLIMain,\n Workspace,\n DependencyResolverMain,\n DevFilesMain,\n AspectLoaderMain\n ]) {\n const depsMain = new DependenciesMain(workspace, depsResolver, devFiles, aspectLoader);\n const depsCmd = new DependenciesCmd();\n depsCmd.commands = [\n new DependenciesGetCmd(depsMain),\n new DependenciesRemoveCmd(depsMain),\n new DependenciesUnsetCmd(depsMain),\n new DependenciesDebugCmd(depsMain),\n new DependenciesSetCmd(depsMain),\n new DependenciesResetCmd(depsMain),\n new DependenciesEjectCmd(depsMain),\n new DependenciesBlameCmd(depsMain),\n new DependenciesUsageCmd(depsMain),\n ];\n const whyCmd = new WhyCmd(depsMain);\n cli.register(depsCmd, whyCmd);\n\n ComponentLoader.loadDeps = depsMain.loadDependencies.bind(depsMain);\n\n return depsMain;\n }\n}\n\nfunction isComponentId(depName: string) {\n return depName.includes('/') && depName[0] !== '@';\n}\n\nDependenciesAspect.addRuntime(DependenciesMain);\n\nexport default DependenciesMain;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/dependencies",
3
- "version": "1.0.101",
3
+ "version": "1.0.103",
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.101"
9
+ "version": "1.0.103"
10
10
  },
11
11
  "dependencies": {
12
12
  "archy": "1.0.0",
@@ -23,12 +23,12 @@
23
23
  "@teambit/harmony": "0.4.6",
24
24
  "@teambit/component-id": "1.2.0",
25
25
  "@teambit/component-version": "1.0.3",
26
- "@teambit/cli": "0.0.835",
27
- "@teambit/aspect-loader": "1.0.101",
28
- "@teambit/dependency-resolver": "1.0.101",
29
- "@teambit/dev-files": "1.0.101",
30
- "@teambit/workspace": "1.0.101",
31
- "@teambit/component-issues": "0.0.133"
26
+ "@teambit/cli": "0.0.837",
27
+ "@teambit/aspect-loader": "1.0.103",
28
+ "@teambit/dependency-resolver": "1.0.103",
29
+ "@teambit/dev-files": "1.0.103",
30
+ "@teambit/workspace": "1.0.103",
31
+ "@teambit/component-issues": "0.0.135"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/cli-table": "^0.3.0",
@@ -45,7 +45,7 @@
45
45
  "@types/testing-library__jest-dom": "5.9.5"
46
46
  },
47
47
  "peerDependencies": {
48
- "@teambit/legacy": "1.0.620",
48
+ "@teambit/legacy": "1.0.622",
49
49
  "react": "^16.8.0 || ^17.0.0",
50
50
  "react-dom": "^16.8.0 || ^17.0.0"
51
51
  },