@teambit/dependency-resolver 1.0.27 → 1.0.30
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/dependencies/component-dependency/component-dependency-factory.ts +7 -6
- package/dependencies/component-dependency/component-dependency.ts +1 -1
- package/dependencies/dependency-list.ts +19 -3
- package/dist/dependencies/component-dependency/component-dependency-factory.js +6 -5
- package/dist/dependencies/component-dependency/component-dependency-factory.js.map +1 -1
- package/dist/dependencies/component-dependency/component-dependency.js +1 -1
- package/dist/dependencies/component-dependency/component-dependency.js.map +1 -1
- package/dist/dependencies/dependency-list.js +18 -4
- package/dist/dependencies/dependency-list.js.map +1 -1
- package/dist/dependency-installer.js +1 -1
- package/dist/dependency-installer.js.map +1 -1
- package/dist/dependency-resolver.main.runtime.d.ts +8 -9
- package/dist/dependency-resolver.main.runtime.js +60 -33
- package/dist/dependency-resolver.main.runtime.js.map +1 -1
- package/dist/dependency-resolver.main.runtime.spec.js +5 -1
- package/dist/dependency-resolver.main.runtime.spec.js.map +1 -1
- package/dist/manifest/workspace-manifest-factory.js +3 -3
- package/dist/manifest/workspace-manifest-factory.js.map +1 -1
- package/dist/policy/env-policy/env-policy.d.ts +2 -2
- package/dist/policy/env-policy/env-policy.js +23 -3
- package/dist/policy/env-policy/env-policy.js.map +1 -1
- package/dist/policy/variant-policy/index.d.ts +1 -1
- package/dist/policy/variant-policy/index.js +6 -0
- package/dist/policy/variant-policy/index.js.map +1 -1
- package/dist/policy/variant-policy/variant-policy.d.ts +7 -1
- package/dist/policy/variant-policy/variant-policy.js +5 -1
- package/dist/policy/variant-policy/variant-policy.js.map +1 -1
- package/dist/{preview-1697628054879.js → preview-1697841196686.js} +2 -2
- package/manifest/workspace-manifest-factory.ts +4 -4
- package/package.json +20 -20
- package/policy/env-policy/env-policy.ts +22 -4
- package/policy/variant-policy/index.ts +1 -0
- package/policy/variant-policy/variant-policy.ts +11 -1
|
@@ -33,11 +33,12 @@ export class ComponentDependencyFactory implements DependencyFactory {
|
|
|
33
33
|
): Promise<ComponentDependency> {
|
|
34
34
|
let id;
|
|
35
35
|
|
|
36
|
-
if (serialized.componentId
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
if (serialized.componentId instanceof ComponentID) {
|
|
37
|
+
id = serialized.componentId;
|
|
38
|
+
} else if (typeof serialized.componentId === 'object' && serialized.componentId.scope) {
|
|
39
|
+
id = ComponentID.fromObject(serialized.componentId as any);
|
|
39
40
|
} else {
|
|
40
|
-
|
|
41
|
+
throw new Error(`ComponentDependencyFactory, unable to parse ${serialized.componentId}`);
|
|
41
42
|
}
|
|
42
43
|
|
|
43
44
|
return new ComponentDependency(
|
|
@@ -88,7 +89,7 @@ export class ComponentDependencyFactory implements DependencyFactory {
|
|
|
88
89
|
isExtension: false,
|
|
89
90
|
packageName,
|
|
90
91
|
componentId: legacyDep.id.serialize(),
|
|
91
|
-
version: legacyDep.id.getVersion().toString(),
|
|
92
|
+
version: legacyDep.id._legacy.getVersion().toString(),
|
|
92
93
|
__type: TYPE,
|
|
93
94
|
lifecycle,
|
|
94
95
|
};
|
|
@@ -113,7 +114,7 @@ export class ComponentDependencyFactory implements DependencyFactory {
|
|
|
113
114
|
isExtension: true,
|
|
114
115
|
packageName,
|
|
115
116
|
componentId: extension.extensionId.serialize(),
|
|
116
|
-
version: extension.extensionId.getVersion().toString(),
|
|
117
|
+
version: extension.extensionId._legacy.getVersion().toString(),
|
|
117
118
|
__type: TYPE,
|
|
118
119
|
lifecycle,
|
|
119
120
|
};
|
|
@@ -59,7 +59,7 @@ export class ComponentDependency extends BaseDependency {
|
|
|
59
59
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
60
60
|
serialize<SerializedComponentDependency>(): SerializedComponentDependency {
|
|
61
61
|
const serialized = Object.assign({}, super.serialize(), {
|
|
62
|
-
componentId: this.componentId.
|
|
62
|
+
componentId: this.componentId.serialize(),
|
|
63
63
|
isExtension: this.isExtension,
|
|
64
64
|
packageName: this.packageName,
|
|
65
65
|
}) as unknown as SerializedComponentDependency;
|
|
@@ -51,9 +51,25 @@ export class DependencyList {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
findByPkgNameOrCompId(id: string, version?: string): Dependency | undefined {
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
const findByVariousStrategies = () => {
|
|
55
|
+
// try by full-id or package-name
|
|
56
|
+
const found = this.dependencies.find(
|
|
57
|
+
(dep) => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`)
|
|
58
|
+
);
|
|
59
|
+
if (found) return found;
|
|
60
|
+
const compDeps = this.toTypeArray<ComponentDependency>('component');
|
|
61
|
+
|
|
62
|
+
// try by component-name
|
|
63
|
+
const foundByName = compDeps.filter((dep) => dep.componentId.fullName === id);
|
|
64
|
+
if (foundByName.length > 1) {
|
|
65
|
+
throw new Error(
|
|
66
|
+
`found multiple dependencies with the same component-name "${id}", please specify the full component-id`
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
if (foundByName.length === 1) return foundByName[0];
|
|
70
|
+
return undefined;
|
|
71
|
+
};
|
|
72
|
+
const found = findByVariousStrategies();
|
|
57
73
|
if (!found) return undefined;
|
|
58
74
|
if (version) {
|
|
59
75
|
// because the version for snaps is stored in deps as the hash without the prefix of "0.0.0-""
|
|
@@ -69,11 +69,12 @@ class ComponentDependencyFactory {
|
|
|
69
69
|
// @ts-ignore
|
|
70
70
|
async parse(serialized) {
|
|
71
71
|
let id;
|
|
72
|
-
if (serialized.componentId.
|
|
73
|
-
|
|
72
|
+
if (serialized.componentId instanceof _componentId().ComponentID) {
|
|
73
|
+
id = serialized.componentId;
|
|
74
|
+
} else if (typeof serialized.componentId === 'object' && serialized.componentId.scope) {
|
|
74
75
|
id = _componentId().ComponentID.fromObject(serialized.componentId);
|
|
75
76
|
} else {
|
|
76
|
-
|
|
77
|
+
throw new Error(`ComponentDependencyFactory, unable to parse ${serialized.componentId}`);
|
|
77
78
|
}
|
|
78
79
|
return new (_componentDependency().ComponentDependency)(id, serialized.isExtension, serialized.packageName, serialized.id, serialized.version, serialized.lifecycle, serialized.source, serialized.hidden);
|
|
79
80
|
}
|
|
@@ -102,7 +103,7 @@ class ComponentDependencyFactory {
|
|
|
102
103
|
isExtension: false,
|
|
103
104
|
packageName,
|
|
104
105
|
componentId: legacyDep.id.serialize(),
|
|
105
|
-
version: legacyDep.id.getVersion().toString(),
|
|
106
|
+
version: legacyDep.id._legacy.getVersion().toString(),
|
|
106
107
|
__type: _componentDependency().TYPE,
|
|
107
108
|
lifecycle
|
|
108
109
|
};
|
|
@@ -123,7 +124,7 @@ class ComponentDependencyFactory {
|
|
|
123
124
|
isExtension: true,
|
|
124
125
|
packageName,
|
|
125
126
|
componentId: extension.extensionId.serialize(),
|
|
126
|
-
version: extension.extensionId.getVersion().toString(),
|
|
127
|
+
version: extension.extensionId._legacy.getVersion().toString(),
|
|
127
128
|
__type: _componentDependency().TYPE,
|
|
128
129
|
lifecycle
|
|
129
130
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_componentId","_componentIdToPackageName","_componentDependency","_dependencyList","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ComponentDependencyFactory","constructor","componentAspect","type","TYPE","parse","serialized","id","componentId","scope","ComponentID","fromObject","getHost","resolveComponentId","ComponentDependency","isExtension","packageName","version","lifecycle","source","hidden","fromLegacyComponent","legacyComponent","runtimeDeps","mapSeries","dependencies","get","dep","transformLegacyComponentDepToSerializedDependency","devDeps","devDependencies","extensionDeps","extensions","extension","transformLegacyComponentExtensionToSerializedDependency","filteredExtensionDeps","compact","serializedComponentDeps","componentDeps","dependencyList","DependencyList","legacyDep","host","depComponent","getLegacyMinimal","componentIdToPackageName","toString","serialize","getVersion","__type","extensionId","extComponent","state","_consumer","exports"],"sources":["component-dependency-factory.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { ComponentMain } from '@teambit/component';\nimport { compact } from 'lodash';\nimport { ComponentID } from '@teambit/component-id';\nimport { Dependency as LegacyDependency } from '@teambit/legacy/dist/consumer/component/dependencies';\nimport LegacyComponent from '@teambit/legacy/dist/consumer/component';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { ComponentDependency, SerializedComponentDependency, TYPE } from './component-dependency';\nimport { DependencyLifecycleType } from '../dependency';\nimport { DependencyFactory } from '../dependency-factory';\nimport { DependencyList } from '../dependency-list';\n\n// TODO: think about where is the right place to put this\n// export class ComponentDependencyFactory implements DependencyFactory<ComponentDependency, SerializedComponentDependency> {\n// parse(serialized: SerializedComponentDependency) {\n// const id = ComponentID.fromObject(serialized.componentId);\n// return new ComponentDependency(id, serialized.id, serialized.version, serialized.type, serialized.lifecycle as DependencyLifecycleType);\n// }\n// }\n\nexport class ComponentDependencyFactory implements DependencyFactory {\n type: string;\n\n constructor(private componentAspect: ComponentMain) {\n this.type = TYPE;\n }\n\n // TODO: solve this generics issue and remove the ts-ignore\n // @ts-ignore\n async parse<ComponentDependency, S extends SerializedComponentDependency>(\n serialized: S\n ): Promise<ComponentDependency> {\n let id;\n\n if (serialized.componentId.scope) {\n // @ts-ignore - ts is saying scope is possibly missing, but just checked it is defined\n id = ComponentID.fromObject(serialized.componentId);\n } else {\n id = await this.componentAspect.getHost().resolveComponentId(serialized.id);\n }\n\n return new ComponentDependency(\n id,\n serialized.isExtension,\n serialized.packageName,\n serialized.id,\n serialized.version,\n serialized.lifecycle as DependencyLifecycleType,\n serialized.source,\n serialized.hidden\n ) as unknown as ComponentDependency;\n }\n\n async fromLegacyComponent(legacyComponent: LegacyComponent): Promise<DependencyList> {\n const runtimeDeps = await mapSeries(legacyComponent.dependencies.get(), (dep) =>\n this.transformLegacyComponentDepToSerializedDependency(dep, 'runtime')\n );\n const devDeps = await mapSeries(legacyComponent.devDependencies.get(), (dep) =>\n this.transformLegacyComponentDepToSerializedDependency(dep, 'dev')\n );\n const extensionDeps = await mapSeries(legacyComponent.extensions, (extension) =>\n this.transformLegacyComponentExtensionToSerializedDependency(extension, 'dev')\n );\n const filteredExtensionDeps: SerializedComponentDependency[] = compact(extensionDeps);\n const serializedComponentDeps = [...runtimeDeps, ...devDeps, ...filteredExtensionDeps];\n const componentDeps: ComponentDependency[] = await mapSeries(serializedComponentDeps, (dep) => this.parse(dep));\n const dependencyList = new DependencyList(componentDeps);\n return dependencyList;\n }\n\n private async transformLegacyComponentDepToSerializedDependency(\n legacyDep: LegacyDependency,\n lifecycle: DependencyLifecycleType\n ): Promise<SerializedComponentDependency> {\n let packageName = legacyDep.packageName || '';\n if (!packageName) {\n const host = this.componentAspect.getHost();\n const id = await host.resolveComponentId(legacyDep.id);\n const depComponent = await host.getLegacyMinimal(id);\n if (depComponent) {\n packageName = componentIdToPackageName(depComponent);\n }\n }\n\n return {\n id: legacyDep.id.toString(),\n isExtension: false,\n packageName,\n componentId: legacyDep.id.serialize(),\n version: legacyDep.id.getVersion().toString(),\n __type: TYPE,\n lifecycle,\n };\n }\n\n private async transformLegacyComponentExtensionToSerializedDependency(\n extension: ExtensionDataEntry,\n lifecycle: DependencyLifecycleType\n ): Promise<SerializedComponentDependency | undefined> {\n if (!extension.extensionId) {\n return undefined;\n }\n const host = this.componentAspect.getHost();\n const id = await host.resolveComponentId(extension.extensionId);\n const extComponent = await host.get(id);\n let packageName = '';\n if (extComponent) {\n packageName = componentIdToPackageName(extComponent.state._consumer);\n }\n return {\n id: extension.extensionId.toString(),\n isExtension: true,\n packageName,\n componentId: extension.extensionId.serialize(),\n version: extension.extensionId.getVersion().toString(),\n __type: TYPE,\n lifecycle,\n };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_componentId","_componentIdToPackageName","_componentDependency","_dependencyList","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ComponentDependencyFactory","constructor","componentAspect","type","TYPE","parse","serialized","id","componentId","ComponentID","scope","fromObject","Error","ComponentDependency","isExtension","packageName","version","lifecycle","source","hidden","fromLegacyComponent","legacyComponent","runtimeDeps","mapSeries","dependencies","get","dep","transformLegacyComponentDepToSerializedDependency","devDeps","devDependencies","extensionDeps","extensions","extension","transformLegacyComponentExtensionToSerializedDependency","filteredExtensionDeps","compact","serializedComponentDeps","componentDeps","dependencyList","DependencyList","legacyDep","host","getHost","resolveComponentId","depComponent","getLegacyMinimal","componentIdToPackageName","toString","serialize","_legacy","getVersion","__type","extensionId","extComponent","state","_consumer","exports"],"sources":["component-dependency-factory.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { ComponentMain } from '@teambit/component';\nimport { compact } from 'lodash';\nimport { ComponentID } from '@teambit/component-id';\nimport { Dependency as LegacyDependency } from '@teambit/legacy/dist/consumer/component/dependencies';\nimport LegacyComponent from '@teambit/legacy/dist/consumer/component';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { ComponentDependency, SerializedComponentDependency, TYPE } from './component-dependency';\nimport { DependencyLifecycleType } from '../dependency';\nimport { DependencyFactory } from '../dependency-factory';\nimport { DependencyList } from '../dependency-list';\n\n// TODO: think about where is the right place to put this\n// export class ComponentDependencyFactory implements DependencyFactory<ComponentDependency, SerializedComponentDependency> {\n// parse(serialized: SerializedComponentDependency) {\n// const id = ComponentID.fromObject(serialized.componentId);\n// return new ComponentDependency(id, serialized.id, serialized.version, serialized.type, serialized.lifecycle as DependencyLifecycleType);\n// }\n// }\n\nexport class ComponentDependencyFactory implements DependencyFactory {\n type: string;\n\n constructor(private componentAspect: ComponentMain) {\n this.type = TYPE;\n }\n\n // TODO: solve this generics issue and remove the ts-ignore\n // @ts-ignore\n async parse<ComponentDependency, S extends SerializedComponentDependency>(\n serialized: S\n ): Promise<ComponentDependency> {\n let id;\n\n if (serialized.componentId instanceof ComponentID) {\n id = serialized.componentId;\n } else if (typeof serialized.componentId === 'object' && serialized.componentId.scope) {\n id = ComponentID.fromObject(serialized.componentId as any);\n } else {\n throw new Error(`ComponentDependencyFactory, unable to parse ${serialized.componentId}`);\n }\n\n return new ComponentDependency(\n id,\n serialized.isExtension,\n serialized.packageName,\n serialized.id,\n serialized.version,\n serialized.lifecycle as DependencyLifecycleType,\n serialized.source,\n serialized.hidden\n ) as unknown as ComponentDependency;\n }\n\n async fromLegacyComponent(legacyComponent: LegacyComponent): Promise<DependencyList> {\n const runtimeDeps = await mapSeries(legacyComponent.dependencies.get(), (dep) =>\n this.transformLegacyComponentDepToSerializedDependency(dep, 'runtime')\n );\n const devDeps = await mapSeries(legacyComponent.devDependencies.get(), (dep) =>\n this.transformLegacyComponentDepToSerializedDependency(dep, 'dev')\n );\n const extensionDeps = await mapSeries(legacyComponent.extensions, (extension) =>\n this.transformLegacyComponentExtensionToSerializedDependency(extension, 'dev')\n );\n const filteredExtensionDeps: SerializedComponentDependency[] = compact(extensionDeps);\n const serializedComponentDeps = [...runtimeDeps, ...devDeps, ...filteredExtensionDeps];\n const componentDeps: ComponentDependency[] = await mapSeries(serializedComponentDeps, (dep) => this.parse(dep));\n const dependencyList = new DependencyList(componentDeps);\n return dependencyList;\n }\n\n private async transformLegacyComponentDepToSerializedDependency(\n legacyDep: LegacyDependency,\n lifecycle: DependencyLifecycleType\n ): Promise<SerializedComponentDependency> {\n let packageName = legacyDep.packageName || '';\n if (!packageName) {\n const host = this.componentAspect.getHost();\n const id = await host.resolveComponentId(legacyDep.id);\n const depComponent = await host.getLegacyMinimal(id);\n if (depComponent) {\n packageName = componentIdToPackageName(depComponent);\n }\n }\n\n return {\n id: legacyDep.id.toString(),\n isExtension: false,\n packageName,\n componentId: legacyDep.id.serialize(),\n version: legacyDep.id._legacy.getVersion().toString(),\n __type: TYPE,\n lifecycle,\n };\n }\n\n private async transformLegacyComponentExtensionToSerializedDependency(\n extension: ExtensionDataEntry,\n lifecycle: DependencyLifecycleType\n ): Promise<SerializedComponentDependency | undefined> {\n if (!extension.extensionId) {\n return undefined;\n }\n const host = this.componentAspect.getHost();\n const id = await host.resolveComponentId(extension.extensionId);\n const extComponent = await host.get(id);\n let packageName = '';\n if (extComponent) {\n packageName = componentIdToPackageName(extComponent.state._consumer);\n }\n return {\n id: extension.extensionId.toString(),\n isExtension: true,\n packageName,\n componentId: extension.extensionId.serialize(),\n version: extension.extensionId._legacy.getVersion().toString(),\n __type: TYPE,\n lifecycle,\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ class ComponentDependency extends _baseDependency().BaseDependency {
|
|
|
48
48
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
49
49
|
serialize() {
|
|
50
50
|
const serialized = Object.assign({}, super.serialize(), {
|
|
51
|
-
componentId: this.componentId.
|
|
51
|
+
componentId: this.componentId.serialize(),
|
|
52
52
|
isExtension: this.isExtension,
|
|
53
53
|
packageName: this.packageName
|
|
54
54
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_baseDependency","data","require","TYPE","exports","ComponentDependency","BaseDependency","constructor","_componentId","_isExtension","_packageName","id","version","lifecycle","source","hidden","_type","componentId","isExtension","packageName","getPackageName","setVersion","newVersion","newComponentId","changeVersion","splittedId","split","length","newId","serialize","serialized","Object","assign","
|
|
1
|
+
{"version":3,"names":["_baseDependency","data","require","TYPE","exports","ComponentDependency","BaseDependency","constructor","_componentId","_isExtension","_packageName","id","version","lifecycle","source","hidden","_type","componentId","isExtension","packageName","getPackageName","setVersion","newVersion","newComponentId","changeVersion","splittedId","split","length","newId","serialize","serialized","Object","assign","toManifest","_this$getPackageName","call"],"sources":["component-dependency.ts"],"sourcesContent":["import type { ComponentID } from '@teambit/component-id';\nimport type { BitIdProps } from '@teambit/legacy-bit-id';\n\nimport { SerializedDependency, DependencyLifecycleType, DependencyManifest } from '../dependency';\nimport { BaseDependency } from '../base-dependency';\nimport { DependencySource } from '../../policy/variant-policy/variant-policy';\n\nexport const TYPE = 'component';\n\nexport interface SerializedComponentDependency extends SerializedDependency {\n componentId: BitIdProps;\n isExtension: boolean;\n packageName: string;\n}\n\n// TODO: think about where is the right place to put this\nexport class ComponentDependency extends BaseDependency {\n constructor(\n private _componentId: ComponentID,\n private _isExtension: boolean,\n private _packageName: string,\n id: string,\n version: string,\n lifecycle: DependencyLifecycleType,\n source?: DependencySource,\n hidden?: boolean\n ) {\n super(id, version, lifecycle, source, hidden);\n this._type = TYPE;\n }\n\n get componentId() {\n return this._componentId;\n }\n\n get isExtension() {\n return this._isExtension;\n }\n\n get packageName() {\n return this._packageName;\n }\n\n getPackageName() {\n return this.packageName;\n }\n\n setVersion(newVersion: string) {\n super.setVersion(newVersion);\n const newComponentId = this.componentId.changeVersion(newVersion);\n this._componentId = newComponentId;\n const splittedId = this.id.split('@');\n if (splittedId.length === 2) {\n const newId = `${splittedId[0]}@${newVersion}`;\n this.id = newId;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n serialize<SerializedComponentDependency>(): SerializedComponentDependency {\n const serialized = Object.assign({}, super.serialize(), {\n componentId: this.componentId.serialize(),\n isExtension: this.isExtension,\n packageName: this.packageName,\n }) as unknown as SerializedComponentDependency;\n return serialized;\n }\n\n toManifest(): DependencyManifest {\n const packageName = this.getPackageName?.();\n const version = this.version;\n return {\n packageName,\n version,\n };\n }\n}\n"],"mappings":";;;;;;AAIA,SAAAA,gBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,eAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,MAAME,IAAI,GAAG,WAAW;AAACC,OAAA,CAAAD,IAAA,GAAAA,IAAA;AAQhC;AACO,MAAME,mBAAmB,SAASC,gCAAc,CAAC;EACtDC,WAAWA,CACDC,YAAyB,EACzBC,YAAqB,EACrBC,YAAoB,EAC5BC,EAAU,EACVC,OAAe,EACfC,SAAkC,EAClCC,MAAyB,EACzBC,MAAgB,EAChB;IACA,KAAK,CAACJ,EAAE,EAAEC,OAAO,EAAEC,SAAS,EAAEC,MAAM,EAAEC,MAAM,CAAC;IAAC,KATtCP,YAAyB,GAAzBA,YAAyB;IAAA,KACzBC,YAAqB,GAArBA,YAAqB;IAAA,KACrBC,YAAoB,GAApBA,YAAoB;IAQ5B,IAAI,CAACM,KAAK,GAAGb,IAAI;EACnB;EAEA,IAAIc,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACT,YAAY;EAC1B;EAEA,IAAIU,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACT,YAAY;EAC1B;EAEA,IAAIU,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACT,YAAY;EAC1B;EAEAU,cAAcA,CAAA,EAAG;IACf,OAAO,IAAI,CAACD,WAAW;EACzB;EAEAE,UAAUA,CAACC,UAAkB,EAAE;IAC7B,KAAK,CAACD,UAAU,CAACC,UAAU,CAAC;IAC5B,MAAMC,cAAc,GAAG,IAAI,CAACN,WAAW,CAACO,aAAa,CAACF,UAAU,CAAC;IACjE,IAAI,CAACd,YAAY,GAAGe,cAAc;IAClC,MAAME,UAAU,GAAG,IAAI,CAACd,EAAE,CAACe,KAAK,CAAC,GAAG,CAAC;IACrC,IAAID,UAAU,CAACE,MAAM,KAAK,CAAC,EAAE;MAC3B,MAAMC,KAAK,GAAI,GAAEH,UAAU,CAAC,CAAC,CAAE,IAAGH,UAAW,EAAC;MAC9C,IAAI,CAACX,EAAE,GAAGiB,KAAK;IACjB;EACF;;EAEA;EACAC,SAASA,CAAA,EAAiE;IACxE,MAAMC,UAAU,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAACH,SAAS,CAAC,CAAC,EAAE;MACtDZ,WAAW,EAAE,IAAI,CAACA,WAAW,CAACY,SAAS,CAAC,CAAC;MACzCX,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;IACpB,CAAC,CAA6C;IAC9C,OAAOW,UAAU;EACnB;EAEAG,UAAUA,CAAA,EAAuB;IAAA,IAAAC,oBAAA;IAC/B,MAAMf,WAAW,IAAAe,oBAAA,GAAG,IAAI,CAACd,cAAc,cAAAc,oBAAA,uBAAnBA,oBAAA,CAAAC,IAAA,KAAsB,CAAC;IAC3C,MAAMvB,OAAO,GAAG,IAAI,CAACA,OAAO;IAC5B,OAAO;MACLO,WAAW;MACXP;IACF,CAAC;EACH;AACF;AAACR,OAAA,CAAAC,mBAAA,GAAAA,mBAAA"}
|
|
@@ -67,10 +67,24 @@ class DependencyList {
|
|
|
67
67
|
return this.dependencies.find(dep => removeVersion(dep.id) === componentIdStrWithoutVersion);
|
|
68
68
|
}
|
|
69
69
|
findByPkgNameOrCompId(id, version) {
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
const findByVariousStrategies = () => {
|
|
71
|
+
// try by full-id or package-name
|
|
72
|
+
const found = this.dependencies.find(dep => {
|
|
73
|
+
var _dep$getPackageName;
|
|
74
|
+
return dep.id === id || ((_dep$getPackageName = dep.getPackageName) === null || _dep$getPackageName === void 0 ? void 0 : _dep$getPackageName.call(dep)) === id || dep.id.startsWith(`${id}@`);
|
|
75
|
+
});
|
|
76
|
+
if (found) return found;
|
|
77
|
+
const compDeps = this.toTypeArray('component');
|
|
78
|
+
|
|
79
|
+
// try by component-name
|
|
80
|
+
const foundByName = compDeps.filter(dep => dep.componentId.fullName === id);
|
|
81
|
+
if (foundByName.length > 1) {
|
|
82
|
+
throw new Error(`found multiple dependencies with the same component-name "${id}", please specify the full component-id`);
|
|
83
|
+
}
|
|
84
|
+
if (foundByName.length === 1) return foundByName[0];
|
|
85
|
+
return undefined;
|
|
86
|
+
};
|
|
87
|
+
const found = findByVariousStrategies();
|
|
74
88
|
if (!found) return undefined;
|
|
75
89
|
if (version) {
|
|
76
90
|
// because the version for snaps is stored in deps as the hash without the prefix of "0.0.0-""
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_componentPackageVersion","_constants","_componentDependency","DependencyList","constructor","_dependencies","uniqDeps","dependencies","sort","sorted","a","b","id","findDependency","componentIdStr","opts","ignoreVersion","find","dep","componentIdStrWithoutVersion","removeVersion","findByPkgNameOrCompId","version","found","_dep$getPackageName","getPackageName","call","startsWith","undefined","SNAP_VERSION_PREFIX","replace","forEach","predicate","map","filter","filtered","fromArray","filterHidden","hidden","toTypeArray","typeName","list","type","byTypeName","byLifecycle","lifecycle","serialize","serialized","getComponentDependencies","ComponentDependency","toDependenciesManifest","manifest","devDependencies","peerDependencies","keyName","KEY_NAME_BY_LIFECYCLE_TYPE","entry","toManifest","packageName","merge","lists","res","deps","reduce","acc","curr","concat","exports","uniq","uniqBy","property","split"],"sources":["dependency-list.ts"],"sourcesContent":["import { uniqBy, property } from 'lodash';\nimport { SNAP_VERSION_PREFIX } from '@teambit/component-package-version';\nimport { Dependency, DependencyLifecycleType, SerializedDependency, SemverVersion, PackageName } from './dependency';\nimport { KEY_NAME_BY_LIFECYCLE_TYPE } from './constants';\nimport { ComponentDependency } from './component-dependency';\n\nexport type LifecycleDependenciesManifest = Record<PackageName, SemverVersion>;\n\nexport interface DependenciesManifest {\n dependencies?: LifecycleDependenciesManifest;\n devDependencies?: LifecycleDependenciesManifest;\n peerDependencies?: LifecycleDependenciesManifest;\n}\n\nexport type FindDependencyOptions = {\n ignoreVersion?: boolean;\n};\nexport class DependencyList {\n constructor(private _dependencies: Array<Dependency>) {\n this._dependencies = uniqDeps(_dependencies);\n }\n // constructor(private _dependencies: Dependency[]){}\n\n get dependencies(): Dependency[] {\n return this._dependencies;\n }\n\n sort(): DependencyList {\n const sorted = this.dependencies.sort((a, b) => {\n if (a.id < b.id) {\n return -1;\n }\n if (a.id > b.id) {\n return 1;\n }\n return 0;\n });\n return new DependencyList(sorted);\n }\n\n /**\n * @param componentIdStr complete string include the scope and the version\n */\n findDependency(componentIdStr: string, opts: FindDependencyOptions = {}): Dependency | undefined {\n const ignoreVersion = opts.ignoreVersion;\n if (!ignoreVersion) {\n return this.dependencies.find((dep) => dep.id === componentIdStr);\n }\n const componentIdStrWithoutVersion = removeVersion(componentIdStr);\n return this.dependencies.find((dep) => removeVersion(dep.id) === componentIdStrWithoutVersion);\n }\n\n findByPkgNameOrCompId(id: string, version?: string): Dependency | undefined {\n const found = this.dependencies.find(\n (dep) => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`)\n );\n if (!found) return undefined;\n if (version) {\n // because the version for snaps is stored in deps as the hash without the prefix of \"0.0.0-\"\"\n if (version.startsWith(SNAP_VERSION_PREFIX) && found.version === version.replace(SNAP_VERSION_PREFIX, ''))\n return found;\n return found.version === version ? found : undefined;\n }\n return found;\n }\n\n forEach(predicate: (dep: Dependency, index?: number) => void): void {\n this.dependencies.forEach(predicate);\n }\n\n map(predicate: (dep: Dependency, index?: number) => any) {\n return this.dependencies.map(predicate);\n }\n\n filter(predicate: (dep: Dependency, index?: number) => boolean): DependencyList {\n const filtered = this.dependencies.filter(predicate);\n return DependencyList.fromArray(filtered);\n }\n\n filterHidden(): DependencyList {\n return this.filter((dep) => !dep.hidden);\n }\n\n toTypeArray<T extends Dependency>(typeName: string): T[] {\n const list: T[] = this.dependencies.filter((dep) => dep.type === typeName) as any as T[];\n return list;\n }\n\n byTypeName(typeName: string): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.type === typeName);\n return DependencyList.fromArray(filtered);\n }\n\n byLifecycle(lifecycle: DependencyLifecycleType): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.lifecycle === lifecycle);\n return DependencyList.fromArray(filtered);\n }\n\n serialize(): SerializedDependency[] {\n const serialized = this.dependencies.map((dep) => {\n return dep.serialize();\n });\n return serialized;\n }\n\n getComponentDependencies(): ComponentDependency[] {\n return this.dependencies.filter((dep) => dep instanceof ComponentDependency) as ComponentDependency[];\n }\n\n toDependenciesManifest(): Required<DependenciesManifest> {\n const manifest: Required<DependenciesManifest> = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n this.forEach((dep) => {\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];\n const entry = dep.toManifest();\n if (entry) {\n manifest[keyName][entry.packageName] = entry.version;\n }\n });\n return manifest;\n }\n\n static merge(lists: DependencyList[]): DependencyList {\n const res: Dependency[] = [];\n const deps = lists.reduce((acc, curr) => {\n acc = acc.concat(curr.dependencies);\n return acc;\n }, res);\n return new DependencyList(deps);\n }\n\n static fromArray(dependencies: Array<Dependency>) {\n return new DependencyList(dependencies);\n }\n}\n\nfunction uniqDeps(dependencies: Array<Dependency>): Array<Dependency> {\n const uniq = uniqBy(dependencies, property('id'));\n return uniq;\n}\n\nfunction removeVersion(id: string): string {\n if (id.startsWith('@')) return id.split('@')[1]; // scoped package\n return id.split('@')[0];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","_componentPackageVersion","_constants","_componentDependency","DependencyList","constructor","_dependencies","uniqDeps","dependencies","sort","sorted","a","b","id","findDependency","componentIdStr","opts","ignoreVersion","find","dep","componentIdStrWithoutVersion","removeVersion","findByPkgNameOrCompId","version","findByVariousStrategies","found","_dep$getPackageName","getPackageName","call","startsWith","compDeps","toTypeArray","foundByName","filter","componentId","fullName","length","Error","undefined","SNAP_VERSION_PREFIX","replace","forEach","predicate","map","filtered","fromArray","filterHidden","hidden","typeName","list","type","byTypeName","byLifecycle","lifecycle","serialize","serialized","getComponentDependencies","ComponentDependency","toDependenciesManifest","manifest","devDependencies","peerDependencies","keyName","KEY_NAME_BY_LIFECYCLE_TYPE","entry","toManifest","packageName","merge","lists","res","deps","reduce","acc","curr","concat","exports","uniq","uniqBy","property","split"],"sources":["dependency-list.ts"],"sourcesContent":["import { uniqBy, property } from 'lodash';\nimport { SNAP_VERSION_PREFIX } from '@teambit/component-package-version';\nimport { Dependency, DependencyLifecycleType, SerializedDependency, SemverVersion, PackageName } from './dependency';\nimport { KEY_NAME_BY_LIFECYCLE_TYPE } from './constants';\nimport { ComponentDependency } from './component-dependency';\n\nexport type LifecycleDependenciesManifest = Record<PackageName, SemverVersion>;\n\nexport interface DependenciesManifest {\n dependencies?: LifecycleDependenciesManifest;\n devDependencies?: LifecycleDependenciesManifest;\n peerDependencies?: LifecycleDependenciesManifest;\n}\n\nexport type FindDependencyOptions = {\n ignoreVersion?: boolean;\n};\nexport class DependencyList {\n constructor(private _dependencies: Array<Dependency>) {\n this._dependencies = uniqDeps(_dependencies);\n }\n // constructor(private _dependencies: Dependency[]){}\n\n get dependencies(): Dependency[] {\n return this._dependencies;\n }\n\n sort(): DependencyList {\n const sorted = this.dependencies.sort((a, b) => {\n if (a.id < b.id) {\n return -1;\n }\n if (a.id > b.id) {\n return 1;\n }\n return 0;\n });\n return new DependencyList(sorted);\n }\n\n /**\n * @param componentIdStr complete string include the scope and the version\n */\n findDependency(componentIdStr: string, opts: FindDependencyOptions = {}): Dependency | undefined {\n const ignoreVersion = opts.ignoreVersion;\n if (!ignoreVersion) {\n return this.dependencies.find((dep) => dep.id === componentIdStr);\n }\n const componentIdStrWithoutVersion = removeVersion(componentIdStr);\n return this.dependencies.find((dep) => removeVersion(dep.id) === componentIdStrWithoutVersion);\n }\n\n findByPkgNameOrCompId(id: string, version?: string): Dependency | undefined {\n const findByVariousStrategies = () => {\n // try by full-id or package-name\n const found = this.dependencies.find(\n (dep) => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`)\n );\n if (found) return found;\n const compDeps = this.toTypeArray<ComponentDependency>('component');\n\n // try by component-name\n const foundByName = compDeps.filter((dep) => dep.componentId.fullName === id);\n if (foundByName.length > 1) {\n throw new Error(\n `found multiple dependencies with the same component-name \"${id}\", please specify the full component-id`\n );\n }\n if (foundByName.length === 1) return foundByName[0];\n return undefined;\n };\n const found = findByVariousStrategies();\n if (!found) return undefined;\n if (version) {\n // because the version for snaps is stored in deps as the hash without the prefix of \"0.0.0-\"\"\n if (version.startsWith(SNAP_VERSION_PREFIX) && found.version === version.replace(SNAP_VERSION_PREFIX, ''))\n return found;\n return found.version === version ? found : undefined;\n }\n return found;\n }\n\n forEach(predicate: (dep: Dependency, index?: number) => void): void {\n this.dependencies.forEach(predicate);\n }\n\n map(predicate: (dep: Dependency, index?: number) => any) {\n return this.dependencies.map(predicate);\n }\n\n filter(predicate: (dep: Dependency, index?: number) => boolean): DependencyList {\n const filtered = this.dependencies.filter(predicate);\n return DependencyList.fromArray(filtered);\n }\n\n filterHidden(): DependencyList {\n return this.filter((dep) => !dep.hidden);\n }\n\n toTypeArray<T extends Dependency>(typeName: string): T[] {\n const list: T[] = this.dependencies.filter((dep) => dep.type === typeName) as any as T[];\n return list;\n }\n\n byTypeName(typeName: string): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.type === typeName);\n return DependencyList.fromArray(filtered);\n }\n\n byLifecycle(lifecycle: DependencyLifecycleType): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.lifecycle === lifecycle);\n return DependencyList.fromArray(filtered);\n }\n\n serialize(): SerializedDependency[] {\n const serialized = this.dependencies.map((dep) => {\n return dep.serialize();\n });\n return serialized;\n }\n\n getComponentDependencies(): ComponentDependency[] {\n return this.dependencies.filter((dep) => dep instanceof ComponentDependency) as ComponentDependency[];\n }\n\n toDependenciesManifest(): Required<DependenciesManifest> {\n const manifest: Required<DependenciesManifest> = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n this.forEach((dep) => {\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];\n const entry = dep.toManifest();\n if (entry) {\n manifest[keyName][entry.packageName] = entry.version;\n }\n });\n return manifest;\n }\n\n static merge(lists: DependencyList[]): DependencyList {\n const res: Dependency[] = [];\n const deps = lists.reduce((acc, curr) => {\n acc = acc.concat(curr.dependencies);\n return acc;\n }, res);\n return new DependencyList(deps);\n }\n\n static fromArray(dependencies: Array<Dependency>) {\n return new DependencyList(dependencies);\n }\n}\n\nfunction uniqDeps(dependencies: Array<Dependency>): Array<Dependency> {\n const uniq = uniqBy(dependencies, property('id'));\n return uniq;\n}\n\nfunction removeVersion(id: string): string {\n if (id.startsWith('@')) return id.split('@')[1]; // scoped package\n return id.split('@')[0];\n}\n"],"mappings":"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"}
|
|
@@ -238,7 +238,7 @@ class DependencyInstaller {
|
|
|
238
238
|
acc[dir] = manifest.toJson({
|
|
239
239
|
copyPeerToRuntime: copyPeerToRuntimeOnComponents
|
|
240
240
|
});
|
|
241
|
-
const selfPolicyWithoutLocal = manifest.envPolicy.selfPolicy.filter(dep => !packageNames.includes(dep.dependencyId));
|
|
241
|
+
const selfPolicyWithoutLocal = manifest.envPolicy.selfPolicy.filter(dep => !packageNames.includes(dep.dependencyId) && !acc[dir].dependencies[dep.dependencyId]);
|
|
242
242
|
acc[dir].defaultPeerDependencies = (0, _lodash().fromPairs)(selfPolicyWithoutLocal.toNameVersionTuple());
|
|
243
243
|
}
|
|
244
244
|
return acc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_path","_fsExtra","_lodash","_exceptions","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","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","DEFAULT_PM_INSTALL_OPTIONS","dedupe","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","installPeersFromEnvs","DEFAULT_INSTALL_OPTIONS","installTeambitBit","excludeExtensionsDependencies","DependencyInstaller","constructor","packageManager","aspectLoader","logger","dependencyResolver","rootDir","cacheRootDir","preInstallSubscriberList","postInstallSubscriberList","nodeLinker","packageImportMethod","sideEffectsCache","nodeVersion","engineStrict","peerDependencyRules","neverBuiltDependencies","preferOffline","installingContext","install","rootPolicy","componentDirectoryMap","options","packageManagerOptions","finalRootDir","RootDirNotDefined","manifests","getComponentManifests","resolveVersionsFromDependenciesOnly","referenceLocalPackages","rootComponentsForCapsules","installComponents","_this$installingConte","args","runPrePostSubscribers","mainAspect","linkedDependencies","JSON","parse","stringify","_manifests$finalRootD","directDeps","Set","values","manifest","depName","dependencies","devDependencies","add","name","has","forceTeambitHarmonyLink","entries","dir","linkedDeps","hidePackageManagerOutput","inCapsule","process","env","VERBOSE_PM_OUTPUT","calculatedPmOpts","packageManagerConfigRootDir","version","packageName","MainAspectNotInstallable","dependencyId","lifecycleType","rootComponents","keepExistingModulesDir","cleanCompsNodeModules","messagePrefix","messageSuffix","message","setStatusLine","startTime","hrtime","installResult","consoleSuccess","pruneModules","dependencyFilterFn","hasRootComponents","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","workspaceManifest","getWorkspaceManifest","components","packageNames","map","component","getPackageName","toArray","reduce","acc","componentsManifestsMap","get","toJson","copyPeerToRuntime","selfPolicyWithoutLocal","envPolicy","selfPolicy","dep","includes","defaultPeerDependencies","fromPairs","toNameVersionTuple","promises","nmDir","path","join","fs","remove","Promise","all","subscribers","type","_this$installingConte2","_this$installingConte3","_this$installingConte4","mapSeries","subscriber","exports"],"sources":["dependency-installer.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport { MainAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { ComponentMap } from '@teambit/component';\nimport { CreateFromComponentsOptions, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { PathAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { PeerDependencyRules, ProjectManifest } from '@pnpm/types';\nimport { fromPairs } from 'lodash';\nimport { MainAspectNotInstallable, RootDirNotDefined } from './exceptions';\nimport { PackageManager, PackageManagerInstallOptions, PackageImportMethod } from './package-manager';\nimport { WorkspacePolicy } from './policy';\n\nconst DEFAULT_PM_INSTALL_OPTIONS: PackageManagerInstallOptions = {\n dedupe: true,\n copyPeerToRuntimeOnRoot: true,\n copyPeerToRuntimeOnComponents: false,\n installPeersFromEnvs: false,\n};\n\nconst DEFAULT_INSTALL_OPTIONS: InstallOptions = {\n installTeambitBit: false,\n excludeExtensionsDependencies: false,\n};\n\nexport type DepInstallerContext = {\n inCapsule?: boolean;\n};\n\nexport type InstallArgs = {\n rootDir: string | undefined;\n rootPolicy: WorkspacePolicy;\n componentDirectoryMap: ComponentMap<string>;\n options: InstallOptions;\n packageManagerOptions: PackageManagerInstallOptions;\n};\n\nexport type InstallOptions = {\n installTeambitBit: boolean;\n packageManagerConfigRootDir?: string;\n resolveVersionsFromDependenciesOnly?: boolean;\n linkedDependencies?: Record<string, Record<string, string>>;\n forceTeambitHarmonyLink?: boolean;\n excludeExtensionsDependencies?: boolean;\n};\n\nexport type GetComponentManifestsOptions = {\n componentDirectoryMap: ComponentMap<string>;\n rootPolicy: WorkspacePolicy;\n rootDir: string;\n resolveVersionsFromDependenciesOnly?: boolean;\n referenceLocalPackages?: boolean;\n hasRootComponents?: boolean;\n excludeExtensionsDependencies?: boolean;\n} & Pick<\n PackageManagerInstallOptions,\n 'dedupe' | 'dependencyFilterFn' | 'copyPeerToRuntimeOnComponents' | 'copyPeerToRuntimeOnRoot' | 'installPeersFromEnvs'\n>;\n\nexport type PreInstallSubscriber = (installer: DependencyInstaller, installArgs: InstallArgs) => Promise<void>;\nexport type PreInstallSubscriberList = Array<PreInstallSubscriber>;\n\nexport type PostInstallSubscriber = (installer: DependencyInstaller, installArgs: InstallArgs) => Promise<void>;\nexport type PostInstallSubscriberList = Array<PostInstallSubscriber>;\n\nexport class DependencyInstaller {\n constructor(\n /**\n * package manager instance.\n */\n private packageManager: PackageManager,\n\n private aspectLoader: AspectLoaderMain,\n\n private logger: Logger,\n\n private dependencyResolver: DependencyResolverMain,\n\n private rootDir?: string | PathAbsolute,\n\n private cacheRootDir?: string | PathAbsolute,\n\n private preInstallSubscriberList?: PreInstallSubscriberList,\n\n private postInstallSubscriberList?: PostInstallSubscriberList,\n\n private nodeLinker?: 'hoisted' | 'isolated',\n\n private packageImportMethod?: PackageImportMethod,\n\n private sideEffectsCache?: boolean,\n\n private nodeVersion?: string,\n\n private engineStrict?: boolean,\n\n private peerDependencyRules?: PeerDependencyRules,\n\n private neverBuiltDependencies?: string[],\n\n private preferOffline?: boolean,\n\n private installingContext: DepInstallerContext = {}\n ) {}\n\n async install(\n rootDir: string | undefined,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n options: InstallOptions = DEFAULT_INSTALL_OPTIONS,\n packageManagerOptions: PackageManagerInstallOptions = DEFAULT_PM_INSTALL_OPTIONS\n ) {\n const finalRootDir = rootDir ?? this.rootDir;\n if (!finalRootDir) {\n throw new RootDirNotDefined();\n }\n const manifests = await this.getComponentManifests({\n ...packageManagerOptions,\n componentDirectoryMap,\n rootPolicy,\n rootDir: finalRootDir,\n resolveVersionsFromDependenciesOnly: options.resolveVersionsFromDependenciesOnly,\n referenceLocalPackages: packageManagerOptions.rootComponentsForCapsules,\n excludeExtensionsDependencies: options.excludeExtensionsDependencies,\n });\n return this.installComponents(\n finalRootDir,\n manifests,\n rootPolicy,\n componentDirectoryMap,\n options,\n packageManagerOptions\n );\n }\n\n async installComponents(\n rootDir: string | undefined,\n manifests: Record<string, ProjectManifest>,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n options: InstallOptions = DEFAULT_INSTALL_OPTIONS,\n packageManagerOptions: PackageManagerInstallOptions = DEFAULT_PM_INSTALL_OPTIONS\n ): Promise<{ dependenciesChanged: boolean }> {\n const args = {\n componentDirectoryMap,\n options,\n packageManagerOptions,\n rootDir,\n rootPolicy,\n };\n await this.runPrePostSubscribers(this.preInstallSubscriberList, 'pre', args);\n const mainAspect: MainAspect = this.aspectLoader.mainAspect;\n const finalRootDir = rootDir || this.rootDir;\n if (!finalRootDir) {\n throw new RootDirNotDefined();\n }\n if (options.linkedDependencies) {\n manifests = JSON.parse(JSON.stringify(manifests));\n const linkedDependencies = JSON.parse(\n JSON.stringify(options.linkedDependencies)\n ) as typeof options.linkedDependencies;\n if (linkedDependencies[finalRootDir]) {\n const directDeps = new Set<string>();\n Object.values(manifests).forEach((manifest) => {\n for (const depName of Object.keys({ ...manifest.dependencies, ...manifest.devDependencies })) {\n directDeps.add(depName);\n }\n });\n for (const manifest of Object.values(manifests)) {\n if (manifest.name && directDeps.has(manifest.name)) {\n delete linkedDependencies[finalRootDir][manifest.name];\n }\n }\n if (options.forceTeambitHarmonyLink && manifests[finalRootDir].dependencies?.['@teambit/harmony']) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n delete manifests[finalRootDir].dependencies!['@teambit/harmony'];\n }\n }\n Object.entries(linkedDependencies).forEach(([dir, linkedDeps]) => {\n if (!manifests[dir]) {\n manifests[dir] = {};\n }\n manifests[dir].dependencies = {\n ...linkedDeps,\n ...manifests[dir].dependencies,\n };\n });\n }\n const hidePackageManagerOutput = !!(this.installingContext.inCapsule && process.env.VERBOSE_PM_OUTPUT !== 'true');\n\n // Make sure to take other default if passed options with only one option\n const calculatedPmOpts = {\n ...DEFAULT_PM_INSTALL_OPTIONS,\n cacheRootDir: this.cacheRootDir,\n nodeLinker: this.nodeLinker,\n packageImportMethod: this.packageImportMethod,\n sideEffectsCache: this.sideEffectsCache,\n nodeVersion: this.nodeVersion,\n engineStrict: this.engineStrict,\n packageManagerConfigRootDir: options.packageManagerConfigRootDir,\n peerDependencyRules: this.peerDependencyRules,\n hidePackageManagerOutput,\n neverBuiltDependencies: ['core-js', ...(this.neverBuiltDependencies ?? [])],\n preferOffline: this.preferOffline,\n ...packageManagerOptions,\n };\n if (options.installTeambitBit) {\n if (!mainAspect.version || !mainAspect.packageName) {\n throw new MainAspectNotInstallable();\n }\n const version = mainAspect.version;\n rootPolicy.add({\n dependencyId: mainAspect.packageName,\n lifecycleType: 'runtime',\n value: {\n version,\n },\n });\n }\n\n if (!packageManagerOptions.rootComponents && !packageManagerOptions.keepExistingModulesDir) {\n // Remove node modules dir for all components dirs, since it might contain left overs from previous install.\n //\n // This is not needed when \"rootComponents\" are used, as in that case the package manager handles the node_modules\n // and it never leaves node_modules in a broken state.\n // Removing node_modules in that case would delete useful state information that is used by Yarn or pnpm.\n await this.cleanCompsNodeModules(componentDirectoryMap);\n }\n\n const messagePrefix = 'running package installation';\n const messageSuffix = `using ${this.packageManager.name}`;\n const message = this.installingContext?.inCapsule\n ? `(capsule) ${messagePrefix} in root dir ${this.rootDir} ${messageSuffix}`\n : `${messagePrefix} ${messageSuffix}`;\n if (!hidePackageManagerOutput) {\n this.logger.setStatusLine(message);\n }\n const startTime = process.hrtime();\n\n // TODO: the cache should be probably passed to the package manager constructor not to the install function\n const installResult = await this.packageManager.install(\n {\n rootDir: finalRootDir,\n manifests,\n componentDirectoryMap,\n },\n calculatedPmOpts\n );\n if (!hidePackageManagerOutput) {\n this.logger.consoleSuccess(`done ${message}`, startTime);\n }\n await this.runPrePostSubscribers(this.postInstallSubscriberList, 'post', args);\n return installResult;\n }\n\n public async pruneModules(rootDir: string): Promise<void> {\n if (!this.packageManager.pruneModules) {\n return;\n }\n await this.packageManager.pruneModules(rootDir);\n }\n\n /**\n * Compute all the component manifests (a.k.a. package.json files) that should be passed to the package manager\n * in order to install the dependencies.\n */\n public async getComponentManifests({\n componentDirectoryMap,\n rootPolicy,\n rootDir,\n dedupe,\n dependencyFilterFn,\n copyPeerToRuntimeOnComponents,\n copyPeerToRuntimeOnRoot,\n installPeersFromEnvs,\n resolveVersionsFromDependenciesOnly,\n referenceLocalPackages,\n hasRootComponents,\n excludeExtensionsDependencies,\n }: GetComponentManifestsOptions) {\n const options: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe,\n dependencyFilterFn,\n resolveVersionsFromDependenciesOnly,\n referenceLocalPackages,\n hasRootComponents,\n excludeExtensionsDependencies,\n };\n const workspaceManifest = await this.dependencyResolver.getWorkspaceManifest(\n undefined,\n undefined,\n rootPolicy,\n rootDir,\n componentDirectoryMap.components,\n options,\n this.installingContext\n );\n const packageNames = componentDirectoryMap.components.map((component) =>\n this.dependencyResolver.getPackageName(component)\n );\n const manifests: Record<string, ProjectManifest> = componentDirectoryMap\n .toArray()\n .reduce((acc, [component, dir]) => {\n const packageName = this.dependencyResolver.getPackageName(component);\n const manifest = workspaceManifest.componentsManifestsMap.get(packageName);\n if (manifest) {\n acc[dir] = manifest.toJson({ copyPeerToRuntime: copyPeerToRuntimeOnComponents });\n const selfPolicyWithoutLocal = manifest.envPolicy.selfPolicy.filter(\n (dep) => !packageNames.includes(dep.dependencyId)\n );\n acc[dir].defaultPeerDependencies = fromPairs(selfPolicyWithoutLocal.toNameVersionTuple());\n }\n return acc;\n }, {});\n if (!manifests[rootDir]) {\n manifests[rootDir] = workspaceManifest.toJson({\n copyPeerToRuntime: copyPeerToRuntimeOnRoot,\n installPeersFromEnvs,\n });\n }\n return manifests;\n }\n\n private async cleanCompsNodeModules(componentDirectoryMap: ComponentMap<string>) {\n const promises = componentDirectoryMap.toArray().map(([, dir]) => {\n const nmDir = path.join(dir, 'node_modules');\n return fs.remove(nmDir);\n });\n return Promise.all(promises);\n }\n\n private async runPrePostSubscribers(\n subscribers: PreInstallSubscriberList | PostInstallSubscriberList = [],\n type: 'pre' | 'post',\n args: InstallArgs\n ): Promise<void> {\n const message = this.installingContext?.inCapsule\n ? `(capsule) running ${type} install subscribers in root dir ${this.rootDir}`\n : `running ${type} install subscribers`;\n if (!this.installingContext?.inCapsule) {\n this.logger.setStatusLine(message);\n }\n await mapSeries(subscribers, async (subscriber) => {\n return subscriber(this, args);\n });\n if (!this.installingContext?.inCapsule) {\n this.logger.consoleSuccess(message);\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_path","_fsExtra","_lodash","_exceptions","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","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","DEFAULT_PM_INSTALL_OPTIONS","dedupe","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","installPeersFromEnvs","DEFAULT_INSTALL_OPTIONS","installTeambitBit","excludeExtensionsDependencies","DependencyInstaller","constructor","packageManager","aspectLoader","logger","dependencyResolver","rootDir","cacheRootDir","preInstallSubscriberList","postInstallSubscriberList","nodeLinker","packageImportMethod","sideEffectsCache","nodeVersion","engineStrict","peerDependencyRules","neverBuiltDependencies","preferOffline","installingContext","install","rootPolicy","componentDirectoryMap","options","packageManagerOptions","finalRootDir","RootDirNotDefined","manifests","getComponentManifests","resolveVersionsFromDependenciesOnly","referenceLocalPackages","rootComponentsForCapsules","installComponents","_this$installingConte","args","runPrePostSubscribers","mainAspect","linkedDependencies","JSON","parse","stringify","_manifests$finalRootD","directDeps","Set","values","manifest","depName","dependencies","devDependencies","add","name","has","forceTeambitHarmonyLink","entries","dir","linkedDeps","hidePackageManagerOutput","inCapsule","process","env","VERBOSE_PM_OUTPUT","calculatedPmOpts","packageManagerConfigRootDir","version","packageName","MainAspectNotInstallable","dependencyId","lifecycleType","rootComponents","keepExistingModulesDir","cleanCompsNodeModules","messagePrefix","messageSuffix","message","setStatusLine","startTime","hrtime","installResult","consoleSuccess","pruneModules","dependencyFilterFn","hasRootComponents","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","workspaceManifest","getWorkspaceManifest","components","packageNames","map","component","getPackageName","toArray","reduce","acc","componentsManifestsMap","get","toJson","copyPeerToRuntime","selfPolicyWithoutLocal","envPolicy","selfPolicy","dep","includes","defaultPeerDependencies","fromPairs","toNameVersionTuple","promises","nmDir","path","join","fs","remove","Promise","all","subscribers","type","_this$installingConte2","_this$installingConte3","_this$installingConte4","mapSeries","subscriber","exports"],"sources":["dependency-installer.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport { MainAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { ComponentMap } from '@teambit/component';\nimport { CreateFromComponentsOptions, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { PathAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { PeerDependencyRules, ProjectManifest } from '@pnpm/types';\nimport { fromPairs } from 'lodash';\nimport { MainAspectNotInstallable, RootDirNotDefined } from './exceptions';\nimport { PackageManager, PackageManagerInstallOptions, PackageImportMethod } from './package-manager';\nimport { WorkspacePolicy } from './policy';\n\nconst DEFAULT_PM_INSTALL_OPTIONS: PackageManagerInstallOptions = {\n dedupe: true,\n copyPeerToRuntimeOnRoot: true,\n copyPeerToRuntimeOnComponents: false,\n installPeersFromEnvs: false,\n};\n\nconst DEFAULT_INSTALL_OPTIONS: InstallOptions = {\n installTeambitBit: false,\n excludeExtensionsDependencies: false,\n};\n\nexport type DepInstallerContext = {\n inCapsule?: boolean;\n};\n\nexport type InstallArgs = {\n rootDir: string | undefined;\n rootPolicy: WorkspacePolicy;\n componentDirectoryMap: ComponentMap<string>;\n options: InstallOptions;\n packageManagerOptions: PackageManagerInstallOptions;\n};\n\nexport type InstallOptions = {\n installTeambitBit: boolean;\n packageManagerConfigRootDir?: string;\n resolveVersionsFromDependenciesOnly?: boolean;\n linkedDependencies?: Record<string, Record<string, string>>;\n forceTeambitHarmonyLink?: boolean;\n excludeExtensionsDependencies?: boolean;\n};\n\nexport type GetComponentManifestsOptions = {\n componentDirectoryMap: ComponentMap<string>;\n rootPolicy: WorkspacePolicy;\n rootDir: string;\n resolveVersionsFromDependenciesOnly?: boolean;\n referenceLocalPackages?: boolean;\n hasRootComponents?: boolean;\n excludeExtensionsDependencies?: boolean;\n} & Pick<\n PackageManagerInstallOptions,\n 'dedupe' | 'dependencyFilterFn' | 'copyPeerToRuntimeOnComponents' | 'copyPeerToRuntimeOnRoot' | 'installPeersFromEnvs'\n>;\n\nexport type PreInstallSubscriber = (installer: DependencyInstaller, installArgs: InstallArgs) => Promise<void>;\nexport type PreInstallSubscriberList = Array<PreInstallSubscriber>;\n\nexport type PostInstallSubscriber = (installer: DependencyInstaller, installArgs: InstallArgs) => Promise<void>;\nexport type PostInstallSubscriberList = Array<PostInstallSubscriber>;\n\nexport class DependencyInstaller {\n constructor(\n /**\n * package manager instance.\n */\n private packageManager: PackageManager,\n\n private aspectLoader: AspectLoaderMain,\n\n private logger: Logger,\n\n private dependencyResolver: DependencyResolverMain,\n\n private rootDir?: string | PathAbsolute,\n\n private cacheRootDir?: string | PathAbsolute,\n\n private preInstallSubscriberList?: PreInstallSubscriberList,\n\n private postInstallSubscriberList?: PostInstallSubscriberList,\n\n private nodeLinker?: 'hoisted' | 'isolated',\n\n private packageImportMethod?: PackageImportMethod,\n\n private sideEffectsCache?: boolean,\n\n private nodeVersion?: string,\n\n private engineStrict?: boolean,\n\n private peerDependencyRules?: PeerDependencyRules,\n\n private neverBuiltDependencies?: string[],\n\n private preferOffline?: boolean,\n\n private installingContext: DepInstallerContext = {}\n ) {}\n\n async install(\n rootDir: string | undefined,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n options: InstallOptions = DEFAULT_INSTALL_OPTIONS,\n packageManagerOptions: PackageManagerInstallOptions = DEFAULT_PM_INSTALL_OPTIONS\n ) {\n const finalRootDir = rootDir ?? this.rootDir;\n if (!finalRootDir) {\n throw new RootDirNotDefined();\n }\n const manifests = await this.getComponentManifests({\n ...packageManagerOptions,\n componentDirectoryMap,\n rootPolicy,\n rootDir: finalRootDir,\n resolveVersionsFromDependenciesOnly: options.resolveVersionsFromDependenciesOnly,\n referenceLocalPackages: packageManagerOptions.rootComponentsForCapsules,\n excludeExtensionsDependencies: options.excludeExtensionsDependencies,\n });\n return this.installComponents(\n finalRootDir,\n manifests,\n rootPolicy,\n componentDirectoryMap,\n options,\n packageManagerOptions\n );\n }\n\n async installComponents(\n rootDir: string | undefined,\n manifests: Record<string, ProjectManifest>,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n options: InstallOptions = DEFAULT_INSTALL_OPTIONS,\n packageManagerOptions: PackageManagerInstallOptions = DEFAULT_PM_INSTALL_OPTIONS\n ): Promise<{ dependenciesChanged: boolean }> {\n const args = {\n componentDirectoryMap,\n options,\n packageManagerOptions,\n rootDir,\n rootPolicy,\n };\n await this.runPrePostSubscribers(this.preInstallSubscriberList, 'pre', args);\n const mainAspect: MainAspect = this.aspectLoader.mainAspect;\n const finalRootDir = rootDir || this.rootDir;\n if (!finalRootDir) {\n throw new RootDirNotDefined();\n }\n if (options.linkedDependencies) {\n manifests = JSON.parse(JSON.stringify(manifests));\n const linkedDependencies = JSON.parse(\n JSON.stringify(options.linkedDependencies)\n ) as typeof options.linkedDependencies;\n if (linkedDependencies[finalRootDir]) {\n const directDeps = new Set<string>();\n Object.values(manifests).forEach((manifest) => {\n for (const depName of Object.keys({ ...manifest.dependencies, ...manifest.devDependencies })) {\n directDeps.add(depName);\n }\n });\n for (const manifest of Object.values(manifests)) {\n if (manifest.name && directDeps.has(manifest.name)) {\n delete linkedDependencies[finalRootDir][manifest.name];\n }\n }\n if (options.forceTeambitHarmonyLink && manifests[finalRootDir].dependencies?.['@teambit/harmony']) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n delete manifests[finalRootDir].dependencies!['@teambit/harmony'];\n }\n }\n Object.entries(linkedDependencies).forEach(([dir, linkedDeps]) => {\n if (!manifests[dir]) {\n manifests[dir] = {};\n }\n manifests[dir].dependencies = {\n ...linkedDeps,\n ...manifests[dir].dependencies,\n };\n });\n }\n const hidePackageManagerOutput = !!(this.installingContext.inCapsule && process.env.VERBOSE_PM_OUTPUT !== 'true');\n\n // Make sure to take other default if passed options with only one option\n const calculatedPmOpts = {\n ...DEFAULT_PM_INSTALL_OPTIONS,\n cacheRootDir: this.cacheRootDir,\n nodeLinker: this.nodeLinker,\n packageImportMethod: this.packageImportMethod,\n sideEffectsCache: this.sideEffectsCache,\n nodeVersion: this.nodeVersion,\n engineStrict: this.engineStrict,\n packageManagerConfigRootDir: options.packageManagerConfigRootDir,\n peerDependencyRules: this.peerDependencyRules,\n hidePackageManagerOutput,\n neverBuiltDependencies: ['core-js', ...(this.neverBuiltDependencies ?? [])],\n preferOffline: this.preferOffline,\n ...packageManagerOptions,\n };\n if (options.installTeambitBit) {\n if (!mainAspect.version || !mainAspect.packageName) {\n throw new MainAspectNotInstallable();\n }\n const version = mainAspect.version;\n rootPolicy.add({\n dependencyId: mainAspect.packageName,\n lifecycleType: 'runtime',\n value: {\n version,\n },\n });\n }\n\n if (!packageManagerOptions.rootComponents && !packageManagerOptions.keepExistingModulesDir) {\n // Remove node modules dir for all components dirs, since it might contain left overs from previous install.\n //\n // This is not needed when \"rootComponents\" are used, as in that case the package manager handles the node_modules\n // and it never leaves node_modules in a broken state.\n // Removing node_modules in that case would delete useful state information that is used by Yarn or pnpm.\n await this.cleanCompsNodeModules(componentDirectoryMap);\n }\n\n const messagePrefix = 'running package installation';\n const messageSuffix = `using ${this.packageManager.name}`;\n const message = this.installingContext?.inCapsule\n ? `(capsule) ${messagePrefix} in root dir ${this.rootDir} ${messageSuffix}`\n : `${messagePrefix} ${messageSuffix}`;\n if (!hidePackageManagerOutput) {\n this.logger.setStatusLine(message);\n }\n const startTime = process.hrtime();\n\n // TODO: the cache should be probably passed to the package manager constructor not to the install function\n const installResult = await this.packageManager.install(\n {\n rootDir: finalRootDir,\n manifests,\n componentDirectoryMap,\n },\n calculatedPmOpts\n );\n if (!hidePackageManagerOutput) {\n this.logger.consoleSuccess(`done ${message}`, startTime);\n }\n await this.runPrePostSubscribers(this.postInstallSubscriberList, 'post', args);\n return installResult;\n }\n\n public async pruneModules(rootDir: string): Promise<void> {\n if (!this.packageManager.pruneModules) {\n return;\n }\n await this.packageManager.pruneModules(rootDir);\n }\n\n /**\n * Compute all the component manifests (a.k.a. package.json files) that should be passed to the package manager\n * in order to install the dependencies.\n */\n public async getComponentManifests({\n componentDirectoryMap,\n rootPolicy,\n rootDir,\n dedupe,\n dependencyFilterFn,\n copyPeerToRuntimeOnComponents,\n copyPeerToRuntimeOnRoot,\n installPeersFromEnvs,\n resolveVersionsFromDependenciesOnly,\n referenceLocalPackages,\n hasRootComponents,\n excludeExtensionsDependencies,\n }: GetComponentManifestsOptions) {\n const options: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe,\n dependencyFilterFn,\n resolveVersionsFromDependenciesOnly,\n referenceLocalPackages,\n hasRootComponents,\n excludeExtensionsDependencies,\n };\n const workspaceManifest = await this.dependencyResolver.getWorkspaceManifest(\n undefined,\n undefined,\n rootPolicy,\n rootDir,\n componentDirectoryMap.components,\n options,\n this.installingContext\n );\n const packageNames = componentDirectoryMap.components.map((component) =>\n this.dependencyResolver.getPackageName(component)\n );\n const manifests: Record<string, ProjectManifest> = componentDirectoryMap\n .toArray()\n .reduce((acc, [component, dir]) => {\n const packageName = this.dependencyResolver.getPackageName(component);\n const manifest = workspaceManifest.componentsManifestsMap.get(packageName);\n if (manifest) {\n acc[dir] = manifest.toJson({ copyPeerToRuntime: copyPeerToRuntimeOnComponents });\n const selfPolicyWithoutLocal = manifest.envPolicy.selfPolicy.filter(\n (dep) => !packageNames.includes(dep.dependencyId) && !acc[dir].dependencies[dep.dependencyId]\n );\n acc[dir].defaultPeerDependencies = fromPairs(selfPolicyWithoutLocal.toNameVersionTuple());\n }\n return acc;\n }, {});\n if (!manifests[rootDir]) {\n manifests[rootDir] = workspaceManifest.toJson({\n copyPeerToRuntime: copyPeerToRuntimeOnRoot,\n installPeersFromEnvs,\n });\n }\n return manifests;\n }\n\n private async cleanCompsNodeModules(componentDirectoryMap: ComponentMap<string>) {\n const promises = componentDirectoryMap.toArray().map(([, dir]) => {\n const nmDir = path.join(dir, 'node_modules');\n return fs.remove(nmDir);\n });\n return Promise.all(promises);\n }\n\n private async runPrePostSubscribers(\n subscribers: PreInstallSubscriberList | PostInstallSubscriberList = [],\n type: 'pre' | 'post',\n args: InstallArgs\n ): Promise<void> {\n const message = this.installingContext?.inCapsule\n ? `(capsule) running ${type} install subscribers in root dir ${this.rootDir}`\n : `running ${type} install subscribers`;\n if (!this.installingContext?.inCapsule) {\n this.logger.setStatusLine(message);\n }\n await mapSeries(subscribers, async (subscriber) => {\n return subscriber(this, args);\n });\n if (!this.installingContext?.inCapsule) {\n this.logger.consoleSuccess(message);\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ComponentMap, ComponentMain, IComponent
|
|
1
|
+
import { Component, ComponentMap, ComponentMain, IComponent } from '@teambit/component';
|
|
2
2
|
import type { ConfigMain } from '@teambit/config';
|
|
3
3
|
import { DependenciesEnv, EnvDefinition, EnvsMain } from '@teambit/envs';
|
|
4
4
|
import { SlotRegistry, ExtensionManifest, Aspect } from '@teambit/harmony';
|
|
@@ -9,9 +9,8 @@ import { Logger } from '@teambit/logger';
|
|
|
9
9
|
import { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';
|
|
10
10
|
import { ProxyConfig, NetworkConfig } from '@teambit/legacy/dist/scope/network/http';
|
|
11
11
|
import { onTagIdTransformer } from '@teambit/snapping';
|
|
12
|
-
import { Version as VersionModel } from '@teambit/legacy/dist/scope/models';
|
|
13
12
|
import LegacyComponent from '@teambit/legacy/dist/consumer/component';
|
|
14
|
-
import {
|
|
13
|
+
import { ComponentID } from '@teambit/component-id';
|
|
15
14
|
import { SourceFile } from '@teambit/legacy/dist/consumer/component/sources';
|
|
16
15
|
import { PeerDependencyRules, ProjectManifest } from '@pnpm/types';
|
|
17
16
|
import semver from 'semver';
|
|
@@ -151,7 +150,6 @@ export declare type GetDependenciesOptions = {
|
|
|
151
150
|
export declare type GetVersionResolverOptions = {
|
|
152
151
|
cacheRootDirectory?: string;
|
|
153
152
|
};
|
|
154
|
-
declare type OnExportIdTransformer = (id: BitId) => BitId;
|
|
155
153
|
export declare class DependencyResolverMain {
|
|
156
154
|
/**
|
|
157
155
|
* Dependency resolver extension configuration.
|
|
@@ -367,11 +365,13 @@ export declare class DependencyResolverMain {
|
|
|
367
365
|
registerRootPolicy(policy: WorkspacePolicy): void;
|
|
368
366
|
getComponentEnvPolicyFromExtension(configuredExtensions: ExtensionDataList): Promise<EnvPolicy>;
|
|
369
367
|
getEnvPolicyFromEnvId(id: ComponentID, legacyFiles?: SourceFile[]): Promise<EnvPolicy | undefined>;
|
|
370
|
-
getEnvPolicyFromEnvLegacyId(id:
|
|
368
|
+
getEnvPolicyFromEnvLegacyId(id: ComponentID, legacyFiles?: SourceFile[]): Promise<EnvPolicy | undefined>;
|
|
371
369
|
getComponentEnvPolicy(component: Component): Promise<EnvPolicy>;
|
|
372
370
|
getEnvManifest(envComponent?: Component, legacyFiles?: SourceFile[]): EnvPolicy | undefined;
|
|
373
371
|
private getEnvPolicyFromFile;
|
|
374
|
-
getComponentEnvPolicyFromEnv(env: DependenciesEnv
|
|
372
|
+
getComponentEnvPolicyFromEnv(env: DependenciesEnv, options: {
|
|
373
|
+
envId: string;
|
|
374
|
+
}): Promise<EnvPolicy>;
|
|
375
375
|
getComponentEnvPolicyFromEnvDefinition(envDef: EnvDefinition): Promise<EnvPolicy>;
|
|
376
376
|
/**
|
|
377
377
|
*
|
|
@@ -390,14 +390,13 @@ export declare class DependencyResolverMain {
|
|
|
390
390
|
* 3. props defined by the user (they are the strongest one)
|
|
391
391
|
* @param configuredExtensions
|
|
392
392
|
*/
|
|
393
|
-
mergeVariantPolicies(configuredExtensions: ExtensionDataList, id:
|
|
393
|
+
mergeVariantPolicies(configuredExtensions: ExtensionDataList, id: ComponentID, legacyFiles?: SourceFile[]): Promise<VariantPolicy>;
|
|
394
394
|
/**
|
|
395
395
|
* These are the policies that the env itself defines for itself.
|
|
396
396
|
* So policies installed only locally for the env, not to any components that use the env.
|
|
397
397
|
*/
|
|
398
|
-
getPoliciesFromEnvForItself(id:
|
|
398
|
+
getPoliciesFromEnvForItself(id: ComponentID, legacyFiles?: SourceFile[]): Promise<VariantPolicy | undefined>;
|
|
399
399
|
updateDepsOnLegacyTag(component: LegacyComponent, idTransformer: onTagIdTransformer): LegacyComponent;
|
|
400
|
-
updateDepsOnLegacyExport(version: VersionModel, idTransformer: OnExportIdTransformer): VersionModel;
|
|
401
400
|
/**
|
|
402
401
|
* Register a new dependency detector. Detectors allow to extend Bit's dependency detection
|
|
403
402
|
* mechanism to support new file extensions and types.
|