@teambit/dependencies 1.0.269 → 1.0.271

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="37" failures="0" errors="0" skipped="0">
3
- <testsuite name="teambit.dependencies/dependencies@1.0.269" tests="37" failures="0" errors="0" skipped="0">
4
- <testcase classname="dist/dependencies.spec.js" name="should add the snap prefix"/>
5
- <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/testing-library__jest-dom" time="0.001"/>
3
+ <testsuite name="teambit.dependencies/dependencies@1.0.271" tests="37" failures="0" errors="0" skipped="0">
4
+ <testcase classname="dist/dependencies.spec.js" name="should add the snap prefix" time="0.001"/>
5
+ <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/testing-library__jest-dom"/>
6
6
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/chai"/>
7
7
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/mocha"/>
8
8
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/classnames"/>
@@ -10,7 +10,7 @@
10
10
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/cross-spawn"/>
11
11
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/didyoumean"/>
12
12
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/eslint"/>
13
- <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/express" time="0.001"/>
13
+ <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/express"/>
14
14
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/find-cache-dir"/>
15
15
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/find-root"/>
16
16
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/history"/>
@@ -20,18 +20,18 @@
20
20
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/lodash.flatten"/>
21
21
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/lodash.head"/>
22
22
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/lodash.pick"/>
23
- <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/mdx-js__react" time="0.001"/>
23
+ <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/mdx-js__react"/>
24
24
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/memoizee"/>
25
25
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/mime"/>
26
26
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/mousetrap"/>
27
27
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/node"/>
28
28
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/puppeteer"/>
29
29
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/react"/>
30
- <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/react-dom"/>
30
+ <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/react-dom" time="0.001"/>
31
31
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/react-router-dom"/>
32
32
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/react-tabs"/>
33
33
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/react-tooltip"/>
34
- <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/socket.io-client" time="0.001"/>
34
+ <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/socket.io-client"/>
35
35
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/ua-parser-js"/>
36
36
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/url-join"/>
37
37
  <testcase classname="dist/dependencies-loader/package-to-definetly-typed.spec.js" name="should map to @types/url-parse"/>
@@ -3676,7 +3676,7 @@
3676
3676
  "componentId": {
3677
3677
  "scope": "teambit.dependencies",
3678
3678
  "name": "dependencies",
3679
- "version": "1.0.269"
3679
+ "version": "1.0.271"
3680
3680
  },
3681
3681
  "taggedModuleExports": []
3682
3682
  }
@@ -39,7 +39,7 @@ export class DependenciesLoader {
39
39
  applyOverrides.issues = dependenciesData.issues;
40
40
  const results = await applyOverrides.getDependenciesData();
41
41
  this.setDependenciesDataOnComponent(results.dependenciesData, results.overridesDependencies);
42
- updateDependenciesVersions(
42
+ await updateDependenciesVersions(
43
43
  this.depsResolver,
44
44
  workspace,
45
45
  this.component,
@@ -14,7 +14,7 @@ import { DebugComponentsDependency, getValidVersion } from './auto-detect-deps';
14
14
 
15
15
  type DepType = 'dependencies' | 'devDependencies' | 'peerDependencies';
16
16
 
17
- export function updateDependenciesVersions(
17
+ export async function updateDependenciesVersions(
18
18
  depsResolver: DependencyResolverMain,
19
19
  workspace: Workspace,
20
20
  component: Component,
@@ -25,6 +25,7 @@ export function updateDependenciesVersions(
25
25
  ) {
26
26
  const consumer: Consumer = workspace.consumer;
27
27
  const autoDetectConfigMerge = workspace.getAutoDetectConfigMerge(component.id) || {};
28
+ const currentLane = await workspace.getCurrentLaneObject();
28
29
 
29
30
  updateDependencies(component.dependencies, 'dependencies');
30
31
  updateDependencies(component.devDependencies, 'devDependencies');
@@ -44,6 +45,7 @@ export function updateDependenciesVersions(
44
45
  const idFromComponentConfig = getIdFromComponentConfig(id);
45
46
  const getFromComponentConfig = () => idFromComponentConfig;
46
47
  const getFromBitMap = () => idFromBitMap || null;
48
+ const getFromUpdateDependentsOnLane = () => getIdFromUpdateDependentsOnLane(id);
47
49
  // later, change this to return the version from the overrides.
48
50
  const getFromOverrides = () => resolveFromOverrides(id, depType, pkg);
49
51
  const debugDep = debugDependencies?.find((dep) => dep.id.isEqualWithoutVersion(id));
@@ -67,6 +69,7 @@ export function updateDependenciesVersions(
67
69
  getFromComponentConfig,
68
70
  getFromOverrides,
69
71
  getFromBitMap,
72
+ getFromUpdateDependentsOnLane,
70
73
  getFromDepPackageJsonDueToWorkspacePolicy,
71
74
  getFromMergeConfig,
72
75
  getFromDepPackageJsonDueToAutoDetectOverrides,
@@ -126,6 +129,12 @@ export function updateDependenciesVersions(
126
129
  return existingIds.length === 1 ? existingIds[0] : undefined;
127
130
  }
128
131
 
132
+ function getIdFromUpdateDependentsOnLane(id: ComponentID) {
133
+ const updateDependents = currentLane?.updateDependents;
134
+ if (!updateDependents) return undefined;
135
+ return updateDependents.find((dep) => dep.isEqualWithoutVersion(id));
136
+ }
137
+
129
138
  function getIdFromComponentConfig(componentId: ComponentID): ComponentID | undefined {
130
139
  const dependencies = component.overrides.getComponentDependenciesWithVersion();
131
140
  if (isEmpty(dependencies)) return undefined;
@@ -116,7 +116,7 @@ class DependenciesLoader {
116
116
  applyOverrides.issues = dependenciesData.issues;
117
117
  const results = await applyOverrides.getDependenciesData();
118
118
  this.setDependenciesDataOnComponent(results.dependenciesData, results.overridesDependencies);
119
- (0, _dependenciesVersionsResolver().updateDependenciesVersions)(this.depsResolver, workspace, this.component, results.overridesDependencies, results.autoDetectOverrides, applyOverrides.debugDependenciesData.components, opts.resolveExtensionsVersions);
119
+ await (0, _dependenciesVersionsResolver().updateDependenciesVersions)(this.depsResolver, workspace, this.component, results.overridesDependencies, results.autoDetectOverrides, applyOverrides.debugDependenciesData.components, opts.resolveExtensionsVersions);
120
120
  return {
121
121
  dependenciesData: results.dependenciesData,
122
122
  overridesDependencies: results.overridesDependencies,
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","_interopRequireDefault","require","_lodash","_componentIssues","_logger","_lastModified","_config","_constants","_dependencyResolver","_dependenciesData","_dependenciesVersionsResolver","_autoDetectDeps","_applyOverrides","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","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","resolveExtensionsVersions","loadFromScope","depsDataFromCache","getDependenciesDataFromCacheIfPossible","autoDetectDeps","AutoDetectDeps","cacheResolvedDependencies","cacheProjectAst","shouldSaveInCache","storeInFsCache","consumer","componentFsCache","saveDependenciesDataInCache","serialize","useDependenciesCache","cacheData","getDependenciesDataFromCache","rootDir","componentMap","getComponentDir","filesPaths","files","map","f","path","componentConfigPath","join","COMPONENT_CONFIG_FILE_NAME","push","lastModifiedComponent","getLastModifiedComponentTimestampMs","wasModifiedAfterCache","timestamp","logger","debug","DependenciesData","deserialize","shouldBlockSavingInCache","setDependencies","dependencies","setDevDependencies","devDependencies","setPeerDependencies","peerDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","missingFromOverrides","missingPackageDependencies","length","getOrCreate","IssuesClasses","MissingManuallyConfiguredPackages","uniq","isEmpty","manuallyRemovedDependencies","manuallyAddedDependencies","coreAspects","pushToDependencyResolverExtension","dataField","operation","depResolverAspectName","DependencyResolverAspect","extExistOnComponent","ext","extensions","findCoreExtension","ExtensionDataEntry","undefined","existing","find","c","packageName","componentId","exports"],"sources":["dependencies-loader.ts"],"sourcesContent":["import path from 'path';\nimport { uniq } from 'lodash';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport 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 opts.resolveExtensionsVersions\n );\n\n return {\n dependenciesData: results.dependenciesData,\n overridesDependencies: results.overridesDependencies,\n debugDependenciesData: applyOverrides.debugDependenciesData,\n };\n }\n\n async loadFromScope(dependenciesData: Partial<DependenciesData>) {\n const applyOverrides = new ApplyOverrides(this.component, this.depsResolver);\n const { allDependencies, allPackagesDependencies, issues } = dependenciesData;\n if (allDependencies) applyOverrides.allDependencies = allDependencies;\n if (allPackagesDependencies) applyOverrides.allPackagesDependencies = allPackagesDependencies;\n if (issues) applyOverrides.issues = issues;\n const results = await applyOverrides.getDependenciesData();\n this.setDependenciesDataOnComponent(results.dependenciesData, results.overridesDependencies);\n }\n\n private async getDependenciesData(\n workspace: Workspace,\n opts: DependencyLoaderOpts\n ): Promise<{\n dependenciesData: DependenciesData;\n debugDependenciesData?: DebugDependencies;\n }> {\n const depsDataFromCache = await this.getDependenciesDataFromCacheIfPossible(workspace, opts);\n if (depsDataFromCache) {\n return { dependenciesData: depsDataFromCache };\n }\n\n const autoDetectDeps = new AutoDetectDeps(\n this.component,\n workspace,\n this.devFiles,\n this.depsResolver,\n this.aspectLoader\n );\n const results = await autoDetectDeps.getDependenciesData(opts.cacheResolvedDependencies, opts.cacheProjectAst);\n if (this.shouldSaveInCache(results.dependenciesData, opts.storeInFsCache)) {\n await workspace.consumer.componentFsCache.saveDependenciesDataInCache(\n this.idStr,\n results.dependenciesData.serialize()\n );\n }\n\n return results;\n }\n\n private async getDependenciesDataFromCacheIfPossible(\n workspace: Workspace,\n opts: DependencyLoaderOpts\n ): Promise<DependenciesData | null> {\n if (!opts.useDependenciesCache) {\n return null;\n }\n const cacheData = await workspace.consumer.componentFsCache.getDependenciesDataFromCache(this.idStr);\n if (!cacheData) {\n return null; // probably the first time, so it wasn't entered to the cache yet.\n }\n const rootDir = this.component.componentMap?.getComponentDir();\n if (!rootDir) {\n // could happen on legacy only and when there is no trackDir, in which case, we can't\n // determine whether or not a component file has been deleted, as a result, we are unable\n // to invalidate the cache in such a case.\n return null;\n }\n const filesPaths = this.component.files.map((f) => f.path);\n const componentConfigPath = path.join(workspace.path, rootDir, COMPONENT_CONFIG_FILE_NAME);\n filesPaths.push(componentConfigPath);\n const lastModifiedComponent = await getLastModifiedComponentTimestampMs(rootDir, filesPaths);\n const wasModifiedAfterCache = lastModifiedComponent > cacheData.timestamp;\n if (wasModifiedAfterCache) {\n return null; // cache is invalid.\n }\n logger.debug(`dependencies-loader, getting the dependencies data for ${this.idStr} from the cache`);\n return DependenciesData.deserialize(cacheData.data);\n }\n\n private shouldSaveInCache(dependenciesData: DependenciesData, storeInFsCache = true) {\n if (!storeInFsCache) return false;\n if (!dependenciesData.issues) return true;\n return !dependenciesData.issues.shouldBlockSavingInCache();\n }\n\n private setDependenciesDataOnComponent(\n dependenciesData: DependenciesData,\n overridesDependencies: OverridesDependencies\n ) {\n this.component.setDependencies(dependenciesData.allDependencies.dependencies);\n this.component.setDevDependencies(dependenciesData.allDependencies.devDependencies);\n this.component.setPeerDependencies(dependenciesData.allDependencies.peerDependencies);\n this.component.packageDependencies = dependenciesData.allPackagesDependencies.packageDependencies ?? {};\n this.component.devPackageDependencies = dependenciesData.allPackagesDependencies.devPackageDependencies ?? {};\n this.component.peerPackageDependencies = dependenciesData.allPackagesDependencies.peerPackageDependencies ?? {};\n const missingFromOverrides = overridesDependencies.missingPackageDependencies;\n if (missingFromOverrides.length) {\n dependenciesData.issues.getOrCreate(IssuesClasses.MissingManuallyConfiguredPackages).data =\n uniq(missingFromOverrides);\n }\n if (!dependenciesData.issues.isEmpty()) this.component.issues = dependenciesData.issues;\n this.component.manuallyRemovedDependencies = overridesDependencies.manuallyRemovedDependencies;\n this.component.manuallyAddedDependencies = overridesDependencies.manuallyAddedDependencies;\n if (dependenciesData.coreAspects.length) {\n this.pushToDependencyResolverExtension('coreAspects', dependenciesData.coreAspects, 'set');\n }\n }\n\n private pushToDependencyResolverExtension(dataField: string, data: any, operation: 'add' | 'set' = 'add') {\n const depResolverAspectName = DependencyResolverAspect.id;\n let extExistOnComponent = true;\n let ext = this.component.extensions.findCoreExtension(depResolverAspectName);\n if (!ext) {\n extExistOnComponent = false;\n // Create new deps resolver extension entry to add to the component with data only\n ext = new ExtensionDataEntry(undefined, undefined, depResolverAspectName, undefined, {});\n }\n\n if (!ext.data[dataField]) ext.data[dataField] = [];\n if (operation === 'add') {\n const existing = ext.data[dataField].find((c) => c.packageName === data.packageName);\n if (existing) {\n existing.componentId = data.componentId;\n } else {\n ext.data[dataField].push(data);\n }\n }\n if (operation === 'set') {\n ext.data[dataField] = data;\n }\n if (!extExistOnComponent) {\n this.component.extensions.push(ext);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_path","data","_interopRequireDefault","require","_lodash","_componentIssues","_logger","_lastModified","_config","_constants","_dependencyResolver","_dependenciesData","_dependenciesVersionsResolver","_autoDetectDeps","_applyOverrides","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","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","resolveExtensionsVersions","loadFromScope","depsDataFromCache","getDependenciesDataFromCacheIfPossible","autoDetectDeps","AutoDetectDeps","cacheResolvedDependencies","cacheProjectAst","shouldSaveInCache","storeInFsCache","consumer","componentFsCache","saveDependenciesDataInCache","serialize","useDependenciesCache","cacheData","getDependenciesDataFromCache","rootDir","componentMap","getComponentDir","filesPaths","files","map","f","path","componentConfigPath","join","COMPONENT_CONFIG_FILE_NAME","push","lastModifiedComponent","getLastModifiedComponentTimestampMs","wasModifiedAfterCache","timestamp","logger","debug","DependenciesData","deserialize","shouldBlockSavingInCache","setDependencies","dependencies","setDevDependencies","devDependencies","setPeerDependencies","peerDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","missingFromOverrides","missingPackageDependencies","length","getOrCreate","IssuesClasses","MissingManuallyConfiguredPackages","uniq","isEmpty","manuallyRemovedDependencies","manuallyAddedDependencies","coreAspects","pushToDependencyResolverExtension","dataField","operation","depResolverAspectName","DependencyResolverAspect","extExistOnComponent","ext","extensions","findCoreExtension","ExtensionDataEntry","undefined","existing","find","c","packageName","componentId","exports"],"sources":["dependencies-loader.ts"],"sourcesContent":["import path from 'path';\nimport { uniq } from 'lodash';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport 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 await updateDependenciesVersions(\n this.depsResolver,\n workspace,\n this.component,\n results.overridesDependencies,\n results.autoDetectOverrides,\n applyOverrides.debugDependenciesData.components,\n opts.resolveExtensionsVersions\n );\n\n return {\n dependenciesData: results.dependenciesData,\n overridesDependencies: results.overridesDependencies,\n debugDependenciesData: applyOverrides.debugDependenciesData,\n };\n }\n\n async loadFromScope(dependenciesData: Partial<DependenciesData>) {\n const applyOverrides = new ApplyOverrides(this.component, this.depsResolver);\n const { allDependencies, allPackagesDependencies, issues } = dependenciesData;\n if (allDependencies) applyOverrides.allDependencies = allDependencies;\n if (allPackagesDependencies) applyOverrides.allPackagesDependencies = allPackagesDependencies;\n if (issues) applyOverrides.issues = issues;\n const results = await applyOverrides.getDependenciesData();\n this.setDependenciesDataOnComponent(results.dependenciesData, results.overridesDependencies);\n }\n\n private async getDependenciesData(\n workspace: Workspace,\n opts: DependencyLoaderOpts\n ): Promise<{\n dependenciesData: DependenciesData;\n debugDependenciesData?: DebugDependencies;\n }> {\n const depsDataFromCache = await this.getDependenciesDataFromCacheIfPossible(workspace, opts);\n if (depsDataFromCache) {\n return { dependenciesData: depsDataFromCache };\n }\n\n const autoDetectDeps = new AutoDetectDeps(\n this.component,\n workspace,\n this.devFiles,\n this.depsResolver,\n this.aspectLoader\n );\n const results = await autoDetectDeps.getDependenciesData(opts.cacheResolvedDependencies, opts.cacheProjectAst);\n if (this.shouldSaveInCache(results.dependenciesData, opts.storeInFsCache)) {\n await workspace.consumer.componentFsCache.saveDependenciesDataInCache(\n this.idStr,\n results.dependenciesData.serialize()\n );\n }\n\n return results;\n }\n\n private async getDependenciesDataFromCacheIfPossible(\n workspace: Workspace,\n opts: DependencyLoaderOpts\n ): Promise<DependenciesData | null> {\n if (!opts.useDependenciesCache) {\n return null;\n }\n const cacheData = await workspace.consumer.componentFsCache.getDependenciesDataFromCache(this.idStr);\n if (!cacheData) {\n return null; // probably the first time, so it wasn't entered to the cache yet.\n }\n const rootDir = this.component.componentMap?.getComponentDir();\n if (!rootDir) {\n // could happen on legacy only and when there is no trackDir, in which case, we can't\n // determine whether or not a component file has been deleted, as a result, we are unable\n // to invalidate the cache in such a case.\n return null;\n }\n const filesPaths = this.component.files.map((f) => f.path);\n const componentConfigPath = path.join(workspace.path, rootDir, COMPONENT_CONFIG_FILE_NAME);\n filesPaths.push(componentConfigPath);\n const lastModifiedComponent = await getLastModifiedComponentTimestampMs(rootDir, filesPaths);\n const wasModifiedAfterCache = lastModifiedComponent > cacheData.timestamp;\n if (wasModifiedAfterCache) {\n return null; // cache is invalid.\n }\n logger.debug(`dependencies-loader, getting the dependencies data for ${this.idStr} from the cache`);\n return DependenciesData.deserialize(cacheData.data);\n }\n\n private shouldSaveInCache(dependenciesData: DependenciesData, storeInFsCache = true) {\n if (!storeInFsCache) return false;\n if (!dependenciesData.issues) return true;\n return !dependenciesData.issues.shouldBlockSavingInCache();\n }\n\n private setDependenciesDataOnComponent(\n dependenciesData: DependenciesData,\n overridesDependencies: OverridesDependencies\n ) {\n this.component.setDependencies(dependenciesData.allDependencies.dependencies);\n this.component.setDevDependencies(dependenciesData.allDependencies.devDependencies);\n this.component.setPeerDependencies(dependenciesData.allDependencies.peerDependencies);\n this.component.packageDependencies = dependenciesData.allPackagesDependencies.packageDependencies ?? {};\n this.component.devPackageDependencies = dependenciesData.allPackagesDependencies.devPackageDependencies ?? {};\n this.component.peerPackageDependencies = dependenciesData.allPackagesDependencies.peerPackageDependencies ?? {};\n const missingFromOverrides = overridesDependencies.missingPackageDependencies;\n if (missingFromOverrides.length) {\n dependenciesData.issues.getOrCreate(IssuesClasses.MissingManuallyConfiguredPackages).data =\n uniq(missingFromOverrides);\n }\n if (!dependenciesData.issues.isEmpty()) this.component.issues = dependenciesData.issues;\n this.component.manuallyRemovedDependencies = overridesDependencies.manuallyRemovedDependencies;\n this.component.manuallyAddedDependencies = overridesDependencies.manuallyAddedDependencies;\n if (dependenciesData.coreAspects.length) {\n this.pushToDependencyResolverExtension('coreAspects', dependenciesData.coreAspects, 'set');\n }\n }\n\n private pushToDependencyResolverExtension(dataField: string, data: any, operation: 'add' | 'set' = 'add') {\n const depResolverAspectName = DependencyResolverAspect.id;\n let extExistOnComponent = true;\n let ext = this.component.extensions.findCoreExtension(depResolverAspectName);\n if (!ext) {\n extExistOnComponent = false;\n // Create new deps resolver extension entry to add to the component with data only\n ext = new ExtensionDataEntry(undefined, undefined, depResolverAspectName, undefined, {});\n }\n\n if (!ext.data[dataField]) ext.data[dataField] = [];\n if (operation === 'add') {\n const existing = ext.data[dataField].find((c) => c.packageName === data.packageName);\n if (existing) {\n existing.componentId = data.componentId;\n } else {\n ext.data[dataField].push(data);\n }\n }\n if (operation === 'set') {\n ext.data[dataField] = data;\n }\n if (!extExistOnComponent) {\n this.component.extensions.push(ext);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,4 +3,4 @@ import Component from '@teambit/legacy/dist/consumer/component/consumer-componen
3
3
  import { DependencyResolverMain } from '@teambit/dependency-resolver';
4
4
  import OverridesDependencies from './overrides-dependencies';
5
5
  import { DebugComponentsDependency } from './auto-detect-deps';
6
- export declare function updateDependenciesVersions(depsResolver: DependencyResolverMain, workspace: Workspace, component: Component, overridesDependencies: OverridesDependencies, autoDetectOverrides?: Record<string, any>, debugDependencies?: DebugComponentsDependency[], updateExtensionsVersions?: boolean): void;
6
+ export declare function updateDependenciesVersions(depsResolver: DependencyResolverMain, workspace: Workspace, component: Component, overridesDependencies: OverridesDependencies, autoDetectOverrides?: Record<string, any>, debugDependencies?: DebugComponentsDependency[], updateExtensionsVersions?: boolean): Promise<void>;
@@ -33,9 +33,10 @@ function _autoDetectDeps() {
33
33
  return data;
34
34
  }
35
35
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
- function updateDependenciesVersions(depsResolver, workspace, component, overridesDependencies, autoDetectOverrides, debugDependencies, updateExtensionsVersions = true) {
36
+ async function updateDependenciesVersions(depsResolver, workspace, component, overridesDependencies, autoDetectOverrides, debugDependencies, updateExtensionsVersions = true) {
37
37
  const consumer = workspace.consumer;
38
38
  const autoDetectConfigMerge = workspace.getAutoDetectConfigMerge(component.id) || {};
39
+ const currentLane = await workspace.getCurrentLaneObject();
39
40
  updateDependencies(component.dependencies, 'dependencies');
40
41
  updateDependencies(component.devDependencies, 'devDependencies');
41
42
  updateDependencies(component.peerDependencies, 'peerDependencies');
@@ -54,6 +55,7 @@ function updateDependenciesVersions(depsResolver, workspace, component, override
54
55
  const idFromComponentConfig = getIdFromComponentConfig(id);
55
56
  const getFromComponentConfig = () => idFromComponentConfig;
56
57
  const getFromBitMap = () => idFromBitMap || null;
58
+ const getFromUpdateDependentsOnLane = () => getIdFromUpdateDependentsOnLane(id);
57
59
  // later, change this to return the version from the overrides.
58
60
  const getFromOverrides = () => resolveFromOverrides(id, depType, pkg);
59
61
  const debugDep = debugDependencies?.find(dep => dep.id.isEqualWithoutVersion(id));
@@ -71,7 +73,7 @@ function updateDependenciesVersions(depsResolver, workspace, component, override
71
73
  // prefer the version from the model over the version from the node_modules
72
74
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
73
75
  const getFromModel = () => getIdFromModelDeps(component.componentFromModel, id);
74
- const strategies = [getFromComponentConfig, getFromOverrides, getFromBitMap, getFromDepPackageJsonDueToWorkspacePolicy, getFromMergeConfig, getFromDepPackageJsonDueToAutoDetectOverrides, getFromModel, getFromDepPackageJson];
76
+ const strategies = [getFromComponentConfig, getFromOverrides, getFromBitMap, getFromUpdateDependentsOnLane, getFromDepPackageJsonDueToWorkspacePolicy, getFromMergeConfig, getFromDepPackageJsonDueToAutoDetectOverrides, getFromModel, getFromDepPackageJson];
75
77
  for (const strategy of strategies) {
76
78
  const strategyId = strategy();
77
79
  if (strategyId) {
@@ -119,6 +121,11 @@ function updateDependenciesVersions(depsResolver, workspace, component, override
119
121
  const existingIds = consumer.bitmapIdsFromCurrentLane.filterWithoutVersion(componentId);
120
122
  return existingIds.length === 1 ? existingIds[0] : undefined;
121
123
  }
124
+ function getIdFromUpdateDependentsOnLane(id) {
125
+ const updateDependents = currentLane?.updateDependents;
126
+ if (!updateDependents) return undefined;
127
+ return updateDependents.find(dep => dep.isEqualWithoutVersion(id));
128
+ }
122
129
  function getIdFromComponentConfig(componentId) {
123
130
  const dependencies = component.overrides.getComponentDependenciesWithVersion();
124
131
  if ((0, _lodash().isEmpty)(dependencies)) return undefined;
@@ -1 +1 @@
1
- {"version":3,"names":["_logger","data","_interopRequireDefault","require","_lodash","_constants","_autoDetectDeps","obj","__esModule","default","updateDependenciesVersions","depsResolver","workspace","component","overridesDependencies","autoDetectOverrides","debugDependencies","updateExtensionsVersions","consumer","autoDetectConfigMerge","getAutoDetectConfigMerge","id","updateDependencies","dependencies","devDependencies","peerDependencies","updateExtensions","extensions","resolveVersion","depType","pkg","idFromBitMap","getIdFromBitMap","idFromComponentConfig","getIdFromComponentConfig","getFromComponentConfig","getFromBitMap","getFromOverrides","resolveFromOverrides","debugDep","find","dep","isEqualWithoutVersion","getFromDepPackageJson","hasVersion","getFromDepPackageJsonDueToWorkspacePolicy","isPkgInWorkspacePolicies","getFromMergeConfig","resolveFromMergeConfig","getFromDepPackageJsonDueToAutoDetectOverrides","isPkgInAutoDetectOverrides","getFromModel","getIdFromModelDeps","componentFromModel","strategies","strategy","strategyId","logger","debug","version","toString","name","versionResolvedFrom","replace","undefined","updateDependency","dependency","packageName","resolvedVersion","changeVersion","get","forEach","updateExtension","extension","extensionId","componentId","getAllDependenciesIds","searchWithoutVersion","existingIds","bitmapIdsFromCurrentLane","filterWithoutVersion","length","overrides","getComponentDependenciesWithVersion","isEmpty","Object","keys","idStr","toStringWithoutVersion","pkgName","getDependenciesToAddManually","found","validVersion","getValidVersion","DEPENDENCIES_FIELDS","some","depField","getWorkspacePolicyManifest","foundVersion","field"],"sources":["dependencies-versions-resolver.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { Workspace } from '@teambit/workspace';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { isEmpty } from 'lodash';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport Dependencies from '@teambit/legacy/dist/consumer/component/dependencies/dependencies';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { DEPENDENCIES_FIELDS } from '@teambit/legacy/dist/constants';\nimport Dependency from '@teambit/legacy/dist/consumer/component/dependencies/dependency';\nimport OverridesDependencies from './overrides-dependencies';\nimport { DebugComponentsDependency, getValidVersion } from './auto-detect-deps';\n\ntype DepType = 'dependencies' | 'devDependencies' | 'peerDependencies';\n\nexport function updateDependenciesVersions(\n depsResolver: DependencyResolverMain,\n workspace: Workspace,\n component: Component,\n overridesDependencies: OverridesDependencies,\n autoDetectOverrides?: Record<string, any>,\n debugDependencies?: DebugComponentsDependency[],\n updateExtensionsVersions = true\n) {\n const consumer: Consumer = workspace.consumer;\n const autoDetectConfigMerge = workspace.getAutoDetectConfigMerge(component.id) || {};\n\n updateDependencies(component.dependencies, 'dependencies');\n updateDependencies(component.devDependencies, 'devDependencies');\n updateDependencies(component.peerDependencies, 'peerDependencies');\n if (updateExtensionsVersions) {\n updateExtensions(component.extensions);\n }\n\n /**\n * the `pkg` can be missing only in two scenarios:\n * 1: the dependency is using relative-paths, not the module path. (which bit-status shows an error and suggests\n * running bit link --rewire).\n * 2: this gets called for extension-id.\n */\n function resolveVersion(id: ComponentID, depType: DepType, pkg?: string): string | undefined {\n const idFromBitMap = getIdFromBitMap(id);\n const idFromComponentConfig = getIdFromComponentConfig(id);\n const getFromComponentConfig = () => idFromComponentConfig;\n const getFromBitMap = () => idFromBitMap || null;\n // later, change this to return the version from the overrides.\n const getFromOverrides = () => resolveFromOverrides(id, depType, pkg);\n const debugDep = debugDependencies?.find((dep) => dep.id.isEqualWithoutVersion(id));\n // the id we get from the auto-detect is coming from the package.json of the dependency.\n const getFromDepPackageJson = () => (id.hasVersion() ? id : null);\n // In case it's resolved from the node_modules, and it's also in the ws policy or variants,\n // use the resolved version from the node_modules / package folder\n const getFromDepPackageJsonDueToWorkspacePolicy = () =>\n pkg && id.hasVersion() && isPkgInWorkspacePolicies(pkg) ? id : null;\n // merge config here is only auto-detected ones. their priority is less then the ws policy\n // otherwise, imagine you merge a lane, you don't like the dependency you got from the other lane, you run\n // bit-install to change it, but it won't do anything.\n const getFromMergeConfig = () => (pkg ? resolveFromMergeConfig(id, pkg) : null);\n const getFromDepPackageJsonDueToAutoDetectOverrides = () => (pkg && isPkgInAutoDetectOverrides(pkg) ? id : null);\n // If there is a version in the node_modules/package folder, but it's not in the ws policy,\n // prefer the version from the model over the version from the node_modules\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const getFromModel = () => getIdFromModelDeps(component.componentFromModel!, id);\n\n const strategies = [\n getFromComponentConfig,\n getFromOverrides,\n getFromBitMap,\n getFromDepPackageJsonDueToWorkspacePolicy,\n getFromMergeConfig,\n getFromDepPackageJsonDueToAutoDetectOverrides,\n getFromModel,\n getFromDepPackageJson,\n ];\n\n for (const strategy of strategies) {\n const strategyId = strategy();\n if (strategyId) {\n logger.debug(\n `found dependency version ${strategyId.version} for ${id.toString()} in strategy ${strategy.name}`\n );\n if (debugDep) {\n debugDep.versionResolvedFrom = strategy.name.replace('getFrom', '');\n debugDep.version = strategyId.version;\n }\n\n return strategyId.version;\n }\n }\n return undefined;\n }\n\n function updateDependency(dependency: Dependency, depType: DepType) {\n const { id, packageName } = dependency;\n const resolvedVersion = resolveVersion(id, depType, packageName);\n if (resolvedVersion) {\n dependency.id = dependency.id.changeVersion(resolvedVersion);\n }\n }\n function updateDependencies(dependencies: Dependencies, depType: DepType) {\n dependencies.get().forEach((dep) => updateDependency(dep, depType));\n }\n\n function updateExtension(extension: ExtensionDataEntry) {\n if (extension.extensionId) {\n const resolvedVersion = resolveVersion(extension.extensionId, 'devDependencies');\n if (resolvedVersion) {\n extension.extensionId = extension.extensionId.changeVersion(resolvedVersion);\n }\n }\n }\n function updateExtensions(extensions: ExtensionDataList) {\n extensions.forEach(updateExtension);\n }\n\n function getIdFromModelDeps(componentFromModel: Component, componentId: ComponentID): ComponentID | null {\n if (!componentFromModel) return null;\n const dependency = componentFromModel.getAllDependenciesIds().searchWithoutVersion(componentId);\n if (!dependency) return null;\n return dependency;\n }\n\n function getIdFromBitMap(componentId: ComponentID): ComponentID | null | undefined {\n const existingIds = consumer.bitmapIdsFromCurrentLane.filterWithoutVersion(componentId);\n return existingIds.length === 1 ? existingIds[0] : undefined;\n }\n\n function getIdFromComponentConfig(componentId: ComponentID): ComponentID | undefined {\n const dependencies = component.overrides.getComponentDependenciesWithVersion();\n if (isEmpty(dependencies)) return undefined;\n const dependency = Object.keys(dependencies).find((idStr) => componentId.toStringWithoutVersion() === idStr);\n if (!dependency) return undefined;\n return componentId.changeVersion(dependencies[dependency]);\n }\n\n function resolveFromOverrides(id: ComponentID, depType: DepType, pkgName?: string): ComponentID | undefined {\n if (!pkgName) return undefined;\n const dependencies = overridesDependencies.getDependenciesToAddManually();\n const found = dependencies?.[depType]?.[pkgName];\n if (!found) return undefined;\n const validVersion = getValidVersion(found);\n return validVersion ? id.changeVersion(validVersion) : undefined;\n }\n\n function isPkgInAutoDetectOverrides(pkgName: string): boolean {\n return DEPENDENCIES_FIELDS.some(\n (depField) => autoDetectOverrides?.[depField] && autoDetectOverrides[depField][pkgName]\n );\n }\n\n function isPkgInWorkspacePolicies(pkgName: string) {\n return depsResolver.getWorkspacePolicyManifest().dependencies?.[pkgName];\n }\n\n function resolveFromMergeConfig(id: ComponentID, pkgName: string): ComponentID | undefined {\n let foundVersion: string | undefined | null;\n DEPENDENCIES_FIELDS.forEach((field) => {\n if (autoDetectConfigMerge[field]?.[pkgName]) {\n foundVersion = autoDetectConfigMerge[field]?.[pkgName];\n foundVersion = foundVersion ? getValidVersion(foundVersion) : null;\n }\n });\n return foundVersion ? id.changeVersion(foundVersion) : undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_logger","data","_interopRequireDefault","require","_lodash","_constants","_autoDetectDeps","obj","__esModule","default","updateDependenciesVersions","depsResolver","workspace","component","overridesDependencies","autoDetectOverrides","debugDependencies","updateExtensionsVersions","consumer","autoDetectConfigMerge","getAutoDetectConfigMerge","id","currentLane","getCurrentLaneObject","updateDependencies","dependencies","devDependencies","peerDependencies","updateExtensions","extensions","resolveVersion","depType","pkg","idFromBitMap","getIdFromBitMap","idFromComponentConfig","getIdFromComponentConfig","getFromComponentConfig","getFromBitMap","getFromUpdateDependentsOnLane","getIdFromUpdateDependentsOnLane","getFromOverrides","resolveFromOverrides","debugDep","find","dep","isEqualWithoutVersion","getFromDepPackageJson","hasVersion","getFromDepPackageJsonDueToWorkspacePolicy","isPkgInWorkspacePolicies","getFromMergeConfig","resolveFromMergeConfig","getFromDepPackageJsonDueToAutoDetectOverrides","isPkgInAutoDetectOverrides","getFromModel","getIdFromModelDeps","componentFromModel","strategies","strategy","strategyId","logger","debug","version","toString","name","versionResolvedFrom","replace","undefined","updateDependency","dependency","packageName","resolvedVersion","changeVersion","get","forEach","updateExtension","extension","extensionId","componentId","getAllDependenciesIds","searchWithoutVersion","existingIds","bitmapIdsFromCurrentLane","filterWithoutVersion","length","updateDependents","overrides","getComponentDependenciesWithVersion","isEmpty","Object","keys","idStr","toStringWithoutVersion","pkgName","getDependenciesToAddManually","found","validVersion","getValidVersion","DEPENDENCIES_FIELDS","some","depField","getWorkspacePolicyManifest","foundVersion","field"],"sources":["dependencies-versions-resolver.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { Workspace } from '@teambit/workspace';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { isEmpty } from 'lodash';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport Dependencies from '@teambit/legacy/dist/consumer/component/dependencies/dependencies';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { DEPENDENCIES_FIELDS } from '@teambit/legacy/dist/constants';\nimport Dependency from '@teambit/legacy/dist/consumer/component/dependencies/dependency';\nimport OverridesDependencies from './overrides-dependencies';\nimport { DebugComponentsDependency, getValidVersion } from './auto-detect-deps';\n\ntype DepType = 'dependencies' | 'devDependencies' | 'peerDependencies';\n\nexport async function updateDependenciesVersions(\n depsResolver: DependencyResolverMain,\n workspace: Workspace,\n component: Component,\n overridesDependencies: OverridesDependencies,\n autoDetectOverrides?: Record<string, any>,\n debugDependencies?: DebugComponentsDependency[],\n updateExtensionsVersions = true\n) {\n const consumer: Consumer = workspace.consumer;\n const autoDetectConfigMerge = workspace.getAutoDetectConfigMerge(component.id) || {};\n const currentLane = await workspace.getCurrentLaneObject();\n\n updateDependencies(component.dependencies, 'dependencies');\n updateDependencies(component.devDependencies, 'devDependencies');\n updateDependencies(component.peerDependencies, 'peerDependencies');\n if (updateExtensionsVersions) {\n updateExtensions(component.extensions);\n }\n\n /**\n * the `pkg` can be missing only in two scenarios:\n * 1: the dependency is using relative-paths, not the module path. (which bit-status shows an error and suggests\n * running bit link --rewire).\n * 2: this gets called for extension-id.\n */\n function resolveVersion(id: ComponentID, depType: DepType, pkg?: string): string | undefined {\n const idFromBitMap = getIdFromBitMap(id);\n const idFromComponentConfig = getIdFromComponentConfig(id);\n const getFromComponentConfig = () => idFromComponentConfig;\n const getFromBitMap = () => idFromBitMap || null;\n const getFromUpdateDependentsOnLane = () => getIdFromUpdateDependentsOnLane(id);\n // later, change this to return the version from the overrides.\n const getFromOverrides = () => resolveFromOverrides(id, depType, pkg);\n const debugDep = debugDependencies?.find((dep) => dep.id.isEqualWithoutVersion(id));\n // the id we get from the auto-detect is coming from the package.json of the dependency.\n const getFromDepPackageJson = () => (id.hasVersion() ? id : null);\n // In case it's resolved from the node_modules, and it's also in the ws policy or variants,\n // use the resolved version from the node_modules / package folder\n const getFromDepPackageJsonDueToWorkspacePolicy = () =>\n pkg && id.hasVersion() && isPkgInWorkspacePolicies(pkg) ? id : null;\n // merge config here is only auto-detected ones. their priority is less then the ws policy\n // otherwise, imagine you merge a lane, you don't like the dependency you got from the other lane, you run\n // bit-install to change it, but it won't do anything.\n const getFromMergeConfig = () => (pkg ? resolveFromMergeConfig(id, pkg) : null);\n const getFromDepPackageJsonDueToAutoDetectOverrides = () => (pkg && isPkgInAutoDetectOverrides(pkg) ? id : null);\n // If there is a version in the node_modules/package folder, but it's not in the ws policy,\n // prefer the version from the model over the version from the node_modules\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const getFromModel = () => getIdFromModelDeps(component.componentFromModel!, id);\n\n const strategies = [\n getFromComponentConfig,\n getFromOverrides,\n getFromBitMap,\n getFromUpdateDependentsOnLane,\n getFromDepPackageJsonDueToWorkspacePolicy,\n getFromMergeConfig,\n getFromDepPackageJsonDueToAutoDetectOverrides,\n getFromModel,\n getFromDepPackageJson,\n ];\n\n for (const strategy of strategies) {\n const strategyId = strategy();\n if (strategyId) {\n logger.debug(\n `found dependency version ${strategyId.version} for ${id.toString()} in strategy ${strategy.name}`\n );\n if (debugDep) {\n debugDep.versionResolvedFrom = strategy.name.replace('getFrom', '');\n debugDep.version = strategyId.version;\n }\n\n return strategyId.version;\n }\n }\n return undefined;\n }\n\n function updateDependency(dependency: Dependency, depType: DepType) {\n const { id, packageName } = dependency;\n const resolvedVersion = resolveVersion(id, depType, packageName);\n if (resolvedVersion) {\n dependency.id = dependency.id.changeVersion(resolvedVersion);\n }\n }\n function updateDependencies(dependencies: Dependencies, depType: DepType) {\n dependencies.get().forEach((dep) => updateDependency(dep, depType));\n }\n\n function updateExtension(extension: ExtensionDataEntry) {\n if (extension.extensionId) {\n const resolvedVersion = resolveVersion(extension.extensionId, 'devDependencies');\n if (resolvedVersion) {\n extension.extensionId = extension.extensionId.changeVersion(resolvedVersion);\n }\n }\n }\n function updateExtensions(extensions: ExtensionDataList) {\n extensions.forEach(updateExtension);\n }\n\n function getIdFromModelDeps(componentFromModel: Component, componentId: ComponentID): ComponentID | null {\n if (!componentFromModel) return null;\n const dependency = componentFromModel.getAllDependenciesIds().searchWithoutVersion(componentId);\n if (!dependency) return null;\n return dependency;\n }\n\n function getIdFromBitMap(componentId: ComponentID): ComponentID | null | undefined {\n const existingIds = consumer.bitmapIdsFromCurrentLane.filterWithoutVersion(componentId);\n return existingIds.length === 1 ? existingIds[0] : undefined;\n }\n\n function getIdFromUpdateDependentsOnLane(id: ComponentID) {\n const updateDependents = currentLane?.updateDependents;\n if (!updateDependents) return undefined;\n return updateDependents.find((dep) => dep.isEqualWithoutVersion(id));\n }\n\n function getIdFromComponentConfig(componentId: ComponentID): ComponentID | undefined {\n const dependencies = component.overrides.getComponentDependenciesWithVersion();\n if (isEmpty(dependencies)) return undefined;\n const dependency = Object.keys(dependencies).find((idStr) => componentId.toStringWithoutVersion() === idStr);\n if (!dependency) return undefined;\n return componentId.changeVersion(dependencies[dependency]);\n }\n\n function resolveFromOverrides(id: ComponentID, depType: DepType, pkgName?: string): ComponentID | undefined {\n if (!pkgName) return undefined;\n const dependencies = overridesDependencies.getDependenciesToAddManually();\n const found = dependencies?.[depType]?.[pkgName];\n if (!found) return undefined;\n const validVersion = getValidVersion(found);\n return validVersion ? id.changeVersion(validVersion) : undefined;\n }\n\n function isPkgInAutoDetectOverrides(pkgName: string): boolean {\n return DEPENDENCIES_FIELDS.some(\n (depField) => autoDetectOverrides?.[depField] && autoDetectOverrides[depField][pkgName]\n );\n }\n\n function isPkgInWorkspacePolicies(pkgName: string) {\n return depsResolver.getWorkspacePolicyManifest().dependencies?.[pkgName];\n }\n\n function resolveFromMergeConfig(id: ComponentID, pkgName: string): ComponentID | undefined {\n let foundVersion: string | undefined | null;\n DEPENDENCIES_FIELDS.forEach((field) => {\n if (autoDetectConfigMerge[field]?.[pkgName]) {\n foundVersion = autoDetectConfigMerge[field]?.[pkgName];\n foundVersion = foundVersion ? getValidVersion(foundVersion) : null;\n }\n });\n return foundVersion ? id.changeVersion(foundVersion) : undefined;\n }\n}\n"],"mappings":";;;;;;AAGA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAI,WAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,UAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAK,gBAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,eAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAgF,SAAAC,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAIzE,eAAeG,0BAA0BA,CAC9CC,YAAoC,EACpCC,SAAoB,EACpBC,SAAoB,EACpBC,qBAA4C,EAC5CC,mBAAyC,EACzCC,iBAA+C,EAC/CC,wBAAwB,GAAG,IAAI,EAC/B;EACA,MAAMC,QAAkB,GAAGN,SAAS,CAACM,QAAQ;EAC7C,MAAMC,qBAAqB,GAAGP,SAAS,CAACQ,wBAAwB,CAACP,SAAS,CAACQ,EAAE,CAAC,IAAI,CAAC,CAAC;EACpF,MAAMC,WAAW,GAAG,MAAMV,SAAS,CAACW,oBAAoB,CAAC,CAAC;EAE1DC,kBAAkB,CAACX,SAAS,CAACY,YAAY,EAAE,cAAc,CAAC;EAC1DD,kBAAkB,CAACX,SAAS,CAACa,eAAe,EAAE,iBAAiB,CAAC;EAChEF,kBAAkB,CAACX,SAAS,CAACc,gBAAgB,EAAE,kBAAkB,CAAC;EAClE,IAAIV,wBAAwB,EAAE;IAC5BW,gBAAgB,CAACf,SAAS,CAACgB,UAAU,CAAC;EACxC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,SAASC,cAAcA,CAACT,EAAe,EAAEU,OAAgB,EAAEC,GAAY,EAAsB;IAC3F,MAAMC,YAAY,GAAGC,eAAe,CAACb,EAAE,CAAC;IACxC,MAAMc,qBAAqB,GAAGC,wBAAwB,CAACf,EAAE,CAAC;IAC1D,MAAMgB,sBAAsB,GAAGA,CAAA,KAAMF,qBAAqB;IAC1D,MAAMG,aAAa,GAAGA,CAAA,KAAML,YAAY,IAAI,IAAI;IAChD,MAAMM,6BAA6B,GAAGA,CAAA,KAAMC,+BAA+B,CAACnB,EAAE,CAAC;IAC/E;IACA,MAAMoB,gBAAgB,GAAGA,CAAA,KAAMC,oBAAoB,CAACrB,EAAE,EAAEU,OAAO,EAAEC,GAAG,CAAC;IACrE,MAAMW,QAAQ,GAAG3B,iBAAiB,EAAE4B,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACxB,EAAE,CAACyB,qBAAqB,CAACzB,EAAE,CAAC,CAAC;IACnF;IACA,MAAM0B,qBAAqB,GAAGA,CAAA,KAAO1B,EAAE,CAAC2B,UAAU,CAAC,CAAC,GAAG3B,EAAE,GAAG,IAAK;IACjE;IACA;IACA,MAAM4B,yCAAyC,GAAGA,CAAA,KAChDjB,GAAG,IAAIX,EAAE,CAAC2B,UAAU,CAAC,CAAC,IAAIE,wBAAwB,CAAClB,GAAG,CAAC,GAAGX,EAAE,GAAG,IAAI;IACrE;IACA;IACA;IACA,MAAM8B,kBAAkB,GAAGA,CAAA,KAAOnB,GAAG,GAAGoB,sBAAsB,CAAC/B,EAAE,EAAEW,GAAG,CAAC,GAAG,IAAK;IAC/E,MAAMqB,6CAA6C,GAAGA,CAAA,KAAOrB,GAAG,IAAIsB,0BAA0B,CAACtB,GAAG,CAAC,GAAGX,EAAE,GAAG,IAAK;IAChH;IACA;IACA;IACA,MAAMkC,YAAY,GAAGA,CAAA,KAAMC,kBAAkB,CAAC3C,SAAS,CAAC4C,kBAAkB,EAAGpC,EAAE,CAAC;IAEhF,MAAMqC,UAAU,GAAG,CACjBrB,sBAAsB,EACtBI,gBAAgB,EAChBH,aAAa,EACbC,6BAA6B,EAC7BU,yCAAyC,EACzCE,kBAAkB,EAClBE,6CAA6C,EAC7CE,YAAY,EACZR,qBAAqB,CACtB;IAED,KAAK,MAAMY,QAAQ,IAAID,UAAU,EAAE;MACjC,MAAME,UAAU,GAAGD,QAAQ,CAAC,CAAC;MAC7B,IAAIC,UAAU,EAAE;QACdC,iBAAM,CAACC,KAAK,CACT,4BAA2BF,UAAU,CAACG,OAAQ,QAAO1C,EAAE,CAAC2C,QAAQ,CAAC,CAAE,gBAAeL,QAAQ,CAACM,IAAK,EACnG,CAAC;QACD,IAAItB,QAAQ,EAAE;UACZA,QAAQ,CAACuB,mBAAmB,GAAGP,QAAQ,CAACM,IAAI,CAACE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;UACnExB,QAAQ,CAACoB,OAAO,GAAGH,UAAU,CAACG,OAAO;QACvC;QAEA,OAAOH,UAAU,CAACG,OAAO;MAC3B;IACF;IACA,OAAOK,SAAS;EAClB;EAEA,SAASC,gBAAgBA,CAACC,UAAsB,EAAEvC,OAAgB,EAAE;IAClE,MAAM;MAAEV,EAAE;MAAEkD;IAAY,CAAC,GAAGD,UAAU;IACtC,MAAME,eAAe,GAAG1C,cAAc,CAACT,EAAE,EAAEU,OAAO,EAAEwC,WAAW,CAAC;IAChE,IAAIC,eAAe,EAAE;MACnBF,UAAU,CAACjD,EAAE,GAAGiD,UAAU,CAACjD,EAAE,CAACoD,aAAa,CAACD,eAAe,CAAC;IAC9D;EACF;EACA,SAAShD,kBAAkBA,CAACC,YAA0B,EAAEM,OAAgB,EAAE;IACxEN,YAAY,CAACiD,GAAG,CAAC,CAAC,CAACC,OAAO,CAAE9B,GAAG,IAAKwB,gBAAgB,CAACxB,GAAG,EAAEd,OAAO,CAAC,CAAC;EACrE;EAEA,SAAS6C,eAAeA,CAACC,SAA6B,EAAE;IACtD,IAAIA,SAAS,CAACC,WAAW,EAAE;MACzB,MAAMN,eAAe,GAAG1C,cAAc,CAAC+C,SAAS,CAACC,WAAW,EAAE,iBAAiB,CAAC;MAChF,IAAIN,eAAe,EAAE;QACnBK,SAAS,CAACC,WAAW,GAAGD,SAAS,CAACC,WAAW,CAACL,aAAa,CAACD,eAAe,CAAC;MAC9E;IACF;EACF;EACA,SAAS5C,gBAAgBA,CAACC,UAA6B,EAAE;IACvDA,UAAU,CAAC8C,OAAO,CAACC,eAAe,CAAC;EACrC;EAEA,SAASpB,kBAAkBA,CAACC,kBAA6B,EAAEsB,WAAwB,EAAsB;IACvG,IAAI,CAACtB,kBAAkB,EAAE,OAAO,IAAI;IACpC,MAAMa,UAAU,GAAGb,kBAAkB,CAACuB,qBAAqB,CAAC,CAAC,CAACC,oBAAoB,CAACF,WAAW,CAAC;IAC/F,IAAI,CAACT,UAAU,EAAE,OAAO,IAAI;IAC5B,OAAOA,UAAU;EACnB;EAEA,SAASpC,eAAeA,CAAC6C,WAAwB,EAAkC;IACjF,MAAMG,WAAW,GAAGhE,QAAQ,CAACiE,wBAAwB,CAACC,oBAAoB,CAACL,WAAW,CAAC;IACvF,OAAOG,WAAW,CAACG,MAAM,KAAK,CAAC,GAAGH,WAAW,CAAC,CAAC,CAAC,GAAGd,SAAS;EAC9D;EAEA,SAAS5B,+BAA+BA,CAACnB,EAAe,EAAE;IACxD,MAAMiE,gBAAgB,GAAGhE,WAAW,EAAEgE,gBAAgB;IACtD,IAAI,CAACA,gBAAgB,EAAE,OAAOlB,SAAS;IACvC,OAAOkB,gBAAgB,CAAC1C,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,qBAAqB,CAACzB,EAAE,CAAC,CAAC;EACtE;EAEA,SAASe,wBAAwBA,CAAC2C,WAAwB,EAA2B;IACnF,MAAMtD,YAAY,GAAGZ,SAAS,CAAC0E,SAAS,CAACC,mCAAmC,CAAC,CAAC;IAC9E,IAAI,IAAAC,iBAAO,EAAChE,YAAY,CAAC,EAAE,OAAO2C,SAAS;IAC3C,MAAME,UAAU,GAAGoB,MAAM,CAACC,IAAI,CAAClE,YAAY,CAAC,CAACmB,IAAI,CAAEgD,KAAK,IAAKb,WAAW,CAACc,sBAAsB,CAAC,CAAC,KAAKD,KAAK,CAAC;IAC5G,IAAI,CAACtB,UAAU,EAAE,OAAOF,SAAS;IACjC,OAAOW,WAAW,CAACN,aAAa,CAAChD,YAAY,CAAC6C,UAAU,CAAC,CAAC;EAC5D;EAEA,SAAS5B,oBAAoBA,CAACrB,EAAe,EAAEU,OAAgB,EAAE+D,OAAgB,EAA2B;IAC1G,IAAI,CAACA,OAAO,EAAE,OAAO1B,SAAS;IAC9B,MAAM3C,YAAY,GAAGX,qBAAqB,CAACiF,4BAA4B,CAAC,CAAC;IACzE,MAAMC,KAAK,GAAGvE,YAAY,GAAGM,OAAO,CAAC,GAAG+D,OAAO,CAAC;IAChD,IAAI,CAACE,KAAK,EAAE,OAAO5B,SAAS;IAC5B,MAAM6B,YAAY,GAAG,IAAAC,iCAAe,EAACF,KAAK,CAAC;IAC3C,OAAOC,YAAY,GAAG5E,EAAE,CAACoD,aAAa,CAACwB,YAAY,CAAC,GAAG7B,SAAS;EAClE;EAEA,SAASd,0BAA0BA,CAACwC,OAAe,EAAW;IAC5D,OAAOK,gCAAmB,CAACC,IAAI,CAC5BC,QAAQ,IAAKtF,mBAAmB,GAAGsF,QAAQ,CAAC,IAAItF,mBAAmB,CAACsF,QAAQ,CAAC,CAACP,OAAO,CACxF,CAAC;EACH;EAEA,SAAS5C,wBAAwBA,CAAC4C,OAAe,EAAE;IACjD,OAAOnF,YAAY,CAAC2F,0BAA0B,CAAC,CAAC,CAAC7E,YAAY,GAAGqE,OAAO,CAAC;EAC1E;EAEA,SAAS1C,sBAAsBA,CAAC/B,EAAe,EAAEyE,OAAe,EAA2B;IACzF,IAAIS,YAAuC;IAC3CJ,gCAAmB,CAACxB,OAAO,CAAE6B,KAAK,IAAK;MACrC,IAAIrF,qBAAqB,CAACqF,KAAK,CAAC,GAAGV,OAAO,CAAC,EAAE;QAC3CS,YAAY,GAAGpF,qBAAqB,CAACqF,KAAK,CAAC,GAAGV,OAAO,CAAC;QACtDS,YAAY,GAAGA,YAAY,GAAG,IAAAL,iCAAe,EAACK,YAAY,CAAC,GAAG,IAAI;MACpE;IACF,CAAC,CAAC;IACF,OAAOA,YAAY,GAAGlF,EAAE,CAACoD,aAAa,CAAC8B,YAAY,CAAC,GAAGnC,SAAS;EAClE;AACF","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/dependencies",
3
- "version": "1.0.269",
3
+ "version": "1.0.271",
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.269"
9
+ "version": "1.0.271"
10
10
  },
11
11
  "dependencies": {
12
12
  "archy": "1.0.0",
@@ -21,14 +21,14 @@
21
21
  "@teambit/component-id": "1.2.0",
22
22
  "@teambit/component-version": "1.0.3",
23
23
  "@teambit/cli": "0.0.865",
24
- "@teambit/graph": "1.0.269",
25
- "@teambit/aspect-loader": "1.0.269",
24
+ "@teambit/graph": "1.0.271",
25
+ "@teambit/aspect-loader": "1.0.271",
26
26
  "@teambit/component-package-version": "0.0.433",
27
- "@teambit/dependency-resolver": "1.0.269",
28
- "@teambit/dev-files": "1.0.269",
29
- "@teambit/scope": "1.0.269",
30
- "@teambit/workspace": "1.0.269",
31
- "@teambit/component-issues": "0.0.148"
27
+ "@teambit/dependency-resolver": "1.0.271",
28
+ "@teambit/dev-files": "1.0.271",
29
+ "@teambit/scope": "1.0.271",
30
+ "@teambit/workspace": "1.0.271",
31
+ "@teambit/component-issues": "0.0.149"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/cli-table": "^0.3.0",
@@ -39,8 +39,8 @@
39
39
  "@types/semver": "7.3.4",
40
40
  "@types/mocha": "9.1.0",
41
41
  "@teambit/harmony.envs.core-aspect-env": "0.0.33",
42
- "@teambit/component.testing.mock-components": "0.0.201",
43
- "@teambit/harmony.testing.load-aspect": "0.0.196",
42
+ "@teambit/component.testing.mock-components": "0.0.202",
43
+ "@teambit/harmony.testing.load-aspect": "0.0.197",
44
44
  "@teambit/workspace.testing.mock-workspace": "0.0.27"
45
45
  },
46
46
  "peerDependencies": {