@teambit/dependency-resolver 1.0.487 → 1.0.489
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/artifacts/__bit_junit.xml +29 -29
- package/artifacts/preview/teambit_dependencies_dependency_resolver-preview.js +1 -1
- package/artifacts/schema.json +1470 -564
- package/dependencies/component-dependency/component-dependency-factory.ts +8 -5
- package/dependencies/dependency-factory.ts +1 -1
- package/dependencies/dependency-list-factory.ts +1 -1
- package/dist/dependencies/component-dependency/component-dependency-factory.d.ts +1 -1
- package/dist/dependencies/component-dependency/component-dependency-factory.js.map +1 -1
- package/dist/dependencies/dependency-factory.d.ts +1 -1
- package/dist/dependencies/dependency-factory.js.map +1 -1
- package/dist/dependencies/dependency-list-factory.d.ts +1 -1
- package/dist/dependencies/dependency-list-factory.js.map +1 -1
- package/dist/dependency-installer.d.ts +1 -1
- package/dist/dependency-installer.js.map +1 -1
- package/dist/dependency-resolver.main.runtime.d.ts +3 -3
- package/dist/dependency-resolver.main.runtime.js +26 -26
- package/dist/dependency-resolver.main.runtime.js.map +1 -1
- package/dist/dependency-resolver.main.runtime.spec.js +9 -9
- package/dist/dependency-resolver.main.runtime.spec.js.map +1 -1
- package/dist/package-manager.d.ts +1 -1
- package/dist/package-manager.js.map +1 -1
- package/dist/policy/variant-policy/variant-policy.d.ts +1 -1
- package/dist/policy/variant-policy/variant-policy.js.map +1 -1
- package/dist/{preview-1733714450424.js → preview-1733851236714.js} +2 -2
- package/dist/registry/registry.js +5 -5
- package/dist/registry/registry.js.map +1 -1
- package/package.json +31 -26
- package/policy/variant-policy/variant-policy.ts +1 -1
- package/registry/registry.ts +1 -1
|
@@ -2,8 +2,11 @@ import mapSeries from 'p-map-series';
|
|
|
2
2
|
import { ComponentMain } from '@teambit/component';
|
|
3
3
|
import { compact } from 'lodash';
|
|
4
4
|
import { ComponentID } from '@teambit/component-id';
|
|
5
|
-
import {
|
|
6
|
-
|
|
5
|
+
import {
|
|
6
|
+
ConsumerComponent as LegacyComponent,
|
|
7
|
+
Dependency,
|
|
8
|
+
Dependency as LegacyDependency,
|
|
9
|
+
} from '@teambit/legacy.consumer-component';
|
|
7
10
|
import type { ExtensionDataEntry } from '@teambit/legacy.extension-data';
|
|
8
11
|
import { componentIdToPackageName } from '@teambit/pkg.modules.component-package-name';
|
|
9
12
|
import { ComponentDependency, SerializedComponentDependency, TYPE } from './component-dependency';
|
|
@@ -46,13 +49,13 @@ export class ComponentDependencyFactory implements DependencyFactory {
|
|
|
46
49
|
}
|
|
47
50
|
|
|
48
51
|
async fromLegacyComponent(legacyComponent: LegacyComponent): Promise<DependencyList> {
|
|
49
|
-
const runtimeDeps = await mapSeries(legacyComponent.dependencies.get(), (dep) =>
|
|
52
|
+
const runtimeDeps = await mapSeries(legacyComponent.dependencies.get(), (dep: Dependency) =>
|
|
50
53
|
this.transformLegacyComponentDepToSerializedDependency(dep, 'runtime')
|
|
51
54
|
);
|
|
52
|
-
const devDeps = await mapSeries(legacyComponent.devDependencies.get(), (dep) =>
|
|
55
|
+
const devDeps = await mapSeries(legacyComponent.devDependencies.get(), (dep: Dependency) =>
|
|
53
56
|
this.transformLegacyComponentDepToSerializedDependency(dep, 'dev')
|
|
54
57
|
);
|
|
55
|
-
const peerDeps = await mapSeries(legacyComponent.peerDependencies.get(), (dep) =>
|
|
58
|
+
const peerDeps = await mapSeries(legacyComponent.peerDependencies.get(), (dep: Dependency) =>
|
|
56
59
|
this.transformLegacyComponentDepToSerializedDependency(dep, 'peer')
|
|
57
60
|
);
|
|
58
61
|
const extensionDeps = await mapSeries(legacyComponent.extensions, (extension: ExtensionDataEntry) =>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import LegacyComponent from '@teambit/legacy
|
|
1
|
+
import { ConsumerComponent as LegacyComponent } from '@teambit/legacy.consumer-component';
|
|
2
2
|
import { Dependency, SerializedDependency } from './dependency';
|
|
3
3
|
import { DependencyList } from './dependency-list';
|
|
4
4
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import mapSeries from 'p-map-series';
|
|
2
2
|
import type { MissingPackagesData } from '@teambit/component-issues';
|
|
3
3
|
import { get } from 'lodash';
|
|
4
|
-
import LegacyComponent from '@teambit/legacy
|
|
4
|
+
import { ConsumerComponent as LegacyComponent } from '@teambit/legacy.consumer-component';
|
|
5
5
|
import { DependencyFactory } from './dependency-factory';
|
|
6
6
|
import { SerializedDependency } from './dependency';
|
|
7
7
|
import { DependencyList } from './dependency-list';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentMain } from '@teambit/component';
|
|
2
|
-
import LegacyComponent from '@teambit/legacy
|
|
2
|
+
import { ConsumerComponent as LegacyComponent } from '@teambit/legacy.consumer-component';
|
|
3
3
|
import { SerializedComponentDependency } from './component-dependency';
|
|
4
4
|
import { DependencyFactory } from '../dependency-factory';
|
|
5
5
|
import { DependencyList } from '../dependency-list';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_componentId","_pkgModules","_componentDependency","_dependencyList","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ComponentDependencyFactory","constructor","componentAspect","type","TYPE","parse","serialized","id","componentId","ComponentID","scope","fromObject","Error","ComponentDependency","isExtension","packageName","version","lifecycle","source","hidden","optional","versionRange","fromLegacyComponent","legacyComponent","runtimeDeps","mapSeries","dependencies","get","dep","transformLegacyComponentDepToSerializedDependency","devDeps","devDependencies","peerDeps","peerDependencies","extensionDeps","extensions","extension","transformLegacyComponentExtensionToSerializedDependency","filteredExtensionDeps","compact","serializedComponentDeps","componentDeps","dependencyList","DependencyList","legacyDep","host","getHost","depComponent","getLegacyMinimal","componentIdToPackageName","toString","serialize","_legacy","getVersion","__type","extensionId","undefined","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 type { ExtensionDataEntry } from '@teambit/legacy.extension-data';\nimport { componentIdToPackageName } from '@teambit/pkg.modules.component-package-name';\nimport { ComponentDependency, SerializedComponentDependency, TYPE } from './component-dependency';\nimport { DependencyLifecycleType } from '../dependency';\nimport { DependencyFactory } from '../dependency-factory';\nimport { DependencyList } from '../dependency-list';\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 parse<ComponentDependency, S extends SerializedComponentDependency>(serialized: S): 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 serialized.optional,\n serialized.versionRange\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 peerDeps = await mapSeries(legacyComponent.peerDependencies.get(), (dep) =>\n this.transformLegacyComponentDepToSerializedDependency(dep, 'peer')\n );\n const extensionDeps = await mapSeries(legacyComponent.extensions, (extension: ExtensionDataEntry) =>\n this.transformLegacyComponentExtensionToSerializedDependency(extension, 'dev')\n );\n const filteredExtensionDeps: SerializedComponentDependency[] = compact(extensionDeps);\n const serializedComponentDeps = [...runtimeDeps, ...devDeps, ...peerDeps, ...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 = 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 versionRange: legacyDep.versionRange,\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 = 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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_componentId","_pkgModules","_componentDependency","_dependencyList","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ComponentDependencyFactory","constructor","componentAspect","type","TYPE","parse","serialized","id","componentId","ComponentID","scope","fromObject","Error","ComponentDependency","isExtension","packageName","version","lifecycle","source","hidden","optional","versionRange","fromLegacyComponent","legacyComponent","runtimeDeps","mapSeries","dependencies","get","dep","transformLegacyComponentDepToSerializedDependency","devDeps","devDependencies","peerDeps","peerDependencies","extensionDeps","extensions","extension","transformLegacyComponentExtensionToSerializedDependency","filteredExtensionDeps","compact","serializedComponentDeps","componentDeps","dependencyList","DependencyList","legacyDep","host","getHost","depComponent","getLegacyMinimal","componentIdToPackageName","toString","serialize","_legacy","getVersion","__type","extensionId","undefined","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 {\n ConsumerComponent as LegacyComponent,\n Dependency,\n Dependency as LegacyDependency,\n} from '@teambit/legacy.consumer-component';\nimport type { ExtensionDataEntry } from '@teambit/legacy.extension-data';\nimport { componentIdToPackageName } from '@teambit/pkg.modules.component-package-name';\nimport { ComponentDependency, SerializedComponentDependency, TYPE } from './component-dependency';\nimport { DependencyLifecycleType } from '../dependency';\nimport { DependencyFactory } from '../dependency-factory';\nimport { DependencyList } from '../dependency-list';\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 parse<ComponentDependency, S extends SerializedComponentDependency>(serialized: S): 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 serialized.optional,\n serialized.versionRange\n ) as unknown as ComponentDependency;\n }\n\n async fromLegacyComponent(legacyComponent: LegacyComponent): Promise<DependencyList> {\n const runtimeDeps = await mapSeries(legacyComponent.dependencies.get(), (dep: Dependency) =>\n this.transformLegacyComponentDepToSerializedDependency(dep, 'runtime')\n );\n const devDeps = await mapSeries(legacyComponent.devDependencies.get(), (dep: Dependency) =>\n this.transformLegacyComponentDepToSerializedDependency(dep, 'dev')\n );\n const peerDeps = await mapSeries(legacyComponent.peerDependencies.get(), (dep: Dependency) =>\n this.transformLegacyComponentDepToSerializedDependency(dep, 'peer')\n );\n const extensionDeps = await mapSeries(legacyComponent.extensions, (extension: ExtensionDataEntry) =>\n this.transformLegacyComponentExtensionToSerializedDependency(extension, 'dev')\n );\n const filteredExtensionDeps: SerializedComponentDependency[] = compact(extensionDeps);\n const serializedComponentDeps = [...runtimeDeps, ...devDeps, ...peerDeps, ...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 = 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 versionRange: legacyDep.versionRange,\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 = 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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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import LegacyComponent from '@teambit/legacy
|
|
1
|
+
import { ConsumerComponent as LegacyComponent } from '@teambit/legacy.consumer-component';
|
|
2
2
|
import { Dependency, SerializedDependency } from './dependency';
|
|
3
3
|
import { DependencyList } from './dependency-list';
|
|
4
4
|
export interface DependencyFactory {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["dependency-factory.ts"],"sourcesContent":["import LegacyComponent from '@teambit/legacy
|
|
1
|
+
{"version":3,"names":[],"sources":["dependency-factory.ts"],"sourcesContent":["import { ConsumerComponent as LegacyComponent } from '@teambit/legacy.consumer-component';\nimport { Dependency, SerializedDependency } from './dependency';\nimport { DependencyList } from './dependency-list';\n\n// export interface DependencyFactory<T extends Dependency, U extends SerializedDependency> {\n// parse(serializedDependency: U): T;\n// }\n\n// export interface DependencyFactory {\n// parse<T extends Dependency, U extends SerializedDependency>(serializedDependency: U): T;\n// }\n\nexport interface DependencyFactory {\n type: string;\n parse: <T extends Dependency, U extends SerializedDependency>(serializedDependency: U) => T;\n fromLegacyComponent?: (legacyComponent: LegacyComponent) => Promise<DependencyList>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import LegacyComponent from '@teambit/legacy
|
|
1
|
+
import { ConsumerComponent as LegacyComponent } from '@teambit/legacy.consumer-component';
|
|
2
2
|
import { DependencyFactory } from './dependency-factory';
|
|
3
3
|
import { SerializedDependency } from './dependency';
|
|
4
4
|
import { DependencyList } from './dependency-list';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_dependencyList","_exceptions","_dependencyResolver","e","__esModule","default","DependencyListFactory","constructor","factories","fromSerializedDependencies","serializedDependencies","dependencies","map","serializedDependency","type","__type","factory","UnknownDepType","dependency","parse","DependencyList","fromLegacyComponent","legacyComponent","lists","mapSeries","Object","values","missingDepsFromModel","getMissingDependenciesByComponentFromModel","push","merge","missingData","issues","getIssueByName","missingPackages","d","flat","componentFromModel","length","fromArray","depListFromModel","getDependenciesFromLegacyModelComponent","filteredDepList","filter","dep","packageName","getPackageName","includes","entry","extensions","findCoreExtension","DependencyResolverAspect","id","get","exports"],"sources":["dependency-list-factory.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport type { MissingPackagesData } from '@teambit/component-issues';\nimport { get } from 'lodash';\nimport LegacyComponent from '@teambit/legacy
|
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_dependencyList","_exceptions","_dependencyResolver","e","__esModule","default","DependencyListFactory","constructor","factories","fromSerializedDependencies","serializedDependencies","dependencies","map","serializedDependency","type","__type","factory","UnknownDepType","dependency","parse","DependencyList","fromLegacyComponent","legacyComponent","lists","mapSeries","Object","values","missingDepsFromModel","getMissingDependenciesByComponentFromModel","push","merge","missingData","issues","getIssueByName","missingPackages","d","flat","componentFromModel","length","fromArray","depListFromModel","getDependenciesFromLegacyModelComponent","filteredDepList","filter","dep","packageName","getPackageName","includes","entry","extensions","findCoreExtension","DependencyResolverAspect","id","get","exports"],"sources":["dependency-list-factory.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport type { MissingPackagesData } from '@teambit/component-issues';\nimport { get } from 'lodash';\nimport { ConsumerComponent as LegacyComponent } from '@teambit/legacy.consumer-component';\nimport { DependencyFactory } from './dependency-factory';\nimport { SerializedDependency } from './dependency';\nimport { DependencyList } from './dependency-list';\nimport { UnknownDepType } from './exceptions';\nimport { DependencyResolverAspect } from '../dependency-resolver.aspect';\n\nexport class DependencyListFactory {\n constructor(private factories: Record<string, DependencyFactory>) {}\n\n fromSerializedDependencies(serializedDependencies: SerializedDependency[]): DependencyList {\n const dependencies = serializedDependencies.map((serializedDependency) => {\n const type = serializedDependency.__type;\n const factory = this.factories[type];\n if (!factory) {\n throw new UnknownDepType(type);\n }\n const dependency = factory.parse(serializedDependency);\n return dependency;\n });\n return new DependencyList(dependencies);\n }\n\n async fromLegacyComponent(legacyComponent: LegacyComponent): Promise<DependencyList> {\n const lists = await mapSeries(Object.values(this.factories), async (factory) => {\n if (factory.fromLegacyComponent && typeof factory.fromLegacyComponent === 'function') {\n return factory.fromLegacyComponent(legacyComponent);\n }\n return new DependencyList([]);\n });\n\n // This is an important step, see comment for the function to better understand\n const missingDepsFromModel = await this.getMissingDependenciesByComponentFromModel(legacyComponent);\n lists.push(missingDepsFromModel);\n return DependencyList.merge(lists);\n }\n\n /**\n * Some time after importing component (for example), there are required dependencies which are not installed yet, they will consider as missing.\n * since the installer it self used the calculated deps for installing we need them to be listed as well.\n * what we do here, is to add deps from the model in case they considered as missing deps in the fs\n * we don't want just to add all of them since some of them might be removed by the user in the fs (in the source code).\n * by intersect the missing deps (deps which are still required in source code) with the deps from model we have a list of deps with all the required\n * data of them\n * @param legacyComponent\n */\n private async getMissingDependenciesByComponentFromModel(legacyComponent: LegacyComponent): Promise<DependencyList> {\n // Use getIssueByName to prevent issues when getting different instances while using both bit from bvm and from the repo\n const missingData = (legacyComponent.issues.getIssueByName('MissingPackagesDependenciesOnFs')?.data ||\n []) as MissingPackagesData[];\n\n const missingPackages: string[] = missingData.map((d) => d.missingPackages).flat();\n const componentFromModel = legacyComponent.componentFromModel;\n if (!missingPackages.length || !componentFromModel) {\n return DependencyList.fromArray([]);\n }\n // All deps defined in model\n const depListFromModel = await this.getDependenciesFromLegacyModelComponent(componentFromModel);\n // Only deps from model which are also required in the current component on fs (currently missing)\n const filteredDepList = depListFromModel.filter((dep) => {\n const packageName = dep.getPackageName?.();\n if (!packageName) {\n return false;\n }\n return missingPackages.includes(packageName);\n });\n return filteredDepList;\n }\n\n /**\n * Get dependencies based on the component from model attached to the legacy (consumer component)\n * @param legacyComponent\n */\n private async getDependenciesFromLegacyModelComponent(legacyComponent: LegacyComponent): Promise<DependencyList> {\n const entry = legacyComponent.extensions.findCoreExtension(DependencyResolverAspect.id);\n if (!entry) {\n return DependencyList.fromArray([]);\n }\n const serializedDependencies: SerializedDependency[] = get(entry, ['data', 'dependencies'], []);\n return this.fromSerializedDependencies(serializedDependencies);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AspectLoaderMain } from '@teambit/aspect-loader';
|
|
2
2
|
import { ComponentMap } from '@teambit/component';
|
|
3
|
-
import { type DependenciesGraph } from '@teambit/
|
|
3
|
+
import { type DependenciesGraph } from '@teambit/scope.objects';
|
|
4
4
|
import { Logger } from '@teambit/logger';
|
|
5
5
|
import { PathAbsolute } from '@teambit/toolbox.path.path';
|
|
6
6
|
import { PeerDependencyRules, ProjectManifest } from '@pnpm/types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_path","_fsExtra","_exceptions","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","args","runPrePostSubscribers","mainAspect","linkedDependencies","JSON","parse","stringify","directDeps","Set","values","manifest","depName","dependencies","devDependencies","add","name","has","forceTeambitHarmonyLink","entries","dir","linkedDeps","isJsonCmd","process","argv","includes","hidePackageManagerOutput","Boolean","inCapsule","env","VERBOSE_PM_OUTPUT","calculatedPmOpts","packageManagerConfigRootDir","dedupeInjectedDeps","dependenciesGraph","version","packageName","MainAspectNotInstallable","dependencyId","lifecycleType","rootComponents","keepExistingModulesDir","cleanCompsNodeModules","err","debug","messagePrefix","messageSuffix","message","setStatusLine","startTime","hrtime","installResult","consoleSuccess","pruneModules","dependencyFilterFn","hasRootComponents","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","workspaceManifest","getWorkspaceManifest","undefined","components","toArray","reduce","acc","component","getPackageName","componentsManifestsMap","get","toJson","copyPeerToRuntime","promises","map","nmDir","path","join","fs","remove","Promise","all","subscribers","type","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 { type DependenciesGraph } from '@teambit/legacy/dist/scope/models/dependencies-graph';\nimport { Logger } from '@teambit/logger';\nimport { PathAbsolute } from '@teambit/toolbox.path.path';\nimport { PeerDependencyRules, ProjectManifest } from '@pnpm/types';\nimport { MainAspectNotInstallable, RootDirNotDefined } from './exceptions';\nimport { PackageManager, PackageManagerInstallOptions, PackageImportMethod } from './package-manager';\nimport { WorkspacePolicy } from './policy';\nimport { CreateFromComponentsOptions } from './manifest';\nimport { DependencyResolverMain } from './dependency-resolver.main.runtime';\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 dedupeInjectedDeps?: boolean;\n dependenciesGraph?: DependenciesGraph;\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 isJsonCmd = process.argv.includes('--json') || process.argv.includes('-j');\n const hidePackageManagerOutput =\n Boolean(this.installingContext.inCapsule && process.env.VERBOSE_PM_OUTPUT !== 'true') || isJsonCmd;\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 dedupeInjectedDeps: options.dedupeInjectedDeps,\n dependenciesGraph: options.dependenciesGraph,\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 try {\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 } catch (err) {\n this.logger.debug('failed to remove node_modules directories from components', err);\n // A failure to remove the node_modules directory should not cause the process to fail\n }\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 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 }\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_path","_fsExtra","_exceptions","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","args","runPrePostSubscribers","mainAspect","linkedDependencies","JSON","parse","stringify","directDeps","Set","values","manifest","depName","dependencies","devDependencies","add","name","has","forceTeambitHarmonyLink","entries","dir","linkedDeps","isJsonCmd","process","argv","includes","hidePackageManagerOutput","Boolean","inCapsule","env","VERBOSE_PM_OUTPUT","calculatedPmOpts","packageManagerConfigRootDir","dedupeInjectedDeps","dependenciesGraph","version","packageName","MainAspectNotInstallable","dependencyId","lifecycleType","rootComponents","keepExistingModulesDir","cleanCompsNodeModules","err","debug","messagePrefix","messageSuffix","message","setStatusLine","startTime","hrtime","installResult","consoleSuccess","pruneModules","dependencyFilterFn","hasRootComponents","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","workspaceManifest","getWorkspaceManifest","undefined","components","toArray","reduce","acc","component","getPackageName","componentsManifestsMap","get","toJson","copyPeerToRuntime","promises","map","nmDir","path","join","fs","remove","Promise","all","subscribers","type","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 { type DependenciesGraph } from '@teambit/scope.objects';\nimport { Logger } from '@teambit/logger';\nimport { PathAbsolute } from '@teambit/toolbox.path.path';\nimport { PeerDependencyRules, ProjectManifest } from '@pnpm/types';\nimport { MainAspectNotInstallable, RootDirNotDefined } from './exceptions';\nimport { PackageManager, PackageManagerInstallOptions, PackageImportMethod } from './package-manager';\nimport { WorkspacePolicy } from './policy';\nimport { CreateFromComponentsOptions } from './manifest';\nimport { DependencyResolverMain } from './dependency-resolver.main.runtime';\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 dedupeInjectedDeps?: boolean;\n dependenciesGraph?: DependenciesGraph;\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 isJsonCmd = process.argv.includes('--json') || process.argv.includes('-j');\n const hidePackageManagerOutput =\n Boolean(this.installingContext.inCapsule && process.env.VERBOSE_PM_OUTPUT !== 'true') || isJsonCmd;\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 dedupeInjectedDeps: options.dedupeInjectedDeps,\n dependenciesGraph: options.dependenciesGraph,\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 try {\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 } catch (err) {\n this.logger.debug('failed to remove node_modules directories from components', err);\n // A failure to remove the node_modules directory should not cause the process to fail\n }\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 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 }\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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","ignoreList":[]}
|
|
@@ -7,9 +7,9 @@ import type { LoggerMain } from '@teambit/logger';
|
|
|
7
7
|
import { GraphqlMain } from '@teambit/graphql';
|
|
8
8
|
import { Logger } from '@teambit/logger';
|
|
9
9
|
import { ExtensionDataList } from '@teambit/legacy.extension-data';
|
|
10
|
-
import { ProxyConfig, NetworkConfig } from '@teambit/
|
|
10
|
+
import { ProxyConfig, NetworkConfig } from '@teambit/scope.network';
|
|
11
11
|
import { onTagIdTransformer } from '@teambit/snapping';
|
|
12
|
-
import LegacyComponent from '@teambit/legacy
|
|
12
|
+
import { ConsumerComponent as LegacyComponent } from '@teambit/legacy.consumer-component';
|
|
13
13
|
import { ComponentID } from '@teambit/component-id';
|
|
14
14
|
import { SourceFile } from '@teambit/component.sources';
|
|
15
15
|
import { ProjectManifest } from '@pnpm/types';
|
|
@@ -31,7 +31,7 @@ import { DependencyDetector } from './dependency-detector';
|
|
|
31
31
|
import { EnvPolicy } from './policy/env-policy';
|
|
32
32
|
export declare const BIT_CLOUD_REGISTRY: string;
|
|
33
33
|
export declare const NPM_REGISTRY = "https://registry.npmjs.org/";
|
|
34
|
-
export { ProxyConfig, NetworkConfig } from '@teambit/
|
|
34
|
+
export { ProxyConfig, NetworkConfig } from '@teambit/scope.network';
|
|
35
35
|
export interface DependencyResolverComponentData {
|
|
36
36
|
packageName: string;
|
|
37
37
|
policy: SerializedVariantPolicy;
|
|
@@ -7,13 +7,13 @@ exports.NPM_REGISTRY = exports.DependencyResolverMain = exports.BIT_CLOUD_REGIST
|
|
|
7
7
|
Object.defineProperty(exports, "NetworkConfig", {
|
|
8
8
|
enumerable: true,
|
|
9
9
|
get: function () {
|
|
10
|
-
return
|
|
10
|
+
return _scope().NetworkConfig;
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "ProxyConfig", {
|
|
14
14
|
enumerable: true,
|
|
15
15
|
get: function () {
|
|
16
|
-
return
|
|
16
|
+
return _scope().ProxyConfig;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
function _multimatch() {
|
|
@@ -114,16 +114,16 @@ function _logger() {
|
|
|
114
114
|
};
|
|
115
115
|
return data;
|
|
116
116
|
}
|
|
117
|
-
function
|
|
118
|
-
const data = require("@teambit/legacy
|
|
119
|
-
|
|
117
|
+
function _legacy() {
|
|
118
|
+
const data = require("@teambit/legacy.constants");
|
|
119
|
+
_legacy = function () {
|
|
120
120
|
return data;
|
|
121
121
|
};
|
|
122
122
|
return data;
|
|
123
123
|
}
|
|
124
|
-
function
|
|
124
|
+
function _legacy2() {
|
|
125
125
|
const data = require("@teambit/legacy.extension-data");
|
|
126
|
-
|
|
126
|
+
_legacy2 = function () {
|
|
127
127
|
return data;
|
|
128
128
|
};
|
|
129
129
|
return data;
|
|
@@ -142,16 +142,16 @@ function _dependencies() {
|
|
|
142
142
|
};
|
|
143
143
|
return data;
|
|
144
144
|
}
|
|
145
|
-
function
|
|
146
|
-
const data = require("@teambit/
|
|
147
|
-
|
|
145
|
+
function _scope() {
|
|
146
|
+
const data = require("@teambit/scope.network");
|
|
147
|
+
_scope = function () {
|
|
148
148
|
return data;
|
|
149
149
|
};
|
|
150
150
|
return data;
|
|
151
151
|
}
|
|
152
|
-
function
|
|
153
|
-
const data =
|
|
154
|
-
|
|
152
|
+
function _legacy3() {
|
|
153
|
+
const data = require("@teambit/legacy.consumer-component");
|
|
154
|
+
_legacy3 = function () {
|
|
155
155
|
return data;
|
|
156
156
|
};
|
|
157
157
|
return data;
|
|
@@ -219,9 +219,9 @@ function _applyUpdates() {
|
|
|
219
219
|
};
|
|
220
220
|
return data;
|
|
221
221
|
}
|
|
222
|
-
function
|
|
222
|
+
function _constants() {
|
|
223
223
|
const data = require("./dependencies/constants");
|
|
224
|
-
|
|
224
|
+
_constants = function () {
|
|
225
225
|
return data;
|
|
226
226
|
};
|
|
227
227
|
return data;
|
|
@@ -325,7 +325,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
325
325
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
326
326
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
327
327
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
328
|
-
const BIT_CLOUD_REGISTRY = exports.BIT_CLOUD_REGISTRY = `https://node-registry.${(0,
|
|
328
|
+
const BIT_CLOUD_REGISTRY = exports.BIT_CLOUD_REGISTRY = `https://node-registry.${(0, _legacy().getCloudDomain)()}/`;
|
|
329
329
|
const NPM_REGISTRY = exports.NPM_REGISTRY = 'https://registry.npmjs.org/';
|
|
330
330
|
const defaultLinkingOptions = {
|
|
331
331
|
linkTeambitBit: true,
|
|
@@ -402,7 +402,7 @@ class DependencyResolverMain {
|
|
|
402
402
|
return Boolean(this.config.rootComponents);
|
|
403
403
|
}
|
|
404
404
|
isolatedCapsules() {
|
|
405
|
-
const globalConfig = this.globalConfig.getSync(
|
|
405
|
+
const globalConfig = this.globalConfig.getSync(_legacy().CFG_ISOLATED_SCOPE_CAPSULES);
|
|
406
406
|
// @ts-ignore
|
|
407
407
|
const defaultVal = globalConfig !== undefined ? globalConfig === true || globalConfig === 'true' : true;
|
|
408
408
|
const res = this.config.isolatedCapsules ?? defaultVal;
|
|
@@ -612,7 +612,7 @@ class DependencyResolverMain {
|
|
|
612
612
|
* @returns {WorkspaceManifest}
|
|
613
613
|
* @memberof DependencyResolverMain
|
|
614
614
|
*/
|
|
615
|
-
async getWorkspaceManifest(name =
|
|
615
|
+
async getWorkspaceManifest(name = _constants().ROOT_NAME, version = new (_semver().SemVer)('1.0.0'), rootPolicy, rootDir, components, options = defaultCreateFromComponentsOptions, context = {}) {
|
|
616
616
|
const statusMessage = context?.inCapsule ? `(capsule) deduping dependencies for installation in root dir ${rootDir}` : 'deduping dependencies for installation';
|
|
617
617
|
if (!context?.inCapsule) {
|
|
618
618
|
this.logger.setStatusLine(statusMessage);
|
|
@@ -712,7 +712,7 @@ class DependencyResolverMain {
|
|
|
712
712
|
getInstaller(options = {}) {
|
|
713
713
|
const packageManagerName = options.packageManager || this.config.packageManager;
|
|
714
714
|
const packageManager = this.packageManagerSlot.get(packageManagerName);
|
|
715
|
-
const cacheRootDir = options.cacheRootDirectory || this.globalConfig.getSync(
|
|
715
|
+
const cacheRootDir = options.cacheRootDirectory || this.globalConfig.getSync(_legacy().CFG_PACKAGE_MANAGER_CACHE);
|
|
716
716
|
if (!packageManager) {
|
|
717
717
|
throw new (_exceptions().PackageManagerNotFound)(this.config.packageManager);
|
|
718
718
|
}
|
|
@@ -754,7 +754,7 @@ class DependencyResolverMain {
|
|
|
754
754
|
}
|
|
755
755
|
async getVersionResolver(options = {}) {
|
|
756
756
|
const packageManager = this.getPackageManager();
|
|
757
|
-
const cacheRootDir = options.cacheRootDirectory || this.globalConfig.getSync(
|
|
757
|
+
const cacheRootDir = options.cacheRootDirectory || this.globalConfig.getSync(_legacy().CFG_PACKAGE_MANAGER_CACHE);
|
|
758
758
|
if (!packageManager) {
|
|
759
759
|
throw new (_exceptions().PackageManagerNotFound)(this.config.packageManager);
|
|
760
760
|
}
|
|
@@ -831,7 +831,7 @@ class DependencyResolverMain {
|
|
|
831
831
|
return networkConfig;
|
|
832
832
|
}
|
|
833
833
|
async getNetworkConfigFromGlobalConfig() {
|
|
834
|
-
const globalNetworkConfig = await
|
|
834
|
+
const globalNetworkConfig = await _scope().Http.getNetworkConfig();
|
|
835
835
|
if (!globalNetworkConfig.ca && globalNetworkConfig.cafile) {
|
|
836
836
|
globalNetworkConfig.ca = (0, _network().readCAFileSync)(globalNetworkConfig.cafile);
|
|
837
837
|
}
|
|
@@ -869,7 +869,7 @@ class DependencyResolverMain {
|
|
|
869
869
|
return proxyConfigFromPackageManager;
|
|
870
870
|
}
|
|
871
871
|
getProxyConfigFromGlobalConfig() {
|
|
872
|
-
return
|
|
872
|
+
return _scope().Http.getProxyConfig();
|
|
873
873
|
}
|
|
874
874
|
|
|
875
875
|
/**
|
|
@@ -907,7 +907,7 @@ class DependencyResolverMain {
|
|
|
907
907
|
registries = await systemPm.getRegistries();
|
|
908
908
|
}
|
|
909
909
|
const getDefaultBitRegistry = () => {
|
|
910
|
-
const bitGlobalConfigRegistry = this.globalConfig.getSync(
|
|
910
|
+
const bitGlobalConfigRegistry = this.globalConfig.getSync(_legacy().CFG_REGISTRY_URL_KEY);
|
|
911
911
|
const bitRegistry = bitGlobalConfigRegistry || BIT_CLOUD_REGISTRY;
|
|
912
912
|
const {
|
|
913
913
|
bitOriginalAuthType,
|
|
@@ -955,7 +955,7 @@ class DependencyResolverMain {
|
|
|
955
955
|
return updatedRegistries;
|
|
956
956
|
}
|
|
957
957
|
getBitAuthConfig() {
|
|
958
|
-
const bitGlobalConfigToken = this.globalConfig.getSync(
|
|
958
|
+
const bitGlobalConfigToken = this.globalConfig.getSync(_legacy().CFG_USER_TOKEN_KEY);
|
|
959
959
|
const res = {
|
|
960
960
|
bitOriginalAuthType: '',
|
|
961
961
|
bitAuthHeaderValue: '',
|
|
@@ -1437,7 +1437,7 @@ class DependencyResolverMain {
|
|
|
1437
1437
|
// TODO: solve this generics issue and remove the ts-ignore
|
|
1438
1438
|
// @ts-ignore
|
|
1439
1439
|
dependencyResolver.registerDependencyFactories([new (_dependencies2().ComponentDependencyFactory)(componentAspect)]);
|
|
1440
|
-
|
|
1440
|
+
_legacy3().ConsumerComponent.registerOnComponentOverridesLoading(_dependencyResolver().DependencyResolverAspect.id, async (configuredExtensions, id, legacyFiles) => {
|
|
1441
1441
|
const policy = await dependencyResolver.mergeVariantPolicies(configuredExtensions, id, legacyFiles);
|
|
1442
1442
|
return policy.toLegacyDepsOverrides();
|
|
1443
1443
|
});
|
|
@@ -1458,7 +1458,7 @@ class DependencyResolverMain {
|
|
|
1458
1458
|
}
|
|
1459
1459
|
});
|
|
1460
1460
|
};
|
|
1461
|
-
|
|
1461
|
+
_legacy2().ExtensionDataList.toModelObjectsHook.push(serializeDepResolverDataBeforePersist);
|
|
1462
1462
|
_workspaceModules().PackageJsonTransformer.registerPackageJsonTransformer(async (component, packageJsonObject) => {
|
|
1463
1463
|
const deps = dependencyResolver.getDependencies(component);
|
|
1464
1464
|
const {
|