@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
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { SemVer } from 'semver';
|
|
2
2
|
import { PeerDependenciesMeta } from '../dependencies/dependency-list';
|
|
3
3
|
import { PackageName, SemverVersion } from '../dependencies';
|
|
4
|
-
export
|
|
4
|
+
export type ManifestDependenciesKeys = {
|
|
5
5
|
dependencies: 'dependencies';
|
|
6
6
|
optionalDependencies: 'optionalDependencies';
|
|
7
7
|
devDependencies: 'devDependencies';
|
|
8
8
|
peerDependencies: 'peerDependencies';
|
|
9
9
|
};
|
|
10
|
-
export
|
|
11
|
-
export
|
|
10
|
+
export type ManifestDependenciesKeysNames = keyof ManifestDependenciesKeys;
|
|
11
|
+
export type ManifestDependenciesObject = Partial<Record<ManifestDependenciesKeysNames, DepObjectValue>> & {
|
|
12
12
|
peerDependenciesMeta?: PeerDependenciesMeta;
|
|
13
13
|
};
|
|
14
|
-
export
|
|
14
|
+
export type DepObjectValue = Record<PackageName, SemverVersion>;
|
|
15
15
|
export interface ManifestToJsonOptions {
|
|
16
16
|
copyPeerToRuntime?: boolean;
|
|
17
17
|
}
|
|
@@ -36,9 +36,9 @@ function _componentPackageVersion() {
|
|
|
36
36
|
function updateDependencyVersion(dependency, rootPolicy, variantPolicy) {
|
|
37
37
|
if (dependency.getPackageName) {
|
|
38
38
|
const packageName = dependency.getPackageName();
|
|
39
|
-
const variantVersion = variantPolicy
|
|
39
|
+
const variantVersion = variantPolicy?.getDepVersion(packageName, dependency.lifecycle);
|
|
40
40
|
const variantVersionWithoutMinus = variantVersion && variantVersion !== '-' ? variantVersion : undefined;
|
|
41
|
-
const version = variantVersionWithoutMinus ||
|
|
41
|
+
const version = variantVersionWithoutMinus || rootPolicy?.getValidSemverDepVersion(packageName, dependency.lifecycle === 'peer' ? 'peer' : 'runtime') || (0, _componentPackageVersion().snapToSemver)(dependency.version) || '0.0.1-new';
|
|
42
42
|
dependency.setVersion(version);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_componentPackageVersion","data","require","updateDependencyVersion","dependency","rootPolicy","variantPolicy","getPackageName","packageName","variantVersion","getDepVersion","lifecycle","variantVersionWithoutMinus","undefined","version","getValidSemverDepVersion","snapToSemver","setVersion"],"sources":["update-dependency-version.ts"],"sourcesContent":["import { snapToSemver } from '@teambit/component-package-version';\nimport { Dependency } from '../dependencies';\nimport { VariantPolicy, WorkspacePolicy } from '../policy';\n\n/**\n * This will create a function that will modify the version of the component dependencies before calling the package manager install\n * It's important for this use case:\n * between 2 bit components we are not allowing a range, only a specific version as dependency\n * therefor, when resolve a component dependency we take the version from the actual installed version in the file system\n * imagine the following case\n * I have in my policy my-dep:0.0.10\n * during installation it is installed (hoisted to the root)\n * now i'm changing it to be ^0.0.11\n * On the next bit install, when I will look at the component deps I'll see it with version 0.0.10 always (that's resolved from the FS)\n * so the version ^0.0.11 will be never installed.\n * For installation purpose we want a different resolve method, we want to take the version from the policies so we will install the correct one\n * this function will get the root deps / policy, and a function to merge the component policies (by the dep resolver extension).\n * it will then search for the dep version in the component policy, than in the workspace policy and take it from there\n * now in the described case, it will be change to ^0.0.11 and will be install correctly\n * then on the next calculation for tagging it will have the installed version\n *\n * @param {Component} component\n * @param {ManifestDependenciesObject} rootDependencies\n * @param {MergeDependenciesFunc} mergeDependenciesFunc\n * @returns {DepVersionModifierFunc}\n */\nexport function updateDependencyVersion(\n dependency: Dependency,\n rootPolicy?: WorkspacePolicy,\n variantPolicy?: VariantPolicy\n): void {\n if (dependency.getPackageName) {\n const packageName = dependency.getPackageName();\n const variantVersion = variantPolicy?.getDepVersion(packageName, dependency.lifecycle);\n const variantVersionWithoutMinus = variantVersion && variantVersion !== '-' ? variantVersion : undefined;\n const version =\n variantVersionWithoutMinus ||\n rootPolicy?.getValidSemverDepVersion(packageName, dependency.lifecycle === 'peer' ? 'peer' : 'runtime') ||\n snapToSemver(dependency.version) ||\n '0.0.1-new';\n\n dependency.setVersion(version);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,yBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,wBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,uBAAuBA,CACrCC,UAAsB,EACtBC,UAA4B,EAC5BC,aAA6B,EACvB;EACN,IAAIF,UAAU,CAACG,cAAc,EAAE;IAC7B,MAAMC,WAAW,GAAGJ,UAAU,CAACG,cAAc,CAAC,CAAC;IAC/C,MAAME,cAAc,GAAGH,aAAa,
|
|
1
|
+
{"version":3,"names":["_componentPackageVersion","data","require","updateDependencyVersion","dependency","rootPolicy","variantPolicy","getPackageName","packageName","variantVersion","getDepVersion","lifecycle","variantVersionWithoutMinus","undefined","version","getValidSemverDepVersion","snapToSemver","setVersion"],"sources":["update-dependency-version.ts"],"sourcesContent":["import { snapToSemver } from '@teambit/component-package-version';\nimport { Dependency } from '../dependencies';\nimport { VariantPolicy, WorkspacePolicy } from '../policy';\n\n/**\n * This will create a function that will modify the version of the component dependencies before calling the package manager install\n * It's important for this use case:\n * between 2 bit components we are not allowing a range, only a specific version as dependency\n * therefor, when resolve a component dependency we take the version from the actual installed version in the file system\n * imagine the following case\n * I have in my policy my-dep:0.0.10\n * during installation it is installed (hoisted to the root)\n * now i'm changing it to be ^0.0.11\n * On the next bit install, when I will look at the component deps I'll see it with version 0.0.10 always (that's resolved from the FS)\n * so the version ^0.0.11 will be never installed.\n * For installation purpose we want a different resolve method, we want to take the version from the policies so we will install the correct one\n * this function will get the root deps / policy, and a function to merge the component policies (by the dep resolver extension).\n * it will then search for the dep version in the component policy, than in the workspace policy and take it from there\n * now in the described case, it will be change to ^0.0.11 and will be install correctly\n * then on the next calculation for tagging it will have the installed version\n *\n * @param {Component} component\n * @param {ManifestDependenciesObject} rootDependencies\n * @param {MergeDependenciesFunc} mergeDependenciesFunc\n * @returns {DepVersionModifierFunc}\n */\nexport function updateDependencyVersion(\n dependency: Dependency,\n rootPolicy?: WorkspacePolicy,\n variantPolicy?: VariantPolicy\n): void {\n if (dependency.getPackageName) {\n const packageName = dependency.getPackageName();\n const variantVersion = variantPolicy?.getDepVersion(packageName, dependency.lifecycle);\n const variantVersionWithoutMinus = variantVersion && variantVersion !== '-' ? variantVersion : undefined;\n const version =\n variantVersionWithoutMinus ||\n rootPolicy?.getValidSemverDepVersion(packageName, dependency.lifecycle === 'peer' ? 'peer' : 'runtime') ||\n snapToSemver(dependency.version) ||\n '0.0.1-new';\n\n dependency.setVersion(version);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,yBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,wBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,uBAAuBA,CACrCC,UAAsB,EACtBC,UAA4B,EAC5BC,aAA6B,EACvB;EACN,IAAIF,UAAU,CAACG,cAAc,EAAE;IAC7B,MAAMC,WAAW,GAAGJ,UAAU,CAACG,cAAc,CAAC,CAAC;IAC/C,MAAME,cAAc,GAAGH,aAAa,EAAEI,aAAa,CAACF,WAAW,EAAEJ,UAAU,CAACO,SAAS,CAAC;IACtF,MAAMC,0BAA0B,GAAGH,cAAc,IAAIA,cAAc,KAAK,GAAG,GAAGA,cAAc,GAAGI,SAAS;IACxG,MAAMC,OAAO,GACXF,0BAA0B,IAC1BP,UAAU,EAAEU,wBAAwB,CAACP,WAAW,EAAEJ,UAAU,CAACO,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,IACvG,IAAAK,uCAAY,EAACZ,UAAU,CAACU,OAAO,CAAC,IAChC,WAAW;IAEbV,UAAU,CAACa,UAAU,CAACH,OAAO,CAAC;EAChC;AACF"}
|
|
@@ -8,12 +8,12 @@ import { ComponentsManifestsMap } from '../types';
|
|
|
8
8
|
import { DedupedDependencies } from './deduping';
|
|
9
9
|
import { ManifestToJsonOptions, ManifestDependenciesObject } from './manifest';
|
|
10
10
|
import { WorkspaceManifest } from './workspace-manifest';
|
|
11
|
-
export
|
|
12
|
-
export
|
|
11
|
+
export type DepsFilterFn = (dependencies: DependencyList) => DependencyList;
|
|
12
|
+
export type ComponentDependenciesMap = Map<PackageName, ManifestDependenciesObject>;
|
|
13
13
|
export interface WorkspaceManifestToJsonOptions extends ManifestToJsonOptions {
|
|
14
14
|
includeDir?: boolean;
|
|
15
15
|
}
|
|
16
|
-
export
|
|
16
|
+
export type CreateFromComponentsOptions = {
|
|
17
17
|
filterComponentsFromManifests: boolean;
|
|
18
18
|
createManifestForComponentsWithoutDependencies: boolean;
|
|
19
19
|
dedupe?: boolean;
|
|
@@ -314,8 +314,7 @@ function filterExtensions(dependencyList) {
|
|
|
314
314
|
function filterComponents(dependencyList, componentsToFilterOut) {
|
|
315
315
|
const filtered = dependencyList.filter(dep => {
|
|
316
316
|
if (!(dep instanceof _dependencies().ComponentDependency)) {
|
|
317
|
-
|
|
318
|
-
const depPkgName = (_dep$getPackageName = dep.getPackageName) === null || _dep$getPackageName === void 0 ? void 0 : _dep$getPackageName.call(dep);
|
|
317
|
+
const depPkgName = dep.getPackageName?.();
|
|
319
318
|
if (!depPkgName) return true;
|
|
320
319
|
// If the package is already in the workspace as a local component,
|
|
321
320
|
// then we don't want to install that package as a dependency to node_modules.
|
|
@@ -346,9 +345,8 @@ function excludeWorkspaceDependencies(deps) {
|
|
|
346
345
|
return (0, _lodash().pickBy)(deps, versionSpec => !versionSpec.startsWith('file:') && !versionSpec.startsWith('workspace:'));
|
|
347
346
|
}
|
|
348
347
|
async function getMissingPackages(component) {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
if (!(missingPackagesData !== null && missingPackagesData !== void 0 && missingPackagesData.length)) return {
|
|
348
|
+
const missingPackagesData = component.state.issues.getIssue(_componentIssues().IssuesClasses.MissingPackagesDependenciesOnFs)?.data;
|
|
349
|
+
if (!missingPackagesData?.length) return {
|
|
352
350
|
devMissings: [],
|
|
353
351
|
runtimeMissings: []
|
|
354
352
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_aspectLoader","data","require","_componentIssues","_componentIdToPackageName","_interopRequireDefault","_lodash","_semver","_pMapSeries","_componentPackageVersion","_dependencies","_policy","_componentManifest","_deduping","_updateDependencyVersion","_workspaceManifest","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","DEFAULT_CREATE_OPTIONS","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","resolveVersionsFromDependenciesOnly","excludeExtensionsDependencies","WorkspaceManifestFactory","constructor","dependencyResolver","aspectLoader","createFromComponents","name","version","rootPolicy","rootDir","components","options","optsWithDefaults","assign","hasRootComponents","filterOutCoreAspects","componentDependenciesMap","buildComponentDependenciesMap","undefined","dependencyFilterFn","referenceLocalPackages","rootDependencies","toManifest","dependencies","dedupedDependencies","getEmptyDedupedDependencies","dedupeDependencies","dedupePeerDependencies","mapValues","deps","excludeWorkspaceDependencies","componentsManifestsMap","getComponentsManifests","envSelfPeers","getEnvsSelfPeersPolicy","workspaceManifest","WorkspaceManifest","coreAspectIds","getCoreAspectIds","coreAspectPkgNames","Set","map","coreAspectId","getCoreAspectPackageName","add","dep","has","dependencyId","foundEnvs","component","values","envPolicy","peersPolicies","policy","selfPolicy","mergedPolicies","VariantPolicy","mergePolices","packageNames","getPackageName","buildResultsP","packageName","componentIdToPackageName","state","_consumer","depList","getDependencies","includeHidden","additionalDeps","comp","toTypeArray","compIdWithoutVersion","id","split","isExtension","includes","some","c","isEqual","componentId","pkgName","depManifestBeforeFiltering","toDependenciesManifest","filterComponents","filterExtensions","updateDependenciesVersions","depManifest","devMissings","runtimeMissings","getMissingPackages","unresolvedRuntimeMissingRootDeps","pickBy","_version","rootPackageName","devDependencies","peerDependencies","unresolvedDevMissingRootDeps","defaultPeerDependencies","_getDefaultPeerDependencies","result","Map","results","Promise","all","currResult","set","packageNamesFromWorkspace","getComponentEnvPolicy","selfPolicyWithoutLocal","fromPairs","toNameVersionTuple","dependencyList","getPolicy","updateDependencyVersion","componentsManifests","pMapSeries","blankDependencies","optionalDependencies","peerDependenciesMeta","get","getVersion","hasVersion","snapToSemver","manifest","ComponentManifest","SemVer","exports","filtered","ComponentDependency","componentsToFilterOut","_dep$getPackageName","depPkgName","existingComponent","find","toString","ignoreVersion","isEqualWithoutVersion","versionSpec","startsWith","_component$state$issu","missingPackagesData","issues","getIssue","IssuesClasses","MissingPackagesDependenciesOnFs","isDevFile","missingPackages","uniq","difference"],"sources":["workspace-manifest-factory.ts"],"sourcesContent":["import { AspectLoaderMain, getCoreAspectPackageName } from '@teambit/aspect-loader';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Component } from '@teambit/component';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { fromPairs, pickBy, mapValues, uniq, difference } from 'lodash';\nimport { SemVer } from 'semver';\nimport pMapSeries from 'p-map-series';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { ComponentDependency, DependencyList, PackageName } from '../dependencies';\nimport { VariantPolicy, WorkspacePolicy, EnvPolicy } from '../policy';\nimport { DependencyResolverMain } from '../dependency-resolver.main.runtime';\nimport { ComponentsManifestsMap } from '../types';\nimport { ComponentManifest } from './component-manifest';\nimport { dedupeDependencies, DedupedDependencies, getEmptyDedupedDependencies } from './deduping';\nimport { ManifestToJsonOptions, ManifestDependenciesObject, DepObjectValue } from './manifest';\nimport { updateDependencyVersion } from './update-dependency-version';\nimport { WorkspaceManifest } from './workspace-manifest';\n\nexport type DepsFilterFn = (dependencies: DependencyList) => DependencyList;\n\nexport type ComponentDependenciesMap = Map<PackageName, ManifestDependenciesObject>;\nexport interface WorkspaceManifestToJsonOptions extends ManifestToJsonOptions {\n includeDir?: boolean;\n}\n\nexport type CreateFromComponentsOptions = {\n filterComponentsFromManifests: boolean;\n createManifestForComponentsWithoutDependencies: boolean;\n dedupe?: boolean;\n dependencyFilterFn?: DepsFilterFn;\n resolveVersionsFromDependenciesOnly?: boolean;\n referenceLocalPackages?: boolean;\n hasRootComponents?: boolean;\n excludeExtensionsDependencies?: boolean;\n};\n\nconst DEFAULT_CREATE_OPTIONS: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: true,\n resolveVersionsFromDependenciesOnly: false,\n excludeExtensionsDependencies: false,\n};\nexport class WorkspaceManifestFactory {\n constructor(private dependencyResolver: DependencyResolverMain, private aspectLoader: AspectLoaderMain) {}\n\n async createFromComponents(\n name: string,\n version: SemVer,\n rootPolicy: WorkspacePolicy,\n rootDir: string,\n components: Component[],\n options: CreateFromComponentsOptions = DEFAULT_CREATE_OPTIONS\n ): Promise<WorkspaceManifest> {\n // Make sure to take other default if passed options with only one option\n const optsWithDefaults = Object.assign({}, DEFAULT_CREATE_OPTIONS, options);\n const hasRootComponents = options.hasRootComponents ?? this.dependencyResolver.hasRootComponents();\n rootPolicy = this.filterOutCoreAspects(rootPolicy);\n const componentDependenciesMap: ComponentDependenciesMap = await this.buildComponentDependenciesMap(components, {\n filterComponentsFromManifests: optsWithDefaults.filterComponentsFromManifests,\n rootPolicy: optsWithDefaults.resolveVersionsFromDependenciesOnly ? undefined : rootPolicy,\n dependencyFilterFn: optsWithDefaults.dependencyFilterFn,\n excludeExtensionsDependencies: optsWithDefaults.excludeExtensionsDependencies,\n referenceLocalPackages: optsWithDefaults.referenceLocalPackages && hasRootComponents,\n rootDependencies: hasRootComponents ? rootPolicy.toManifest().dependencies : undefined,\n });\n let dedupedDependencies = getEmptyDedupedDependencies();\n if (hasRootComponents) {\n const { rootDependencies } = dedupeDependencies(rootPolicy, componentDependenciesMap, {\n dedupePeerDependencies: hasRootComponents,\n });\n // We hoist dependencies in order for the IDE to work.\n // For runtime, the peer dependencies are installed inside:\n // <ws root>/node_module/<comp name>/node_module/<comp name>/node_modules\n dedupedDependencies.rootDependencies = mapValues(\n rootDependencies,\n (deps) => deps && excludeWorkspaceDependencies(deps)\n );\n dedupedDependencies.componentDependenciesMap = componentDependenciesMap;\n } else if (options.dedupe) {\n dedupedDependencies = dedupeDependencies(rootPolicy, componentDependenciesMap);\n } else {\n dedupedDependencies.rootDependencies = rootPolicy.toManifest();\n dedupedDependencies.componentDependenciesMap = componentDependenciesMap;\n }\n const componentsManifestsMap = await this.getComponentsManifests(\n dedupedDependencies,\n components,\n optsWithDefaults.createManifestForComponentsWithoutDependencies\n );\n const envSelfPeers = this.getEnvsSelfPeersPolicy(componentsManifestsMap);\n const workspaceManifest = new WorkspaceManifest(\n name,\n version,\n dedupedDependencies.rootDependencies,\n envSelfPeers,\n rootDir,\n componentsManifestsMap\n );\n return workspaceManifest;\n }\n\n private filterOutCoreAspects(rootPolicy: WorkspacePolicy) {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n const coreAspectPkgNames = new Set(coreAspectIds.map((coreAspectId) => getCoreAspectPackageName(coreAspectId)));\n coreAspectPkgNames.add('@teambit/legacy');\n return rootPolicy.filter((dep) => !coreAspectPkgNames.has(dep.dependencyId));\n }\n\n private getEnvsSelfPeersPolicy(componentsManifestsMap: ComponentsManifestsMap) {\n const foundEnvs: EnvPolicy[] = [];\n for (const component of componentsManifestsMap.values()) {\n foundEnvs.push(component.envPolicy);\n }\n const peersPolicies = foundEnvs.map((policy) => policy.selfPolicy);\n // TODO: At the moment we are just merge everything, so in case of conflicts one will be taken\n // TODO: once we have root for each env, we should know to handle it differently\n const mergedPolicies = VariantPolicy.mergePolices(peersPolicies);\n return mergedPolicies;\n }\n\n /**\n * Get the components and build a map with the package name (from the component) as key and the dependencies as values\n *\n * @param {Component[]} components\n * @param {boolean} [filterComponentsFromManifests=true] - filter existing components from the dep graphs\n * @returns\n */\n private async buildComponentDependenciesMap(\n components: Component[],\n {\n dependencyFilterFn,\n filterComponentsFromManifests,\n excludeExtensionsDependencies,\n referenceLocalPackages,\n rootDependencies,\n rootPolicy,\n }: {\n dependencyFilterFn?: DepsFilterFn;\n filterComponentsFromManifests?: boolean;\n excludeExtensionsDependencies?: boolean;\n referenceLocalPackages?: boolean;\n rootDependencies?: Record<string, string>;\n rootPolicy?: WorkspacePolicy;\n }\n ): Promise<ComponentDependenciesMap> {\n const packageNames = components.map((component) => this.dependencyResolver.getPackageName(component));\n const buildResultsP = components.map(async (component) => {\n const packageName = componentIdToPackageName(component.state._consumer);\n let depList = await this.dependencyResolver.getDependencies(component, { includeHidden: true });\n const additionalDeps = {};\n if (referenceLocalPackages) {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n for (const comp of depList.toTypeArray('component') as ComponentDependency[]) {\n const [compIdWithoutVersion] = comp.id.split('@');\n if (\n !comp.isExtension &&\n !coreAspectIds.includes(compIdWithoutVersion) &&\n components.some((c) => c.id.isEqual(comp.componentId))\n ) {\n const pkgName = comp.getPackageName();\n if (pkgName !== '@teambit/harmony') {\n additionalDeps[pkgName] = `workspace:*`;\n }\n }\n }\n }\n const depManifestBeforeFiltering = depList.toDependenciesManifest();\n\n if (filterComponentsFromManifests ?? true) {\n depList = filterComponents(depList, components);\n }\n if (excludeExtensionsDependencies) {\n depList = filterExtensions(depList);\n }\n // Remove bit bin from dep list\n depList = depList.filter((dep) => dep.id !== '@teambit/legacy');\n if (dependencyFilterFn) {\n depList = dependencyFilterFn(depList);\n }\n await this.updateDependenciesVersions(component, rootPolicy, depList);\n const depManifest = depList.toDependenciesManifest();\n const { devMissings, runtimeMissings } = await getMissingPackages(component);\n // Only add missing root deps that are not already in the component manifest\n // We are using depManifestBeforeFiltering to support (rare) cases when a dependency is both:\n // a component in the workspace (bitmap) and a dependency in the workspace.jsonc / package.json\n // this happens for the bit repo itself for the @teambit/component-version component\n // in this case we don't want to add that to the manifest when it's missing, because it will be linked from the\n // workspace\n const unresolvedRuntimeMissingRootDeps = pickBy(rootDependencies, (_version, rootPackageName) => {\n return (\n runtimeMissings.includes(rootPackageName) &&\n !depManifestBeforeFiltering.dependencies[rootPackageName] &&\n !depManifestBeforeFiltering.devDependencies[rootPackageName] &&\n !depManifestBeforeFiltering.peerDependencies[rootPackageName]\n );\n });\n // Only add missing root deps that are not already in the component manifest\n const unresolvedDevMissingRootDeps = pickBy(rootDependencies, (_version, rootPackageName) => {\n return (\n devMissings.includes(rootPackageName) &&\n !depManifestBeforeFiltering.dependencies[rootPackageName] &&\n !depManifestBeforeFiltering.devDependencies[rootPackageName] &&\n !depManifestBeforeFiltering.peerDependencies[rootPackageName]\n );\n });\n\n const defaultPeerDependencies = await this._getDefaultPeerDependencies(component, packageNames);\n\n depManifest.dependencies = {\n ...defaultPeerDependencies,\n ...unresolvedRuntimeMissingRootDeps,\n ...additionalDeps,\n ...depManifest.dependencies,\n };\n\n depManifest.devDependencies = {\n ...unresolvedDevMissingRootDeps,\n ...depManifest.devDependencies,\n };\n\n return { packageName, depManifest };\n });\n const result: ComponentDependenciesMap = new Map();\n\n if (buildResultsP.length) {\n const results = await Promise.all(buildResultsP);\n results.forEach((currResult) => {\n result.set(currResult.packageName, currResult.depManifest);\n });\n }\n\n return result;\n }\n\n private async _getDefaultPeerDependencies(\n component: Component,\n packageNamesFromWorkspace: string[]\n ): Promise<Record<string, string>> {\n const envPolicy = await this.dependencyResolver.getComponentEnvPolicy(component);\n const selfPolicyWithoutLocal = envPolicy.selfPolicy.filter(\n (dep) => !packageNamesFromWorkspace.includes(dep.dependencyId)\n );\n return fromPairs(selfPolicyWithoutLocal.toNameVersionTuple());\n }\n\n private async updateDependenciesVersions(\n component: Component,\n rootPolicy: WorkspacePolicy | undefined,\n dependencyList: DependencyList\n ): Promise<void> {\n // If root policy is not passed, it means that installation happens in a capsule\n // and we only resolve versions from the dependencies, not any policies.\n const mergedPolicies = rootPolicy && (await this.dependencyResolver.getPolicy(component));\n dependencyList.forEach((dep) => {\n updateDependencyVersion(dep, rootPolicy, mergedPolicies);\n });\n }\n\n /**\n * Get the components manifests based on the calculated dedupedDependencies\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {Component[]} components\n * @returns {ComponentsManifestsMap}\n */\n async getComponentsManifests(\n dedupedDependencies: DedupedDependencies,\n components: Component[],\n createManifestForComponentsWithoutDependencies = true\n ): Promise<ComponentsManifestsMap> {\n const componentsManifests: ComponentsManifestsMap = new Map();\n // don't use Promise.all, along the road this code might import an env from a remote, which can't be done in parallel.\n // otherwise, it may import the same component multiple times, and if fails, the ref (remote-lane) files may be corrupted.\n await pMapSeries(components, async (component) => {\n const packageName = componentIdToPackageName(component.state._consumer);\n if (\n dedupedDependencies.componentDependenciesMap.has(packageName) ||\n createManifestForComponentsWithoutDependencies\n ) {\n const blankDependencies: ManifestDependenciesObject = {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n peerDependenciesMeta: {},\n };\n let dependencies = blankDependencies;\n if (dedupedDependencies.componentDependenciesMap.has(packageName)) {\n dependencies = dedupedDependencies.componentDependenciesMap.get(packageName) as ManifestDependenciesObject;\n }\n\n const getVersion = (): string => {\n if (!component.id.hasVersion()) return '0.0.1-new';\n return snapToSemver(component.id.version as string);\n };\n\n const version = getVersion();\n const envPolicy = await this.dependencyResolver.getComponentEnvPolicy(component);\n const manifest = new ComponentManifest(packageName, new SemVer(version), dependencies, component, envPolicy);\n componentsManifests.set(packageName, manifest);\n }\n });\n return componentsManifests;\n }\n}\n\nfunction filterExtensions(dependencyList: DependencyList): DependencyList {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n return true;\n }\n return !dep.isExtension;\n });\n return filtered;\n}\n\nfunction filterComponents(dependencyList: DependencyList, componentsToFilterOut: Component[]): DependencyList {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n const depPkgName = dep.getPackageName?.();\n if (!depPkgName) return true;\n // If the package is already in the workspace as a local component,\n // then we don't want to install that package as a dependency to node_modules.\n // Otherwise, it would rewrite the local component inside the root node_modules that is created by bit link.\n return !componentsToFilterOut.some(\n (component) => depPkgName === componentIdToPackageName(component.state._consumer)\n );\n }\n // Remove dependencies which has no version (they are new in the workspace)\n if (!dep.componentId.hasVersion()) return false;\n const existingComponent = componentsToFilterOut.find((component) => {\n // For new components, the component has no version but the dependency id has version 0.0.1\n if (!component.id.hasVersion()) {\n return component.id.toString() === dep.componentId.toString({ ignoreVersion: true });\n }\n // We are checking against both component.id and component.state._consumer.id\n // Because during tag operation, the component.id has the current version (before the tag)\n // while the component.state._consumer.id has the upcoming version (the version that will be after the tag)\n // The dependency in some cases is already updated to the upcoming version\n return (\n component.id.isEqualWithoutVersion(dep.componentId) ||\n component.state._consumer.id.isEqualWithoutVersion(dep.componentId)\n );\n });\n if (existingComponent) return false;\n return true;\n });\n return filtered;\n}\n\nfunction excludeWorkspaceDependencies(deps: DepObjectValue): DepObjectValue {\n return pickBy(deps, (versionSpec) => !versionSpec.startsWith('file:') && !versionSpec.startsWith('workspace:'));\n}\n\nasync function getMissingPackages(component: Component): Promise<{ devMissings: string[]; runtimeMissings: string[] }> {\n const missingPackagesData = component.state.issues.getIssue(IssuesClasses.MissingPackagesDependenciesOnFs)?.data;\n if (!missingPackagesData?.length) return { devMissings: [], runtimeMissings: [] };\n\n let devMissings: string[] = [];\n let runtimeMissings: string[] = [];\n\n missingPackagesData.forEach((data) => {\n if (data.isDevFile) {\n devMissings.push(...data.missingPackages);\n } else {\n runtimeMissings.push(...data.missingPackages);\n }\n });\n devMissings = uniq(devMissings);\n runtimeMissings = uniq(runtimeMissings);\n\n // Remove dev missing which are also runtime missing\n devMissings = difference(devMissings, runtimeMissings);\n return {\n devMissings,\n runtimeMissings,\n };\n}\n"],"mappings":";;;;;;AAAA,SAAAA,cAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,aAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,iBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,gBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,0BAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAE,yBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,YAAA;EAAA,MAAAP,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAM,WAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,yBAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,wBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,cAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,aAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,QAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,OAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAW,mBAAA;EAAA,MAAAX,IAAA,GAAAC,OAAA;EAAAU,kBAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,UAAA;EAAA,MAAAZ,IAAA,GAAAC,OAAA;EAAAW,SAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAa,yBAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,wBAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,mBAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,kBAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAyD,SAAAI,uBAAAW,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAApB,GAAA,EAAAwB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAxB,GAAA,IAAAO,MAAA,CAAAgB,cAAA,CAAAvB,GAAA,EAAAwB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAZ,UAAA,QAAAc,YAAA,QAAAC,QAAA,oBAAA5B,GAAA,CAAAwB,GAAA,IAAAC,KAAA,WAAAzB,GAAA;AAAA,SAAA0B,eAAApB,CAAA,QAAAuB,CAAA,GAAAC,YAAA,CAAAxB,CAAA,uCAAAuB,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAxB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAA0B,MAAA,CAAAC,WAAA,kBAAA7B,CAAA,QAAAyB,CAAA,GAAAzB,CAAA,CAAA8B,IAAA,CAAA5B,CAAA,EAAAD,CAAA,uCAAAwB,CAAA,SAAAA,CAAA,YAAAM,SAAA,yEAAA9B,CAAA,GAAA0B,MAAA,GAAAK,MAAA,EAAA9B,CAAA;AAoBzD,MAAM+B,sBAAmD,GAAG;EAC1DC,6BAA6B,EAAE,IAAI;EACnCC,8CAA8C,EAAE,IAAI;EACpDC,MAAM,EAAE,IAAI;EACZC,mCAAmC,EAAE,KAAK;EAC1CC,6BAA6B,EAAE;AACjC,CAAC;AACM,MAAMC,wBAAwB,CAAC;EACpCC,WAAWA,CAASC,kBAA0C,EAAUC,YAA8B,EAAE;IAAA,KAApFD,kBAA0C,GAA1CA,kBAA0C;IAAA,KAAUC,YAA8B,GAA9BA,YAA8B;EAAG;EAEzG,MAAMC,oBAAoBA,CACxBC,IAAY,EACZC,OAAe,EACfC,UAA2B,EAC3BC,OAAe,EACfC,UAAuB,EACvBC,OAAoC,GAAGhB,sBAAsB,EACjC;IAC5B;IACA,MAAMiB,gBAAgB,GAAG/C,MAAM,CAACgD,MAAM,CAAC,CAAC,CAAC,EAAElB,sBAAsB,EAAEgB,OAAO,CAAC;IAC3E,MAAMG,iBAAiB,GAAGH,OAAO,CAACG,iBAAiB,IAAI,IAAI,CAACX,kBAAkB,CAACW,iBAAiB,CAAC,CAAC;IAClGN,UAAU,GAAG,IAAI,CAACO,oBAAoB,CAACP,UAAU,CAAC;IAClD,MAAMQ,wBAAkD,GAAG,MAAM,IAAI,CAACC,6BAA6B,CAACP,UAAU,EAAE;MAC9Gd,6BAA6B,EAAEgB,gBAAgB,CAAChB,6BAA6B;MAC7EY,UAAU,EAAEI,gBAAgB,CAACb,mCAAmC,GAAGmB,SAAS,GAAGV,UAAU;MACzFW,kBAAkB,EAAEP,gBAAgB,CAACO,kBAAkB;MACvDnB,6BAA6B,EAAEY,gBAAgB,CAACZ,6BAA6B;MAC7EoB,sBAAsB,EAAER,gBAAgB,CAACQ,sBAAsB,IAAIN,iBAAiB;MACpFO,gBAAgB,EAAEP,iBAAiB,GAAGN,UAAU,CAACc,UAAU,CAAC,CAAC,CAACC,YAAY,GAAGL;IAC/E,CAAC,CAAC;IACF,IAAIM,mBAAmB,GAAG,IAAAC,uCAA2B,EAAC,CAAC;IACvD,IAAIX,iBAAiB,EAAE;MACrB,MAAM;QAAEO;MAAiB,CAAC,GAAG,IAAAK,8BAAkB,EAAClB,UAAU,EAAEQ,wBAAwB,EAAE;QACpFW,sBAAsB,EAAEb;MAC1B,CAAC,CAAC;MACF;MACA;MACA;MACAU,mBAAmB,CAACH,gBAAgB,GAAG,IAAAO,mBAAS,EAC9CP,gBAAgB,EACfQ,IAAI,IAAKA,IAAI,IAAIC,4BAA4B,CAACD,IAAI,CACrD,CAAC;MACDL,mBAAmB,CAACR,wBAAwB,GAAGA,wBAAwB;IACzE,CAAC,MAAM,IAAIL,OAAO,CAACb,MAAM,EAAE;MACzB0B,mBAAmB,GAAG,IAAAE,8BAAkB,EAAClB,UAAU,EAAEQ,wBAAwB,CAAC;IAChF,CAAC,MAAM;MACLQ,mBAAmB,CAACH,gBAAgB,GAAGb,UAAU,CAACc,UAAU,CAAC,CAAC;MAC9DE,mBAAmB,CAACR,wBAAwB,GAAGA,wBAAwB;IACzE;IACA,MAAMe,sBAAsB,GAAG,MAAM,IAAI,CAACC,sBAAsB,CAC9DR,mBAAmB,EACnBd,UAAU,EACVE,gBAAgB,CAACf,8CACnB,CAAC;IACD,MAAMoC,YAAY,GAAG,IAAI,CAACC,sBAAsB,CAACH,sBAAsB,CAAC;IACxE,MAAMI,iBAAiB,GAAG,KAAIC,sCAAiB,EAC7C9B,IAAI,EACJC,OAAO,EACPiB,mBAAmB,CAACH,gBAAgB,EACpCY,YAAY,EACZxB,OAAO,EACPsB,sBACF,CAAC;IACD,OAAOI,iBAAiB;EAC1B;EAEQpB,oBAAoBA,CAACP,UAA2B,EAAE;IACxD,MAAM6B,aAAa,GAAG,IAAI,CAACjC,YAAY,CAACkC,gBAAgB,CAAC,CAAC;IAC1D,MAAMC,kBAAkB,GAAG,IAAIC,GAAG,CAACH,aAAa,CAACI,GAAG,CAAEC,YAAY,IAAK,IAAAC,wCAAwB,EAACD,YAAY,CAAC,CAAC,CAAC;IAC/GH,kBAAkB,CAACK,GAAG,CAAC,iBAAiB,CAAC;IACzC,OAAOpC,UAAU,CAACvC,MAAM,CAAE4E,GAAG,IAAK,CAACN,kBAAkB,CAACO,GAAG,CAACD,GAAG,CAACE,YAAY,CAAC,CAAC;EAC9E;EAEQb,sBAAsBA,CAACH,sBAA8C,EAAE;IAC7E,MAAMiB,SAAsB,GAAG,EAAE;IACjC,KAAK,MAAMC,SAAS,IAAIlB,sBAAsB,CAACmB,MAAM,CAAC,CAAC,EAAE;MACvDF,SAAS,CAAC5E,IAAI,CAAC6E,SAAS,CAACE,SAAS,CAAC;IACrC;IACA,MAAMC,aAAa,GAAGJ,SAAS,CAACP,GAAG,CAAEY,MAAM,IAAKA,MAAM,CAACC,UAAU,CAAC;IAClE;IACA;IACA,MAAMC,cAAc,GAAGC,uBAAa,CAACC,YAAY,CAACL,aAAa,CAAC;IAChE,OAAOG,cAAc;EACvB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAActC,6BAA6BA,CACzCP,UAAuB,EACvB;IACES,kBAAkB;IAClBvB,6BAA6B;IAC7BI,6BAA6B;IAC7BoB,sBAAsB;IACtBC,gBAAgB;IAChBb;EAQF,CAAC,EACkC;IACnC,MAAMkD,YAAY,GAAGhD,UAAU,CAAC+B,GAAG,CAAEQ,SAAS,IAAK,IAAI,CAAC9C,kBAAkB,CAACwD,cAAc,CAACV,SAAS,CAAC,CAAC;IACrG,MAAMW,aAAa,GAAGlD,UAAU,CAAC+B,GAAG,CAAC,MAAOQ,SAAS,IAAK;MACxD,MAAMY,WAAW,GAAG,IAAAC,mCAAwB,EAACb,SAAS,CAACc,KAAK,CAACC,SAAS,CAAC;MACvE,IAAIC,OAAO,GAAG,MAAM,IAAI,CAAC9D,kBAAkB,CAAC+D,eAAe,CAACjB,SAAS,EAAE;QAAEkB,aAAa,EAAE;MAAK,CAAC,CAAC;MAC/F,MAAMC,cAAc,GAAG,CAAC,CAAC;MACzB,IAAIhD,sBAAsB,EAAE;QAC1B,MAAMiB,aAAa,GAAG,IAAI,CAACjC,YAAY,CAACkC,gBAAgB,CAAC,CAAC;QAC1D,KAAK,MAAM+B,IAAI,IAAIJ,OAAO,CAACK,WAAW,CAAC,WAAW,CAAC,EAA2B;UAC5E,MAAM,CAACC,oBAAoB,CAAC,GAAGF,IAAI,CAACG,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC;UACjD,IACE,CAACJ,IAAI,CAACK,WAAW,IACjB,CAACrC,aAAa,CAACsC,QAAQ,CAACJ,oBAAoB,CAAC,IAC7C7D,UAAU,CAACkE,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACL,EAAE,CAACM,OAAO,CAACT,IAAI,CAACU,WAAW,CAAC,CAAC,EACtD;YACA,MAAMC,OAAO,GAAGX,IAAI,CAACV,cAAc,CAAC,CAAC;YACrC,IAAIqB,OAAO,KAAK,kBAAkB,EAAE;cAClCZ,cAAc,CAACY,OAAO,CAAC,GAAI,aAAY;YACzC;UACF;QACF;MACF;MACA,MAAMC,0BAA0B,GAAGhB,OAAO,CAACiB,sBAAsB,CAAC,CAAC;MAEnE,IAAItF,6BAA6B,IAAI,IAAI,EAAE;QACzCqE,OAAO,GAAGkB,gBAAgB,CAAClB,OAAO,EAAEvD,UAAU,CAAC;MACjD;MACA,IAAIV,6BAA6B,EAAE;QACjCiE,OAAO,GAAGmB,gBAAgB,CAACnB,OAAO,CAAC;MACrC;MACA;MACAA,OAAO,GAAGA,OAAO,CAAChG,MAAM,CAAE4E,GAAG,IAAKA,GAAG,CAAC2B,EAAE,KAAK,iBAAiB,CAAC;MAC/D,IAAIrD,kBAAkB,EAAE;QACtB8C,OAAO,GAAG9C,kBAAkB,CAAC8C,OAAO,CAAC;MACvC;MACA,MAAM,IAAI,CAACoB,0BAA0B,CAACpC,SAAS,EAAEzC,UAAU,EAAEyD,OAAO,CAAC;MACrE,MAAMqB,WAAW,GAAGrB,OAAO,CAACiB,sBAAsB,CAAC,CAAC;MACpD,MAAM;QAAEK,WAAW;QAAEC;MAAgB,CAAC,GAAG,MAAMC,kBAAkB,CAACxC,SAAS,CAAC;MAC5E;MACA;MACA;MACA;MACA;MACA;MACA,MAAMyC,gCAAgC,GAAG,IAAAC,gBAAM,EAACtE,gBAAgB,EAAE,CAACuE,QAAQ,EAAEC,eAAe,KAAK;QAC/F,OACEL,eAAe,CAACb,QAAQ,CAACkB,eAAe,CAAC,IACzC,CAACZ,0BAA0B,CAAC1D,YAAY,CAACsE,eAAe,CAAC,IACzD,CAACZ,0BAA0B,CAACa,eAAe,CAACD,eAAe,CAAC,IAC5D,CAACZ,0BAA0B,CAACc,gBAAgB,CAACF,eAAe,CAAC;MAEjE,CAAC,CAAC;MACF;MACA,MAAMG,4BAA4B,GAAG,IAAAL,gBAAM,EAACtE,gBAAgB,EAAE,CAACuE,QAAQ,EAAEC,eAAe,KAAK;QAC3F,OACEN,WAAW,CAACZ,QAAQ,CAACkB,eAAe,CAAC,IACrC,CAACZ,0BAA0B,CAAC1D,YAAY,CAACsE,eAAe,CAAC,IACzD,CAACZ,0BAA0B,CAACa,eAAe,CAACD,eAAe,CAAC,IAC5D,CAACZ,0BAA0B,CAACc,gBAAgB,CAACF,eAAe,CAAC;MAEjE,CAAC,CAAC;MAEF,MAAMI,uBAAuB,GAAG,MAAM,IAAI,CAACC,2BAA2B,CAACjD,SAAS,EAAES,YAAY,CAAC;MAE/F4B,WAAW,CAAC/D,YAAY,GAAAjD,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACnB2H,uBAAuB,GACvBP,gCAAgC,GAChCtB,cAAc,GACdkB,WAAW,CAAC/D,YAAY,CAC5B;MAED+D,WAAW,CAACQ,eAAe,GAAAxH,aAAA,CAAAA,aAAA,KACtB0H,4BAA4B,GAC5BV,WAAW,CAACQ,eAAe,CAC/B;MAED,OAAO;QAAEjC,WAAW;QAAEyB;MAAY,CAAC;IACrC,CAAC,CAAC;IACF,MAAMa,MAAgC,GAAG,IAAIC,GAAG,CAAC,CAAC;IAElD,IAAIxC,aAAa,CAACpF,MAAM,EAAE;MACxB,MAAM6H,OAAO,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC3C,aAAa,CAAC;MAChDyC,OAAO,CAAC5H,OAAO,CAAE+H,UAAU,IAAK;QAC9BL,MAAM,CAACM,GAAG,CAACD,UAAU,CAAC3C,WAAW,EAAE2C,UAAU,CAAClB,WAAW,CAAC;MAC5D,CAAC,CAAC;IACJ;IAEA,OAAOa,MAAM;EACf;EAEA,MAAcD,2BAA2BA,CACvCjD,SAAoB,EACpByD,yBAAmC,EACF;IACjC,MAAMvD,SAAS,GAAG,MAAM,IAAI,CAAChD,kBAAkB,CAACwG,qBAAqB,CAAC1D,SAAS,CAAC;IAChF,MAAM2D,sBAAsB,GAAGzD,SAAS,CAACG,UAAU,CAACrF,MAAM,CACvD4E,GAAG,IAAK,CAAC6D,yBAAyB,CAAC/B,QAAQ,CAAC9B,GAAG,CAACE,YAAY,CAC/D,CAAC;IACD,OAAO,IAAA8D,mBAAS,EAACD,sBAAsB,CAACE,kBAAkB,CAAC,CAAC,CAAC;EAC/D;EAEA,MAAczB,0BAA0BA,CACtCpC,SAAoB,EACpBzC,UAAuC,EACvCuG,cAA8B,EACf;IACf;IACA;IACA,MAAMxD,cAAc,GAAG/C,UAAU,KAAK,MAAM,IAAI,CAACL,kBAAkB,CAAC6G,SAAS,CAAC/D,SAAS,CAAC,CAAC;IACzF8D,cAAc,CAACtI,OAAO,CAAEoE,GAAG,IAAK;MAC9B,IAAAoE,kDAAuB,EAACpE,GAAG,EAAErC,UAAU,EAAE+C,cAAc,CAAC;IAC1D,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMvB,sBAAsBA,CAC1BR,mBAAwC,EACxCd,UAAuB,EACvBb,8CAA8C,GAAG,IAAI,EACpB;IACjC,MAAMqH,mBAA2C,GAAG,IAAId,GAAG,CAAC,CAAC;IAC7D;IACA;IACA,MAAM,IAAAe,qBAAU,EAACzG,UAAU,EAAE,MAAOuC,SAAS,IAAK;MAChD,MAAMY,WAAW,GAAG,IAAAC,mCAAwB,EAACb,SAAS,CAACc,KAAK,CAACC,SAAS,CAAC;MACvE,IACExC,mBAAmB,CAACR,wBAAwB,CAAC8B,GAAG,CAACe,WAAW,CAAC,IAC7DhE,8CAA8C,EAC9C;QACA,MAAMuH,iBAA6C,GAAG;UACpD7F,YAAY,EAAE,CAAC,CAAC;UAChB8F,oBAAoB,EAAE,CAAC,CAAC;UACxBvB,eAAe,EAAE,CAAC,CAAC;UACnBC,gBAAgB,EAAE,CAAC,CAAC;UACpBuB,oBAAoB,EAAE,CAAC;QACzB,CAAC;QACD,IAAI/F,YAAY,GAAG6F,iBAAiB;QACpC,IAAI5F,mBAAmB,CAACR,wBAAwB,CAAC8B,GAAG,CAACe,WAAW,CAAC,EAAE;UACjEtC,YAAY,GAAGC,mBAAmB,CAACR,wBAAwB,CAACuG,GAAG,CAAC1D,WAAW,CAA+B;QAC5G;QAEA,MAAM2D,UAAU,GAAGA,CAAA,KAAc;UAC/B,IAAI,CAACvE,SAAS,CAACuB,EAAE,CAACiD,UAAU,CAAC,CAAC,EAAE,OAAO,WAAW;UAClD,OAAO,IAAAC,uCAAY,EAACzE,SAAS,CAACuB,EAAE,CAACjE,OAAiB,CAAC;QACrD,CAAC;QAED,MAAMA,OAAO,GAAGiH,UAAU,CAAC,CAAC;QAC5B,MAAMrE,SAAS,GAAG,MAAM,IAAI,CAAChD,kBAAkB,CAACwG,qBAAqB,CAAC1D,SAAS,CAAC;QAChF,MAAM0E,QAAQ,GAAG,KAAIC,sCAAiB,EAAC/D,WAAW,EAAE,KAAIgE,gBAAM,EAACtH,OAAO,CAAC,EAAEgB,YAAY,EAAE0B,SAAS,EAAEE,SAAS,CAAC;QAC5G+D,mBAAmB,CAACT,GAAG,CAAC5C,WAAW,EAAE8D,QAAQ,CAAC;MAChD;IACF,CAAC,CAAC;IACF,OAAOT,mBAAmB;EAC5B;AACF;AAACY,OAAA,CAAA7H,wBAAA,GAAAA,wBAAA;AAED,SAASmF,gBAAgBA,CAAC2B,cAA8B,EAAkB;EACxE,MAAMgB,QAAQ,GAAGhB,cAAc,CAAC9I,MAAM,CAAE4E,GAAG,IAAK;IAC9C,IAAI,EAAEA,GAAG,YAAYmF,mCAAmB,CAAC,EAAE;MACzC,OAAO,IAAI;IACb;IACA,OAAO,CAACnF,GAAG,CAAC6B,WAAW;EACzB,CAAC,CAAC;EACF,OAAOqD,QAAQ;AACjB;AAEA,SAAS5C,gBAAgBA,CAAC4B,cAA8B,EAAEkB,qBAAkC,EAAkB;EAC5G,MAAMF,QAAQ,GAAGhB,cAAc,CAAC9I,MAAM,CAAE4E,GAAG,IAAK;IAC9C,IAAI,EAAEA,GAAG,YAAYmF,mCAAmB,CAAC,EAAE;MAAA,IAAAE,mBAAA;MACzC,MAAMC,UAAU,IAAAD,mBAAA,GAAGrF,GAAG,CAACc,cAAc,cAAAuE,mBAAA,uBAAlBA,mBAAA,CAAA1I,IAAA,CAAAqD,GAAqB,CAAC;MACzC,IAAI,CAACsF,UAAU,EAAE,OAAO,IAAI;MAC5B;MACA;MACA;MACA,OAAO,CAACF,qBAAqB,CAACrD,IAAI,CAC/B3B,SAAS,IAAKkF,UAAU,KAAK,IAAArE,mCAAwB,EAACb,SAAS,CAACc,KAAK,CAACC,SAAS,CAClF,CAAC;IACH;IACA;IACA,IAAI,CAACnB,GAAG,CAACkC,WAAW,CAAC0C,UAAU,CAAC,CAAC,EAAE,OAAO,KAAK;IAC/C,MAAMW,iBAAiB,GAAGH,qBAAqB,CAACI,IAAI,CAAEpF,SAAS,IAAK;MAClE;MACA,IAAI,CAACA,SAAS,CAACuB,EAAE,CAACiD,UAAU,CAAC,CAAC,EAAE;QAC9B,OAAOxE,SAAS,CAACuB,EAAE,CAAC8D,QAAQ,CAAC,CAAC,KAAKzF,GAAG,CAACkC,WAAW,CAACuD,QAAQ,CAAC;UAAEC,aAAa,EAAE;QAAK,CAAC,CAAC;MACtF;MACA;MACA;MACA;MACA;MACA,OACEtF,SAAS,CAACuB,EAAE,CAACgE,qBAAqB,CAAC3F,GAAG,CAACkC,WAAW,CAAC,IACnD9B,SAAS,CAACc,KAAK,CAACC,SAAS,CAACQ,EAAE,CAACgE,qBAAqB,CAAC3F,GAAG,CAACkC,WAAW,CAAC;IAEvE,CAAC,CAAC;IACF,IAAIqD,iBAAiB,EAAE,OAAO,KAAK;IACnC,OAAO,IAAI;EACb,CAAC,CAAC;EACF,OAAOL,QAAQ;AACjB;AAEA,SAASjG,4BAA4BA,CAACD,IAAoB,EAAkB;EAC1E,OAAO,IAAA8D,gBAAM,EAAC9D,IAAI,EAAG4G,WAAW,IAAK,CAACA,WAAW,CAACC,UAAU,CAAC,OAAO,CAAC,IAAI,CAACD,WAAW,CAACC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjH;AAEA,eAAejD,kBAAkBA,CAACxC,SAAoB,EAAiE;EAAA,IAAA0F,qBAAA;EACrH,MAAMC,mBAAmB,IAAAD,qBAAA,GAAG1F,SAAS,CAACc,KAAK,CAAC8E,MAAM,CAACC,QAAQ,CAACC,gCAAa,CAACC,+BAA+B,CAAC,cAAAL,qBAAA,uBAA9EA,qBAAA,CAAgFpM,IAAI;EAChH,IAAI,EAACqM,mBAAmB,aAAnBA,mBAAmB,eAAnBA,mBAAmB,CAAEpK,MAAM,GAAE,OAAO;IAAE+G,WAAW,EAAE,EAAE;IAAEC,eAAe,EAAE;EAAG,CAAC;EAEjF,IAAID,WAAqB,GAAG,EAAE;EAC9B,IAAIC,eAAyB,GAAG,EAAE;EAElCoD,mBAAmB,CAACnK,OAAO,CAAElC,IAAI,IAAK;IACpC,IAAIA,IAAI,CAAC0M,SAAS,EAAE;MAClB1D,WAAW,CAACnH,IAAI,CAAC,GAAG7B,IAAI,CAAC2M,eAAe,CAAC;IAC3C,CAAC,MAAM;MACL1D,eAAe,CAACpH,IAAI,CAAC,GAAG7B,IAAI,CAAC2M,eAAe,CAAC;IAC/C;EACF,CAAC,CAAC;EACF3D,WAAW,GAAG,IAAA4D,cAAI,EAAC5D,WAAW,CAAC;EAC/BC,eAAe,GAAG,IAAA2D,cAAI,EAAC3D,eAAe,CAAC;;EAEvC;EACAD,WAAW,GAAG,IAAA6D,oBAAU,EAAC7D,WAAW,EAAEC,eAAe,CAAC;EACtD,OAAO;IACLD,WAAW;IACXC;EACF,CAAC;AACH"}
|
|
1
|
+
{"version":3,"names":["_aspectLoader","data","require","_componentIssues","_componentIdToPackageName","_interopRequireDefault","_lodash","_semver","_pMapSeries","_componentPackageVersion","_dependencies","_policy","_componentManifest","_deduping","_updateDependencyVersion","_workspaceManifest","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","DEFAULT_CREATE_OPTIONS","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","resolveVersionsFromDependenciesOnly","excludeExtensionsDependencies","WorkspaceManifestFactory","constructor","dependencyResolver","aspectLoader","createFromComponents","name","version","rootPolicy","rootDir","components","options","optsWithDefaults","assign","hasRootComponents","filterOutCoreAspects","componentDependenciesMap","buildComponentDependenciesMap","undefined","dependencyFilterFn","referenceLocalPackages","rootDependencies","toManifest","dependencies","dedupedDependencies","getEmptyDedupedDependencies","dedupeDependencies","dedupePeerDependencies","mapValues","deps","excludeWorkspaceDependencies","componentsManifestsMap","getComponentsManifests","envSelfPeers","getEnvsSelfPeersPolicy","workspaceManifest","WorkspaceManifest","coreAspectIds","getCoreAspectIds","coreAspectPkgNames","Set","map","coreAspectId","getCoreAspectPackageName","add","dep","has","dependencyId","foundEnvs","component","values","envPolicy","peersPolicies","policy","selfPolicy","mergedPolicies","VariantPolicy","mergePolices","packageNames","getPackageName","buildResultsP","packageName","componentIdToPackageName","state","_consumer","depList","getDependencies","includeHidden","additionalDeps","comp","toTypeArray","compIdWithoutVersion","id","split","isExtension","includes","some","c","isEqual","componentId","pkgName","depManifestBeforeFiltering","toDependenciesManifest","filterComponents","filterExtensions","updateDependenciesVersions","depManifest","devMissings","runtimeMissings","getMissingPackages","unresolvedRuntimeMissingRootDeps","pickBy","_version","rootPackageName","devDependencies","peerDependencies","unresolvedDevMissingRootDeps","defaultPeerDependencies","_getDefaultPeerDependencies","result","Map","results","Promise","all","currResult","set","packageNamesFromWorkspace","getComponentEnvPolicy","selfPolicyWithoutLocal","fromPairs","toNameVersionTuple","dependencyList","getPolicy","updateDependencyVersion","componentsManifests","pMapSeries","blankDependencies","optionalDependencies","peerDependenciesMeta","get","getVersion","hasVersion","snapToSemver","manifest","ComponentManifest","SemVer","exports","filtered","ComponentDependency","componentsToFilterOut","depPkgName","existingComponent","find","toString","ignoreVersion","isEqualWithoutVersion","versionSpec","startsWith","missingPackagesData","issues","getIssue","IssuesClasses","MissingPackagesDependenciesOnFs","isDevFile","missingPackages","uniq","difference"],"sources":["workspace-manifest-factory.ts"],"sourcesContent":["import { AspectLoaderMain, getCoreAspectPackageName } from '@teambit/aspect-loader';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Component } from '@teambit/component';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { fromPairs, pickBy, mapValues, uniq, difference } from 'lodash';\nimport { SemVer } from 'semver';\nimport pMapSeries from 'p-map-series';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { ComponentDependency, DependencyList, PackageName } from '../dependencies';\nimport { VariantPolicy, WorkspacePolicy, EnvPolicy } from '../policy';\nimport { DependencyResolverMain } from '../dependency-resolver.main.runtime';\nimport { ComponentsManifestsMap } from '../types';\nimport { ComponentManifest } from './component-manifest';\nimport { dedupeDependencies, DedupedDependencies, getEmptyDedupedDependencies } from './deduping';\nimport { ManifestToJsonOptions, ManifestDependenciesObject, DepObjectValue } from './manifest';\nimport { updateDependencyVersion } from './update-dependency-version';\nimport { WorkspaceManifest } from './workspace-manifest';\n\nexport type DepsFilterFn = (dependencies: DependencyList) => DependencyList;\n\nexport type ComponentDependenciesMap = Map<PackageName, ManifestDependenciesObject>;\nexport interface WorkspaceManifestToJsonOptions extends ManifestToJsonOptions {\n includeDir?: boolean;\n}\n\nexport type CreateFromComponentsOptions = {\n filterComponentsFromManifests: boolean;\n createManifestForComponentsWithoutDependencies: boolean;\n dedupe?: boolean;\n dependencyFilterFn?: DepsFilterFn;\n resolveVersionsFromDependenciesOnly?: boolean;\n referenceLocalPackages?: boolean;\n hasRootComponents?: boolean;\n excludeExtensionsDependencies?: boolean;\n};\n\nconst DEFAULT_CREATE_OPTIONS: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: true,\n resolveVersionsFromDependenciesOnly: false,\n excludeExtensionsDependencies: false,\n};\nexport class WorkspaceManifestFactory {\n constructor(private dependencyResolver: DependencyResolverMain, private aspectLoader: AspectLoaderMain) {}\n\n async createFromComponents(\n name: string,\n version: SemVer,\n rootPolicy: WorkspacePolicy,\n rootDir: string,\n components: Component[],\n options: CreateFromComponentsOptions = DEFAULT_CREATE_OPTIONS\n ): Promise<WorkspaceManifest> {\n // Make sure to take other default if passed options with only one option\n const optsWithDefaults = Object.assign({}, DEFAULT_CREATE_OPTIONS, options);\n const hasRootComponents = options.hasRootComponents ?? this.dependencyResolver.hasRootComponents();\n rootPolicy = this.filterOutCoreAspects(rootPolicy);\n const componentDependenciesMap: ComponentDependenciesMap = await this.buildComponentDependenciesMap(components, {\n filterComponentsFromManifests: optsWithDefaults.filterComponentsFromManifests,\n rootPolicy: optsWithDefaults.resolveVersionsFromDependenciesOnly ? undefined : rootPolicy,\n dependencyFilterFn: optsWithDefaults.dependencyFilterFn,\n excludeExtensionsDependencies: optsWithDefaults.excludeExtensionsDependencies,\n referenceLocalPackages: optsWithDefaults.referenceLocalPackages && hasRootComponents,\n rootDependencies: hasRootComponents ? rootPolicy.toManifest().dependencies : undefined,\n });\n let dedupedDependencies = getEmptyDedupedDependencies();\n if (hasRootComponents) {\n const { rootDependencies } = dedupeDependencies(rootPolicy, componentDependenciesMap, {\n dedupePeerDependencies: hasRootComponents,\n });\n // We hoist dependencies in order for the IDE to work.\n // For runtime, the peer dependencies are installed inside:\n // <ws root>/node_module/<comp name>/node_module/<comp name>/node_modules\n dedupedDependencies.rootDependencies = mapValues(\n rootDependencies,\n (deps) => deps && excludeWorkspaceDependencies(deps)\n );\n dedupedDependencies.componentDependenciesMap = componentDependenciesMap;\n } else if (options.dedupe) {\n dedupedDependencies = dedupeDependencies(rootPolicy, componentDependenciesMap);\n } else {\n dedupedDependencies.rootDependencies = rootPolicy.toManifest();\n dedupedDependencies.componentDependenciesMap = componentDependenciesMap;\n }\n const componentsManifestsMap = await this.getComponentsManifests(\n dedupedDependencies,\n components,\n optsWithDefaults.createManifestForComponentsWithoutDependencies\n );\n const envSelfPeers = this.getEnvsSelfPeersPolicy(componentsManifestsMap);\n const workspaceManifest = new WorkspaceManifest(\n name,\n version,\n dedupedDependencies.rootDependencies,\n envSelfPeers,\n rootDir,\n componentsManifestsMap\n );\n return workspaceManifest;\n }\n\n private filterOutCoreAspects(rootPolicy: WorkspacePolicy) {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n const coreAspectPkgNames = new Set(coreAspectIds.map((coreAspectId) => getCoreAspectPackageName(coreAspectId)));\n coreAspectPkgNames.add('@teambit/legacy');\n return rootPolicy.filter((dep) => !coreAspectPkgNames.has(dep.dependencyId));\n }\n\n private getEnvsSelfPeersPolicy(componentsManifestsMap: ComponentsManifestsMap) {\n const foundEnvs: EnvPolicy[] = [];\n for (const component of componentsManifestsMap.values()) {\n foundEnvs.push(component.envPolicy);\n }\n const peersPolicies = foundEnvs.map((policy) => policy.selfPolicy);\n // TODO: At the moment we are just merge everything, so in case of conflicts one will be taken\n // TODO: once we have root for each env, we should know to handle it differently\n const mergedPolicies = VariantPolicy.mergePolices(peersPolicies);\n return mergedPolicies;\n }\n\n /**\n * Get the components and build a map with the package name (from the component) as key and the dependencies as values\n *\n * @param {Component[]} components\n * @param {boolean} [filterComponentsFromManifests=true] - filter existing components from the dep graphs\n * @returns\n */\n private async buildComponentDependenciesMap(\n components: Component[],\n {\n dependencyFilterFn,\n filterComponentsFromManifests,\n excludeExtensionsDependencies,\n referenceLocalPackages,\n rootDependencies,\n rootPolicy,\n }: {\n dependencyFilterFn?: DepsFilterFn;\n filterComponentsFromManifests?: boolean;\n excludeExtensionsDependencies?: boolean;\n referenceLocalPackages?: boolean;\n rootDependencies?: Record<string, string>;\n rootPolicy?: WorkspacePolicy;\n }\n ): Promise<ComponentDependenciesMap> {\n const packageNames = components.map((component) => this.dependencyResolver.getPackageName(component));\n const buildResultsP = components.map(async (component) => {\n const packageName = componentIdToPackageName(component.state._consumer);\n let depList = await this.dependencyResolver.getDependencies(component, { includeHidden: true });\n const additionalDeps = {};\n if (referenceLocalPackages) {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n for (const comp of depList.toTypeArray('component') as ComponentDependency[]) {\n const [compIdWithoutVersion] = comp.id.split('@');\n if (\n !comp.isExtension &&\n !coreAspectIds.includes(compIdWithoutVersion) &&\n components.some((c) => c.id.isEqual(comp.componentId))\n ) {\n const pkgName = comp.getPackageName();\n if (pkgName !== '@teambit/harmony') {\n additionalDeps[pkgName] = `workspace:*`;\n }\n }\n }\n }\n const depManifestBeforeFiltering = depList.toDependenciesManifest();\n\n if (filterComponentsFromManifests ?? true) {\n depList = filterComponents(depList, components);\n }\n if (excludeExtensionsDependencies) {\n depList = filterExtensions(depList);\n }\n // Remove bit bin from dep list\n depList = depList.filter((dep) => dep.id !== '@teambit/legacy');\n if (dependencyFilterFn) {\n depList = dependencyFilterFn(depList);\n }\n await this.updateDependenciesVersions(component, rootPolicy, depList);\n const depManifest = depList.toDependenciesManifest();\n const { devMissings, runtimeMissings } = await getMissingPackages(component);\n // Only add missing root deps that are not already in the component manifest\n // We are using depManifestBeforeFiltering to support (rare) cases when a dependency is both:\n // a component in the workspace (bitmap) and a dependency in the workspace.jsonc / package.json\n // this happens for the bit repo itself for the @teambit/component-version component\n // in this case we don't want to add that to the manifest when it's missing, because it will be linked from the\n // workspace\n const unresolvedRuntimeMissingRootDeps = pickBy(rootDependencies, (_version, rootPackageName) => {\n return (\n runtimeMissings.includes(rootPackageName) &&\n !depManifestBeforeFiltering.dependencies[rootPackageName] &&\n !depManifestBeforeFiltering.devDependencies[rootPackageName] &&\n !depManifestBeforeFiltering.peerDependencies[rootPackageName]\n );\n });\n // Only add missing root deps that are not already in the component manifest\n const unresolvedDevMissingRootDeps = pickBy(rootDependencies, (_version, rootPackageName) => {\n return (\n devMissings.includes(rootPackageName) &&\n !depManifestBeforeFiltering.dependencies[rootPackageName] &&\n !depManifestBeforeFiltering.devDependencies[rootPackageName] &&\n !depManifestBeforeFiltering.peerDependencies[rootPackageName]\n );\n });\n\n const defaultPeerDependencies = await this._getDefaultPeerDependencies(component, packageNames);\n\n depManifest.dependencies = {\n ...defaultPeerDependencies,\n ...unresolvedRuntimeMissingRootDeps,\n ...additionalDeps,\n ...depManifest.dependencies,\n };\n\n depManifest.devDependencies = {\n ...unresolvedDevMissingRootDeps,\n ...depManifest.devDependencies,\n };\n\n return { packageName, depManifest };\n });\n const result: ComponentDependenciesMap = new Map();\n\n if (buildResultsP.length) {\n const results = await Promise.all(buildResultsP);\n results.forEach((currResult) => {\n result.set(currResult.packageName, currResult.depManifest);\n });\n }\n\n return result;\n }\n\n private async _getDefaultPeerDependencies(\n component: Component,\n packageNamesFromWorkspace: string[]\n ): Promise<Record<string, string>> {\n const envPolicy = await this.dependencyResolver.getComponentEnvPolicy(component);\n const selfPolicyWithoutLocal = envPolicy.selfPolicy.filter(\n (dep) => !packageNamesFromWorkspace.includes(dep.dependencyId)\n );\n return fromPairs(selfPolicyWithoutLocal.toNameVersionTuple());\n }\n\n private async updateDependenciesVersions(\n component: Component,\n rootPolicy: WorkspacePolicy | undefined,\n dependencyList: DependencyList\n ): Promise<void> {\n // If root policy is not passed, it means that installation happens in a capsule\n // and we only resolve versions from the dependencies, not any policies.\n const mergedPolicies = rootPolicy && (await this.dependencyResolver.getPolicy(component));\n dependencyList.forEach((dep) => {\n updateDependencyVersion(dep, rootPolicy, mergedPolicies);\n });\n }\n\n /**\n * Get the components manifests based on the calculated dedupedDependencies\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {Component[]} components\n * @returns {ComponentsManifestsMap}\n */\n async getComponentsManifests(\n dedupedDependencies: DedupedDependencies,\n components: Component[],\n createManifestForComponentsWithoutDependencies = true\n ): Promise<ComponentsManifestsMap> {\n const componentsManifests: ComponentsManifestsMap = new Map();\n // don't use Promise.all, along the road this code might import an env from a remote, which can't be done in parallel.\n // otherwise, it may import the same component multiple times, and if fails, the ref (remote-lane) files may be corrupted.\n await pMapSeries(components, async (component) => {\n const packageName = componentIdToPackageName(component.state._consumer);\n if (\n dedupedDependencies.componentDependenciesMap.has(packageName) ||\n createManifestForComponentsWithoutDependencies\n ) {\n const blankDependencies: ManifestDependenciesObject = {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n peerDependenciesMeta: {},\n };\n let dependencies = blankDependencies;\n if (dedupedDependencies.componentDependenciesMap.has(packageName)) {\n dependencies = dedupedDependencies.componentDependenciesMap.get(packageName) as ManifestDependenciesObject;\n }\n\n const getVersion = (): string => {\n if (!component.id.hasVersion()) return '0.0.1-new';\n return snapToSemver(component.id.version as string);\n };\n\n const version = getVersion();\n const envPolicy = await this.dependencyResolver.getComponentEnvPolicy(component);\n const manifest = new ComponentManifest(packageName, new SemVer(version), dependencies, component, envPolicy);\n componentsManifests.set(packageName, manifest);\n }\n });\n return componentsManifests;\n }\n}\n\nfunction filterExtensions(dependencyList: DependencyList): DependencyList {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n return true;\n }\n return !dep.isExtension;\n });\n return filtered;\n}\n\nfunction filterComponents(dependencyList: DependencyList, componentsToFilterOut: Component[]): DependencyList {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n const depPkgName = dep.getPackageName?.();\n if (!depPkgName) return true;\n // If the package is already in the workspace as a local component,\n // then we don't want to install that package as a dependency to node_modules.\n // Otherwise, it would rewrite the local component inside the root node_modules that is created by bit link.\n return !componentsToFilterOut.some(\n (component) => depPkgName === componentIdToPackageName(component.state._consumer)\n );\n }\n // Remove dependencies which has no version (they are new in the workspace)\n if (!dep.componentId.hasVersion()) return false;\n const existingComponent = componentsToFilterOut.find((component) => {\n // For new components, the component has no version but the dependency id has version 0.0.1\n if (!component.id.hasVersion()) {\n return component.id.toString() === dep.componentId.toString({ ignoreVersion: true });\n }\n // We are checking against both component.id and component.state._consumer.id\n // Because during tag operation, the component.id has the current version (before the tag)\n // while the component.state._consumer.id has the upcoming version (the version that will be after the tag)\n // The dependency in some cases is already updated to the upcoming version\n return (\n component.id.isEqualWithoutVersion(dep.componentId) ||\n component.state._consumer.id.isEqualWithoutVersion(dep.componentId)\n );\n });\n if (existingComponent) return false;\n return true;\n });\n return filtered;\n}\n\nfunction excludeWorkspaceDependencies(deps: DepObjectValue): DepObjectValue {\n return pickBy(deps, (versionSpec) => !versionSpec.startsWith('file:') && !versionSpec.startsWith('workspace:'));\n}\n\nasync function getMissingPackages(component: Component): Promise<{ devMissings: string[]; runtimeMissings: string[] }> {\n const missingPackagesData = component.state.issues.getIssue(IssuesClasses.MissingPackagesDependenciesOnFs)?.data;\n if (!missingPackagesData?.length) return { devMissings: [], runtimeMissings: [] };\n\n let devMissings: string[] = [];\n let runtimeMissings: string[] = [];\n\n missingPackagesData.forEach((data) => {\n if (data.isDevFile) {\n devMissings.push(...data.missingPackages);\n } else {\n runtimeMissings.push(...data.missingPackages);\n }\n });\n devMissings = uniq(devMissings);\n runtimeMissings = uniq(runtimeMissings);\n\n // Remove dev missing which are also runtime missing\n devMissings = difference(devMissings, runtimeMissings);\n return {\n devMissings,\n runtimeMissings,\n };\n}\n"],"mappings":"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"}
|
|
@@ -30,8 +30,7 @@ class WorkspaceManifest extends _manifest().Manifest {
|
|
|
30
30
|
toJson(options = {}) {
|
|
31
31
|
const manifest = super.toJson(options);
|
|
32
32
|
if (options.installPeersFromEnvs) {
|
|
33
|
-
|
|
34
|
-
const peersManifest = (_this$envSelfPeersPol = this.envSelfPeersPolicy) === null || _this$envSelfPeersPol === void 0 ? void 0 : _this$envSelfPeersPol.toVersionManifest();
|
|
33
|
+
const peersManifest = this.envSelfPeersPolicy?.toVersionManifest();
|
|
35
34
|
manifest.dependencies = manifest.dependencies || {};
|
|
36
35
|
Object.assign(manifest.dependencies, peersManifest);
|
|
37
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_manifest","data","require","WorkspaceManifest","Manifest","constructor","name","version","dependencies","envSelfPeersPolicy","rootDir","componentsManifestsMap","dir","getComponentMap","toJson","options","manifest","installPeersFromEnvs","
|
|
1
|
+
{"version":3,"names":["_manifest","data","require","WorkspaceManifest","Manifest","constructor","name","version","dependencies","envSelfPeersPolicy","rootDir","componentsManifestsMap","dir","getComponentMap","toJson","options","manifest","installPeersFromEnvs","peersManifest","toVersionManifest","Object","assign","toJsonWithDir","exports"],"sources":["workspace-manifest.ts"],"sourcesContent":["import { SemVer } from 'semver';\nimport { VariantPolicy } from '../policy';\n\nimport { ComponentsManifestsMap } from '../types';\nimport { Manifest, ManifestToJsonOptions, ManifestDependenciesObject } from './manifest';\n\nexport interface WorkspaceManifestToJsonOptions extends ManifestToJsonOptions {\n installPeersFromEnvs?: boolean;\n}\n\nexport class WorkspaceManifest extends Manifest {\n constructor(\n // TODO: please prefer readonly on public\n public name: string,\n public version: SemVer,\n public dependencies: ManifestDependenciesObject,\n private envSelfPeersPolicy: VariantPolicy | undefined,\n private rootDir: string,\n public componentsManifestsMap: ComponentsManifestsMap\n ) {\n super(name, version, dependencies);\n }\n\n get dir() {\n return this.rootDir;\n }\n\n getComponentMap() {}\n\n toJson(options: WorkspaceManifestToJsonOptions = {}): Record<string, any> {\n const manifest = super.toJson(options);\n if (options.installPeersFromEnvs) {\n const peersManifest = this.envSelfPeersPolicy?.toVersionManifest();\n manifest.dependencies = manifest.dependencies || {};\n Object.assign(manifest.dependencies, peersManifest);\n }\n return manifest;\n }\n\n toJsonWithDir(options: WorkspaceManifestToJsonOptions = {}): { rootDir: string; manifest: Record<string, any> } {\n return {\n manifest: this.toJson(options),\n rootDir: this.rootDir,\n };\n }\n}\n"],"mappings":";;;;;;AAIA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAMO,MAAME,iBAAiB,SAASC,oBAAQ,CAAC;EAC9CC,WAAWA;EACT;EACOC,IAAY,EACZC,OAAe,EACfC,YAAwC,EACvCC,kBAA6C,EAC7CC,OAAe,EAChBC,sBAA8C,EACrD;IACA,KAAK,CAACL,IAAI,EAAEC,OAAO,EAAEC,YAAY,CAAC;IAAC,KAP5BF,IAAY,GAAZA,IAAY;IAAA,KACZC,OAAe,GAAfA,OAAe;IAAA,KACfC,YAAwC,GAAxCA,YAAwC;IAAA,KACvCC,kBAA6C,GAA7CA,kBAA6C;IAAA,KAC7CC,OAAe,GAAfA,OAAe;IAAA,KAChBC,sBAA8C,GAA9CA,sBAA8C;EAGvD;EAEA,IAAIC,GAAGA,CAAA,EAAG;IACR,OAAO,IAAI,CAACF,OAAO;EACrB;EAEAG,eAAeA,CAAA,EAAG,CAAC;EAEnBC,MAAMA,CAACC,OAAuC,GAAG,CAAC,CAAC,EAAuB;IACxE,MAAMC,QAAQ,GAAG,KAAK,CAACF,MAAM,CAACC,OAAO,CAAC;IACtC,IAAIA,OAAO,CAACE,oBAAoB,EAAE;MAChC,MAAMC,aAAa,GAAG,IAAI,CAACT,kBAAkB,EAAEU,iBAAiB,CAAC,CAAC;MAClEH,QAAQ,CAACR,YAAY,GAAGQ,QAAQ,CAACR,YAAY,IAAI,CAAC,CAAC;MACnDY,MAAM,CAACC,MAAM,CAACL,QAAQ,CAACR,YAAY,EAAEU,aAAa,CAAC;IACrD;IACA,OAAOF,QAAQ;EACjB;EAEAM,aAAaA,CAACP,OAAuC,GAAG,CAAC,CAAC,EAAsD;IAC9G,OAAO;MACLC,QAAQ,EAAE,IAAI,CAACF,MAAM,CAACC,OAAO,CAAC;MAC9BL,OAAO,EAAE,IAAI,CAACA;IAChB,CAAC;EACH;AACF;AAACa,OAAA,CAAApB,iBAAA,GAAAA,iBAAA"}
|
|
@@ -8,6 +8,6 @@ export default class PackageManager {
|
|
|
8
8
|
get name(): string;
|
|
9
9
|
checkIfFileExistsInCapsule(capsule: Capsule, file: string): Promise<boolean>;
|
|
10
10
|
removeLockFilesInCapsule(capsule: Capsule): Promise<void>;
|
|
11
|
-
capsulesInstall(capsules: Capsule[], opts?: {}): Promise<
|
|
11
|
+
capsulesInstall(capsules: Capsule[], opts?: {}): Promise<any>;
|
|
12
12
|
runInstallInFolder(folder: string, opts?: {}): Promise<void>;
|
|
13
13
|
}
|
|
@@ -5,8 +5,8 @@ import { Registries } from './registry';
|
|
|
5
5
|
import { DepsFilterFn } from './manifest';
|
|
6
6
|
import { NetworkConfig, ProxyConfig } from './dependency-resolver.main.runtime';
|
|
7
7
|
export { PeerDependencyIssuesByProjects };
|
|
8
|
-
export
|
|
9
|
-
export
|
|
8
|
+
export type PackageImportMethod = 'auto' | 'hardlink' | 'copy' | 'clone';
|
|
9
|
+
export type PackageManagerInstallOptions = {
|
|
10
10
|
cacheRootDir?: string;
|
|
11
11
|
/**
|
|
12
12
|
* decide whether to dedup dependencies.
|
|
@@ -61,15 +61,15 @@ export declare type PackageManagerInstallOptions = {
|
|
|
61
61
|
dryRun?: boolean;
|
|
62
62
|
dedupeInjectedDeps?: boolean;
|
|
63
63
|
};
|
|
64
|
-
export
|
|
65
|
-
export
|
|
64
|
+
export type PackageManagerGetPeerDependencyIssuesOptions = PackageManagerInstallOptions;
|
|
65
|
+
export type ResolvedPackageVersion = {
|
|
66
66
|
packageName: string;
|
|
67
67
|
version: string | null;
|
|
68
68
|
wantedRange?: string;
|
|
69
69
|
isSemver: boolean;
|
|
70
70
|
resolvedVia?: string;
|
|
71
71
|
};
|
|
72
|
-
export
|
|
72
|
+
export type PackageManagerResolveRemoteVersionOptions = {
|
|
73
73
|
rootDir: string;
|
|
74
74
|
cacheRootDir?: string;
|
|
75
75
|
packageManagerConfigRootDir?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VariantPolicyEntry, VariantPolicy, VariantPolicyConfigObject, VariantPolicyFromConfigObjectOptions } from '../variant-policy';
|
|
2
|
-
|
|
2
|
+
type EnvJsoncPolicyEntry = {
|
|
3
3
|
name: string;
|
|
4
4
|
version: string;
|
|
5
5
|
/**
|
|
@@ -12,12 +12,12 @@ declare type EnvJsoncPolicyEntry = {
|
|
|
12
12
|
force?: boolean;
|
|
13
13
|
optional?: boolean;
|
|
14
14
|
};
|
|
15
|
-
export
|
|
15
|
+
export type EnvJsoncPolicyPeerEntry = EnvJsoncPolicyEntry & {
|
|
16
16
|
supportedRange: string;
|
|
17
17
|
};
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
export
|
|
18
|
+
export type VersionKeyName = 'version' | 'supportedRange';
|
|
19
|
+
export type EnvJsoncPolicyConfigKey = 'peers' | 'dev' | 'runtime';
|
|
20
|
+
export type EnvPolicyEnvJsoncConfigObject = {
|
|
21
21
|
peers?: EnvJsoncPolicyPeerEntry[];
|
|
22
22
|
dev?: EnvJsoncPolicyEntry[];
|
|
23
23
|
runtime?: EnvJsoncPolicyEntry[];
|
|
@@ -25,8 +25,8 @@ export declare type EnvPolicyEnvJsoncConfigObject = {
|
|
|
25
25
|
/**
|
|
26
26
|
* Config that is used before the new env.jsonc format was introduced.
|
|
27
27
|
*/
|
|
28
|
-
export
|
|
29
|
-
export
|
|
28
|
+
export type EnvPolicyLegacyConfigObject = Pick<EnvPolicyEnvJsoncConfigObject, 'peers'> & VariantPolicyConfigObject;
|
|
29
|
+
export type EnvPolicyConfigObject = EnvPolicyEnvJsoncConfigObject | EnvPolicyLegacyConfigObject;
|
|
30
30
|
export declare class EnvPolicy extends VariantPolicy {
|
|
31
31
|
readonly selfPolicy: VariantPolicy;
|
|
32
32
|
constructor(_policiesEntries: VariantPolicyEntry[], selfPolicy: VariantPolicy);
|
package/dist/policy/policy.d.ts
CHANGED
|
@@ -2,28 +2,28 @@ import { DependencyLifecycleType } from '../dependencies';
|
|
|
2
2
|
/**
|
|
3
3
|
* Allowed values are valid semver values
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
5
|
+
export type SemverVersion = string;
|
|
6
|
+
export type GitUrlVersion = string;
|
|
7
|
+
export type FileSystemPath = string;
|
|
8
|
+
export type RemoveDepSign = '-';
|
|
9
9
|
/**
|
|
10
10
|
* Allowed values are valid semver values and the "-" sign.
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
12
|
+
export type PolicySemver = SemverVersion | RemoveDepSign;
|
|
13
13
|
/**
|
|
14
14
|
* Allowed values are valid semver values, git urls, fs path and the "-" sign.
|
|
15
15
|
*/
|
|
16
|
-
export
|
|
17
|
-
export
|
|
16
|
+
export type PolicyVersion = PolicySemver | GitUrlVersion | FileSystemPath;
|
|
17
|
+
export type PolicyConfigKeys = {
|
|
18
18
|
dependencies: 'dependencies';
|
|
19
19
|
devDependencies: 'devDependencies';
|
|
20
20
|
peerDependencies: 'peerDependencies';
|
|
21
21
|
};
|
|
22
|
-
export
|
|
22
|
+
export type PolicyConfigKeysNames = keyof PolicyConfigKeys;
|
|
23
23
|
export interface Policy<T> {
|
|
24
24
|
toConfigObject(): T;
|
|
25
25
|
}
|
|
26
|
-
export
|
|
26
|
+
export type PolicyEntry = {
|
|
27
27
|
dependencyId: string;
|
|
28
28
|
lifecycleType: DependencyLifecycleType;
|
|
29
29
|
};
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { DependenciesOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';
|
|
2
2
|
import { Policy, PolicyConfigKeys, PolicyEntry, SemverVersion } from '../policy';
|
|
3
3
|
import { DependencyLifecycleType } from '../../dependencies';
|
|
4
|
-
export
|
|
5
|
-
|
|
4
|
+
export type VariantPolicyConfigObject = Partial<Record<keyof PolicyConfigKeys, VariantPolicyLifecycleConfigObject>>;
|
|
5
|
+
type VariantPolicyLifecycleConfigObject = {
|
|
6
6
|
[dependencyId: string]: VariantPolicyConfigEntryValue;
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export type VariantPolicyConfigEntryValue = VariantPolicyEntryValue | VariantPolicyEntryVersion;
|
|
9
9
|
/**
|
|
10
10
|
* Allowed values are valid semver values, git urls, fs path.
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
13
|
-
export
|
|
12
|
+
export type VariantPolicyEntryVersion = SemverVersion;
|
|
13
|
+
export type VariantPolicyEntryValue = {
|
|
14
14
|
version: VariantPolicyEntryVersion;
|
|
15
15
|
resolveFromEnv?: boolean;
|
|
16
16
|
optional?: boolean;
|
|
17
17
|
};
|
|
18
|
-
export
|
|
19
|
-
export
|
|
18
|
+
export type DependencySource = 'auto' | 'env' | 'env-own' | 'slots' | 'config';
|
|
19
|
+
export type VariantPolicyEntry = PolicyEntry & {
|
|
20
20
|
value: VariantPolicyEntryValue;
|
|
21
21
|
source?: DependencySource;
|
|
22
22
|
/**
|
|
@@ -29,8 +29,8 @@ export declare type VariantPolicyEntry = PolicyEntry & {
|
|
|
29
29
|
force?: boolean;
|
|
30
30
|
optional?: boolean;
|
|
31
31
|
};
|
|
32
|
-
export
|
|
33
|
-
export
|
|
32
|
+
export type SerializedVariantPolicyEntry = VariantPolicyEntry;
|
|
33
|
+
export type SerializedVariantPolicy = SerializedVariantPolicyEntry[];
|
|
34
34
|
export interface VariantPolicyFromConfigObjectOptions {
|
|
35
35
|
includeLegacyPeersInSelfPolicy?: boolean;
|
|
36
36
|
source?: DependencySource;
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import { Policy, SemverVersion, GitUrlVersion, FileSystemPath, PolicyConfigKeys } from '../policy';
|
|
2
2
|
import { WorkspaceDependencyLifecycleType } from '../../dependencies';
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
3
|
+
export type WorkspacePolicyConfigKeys = Omit<PolicyConfigKeys, 'devDependencies'>;
|
|
4
|
+
export type WorkspacePolicyConfigKeysNames = keyof WorkspacePolicyConfigKeys;
|
|
5
|
+
export type WorkspacePolicyConfigObject = Partial<Record<WorkspacePolicyConfigKeysNames, WorkspacePolicyLifecycleConfigObject>>;
|
|
6
|
+
export type WorkspacePolicyManifest = Partial<Record<WorkspacePolicyConfigKeysNames, WorkspacePolicyLifecycleManifestObject>>;
|
|
7
|
+
export type WorkspacePolicyLifecycleConfigObject = {
|
|
8
8
|
[dependencyId: string]: WorkspacePolicyConfigEntryValue;
|
|
9
9
|
};
|
|
10
|
-
|
|
10
|
+
type WorkspacePolicyLifecycleManifestObject = {
|
|
11
11
|
[dependencyId: string]: WorkspacePolicyEntryVersion;
|
|
12
12
|
};
|
|
13
|
-
export
|
|
14
|
-
export
|
|
13
|
+
export type WorkspacePolicyConfigEntryValue = WorkspacePolicyEntryValue | WorkspacePolicyEntryVersion;
|
|
14
|
+
export type AddEntryOptions = {
|
|
15
15
|
updateExisting?: boolean;
|
|
16
16
|
skipIfExisting?: boolean;
|
|
17
17
|
};
|
|
18
18
|
/**
|
|
19
19
|
* Allowed values are valid semver values, git urls, fs path.
|
|
20
20
|
*/
|
|
21
|
-
export
|
|
22
|
-
export
|
|
21
|
+
export type WorkspacePolicyEntryVersion = SemverVersion | GitUrlVersion | FileSystemPath;
|
|
22
|
+
export type WorkspacePolicyEntryValue = {
|
|
23
23
|
version: WorkspacePolicyEntryVersion;
|
|
24
24
|
preserve?: boolean;
|
|
25
25
|
};
|
|
26
|
-
export
|
|
26
|
+
export type WorkspacePolicyEntry = {
|
|
27
27
|
dependencyId: string;
|
|
28
28
|
lifecycleType: WorkspaceDependencyLifecycleType;
|
|
29
29
|
value: WorkspacePolicyEntryValue;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_dependency-resolver@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_dependency-resolver@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_dependency-resolver@1.0.108/dist/dependency-resolver.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_dependency-resolver@1.0.108/dist/dependency-resolver.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -10,19 +10,19 @@ export declare class Registry {
|
|
|
10
10
|
/**
|
|
11
11
|
* authentication header.
|
|
12
12
|
*/
|
|
13
|
-
readonly authHeaderValue?: string
|
|
13
|
+
readonly authHeaderValue?: string;
|
|
14
14
|
/**
|
|
15
15
|
* Type of auth as it appears in the npmrc file
|
|
16
16
|
* authToken
|
|
17
17
|
* auth
|
|
18
18
|
* user-pass
|
|
19
19
|
*/
|
|
20
|
-
readonly originalAuthType?: string
|
|
20
|
+
readonly originalAuthType?: string;
|
|
21
21
|
/**
|
|
22
22
|
* original auth value as it appears in npmrc file
|
|
23
23
|
* for user/pass it will appear as user:pass
|
|
24
24
|
*/
|
|
25
|
-
readonly originalAuthValue?: string
|
|
25
|
+
readonly originalAuthValue?: string;
|
|
26
26
|
constructor(
|
|
27
27
|
/**
|
|
28
28
|
* uri of the registry.
|
|
@@ -35,19 +35,19 @@ export declare class Registry {
|
|
|
35
35
|
/**
|
|
36
36
|
* authentication header.
|
|
37
37
|
*/
|
|
38
|
-
authHeaderValue?: string
|
|
38
|
+
authHeaderValue?: string,
|
|
39
39
|
/**
|
|
40
40
|
* Type of auth as it appears in the npmrc file
|
|
41
41
|
* authToken
|
|
42
42
|
* auth
|
|
43
43
|
* user-pass
|
|
44
44
|
*/
|
|
45
|
-
originalAuthType?: string
|
|
45
|
+
originalAuthType?: string,
|
|
46
46
|
/**
|
|
47
47
|
* original auth value as it appears in npmrc file
|
|
48
48
|
* for user/pass it will appear as user:pass
|
|
49
49
|
*/
|
|
50
|
-
originalAuthValue?: string
|
|
50
|
+
originalAuthValue?: string);
|
|
51
51
|
get token(): string | undefined;
|
|
52
52
|
/**
|
|
53
53
|
* Support for basic token or user/pass
|
|
@@ -26,8 +26,7 @@ function getLongestDepName(deps) {
|
|
|
26
26
|
return getNameWithVersion(longestDep).length;
|
|
27
27
|
}
|
|
28
28
|
function getNameWithVersion(dep) {
|
|
29
|
-
|
|
30
|
-
const nameWithVersion = (_dep$getPackageName = dep.getPackageName) !== null && _dep$getPackageName !== void 0 && _dep$getPackageName.call(dep) ? `${(_dep$getPackageName2 = dep.getPackageName) === null || _dep$getPackageName2 === void 0 ? void 0 : _dep$getPackageName2.call(dep)}@${dep.version}` : `${dep.id}@${dep.version}`;
|
|
29
|
+
const nameWithVersion = dep.getPackageName?.() ? `${dep.getPackageName?.()}@${dep.version}` : `${dep.id}@${dep.version}`;
|
|
31
30
|
return nameWithVersion;
|
|
32
31
|
}
|
|
33
32
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","serializeByLifecycle","deps","lifecycle","filteredByLifecycle","filter","dep","sort","longestLength","getLongestDepName","paddedNames","dependencies","map","paddedName","getNameWithVersion","padEnd","type","optional","join","longestDep","maxBy","length","
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","serializeByLifecycle","deps","lifecycle","filteredByLifecycle","filter","dep","sort","longestLength","getLongestDepName","paddedNames","dependencies","map","paddedName","getNameWithVersion","padEnd","type","optional","join","longestDep","maxBy","length","nameWithVersion","getPackageName","version","id"],"sources":["serialize-by-lifecycle.ts"],"sourcesContent":["import { maxBy } from 'lodash';\nimport type { DependencyList, DependencyLifecycleType, Dependency } from '../dependencies';\n\nexport function serializeByLifecycle(deps: DependencyList, lifecycle: DependencyLifecycleType) {\n const filteredByLifecycle = deps.filter((dep) => dep.lifecycle === lifecycle).sort();\n const longestLength = getLongestDepName(filteredByLifecycle);\n const paddedNames = filteredByLifecycle.dependencies.map((dep) => {\n const paddedName = getNameWithVersion(dep).padEnd(longestLength + 1, '-');\n return `${paddedName} (${dep.type})${dep.optional ? '(optional)' : ''}`;\n });\n return paddedNames.join('\\n');\n}\n\nfunction getLongestDepName(deps: DependencyList): number {\n const longestDep = maxBy(deps.dependencies, (dep) => getNameWithVersion(dep).length);\n if (!longestDep) return 50;\n return getNameWithVersion(longestDep).length;\n}\n\nfunction getNameWithVersion(dep: Dependency) {\n const nameWithVersion = dep.getPackageName?.()\n ? `${dep.getPackageName?.()}@${dep.version}`\n : `${dep.id}@${dep.version}`;\n return nameWithVersion;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,SAASE,oBAAoBA,CAACC,IAAoB,EAAEC,SAAkC,EAAE;EAC7F,MAAMC,mBAAmB,GAAGF,IAAI,CAACG,MAAM,CAAEC,GAAG,IAAKA,GAAG,CAACH,SAAS,KAAKA,SAAS,CAAC,CAACI,IAAI,CAAC,CAAC;EACpF,MAAMC,aAAa,GAAGC,iBAAiB,CAACL,mBAAmB,CAAC;EAC5D,MAAMM,WAAW,GAAGN,mBAAmB,CAACO,YAAY,CAACC,GAAG,CAAEN,GAAG,IAAK;IAChE,MAAMO,UAAU,GAAGC,kBAAkB,CAACR,GAAG,CAAC,CAACS,MAAM,CAACP,aAAa,GAAG,CAAC,EAAE,GAAG,CAAC;IACzE,OAAQ,GAAEK,UAAW,KAAIP,GAAG,CAACU,IAAK,IAAGV,GAAG,CAACW,QAAQ,GAAG,YAAY,GAAG,EAAG,EAAC;EACzE,CAAC,CAAC;EACF,OAAOP,WAAW,CAACQ,IAAI,CAAC,IAAI,CAAC;AAC/B;AAEA,SAAST,iBAAiBA,CAACP,IAAoB,EAAU;EACvD,MAAMiB,UAAU,GAAG,IAAAC,eAAK,EAAClB,IAAI,CAACS,YAAY,EAAGL,GAAG,IAAKQ,kBAAkB,CAACR,GAAG,CAAC,CAACe,MAAM,CAAC;EACpF,IAAI,CAACF,UAAU,EAAE,OAAO,EAAE;EAC1B,OAAOL,kBAAkB,CAACK,UAAU,CAAC,CAACE,MAAM;AAC9C;AAEA,SAASP,kBAAkBA,CAACR,GAAe,EAAE;EAC3C,MAAMgB,eAAe,GAAGhB,GAAG,CAACiB,cAAc,GAAG,CAAC,GACzC,GAAEjB,GAAG,CAACiB,cAAc,GAAG,CAAE,IAAGjB,GAAG,CAACkB,OAAQ,EAAC,GACzC,GAAElB,GAAG,CAACmB,EAAG,IAAGnB,GAAG,CAACkB,OAAQ,EAAC;EAC9B,OAAOF,eAAe;AACxB"}
|