@teambit/dependency-resolver 1.0.107 → 1.0.108
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apply-updates.spec.ts +215 -0
- package/apply-updates.ts +81 -0
- package/dependency-detector.ts +5 -0
- package/dependency-env.ts +6 -0
- package/dependency-installer.ts +347 -0
- package/dependency-linker.ts +719 -0
- package/dependency-resolver.aspect.ts +7 -0
- package/dependency-resolver.graphql.ts +99 -0
- package/dependency-resolver.main.runtime.spec.ts +530 -0
- package/dependency-resolver.main.runtime.ts +1797 -0
- package/dependency-version-resolver.ts +42 -0
- package/dist/apply-updates.js +2 -4
- package/dist/apply-updates.js.map +1 -1
- package/dist/dependencies/base-dependency.d.ts +7 -7
- package/dist/dependencies/base-dependency.js +1 -2
- package/dist/dependencies/base-dependency.js.map +1 -1
- package/dist/dependencies/component-dependency/component-dependency.js +1 -2
- package/dist/dependencies/component-dependency/component-dependency.js.map +1 -1
- package/dist/dependencies/dependency-list-factory.js +2 -4
- package/dist/dependencies/dependency-list-factory.js.map +1 -1
- package/dist/dependencies/dependency-list.d.ts +2 -2
- package/dist/dependencies/dependency-list.js +1 -4
- package/dist/dependencies/dependency-list.js.map +1 -1
- package/dist/dependencies/dependency.d.ts +5 -5
- package/dist/dependencies.service.d.ts +4 -4
- package/dist/dependencies.service.js +3 -3
- package/dist/dependencies.service.js.map +1 -1
- package/dist/dependency-installer.d.ts +10 -9
- package/dist/dependency-installer.js +5 -8
- package/dist/dependency-installer.js.map +1 -1
- package/dist/dependency-linker.d.ts +10 -9
- package/dist/dependency-linker.js +7 -11
- package/dist/dependency-linker.js.map +1 -1
- package/dist/dependency-resolver.composition.d.ts +2 -2
- package/dist/dependency-resolver.main.runtime.d.ts +15 -15
- package/dist/dependency-resolver.main.runtime.js +33 -39
- package/dist/dependency-resolver.main.runtime.js.map +1 -1
- package/dist/dependency-version-resolver.d.ts +2 -1
- package/dist/get-all-policy-pkgs.d.ts +4 -4
- package/dist/manifest/deduping/dedupe-dependencies.d.ts +4 -4
- package/dist/manifest/deduping/dedupe-dependencies.js +1 -1
- package/dist/manifest/deduping/dedupe-dependencies.js.map +1 -1
- package/dist/manifest/deduping/hoist-dependencies.js +2 -3
- package/dist/manifest/deduping/hoist-dependencies.js.map +1 -1
- package/dist/manifest/deduping/hoist-dependencies.spec.js +6 -8
- package/dist/manifest/deduping/hoist-dependencies.spec.js.map +1 -1
- package/dist/manifest/deduping/index-by-dep-id.d.ts +4 -4
- package/dist/manifest/deduping/index-by-dep-id.js +1 -2
- package/dist/manifest/deduping/index-by-dep-id.js.map +1 -1
- package/dist/manifest/manifest.d.ts +4 -4
- package/dist/manifest/update-dependency-version.js +2 -2
- package/dist/manifest/update-dependency-version.js.map +1 -1
- package/dist/manifest/workspace-manifest-factory.d.ts +3 -3
- package/dist/manifest/workspace-manifest-factory.js +3 -5
- package/dist/manifest/workspace-manifest-factory.js.map +1 -1
- package/dist/manifest/workspace-manifest.js +1 -2
- package/dist/manifest/workspace-manifest.js.map +1 -1
- package/dist/package-manager-legacy.d.ts +1 -1
- package/dist/package-manager.d.ts +5 -5
- package/dist/policy/env-policy/env-policy.d.ts +7 -7
- package/dist/policy/policy.d.ts +9 -9
- package/dist/policy/variant-policy/variant-policy.d.ts +9 -9
- package/dist/policy/workspace-policy/workspace-policy.d.ts +11 -11
- package/dist/{preview-1703590665075.js → preview-1703647408454.js} +2 -2
- package/dist/registry/registry.d.ts +6 -6
- package/dist/show-fragments/serialize-by-lifecycle.js +1 -2
- package/dist/show-fragments/serialize-by-lifecycle.js.map +1 -1
- package/dist/types.d.ts +8 -8
- package/extend-with-components-from-dir.ts +29 -0
- package/get-all-policy-pkgs.spec.ts +82 -0
- package/get-all-policy-pkgs.ts +126 -0
- package/index.ts +70 -0
- package/package-manager-legacy.ts +137 -0
- package/package-manager.ts +174 -0
- package/package.json +27 -34
- package/tsconfig.json +16 -21
- package/types/asset.d.ts +15 -3
- package/types.ts +77 -0
|
@@ -385,9 +385,8 @@ class DependencyResolverMain {
|
|
|
385
385
|
* Here is the PR where initially dedupe was turned off for pnpm: https://github.com/teambit/bit/pull/5410
|
|
386
386
|
*/
|
|
387
387
|
supportsDedupingOnExistingRoot() {
|
|
388
|
-
var _packageManager$suppo;
|
|
389
388
|
const packageManager = this.getPackageManager();
|
|
390
|
-
return
|
|
389
|
+
return packageManager?.supportsDedupingOnExistingRoot?.() === true && !this.isolatedCapsules();
|
|
391
390
|
}
|
|
392
391
|
setConfig(config) {
|
|
393
392
|
this.config = config;
|
|
@@ -477,9 +476,9 @@ class DependencyResolverMain {
|
|
|
477
476
|
dependencyList.forEach(dep => {
|
|
478
477
|
const found = componentPolicy.find(dep.id);
|
|
479
478
|
// if no policy found, the dependency was auto-resolved from the source code
|
|
480
|
-
dep.source =
|
|
481
|
-
dep.hidden = found
|
|
482
|
-
dep.optional = found
|
|
479
|
+
dep.source = found?.source || 'auto';
|
|
480
|
+
dep.hidden = found?.hidden;
|
|
481
|
+
dep.optional = found?.optional;
|
|
483
482
|
});
|
|
484
483
|
return dependencyList;
|
|
485
484
|
}
|
|
@@ -500,12 +499,11 @@ class DependencyResolverMain {
|
|
|
500
499
|
async getDependencies(component, {
|
|
501
500
|
includeHidden = false
|
|
502
501
|
} = {}) {
|
|
503
|
-
var _entry$data;
|
|
504
502
|
const entry = component.get(_dependencyResolver().DependencyResolverAspect.id);
|
|
505
503
|
if (!entry) {
|
|
506
504
|
return _dependencies().DependencyList.fromArray([]);
|
|
507
505
|
}
|
|
508
|
-
const serializedDependencies =
|
|
506
|
+
const serializedDependencies = entry?.data?.dependencies || [];
|
|
509
507
|
const depList = await this.getDependenciesFromSerializedDependencies(serializedDependencies);
|
|
510
508
|
if (includeHidden) return depList;
|
|
511
509
|
return depList.filterHidden();
|
|
@@ -587,14 +585,14 @@ class DependencyResolverMain {
|
|
|
587
585
|
* @memberof DependencyResolverMain
|
|
588
586
|
*/
|
|
589
587
|
async getWorkspaceManifest(name = _constants2().ROOT_NAME, version = new (_semver().SemVer)('1.0.0'), rootPolicy, rootDir, components, options = defaultCreateFromComponentsOptions, context = {}) {
|
|
590
|
-
const statusMessage = context
|
|
591
|
-
if (!
|
|
588
|
+
const statusMessage = context?.inCapsule ? `(capsule) deduping dependencies for installation in root dir ${rootDir}` : 'deduping dependencies for installation';
|
|
589
|
+
if (!context?.inCapsule) {
|
|
592
590
|
this.logger.setStatusLine(statusMessage);
|
|
593
591
|
}
|
|
594
592
|
const concreteOpts = _objectSpread(_objectSpread({}, defaultCreateFromComponentsOptions), options);
|
|
595
593
|
const workspaceManifestFactory = new (_manifest().WorkspaceManifestFactory)(this, this.aspectLoader);
|
|
596
594
|
const res = await workspaceManifestFactory.createFromComponents(name, version, rootPolicy, rootDir, components, concreteOpts);
|
|
597
|
-
if (!
|
|
595
|
+
if (!context?.inCapsule) {
|
|
598
596
|
this.logger.consoleSuccess();
|
|
599
597
|
}
|
|
600
598
|
return res;
|
|
@@ -604,12 +602,10 @@ class DependencyResolverMain {
|
|
|
604
602
|
* get the package name of a component.
|
|
605
603
|
*/
|
|
606
604
|
getPackageName(component) {
|
|
607
|
-
|
|
608
|
-
return ((_this$getDepResolverD = this.getDepResolverData(component)) === null || _this$getDepResolverD === void 0 ? void 0 : _this$getDepResolverD.packageName) ?? this.calcPackageName(component);
|
|
605
|
+
return this.getDepResolverData(component)?.packageName ?? this.calcPackageName(component);
|
|
609
606
|
}
|
|
610
607
|
getDepResolverData(component) {
|
|
611
|
-
|
|
612
|
-
return (_component$state$aspe = component.state.aspects.get(_dependencyResolver().DependencyResolverAspect.id)) === null || _component$state$aspe === void 0 ? void 0 : _component$state$aspe.data;
|
|
608
|
+
return component.state.aspects.get(_dependencyResolver().DependencyResolverAspect.id)?.data;
|
|
613
609
|
}
|
|
614
610
|
calcPackageName(component) {
|
|
615
611
|
return (0, _componentIdToPackageName().default)(component.state._consumer);
|
|
@@ -680,7 +676,7 @@ class DependencyResolverMain {
|
|
|
680
676
|
* get a component dependency linker.
|
|
681
677
|
*/
|
|
682
678
|
getLinker(options = {}) {
|
|
683
|
-
const linkingOptions = Object.assign({}, defaultLinkingOptions,
|
|
679
|
+
const linkingOptions = Object.assign({}, defaultLinkingOptions, options?.linkingOptions || {});
|
|
684
680
|
// TODO: we should somehow pass the cache root dir to the package manager constructor
|
|
685
681
|
return new (_dependencyLinker().DependencyLinker)(this, this.aspectLoader, this.componentAspect, this.envs, this.logger, options.rootDir, linkingOptions, options.linkingContext);
|
|
686
682
|
}
|
|
@@ -745,7 +741,7 @@ class DependencyResolverMain {
|
|
|
745
741
|
|
|
746
742
|
// Take config from the package manager (npmrc) config if defined
|
|
747
743
|
const proxyConfigFromPackageManager = await this.getProxyConfigFromPackageManager();
|
|
748
|
-
if (proxyConfigFromPackageManager
|
|
744
|
+
if (proxyConfigFromPackageManager?.httpProxy || proxyConfigFromPackageManager?.httpsProxy) {
|
|
749
745
|
this.logger.debug(`proxy config taken from the package manager config (npmrc). proxy: ${proxyConfigFromPackageManager.httpProxy} httpsProxy: ${proxyConfigFromPackageManager.httpsProxy}`);
|
|
750
746
|
return proxyConfigFromPackageManager;
|
|
751
747
|
}
|
|
@@ -791,8 +787,8 @@ class DependencyResolverMain {
|
|
|
791
787
|
async getNetworkConfigFromPackageManager() {
|
|
792
788
|
const packageManager = this.getPackageManager();
|
|
793
789
|
let networkConfigFromPackageManager = {};
|
|
794
|
-
if (typeof
|
|
795
|
-
networkConfigFromPackageManager = await
|
|
790
|
+
if (typeof packageManager?.getNetworkConfig === 'function') {
|
|
791
|
+
networkConfigFromPackageManager = await packageManager?.getNetworkConfig();
|
|
796
792
|
} else {
|
|
797
793
|
const systemPm = this.getSystemPackageManager();
|
|
798
794
|
if (!systemPm.getNetworkConfig) throw new Error('system package manager must implement `getNetworkConfig()`');
|
|
@@ -803,8 +799,8 @@ class DependencyResolverMain {
|
|
|
803
799
|
async getProxyConfigFromPackageManager() {
|
|
804
800
|
const packageManager = this.getPackageManager();
|
|
805
801
|
let proxyConfigFromPackageManager = {};
|
|
806
|
-
if (packageManager
|
|
807
|
-
proxyConfigFromPackageManager = await
|
|
802
|
+
if (packageManager?.getProxyConfig && typeof packageManager?.getProxyConfig === 'function') {
|
|
803
|
+
proxyConfigFromPackageManager = await packageManager?.getProxyConfig();
|
|
808
804
|
} else {
|
|
809
805
|
const systemPm = this.getSystemPackageManager();
|
|
810
806
|
if (!systemPm.getProxyConfig) throw new Error('system package manager must implement `getProxyConfig()`');
|
|
@@ -821,7 +817,6 @@ class DependencyResolverMain {
|
|
|
821
817
|
* without causing unmet peer dependency issues in some of the dependencies.
|
|
822
818
|
*/
|
|
823
819
|
async getMissingPeerDependencies(rootDir, rootPolicy, componentDirectoryMap, options) {
|
|
824
|
-
var _peerDependencyIssues;
|
|
825
820
|
this.logger.setStatusLine('finding missing peer dependencies');
|
|
826
821
|
const packageManager = this.getPackageManager();
|
|
827
822
|
let peerDependencyIssues;
|
|
@@ -831,21 +826,21 @@ class DependencyResolverMain {
|
|
|
831
826
|
rootPolicy,
|
|
832
827
|
rootDir
|
|
833
828
|
}));
|
|
834
|
-
if (packageManager
|
|
835
|
-
peerDependencyIssues = await
|
|
829
|
+
if (packageManager?.getPeerDependencyIssues && typeof packageManager?.getPeerDependencyIssues === 'function') {
|
|
830
|
+
peerDependencyIssues = await packageManager?.getPeerDependencyIssues(rootDir, manifests, options);
|
|
836
831
|
} else {
|
|
837
832
|
const systemPm = this.getSystemPackageManager();
|
|
838
833
|
if (!systemPm.getPeerDependencyIssues) throw new Error('system package manager must implement `getPeerDependencyIssues()`');
|
|
839
|
-
peerDependencyIssues = await
|
|
834
|
+
peerDependencyIssues = await systemPm?.getPeerDependencyIssues(rootDir, manifests, options);
|
|
840
835
|
}
|
|
841
836
|
this.logger.consoleSuccess();
|
|
842
|
-
return
|
|
837
|
+
return peerDependencyIssues['.']?.intersections;
|
|
843
838
|
}
|
|
844
839
|
async getRegistries() {
|
|
845
840
|
const packageManager = this.getPackageManager();
|
|
846
841
|
let registries;
|
|
847
|
-
if (packageManager
|
|
848
|
-
registries = await
|
|
842
|
+
if (packageManager?.getRegistries && typeof packageManager?.getRegistries === 'function') {
|
|
843
|
+
registries = await packageManager?.getRegistries();
|
|
849
844
|
} else {
|
|
850
845
|
const systemPm = this.getSystemPackageManager();
|
|
851
846
|
if (!systemPm.getRegistries) throw new Error('system package manager must implement `getRegistries()`');
|
|
@@ -938,10 +933,9 @@ class DependencyResolverMain {
|
|
|
938
933
|
});
|
|
939
934
|
}
|
|
940
935
|
async persistConfig(workspaceDir) {
|
|
941
|
-
|
|
942
|
-
await ((_this$configAspect$wo = this.configAspect.workspaceConfig) === null || _this$configAspect$wo === void 0 ? void 0 : _this$configAspect$wo.write({
|
|
936
|
+
await this.configAspect.workspaceConfig?.write({
|
|
943
937
|
dir: workspaceDir
|
|
944
|
-
})
|
|
938
|
+
});
|
|
945
939
|
this.clearCache();
|
|
946
940
|
}
|
|
947
941
|
|
|
@@ -1014,7 +1008,7 @@ class DependencyResolverMain {
|
|
|
1014
1008
|
}
|
|
1015
1009
|
getEnvManifest(envComponent, legacyFiles) {
|
|
1016
1010
|
const object = this.envs.getEnvManifest(envComponent, legacyFiles);
|
|
1017
|
-
const policy = object
|
|
1011
|
+
const policy = object?.policy;
|
|
1018
1012
|
if (!policy) return undefined;
|
|
1019
1013
|
const allPoliciesFromEnv = _envPolicy().EnvPolicy.fromConfigObject(policy, {
|
|
1020
1014
|
includeLegacyPeersInSelfPolicy: envComponent && this.envs.isCoreEnv(envComponent.id.toStringWithoutVersion())
|
|
@@ -1098,7 +1092,7 @@ class DependencyResolverMain {
|
|
|
1098
1092
|
}
|
|
1099
1093
|
});
|
|
1100
1094
|
const currentExtension = configuredExtensions.findExtension(_dependencyResolver().DependencyResolverAspect.id);
|
|
1101
|
-
const currentConfig = currentExtension
|
|
1095
|
+
const currentConfig = currentExtension?.config;
|
|
1102
1096
|
if (currentConfig && currentConfig.policy) {
|
|
1103
1097
|
policiesFromConfig = _policy().VariantPolicy.fromConfigObject(currentConfig.policy, {
|
|
1104
1098
|
source: 'config'
|
|
@@ -1115,7 +1109,7 @@ class DependencyResolverMain {
|
|
|
1115
1109
|
*/
|
|
1116
1110
|
async getPoliciesFromEnvForItself(id, legacyFiles) {
|
|
1117
1111
|
const envPolicy = await this.getEnvPolicyFromEnvLegacyId(id, legacyFiles);
|
|
1118
|
-
return envPolicy
|
|
1112
|
+
return envPolicy?.selfPolicy;
|
|
1119
1113
|
}
|
|
1120
1114
|
updateDepsOnLegacyTag(component, idTransformer) {
|
|
1121
1115
|
const entry = component.extensions.findCoreExtension(_dependencyResolver().DependencyResolverAspect.id);
|
|
@@ -1155,7 +1149,7 @@ class DependencyResolverMain {
|
|
|
1155
1149
|
async calcComponentEnvDepDetectors(extensions) {
|
|
1156
1150
|
const envDef = await this.envs.calculateEnvFromExtensions(extensions);
|
|
1157
1151
|
const depEnv = envDef.env;
|
|
1158
|
-
if (typeof
|
|
1152
|
+
if (typeof depEnv?.getDepDetectors === 'function') {
|
|
1159
1153
|
return depEnv.getDepDetectors();
|
|
1160
1154
|
}
|
|
1161
1155
|
return null;
|
|
@@ -1213,7 +1207,7 @@ class DependencyResolverMain {
|
|
|
1213
1207
|
const resolvedDep = resolvedParentDeps.findDependency(dep.id, {
|
|
1214
1208
|
ignoreVersion: true
|
|
1215
1209
|
});
|
|
1216
|
-
dep.id =
|
|
1210
|
+
dep.id = resolvedDep?.id ?? dep.id;
|
|
1217
1211
|
await this.resolveRequireableExtensionManifestDepsVersionsRecursively(dep.id, dep);
|
|
1218
1212
|
});
|
|
1219
1213
|
};
|
|
@@ -1222,9 +1216,9 @@ class DependencyResolverMain {
|
|
|
1222
1216
|
await updateDirectDepsVersions(manifest.dependencies);
|
|
1223
1217
|
}
|
|
1224
1218
|
// @ts-ignore
|
|
1225
|
-
if (manifest
|
|
1219
|
+
if (manifest?._runtimes) {
|
|
1226
1220
|
// @ts-ignore
|
|
1227
|
-
await (0, _pMapSeries().default)(manifest
|
|
1221
|
+
await (0, _pMapSeries().default)(manifest?._runtimes, async runtime => {
|
|
1228
1222
|
if (runtime.dependencies) {
|
|
1229
1223
|
runtime.dependencies = runtime.dependencies.map(dep => this.aspectLoader.cloneManifest(dep));
|
|
1230
1224
|
await updateDirectDepsVersions(runtime.dependencies);
|
|
@@ -1267,7 +1261,7 @@ class DependencyResolverMain {
|
|
|
1267
1261
|
componentPolicies,
|
|
1268
1262
|
componentModelVersions
|
|
1269
1263
|
});
|
|
1270
|
-
if (patterns
|
|
1264
|
+
if (patterns?.length) {
|
|
1271
1265
|
const selectedPkgNames = new Set((0, _multimatch().default)(allPkgs.map(({
|
|
1272
1266
|
name
|
|
1273
1267
|
}) => name), patterns));
|
|
@@ -1399,7 +1393,7 @@ class DependencyResolverMain {
|
|
|
1399
1393
|
*/
|
|
1400
1394
|
async getInjectedDirs(rootDir, componentDir, packageName) {
|
|
1401
1395
|
const packageManager = this.getPackageManager();
|
|
1402
|
-
if (typeof
|
|
1396
|
+
if (typeof packageManager?.getInjectedDirs === 'function') {
|
|
1403
1397
|
return packageManager.getInjectedDirs(rootDir, componentDir, packageName);
|
|
1404
1398
|
}
|
|
1405
1399
|
return [];
|