@teambit/importer 1.0.988 → 1.0.990
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/dist/import-components.d.ts +7 -0
- package/dist/import-components.js +71 -7
- package/dist/import-components.js.map +1 -1
- package/dist/import.cmd.d.ts +1 -0
- package/dist/import.cmd.js +13 -1
- package/dist/import.cmd.js.map +1 -1
- package/dist/{preview-1778866535146.js → preview-1779129522483.js} +2 -2
- package/package.json +12 -12
|
@@ -26,6 +26,7 @@ export type ImportOptions = {
|
|
|
26
26
|
objectsOnly?: boolean;
|
|
27
27
|
importDependenciesDirectly?: boolean;
|
|
28
28
|
importHeadDependenciesDirectly?: boolean;
|
|
29
|
+
dependenciesDepth?: number;
|
|
29
30
|
importDependents?: boolean;
|
|
30
31
|
dependentsVia?: string;
|
|
31
32
|
dependentsAll?: boolean;
|
|
@@ -141,6 +142,12 @@ export default class ImportComponents {
|
|
|
141
142
|
private getBitIdsForNonLanes;
|
|
142
143
|
private getBitIds;
|
|
143
144
|
private getFlattenedDepsUnique;
|
|
145
|
+
private getAllFlattenedDeps;
|
|
146
|
+
/**
|
|
147
|
+
* Single remote fetch; BFS in-process over each root version's `flattenedEdges`
|
|
148
|
+
* (which captures the full transitive graph rooted at that version).
|
|
149
|
+
*/
|
|
150
|
+
private getDepsByDepth;
|
|
144
151
|
private uniqWithoutVersions;
|
|
145
152
|
private removeMultipleVersionsKeepLatest;
|
|
146
153
|
importAccordingToBitMap(): Promise<ImportResult>;
|
|
@@ -608,15 +608,79 @@ if you just want to get a quick look into this snap, create a new workspace and
|
|
|
608
608
|
return _componentId().ComponentIdList.uniqFromArray(bitIds);
|
|
609
609
|
}
|
|
610
610
|
async getFlattenedDepsUnique(bitIds) {
|
|
611
|
+
const flattened = this.options.dependenciesDepth ? await this.getDepsByDepth(bitIds, this.options.dependenciesDepth) : await this.getAllFlattenedDeps(bitIds);
|
|
612
|
+
return this.options.importHeadDependenciesDirectly ? this.uniqWithoutVersions(flattened) : this.removeMultipleVersionsKeepLatest(flattened);
|
|
613
|
+
}
|
|
614
|
+
async getAllFlattenedDeps(bitIds) {
|
|
611
615
|
const remoteComps = await this.scope.scopeImporter.getManyRemoteComponents(bitIds);
|
|
612
616
|
const versions = remoteComps.getVersions();
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
617
|
+
return _componentId().ComponentIdList.uniqFromArray(versions.flatMap(v => [...v.flattenedDependencies]));
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
/**
|
|
621
|
+
* Single remote fetch; BFS in-process over each root version's `flattenedEdges`
|
|
622
|
+
* (which captures the full transitive graph rooted at that version).
|
|
623
|
+
*/
|
|
624
|
+
async getDepsByDepth(bitIds, depth) {
|
|
625
|
+
const idList = _componentId().ComponentIdList.fromArray(bitIds);
|
|
626
|
+
await this.scope.scopeImporter.importWithoutDeps(idList, {
|
|
627
|
+
cache: true,
|
|
628
|
+
lane: this.remoteLane
|
|
629
|
+
});
|
|
630
|
+
// defaultToLatestVersion=true so versionless inputs (e.g. `bit import scope/foo`) resolve
|
|
631
|
+
// to the fetched head, instead of throwing inside getComponentsAndVersions.
|
|
632
|
+
const componentsAndVersions = await this.scope.getComponentsAndVersions(idList, true);
|
|
633
|
+
|
|
634
|
+
// build adjacency from the merged flattenedEdges of all root versions
|
|
635
|
+
const adjacency = new Map();
|
|
636
|
+
const missingEdges = [];
|
|
637
|
+
for (const {
|
|
638
|
+
component,
|
|
639
|
+
versionStr,
|
|
640
|
+
version
|
|
641
|
+
} of componentsAndVersions) {
|
|
642
|
+
const edges = await version.getFlattenedEdges(this.scope.objects);
|
|
643
|
+
if (!edges.length && version.flattenedDependencies.length) {
|
|
644
|
+
missingEdges.push(`${component.toComponentId().toStringWithoutVersion()}@${versionStr}`);
|
|
645
|
+
continue;
|
|
646
|
+
}
|
|
647
|
+
for (const edge of edges) {
|
|
648
|
+
const key = edge.source.toString();
|
|
649
|
+
const targets = adjacency.get(key);
|
|
650
|
+
if (targets) targets.push(edge.target);else adjacency.set(key, [edge.target]);
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
if (missingEdges.length) {
|
|
654
|
+
throw new (_bitError().BitError)(`unable to honor "--dependencies-depth": dependency-graph data (flattenedEdges) is missing for the following component(s):
|
|
655
|
+
${missingEdges.map(id => ` ${id}`).join('\n')}
|
|
656
|
+
this typically happens for components tagged before bit 0.0.901, or when the remote scope is on an older version.
|
|
657
|
+
re-run without "--dependencies-depth" to import all transitive dependencies, or re-tag the component(s) on a newer bit.`);
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
// BFS up to `depth` levels. roots tracked without version because input may be versionless
|
|
661
|
+
// while dep references inside the graph carry a specific hash.
|
|
662
|
+
const rootKeysNoVersion = new Set(bitIds.map(id => id.toStringWithoutVersion()));
|
|
663
|
+
const collected = new Map();
|
|
664
|
+
const visited = new Set();
|
|
665
|
+
let currentBatch = componentsAndVersions.map(({
|
|
666
|
+
component,
|
|
667
|
+
versionStr
|
|
668
|
+
}) => component.toComponentId().changeVersion(versionStr));
|
|
669
|
+
for (let level = 0; level < depth && currentBatch.length; level++) {
|
|
670
|
+
const nextBatch = [];
|
|
671
|
+
for (const id of currentBatch) {
|
|
672
|
+
const targets = adjacency.get(id.toString()) || [];
|
|
673
|
+
for (const target of targets) {
|
|
674
|
+
const key = target.toString();
|
|
675
|
+
if (visited.has(key) || rootKeysNoVersion.has(target.toStringWithoutVersion())) continue;
|
|
676
|
+
visited.add(key);
|
|
677
|
+
collected.set(key, target);
|
|
678
|
+
nextBatch.push(target);
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
currentBatch = nextBatch;
|
|
682
|
+
}
|
|
683
|
+
return _componentId().ComponentIdList.uniqFromArray(Array.from(collected.values()));
|
|
620
684
|
}
|
|
621
685
|
uniqWithoutVersions(flattened) {
|
|
622
686
|
const latest = flattened.toVersionLatest();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bitError","data","require","_pMapSeries","_interopRequireDefault","_componentId","_legacy","_legacy2","_componentModules","_legacy3","_componentVersion","_lodash","_dependentsGetter","_lister","_toolboxPromise","_harmonyModules","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","BEFORE_IMPORT_ACTION","ImportComponents","visibleLaneIds","_visibleLaneIds","remoteLane","toComponentIds","ComponentIdList","constructor","workspace","graph","componentWriter","envs","logger","lister","options","consumer","scope","lanes","importComponents","result","setStatusLine","startTime","process","hrtime","ids","importObjectsOnLane","consoleSuccess","importSpecificComponents","importAccordingToBitMap","objectsOnly","Error","lane","bitIds","getBitIds","debug","id","toString","beforeImportVersions","_getCurrentVersions","versionDependenciesArr","_importComponentsObjects","mergeAndSaveLaneObject","returnCompleteResults","writtenComponents","componentWriterResults","importDetails","_getImportDetails","missingIds","importedComps","map","c","component","toStringWithoutVersion","compIdStr","found","includes","importedIds","v","flat","importedDeps","allDependenciesIds","installationError","compilationError","workspaceConfigUpdateResult","owner","importByOwner","join","_throwForPotentialIssues","fetchVersionDependenciesForImport","processAndWriteComponents","hiddenRaw","others","partition","Boolean","findUpdateDependent","othersList","fromArray","hiddenNeedingHead","hasVersion","headDefs","sources","getMany","headByIdStr","Map","head","hiddenIds","mainHead","get","changeVersion","ownerName","scopeIds","failedScopes","failedScopesErrors","getRemoteCompIdsByOwnerGrouped","includeDeprecated","accWritten","accImportedIds","accImportedDeps","accImportDetails","accMissingIds","anyImported","importFailedScopes","allFailedScopesErrors","scopeEntries","Array","from","entries","totalScopes","completedScopes","scopeName","idList","beforeVersions","versionDeps","err","set","message","consoleFailure","importedIdStrs","Set","has","components","multipleVersionDependenciesToConsumer","objects","_fetchDivergeData","_throwForDivergedHistory","divergeData","throwForComponentsFromAnotherLane","filtered","_filterComponentsByFilters","componentsToWrite","updateAllComponentsAccordingToMergeStrategy","writeComponentsFiles","_buildScopeWriteOpts","BitError","failedDetails","errMsg","consoleWarning","finalizeWrite","shouldUpdateWorkspaceConfig","_saveLaneDataIfNeeded","extra","writeToPath","writeConfig","skipDependencyInstallation","installNpmPackages","skipWriteConfigFiles","writeConfigFiles","verbose","throwForExistingDir","override","skipWritingToFs","trackOnly","reasonForBitmapChange","writeDeps","filteredComponents","_writeToFileSystem","mergeLaneResults","mergeLane","mergedLane","isRemoteLaneEqualsToMergedLane","isEqual","saveLane","saveLaneHistory","laneHistoryMsg","filterEnvs","filteredP","currentEnv","calculateEnvIdFromExtensions","extensions","currentEnvWithoutVersion","split","undefined","compact","Promise","all","pMapPool","fromWorkspace","getIdIfExist","modelComponent","getModelComponent","setDivergeData","concurrency","concurrentComponentsLimit","merge","divergedComponents","getDivergeData","isDiverged","snapsLocal","snapsOnSourceOnly","snapsRemote","snapsOnTargetOnly","ComponentsPendingMerge","currentLaneId","getCurrentLaneId","currentRemoteLane","toLaneId","currentLane","getCurrentLaneObject","idsFromAnotherLane","bitId","isOnCurrentLane","isPartOfLaneHistoryOrMain","isIdOnMain","isPartOfMainHistory","fromOriginalScope","ignoreMissingHead","scopeComponentsImporter","ScopeComponentsImporter","getInstance","importWithoutDeps","toVersionLatest","cache","includeVersionHistory","fetchHeadIfLocalIsBehind","allHistory","collectParents","includeUnexported","isLaneFromRemote","reason","results","importManyFromOriginalScopes","importMany","preferDependencyGraph","fetchDeps","reFetchUnBuiltVersion","throwForSeederNotFound","getBitIdsForLanes","remoteLaneIds","toComponentIdsIncludeUpdateDependents","visibleRemoteLaneIds","bitMapIds","bitMap","getAllBitIds","bitMapIdsToImport","hasScope","idsWithWildcard","hasWildcard","idsWithoutWildcard","idsWithoutWildcardPreferFromLane","idStr","getIdFromStr","fromLane","searchWithoutVersion","pMapSeries","existingOnLanes","filterIdsFromPoolIdsByPattern","laneOnly","idsFromRemote","getRemoteCompIdsByWildcards","laneIds","mainOnlyIds","startsWith","resolveComponentIdFromPackageName","ComponentID","fromString","getBitIdsForNonLanes","NoIdMatchWildcard","error","shouldImportDependents","importDependents","dependentsVia","dependentsAll","shouldImportDependencies","importDependenciesDirectly","importHeadDependenciesDirectly","dependenciesIds","getFlattenedDepsUnique","dependentsGetter","DependentsGetter","dependents","getDependents","uniqFromArray","remoteComps","scopeImporter","getManyRemoteComponents","versions","getVersions","getFlattened","flattenedDependencies","flattenedDeps","flattened","uniqWithoutVersions","removeMultipleVersionsKeepLatest","latest","grouped","toGroupByIdWithoutVersion","latestVersions","key","getLatestVersionNumber","LATEST_VERSION","componentsIdsToImport","getIdsToImportFromBitmap","emptyResult","_throwForModifiedOrNewComponents","flagUsed","allIds","getAllBitIdsFromAllLanes","versionsP","getModelComponentIfExist","listVersions","fromPairs","currentVersions","afterImportVersions","versionDifference","difference","getStatus","filesStatus","mergeStatus","deprecated","isDeprecated","version","removed","isRemoved","latestVersion","getHeadRegardlessOfLaneAsTagOrHash","status","missingDeps","getMissingDependencies","_throwForDifferentComponentWithSameName","componentsStatuses","getManyComponentsStatuses","modifiedComponents","modified","newlyCreated","existingId","getParsedIdIfExist","_getMergeStatus","componentStatus","getComponentStatusById","mergeResults","componentModel","existingBitMapBitId","getComponentId","ignoreVersion","fsComponent","loadComponent","currentlyUsedVersion","baseComponent","loadVersion","otherComponent","threeWayMerge","otherLabel","currentComponent","currentLabel","_updateComponentFilesPerMergeStrategy","componentMergeStatus","files","hasConflicts","mergeStrategy","MergeOptions","ours","file","pathNormalizeToLinux","relative","FileStatus","unchanged","updateComponentId","hasChanged","theirs","updated","modifiedFiles","applyModifiedVersion","componentsStatusP","componentsStatus","componentWithConflict","find","getMergeStrategyInteractive","unchangedFiles","_shouldSaveLaneData","isOnLane","idsFromRemoteLanes","comp","existOnRemoteLane","saveInLane","setOnLanesOnly","ref","getRef","addComponent","manyComponentsWriterOpts","writeMany","exports"],"sources":["import-components.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport type { LaneId } from '@teambit/lane-id';\nimport pMapSeries from 'p-map-series';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport { ComponentsPendingMerge } from '@teambit/legacy.consumer';\nimport type { Lane, ModelComponent, Version } from '@teambit/objects';\nimport { getLatestVersionNumber, pathNormalizeToLinux, hasWildcard } from '@teambit/legacy.utils';\nimport type { ConsumerComponent as Component } from '@teambit/legacy.consumer-component';\nimport type { MergeStrategy, MergeResultsThreeWay, FilesStatus } from '@teambit/component.modules.merge-helper';\nimport {\n applyModifiedVersion,\n FileStatus,\n getMergeStrategyInteractive,\n MergeOptions,\n threeWayMerge,\n} from '@teambit/component.modules.merge-helper';\nimport type { VersionDependencies, Scope } from '@teambit/legacy.scope';\nimport { multipleVersionDependenciesToConsumer, ScopeComponentsImporter } from '@teambit/legacy.scope';\nimport type { GraphMain } from '@teambit/graph';\nimport type { Workspace } from '@teambit/workspace';\nimport type {\n ComponentWriterMain,\n ComponentWriterResults,\n ManyComponentsWriterParams,\n} from '@teambit/component-writer';\nimport { LATEST_VERSION } from '@teambit/component-version';\nimport type { EnvsMain } from '@teambit/envs';\nimport { compact, difference, fromPairs, partition } from 'lodash';\nimport type { WorkspaceConfigUpdateResult } from '@teambit/config-merger';\nimport type { Logger } from '@teambit/logger';\nimport { DependentsGetter } from './dependents-getter';\nimport type { ListerMain } from '@teambit/lister';\nimport { NoIdMatchWildcard } from '@teambit/lister';\nimport { pMapPool } from '@teambit/toolbox.promise.map-pool';\nimport { concurrentComponentsLimit } from '@teambit/harmony.modules.concurrency';\n\nconst BEFORE_IMPORT_ACTION = 'importing components';\n\nexport type ImportOptions = {\n ids: string[]; // array might be empty\n verbose?: boolean;\n merge?: boolean;\n mergeStrategy?: MergeStrategy;\n filterEnvs?: string[];\n writeToPath?: string;\n writeConfig?: boolean;\n override?: boolean;\n installNpmPackages: boolean; // default: true\n writeConfigFiles: boolean; // default: true\n objectsOnly?: boolean;\n importDependenciesDirectly?: boolean; // default: false, normally it imports them as packages, not as imported\n importHeadDependenciesDirectly?: boolean; // default: false, similar to importDependenciesDirectly, but it checks out to their head\n importDependents?: boolean;\n dependentsVia?: string;\n dependentsAll?: boolean;\n silent?: boolean; // don't show prompt for --dependents flag\n fromOriginalScope?: boolean; // default: false, otherwise, it fetches flattened dependencies from their dependents\n saveInLane?: boolean; // save the imported component on the current lane (won't be available on main)\n lanes?: {\n laneId: LaneId;\n remoteLane?: Lane; // it can be an empty array when a lane is a local lane and doesn't exist on the remote\n };\n allHistory?: boolean;\n fetchDeps?: boolean; // by default, if a component was tagged with > 0.0.900, it has the flattened-deps-graph in the object\n trackOnly?: boolean;\n includeDeprecated?: boolean;\n isLaneFromRemote?: boolean; // whether the `lanes.lane` object is coming directly from the remote.\n writeDeps?: 'package.json' | 'workspace.jsonc';\n laneOnly?: boolean; // when on a lane, only import components that exist on the lane (preserves legacy behavior)\n owner?: boolean; // treat the id as an owner name and import all components from all scopes of that owner\n};\ntype ComponentMergeStatus = {\n component: Component;\n mergeResults: MergeResultsThreeWay | null | undefined;\n};\ntype ImportedVersions = { [id: string]: string[] };\nexport type ImportStatus = 'added' | 'updated' | 'up to date';\nexport type ImportDetails = {\n id: string;\n versions: string[];\n latestVersion: string | null;\n status: ImportStatus;\n filesStatus: FilesStatus | null | undefined;\n missingDeps: ComponentID[];\n deprecated: boolean;\n removed?: boolean;\n};\nexport type ImportResult = {\n importedIds: ComponentID[];\n importedDeps: ComponentID[];\n writtenComponents?: Component[];\n importDetails: ImportDetails[];\n cancellationMessage?: string;\n installationError?: Error;\n compilationError?: Error;\n workspaceConfigUpdateResult?: WorkspaceConfigUpdateResult;\n missingIds?: string[]; // in case the import is configured to not throw when missing\n lane?: Lane;\n};\n\nexport default class ImportComponents {\n consumer: Consumer;\n scope: Scope;\n mergeStatus: { [id: string]: FilesStatus };\n private remoteLane: Lane | undefined;\n private divergeData: Array<ModelComponent> = [];\n private _visibleLaneIds?: ComponentIdList;\n /** Visible lane components only — excludes hidden `lane.updateDependents`. */\n private get visibleLaneIds(): ComponentIdList {\n if (!this._visibleLaneIds) {\n this._visibleLaneIds = this.remoteLane?.toComponentIds() || new ComponentIdList();\n }\n return this._visibleLaneIds;\n }\n constructor(\n private workspace: Workspace,\n private graph: GraphMain,\n private componentWriter: ComponentWriterMain,\n private envs: EnvsMain,\n private logger: Logger,\n private lister: ListerMain,\n public options: ImportOptions\n ) {\n this.consumer = this.workspace.consumer;\n this.scope = this.consumer.scope;\n this.remoteLane = this.options.lanes?.remoteLane;\n }\n\n async importComponents(): Promise<ImportResult> {\n let result;\n this.logger.setStatusLine(BEFORE_IMPORT_ACTION);\n const startTime = process.hrtime();\n if (this.options.lanes && !this.options.ids.length) {\n result = await this.importObjectsOnLane();\n this.logger.consoleSuccess(BEFORE_IMPORT_ACTION, startTime);\n return result;\n }\n if (this.options.ids.length) {\n result = await this.importSpecificComponents();\n this.logger.consoleSuccess(BEFORE_IMPORT_ACTION, startTime);\n return result;\n }\n result = await this.importAccordingToBitMap();\n this.logger.consoleSuccess(BEFORE_IMPORT_ACTION, startTime);\n return result;\n }\n\n async importObjectsOnLane(): Promise<ImportResult> {\n if (!this.options.objectsOnly) {\n throw new Error(`importObjectsOnLane should have objectsOnly=true`);\n }\n const lane = this.remoteLane;\n const bitIds: ComponentIdList = await this.getBitIds();\n lane\n ? this.logger.debug(`importObjectsOnLane, Lane: ${lane.id()}, Ids: ${bitIds.toString()}`)\n : this.logger.debug(\n `importObjectsOnLane, the lane does not exist on the remote. importing only the main components`\n );\n const beforeImportVersions = await this._getCurrentVersions(bitIds);\n const versionDependenciesArr = await this._importComponentsObjects(bitIds, {\n lane,\n });\n\n if (lane) {\n await this.mergeAndSaveLaneObject(lane);\n }\n\n return this.returnCompleteResults(beforeImportVersions, versionDependenciesArr);\n }\n\n private async returnCompleteResults(\n beforeImportVersions: ImportedVersions,\n versionDependenciesArr: VersionDependencies[],\n writtenComponents?: Component[],\n componentWriterResults?: ComponentWriterResults\n ): Promise<ImportResult> {\n const importDetails = await this._getImportDetails(beforeImportVersions, versionDependenciesArr);\n const missingIds: string[] = [];\n if (Object.keys(beforeImportVersions).length > versionDependenciesArr.length) {\n const importedComps = versionDependenciesArr.map((c) => c.component.id.toStringWithoutVersion());\n Object.keys(beforeImportVersions).forEach((compIdStr) => {\n const found = importedComps.includes(compIdStr);\n if (!found) missingIds.push(compIdStr);\n });\n }\n\n return {\n importedIds: versionDependenciesArr.map((v) => v.component.id).flat(),\n importedDeps: versionDependenciesArr.map((v) => v.allDependenciesIds).flat(),\n writtenComponents,\n importDetails,\n installationError: componentWriterResults?.installationError,\n compilationError: componentWriterResults?.compilationError,\n workspaceConfigUpdateResult: componentWriterResults?.workspaceConfigUpdateResult,\n missingIds,\n lane: this.remoteLane,\n };\n }\n\n async importSpecificComponents(): Promise<ImportResult> {\n // Handle --owner flag with scope-by-scope error handling\n if (this.options.owner && this.options.ids.length === 1) {\n return this.importByOwner(this.options.ids[0]);\n }\n\n this.logger.debug(`importSpecificComponents, Ids: ${this.options.ids.join(', ')}`);\n const bitIds: ComponentIdList = await this.getBitIds();\n const beforeImportVersions = await this._getCurrentVersions(bitIds);\n await this._throwForPotentialIssues(bitIds);\n const versionDependenciesArr = await this.fetchVersionDependenciesForImport(bitIds);\n\n return this.processAndWriteComponents(beforeImportVersions, versionDependenciesArr);\n }\n\n /**\n * Hidden `lane.updateDependents` entries must not resolve through the lane: `laneHeadLocal`\n * carries the cascade head — legitimate for export-pending detection — but it would leak into\n * `toComponentVersion` and land the cascade snap in the bitmap instead of main's tag. Pre-pin\n * hidden ids to `modelComponent.head` and fetch them via the no-lane path. Visible-on-lane\n * and truly off-lane ids stay on the original lane-fetch path so their normal delta logic\n * (lane head for visible, latest-from-main for off-lane) is preserved.\n */\n private async fetchVersionDependenciesForImport(bitIds: ComponentIdList): Promise<VersionDependencies[]> {\n const lane = this.remoteLane;\n if (!lane) {\n return this._importComponentsObjects(bitIds, {});\n }\n const [hiddenRaw, others] = partition(bitIds, (id) => Boolean(lane.findUpdateDependent(id)));\n const othersList = ComponentIdList.fromArray(others);\n const hiddenNeedingHead = hiddenRaw.filter((id) => !id.hasVersion());\n const headDefs = await this.scope.sources.getMany(hiddenNeedingHead);\n const headByIdStr = new Map(\n headDefs.map(({ id, component }) => [id.toStringWithoutVersion(), component?.head] as const)\n );\n const hiddenIds = ComponentIdList.fromArray(\n hiddenRaw.map((id) => {\n if (id.hasVersion()) return id;\n const mainHead = headByIdStr.get(id.toStringWithoutVersion());\n return mainHead ? id.changeVersion(mainHead.toString()) : id;\n })\n );\n const versionDependenciesArr: VersionDependencies[] = [];\n if (othersList.length) {\n const r = await this._importComponentsObjects(othersList, { lane });\n versionDependenciesArr.push(...r);\n }\n if (hiddenIds.length) {\n const r = await this._importComponentsObjects(hiddenIds, {});\n versionDependenciesArr.push(...r);\n }\n return versionDependenciesArr;\n }\n\n /**\n * Import all components from all scopes of an owner, handling errors per-scope.\n *\n * Each scope is streamed through the full fetch → write → release pipeline before the\n * next one is fetched. This keeps peak memory bounded by a single scope's worth of\n * `VersionDependencies` instead of the sum across all scopes, which is what used to\n * blow the 4 GB heap on owners with thousands of components.\n */\n private async importByOwner(ownerName: string): Promise<ImportResult> {\n this.logger.debug(`importByOwner, owner: ${ownerName}`);\n\n const { scopeIds, failedScopes, failedScopesErrors } = await this.lister.getRemoteCompIdsByOwnerGrouped(\n ownerName,\n this.options.includeDeprecated\n );\n\n const accWritten: Component[] = [];\n const accImportedIds: ComponentID[] = [];\n const accImportedDeps: ComponentID[] = [];\n const accImportDetails: ImportDetails[] = [];\n const accMissingIds: string[] = [];\n let anyImported = false;\n\n const importFailedScopes: string[] = [...failedScopes];\n const allFailedScopesErrors: Map<string, string> = new Map(failedScopesErrors);\n\n const scopeEntries = Array.from(scopeIds.entries());\n const totalScopes = scopeEntries.length;\n let completedScopes = 0;\n for (const [scopeName, ids] of scopeEntries) {\n completedScopes++;\n this.logger.setStatusLine(`importing from ${scopeName} [${completedScopes}/${totalScopes}]`);\n const idList = ComponentIdList.fromArray(ids);\n const beforeVersions = await this._getCurrentVersions(idList);\n\n // Only the remote fetch is tolerated per-scope (a failing remote for one scope should\n // not abort the whole owner import). Write/merge/validation errors below propagate.\n let versionDeps: VersionDependencies[];\n try {\n versionDeps = await this._importComponentsObjects(idList, {\n lane: this.remoteLane,\n });\n } catch (err: any) {\n importFailedScopes.push(scopeName);\n allFailedScopesErrors.set(scopeName, err.message);\n this.logger.consoleFailure(`failed to import ${scopeName}`);\n continue;\n }\n\n // Record missing IDs (present in scope before import but not returned by fetch)\n // before any early-continue so they are not under-reported on empty results.\n const importedIdStrs = new Set(versionDeps.map((v) => v.component.id.toStringWithoutVersion()));\n for (const compIdStr of Object.keys(beforeVersions)) {\n if (!importedIdStrs.has(compIdStr)) accMissingIds.push(compIdStr);\n }\n\n if (!versionDeps.length) {\n this.logger.consoleSuccess(`imported ${scopeName} (0 components, nothing to import)`);\n continue;\n }\n anyImported = true;\n\n // Lightweight per-scope info that doesn't depend on merge status.\n for (const v of versionDeps) {\n accImportedIds.push(v.component.id);\n accImportedDeps.push(...v.allDependenciesIds);\n }\n\n // Hydrate + write this scope's components now, so `versionDeps` can be GC'd on the\n // next iteration instead of accumulating across all scopes.\n if (!this.options.objectsOnly) {\n const components = await multipleVersionDependenciesToConsumer(versionDeps, this.scope.objects);\n await this._fetchDivergeData(components);\n this._throwForDivergedHistory();\n this.divergeData = [];\n await this.throwForComponentsFromAnotherLane(components.map((c) => c.id));\n const filtered = await this._filterComponentsByFilters(components);\n if (filtered.length) {\n const componentsToWrite = await this.updateAllComponentsAccordingToMergeStrategy(filtered);\n await this.componentWriter.writeComponentsFiles(this._buildScopeWriteOpts(componentsToWrite));\n accWritten.push(...componentsToWrite);\n }\n }\n\n // Collect import details after merge-strategy processing so `this.mergeStatus`\n // is populated before `_getImportDetails` reads it for `filesStatus`.\n accImportDetails.push(...(await this._getImportDetails(beforeVersions, versionDeps)));\n\n this.logger.consoleSuccess(`imported ${scopeName} (${ids.length} components)`);\n }\n\n if (!anyImported) {\n throw new BitError(`failed to import any components from owner \"${ownerName}\"`);\n }\n\n if (importFailedScopes.length) {\n const failedDetails = importFailedScopes.map((scope) => {\n const errMsg = allFailedScopesErrors.get(scope);\n return errMsg ? `${scope}: ${errMsg}` : scope;\n });\n this.logger.consoleWarning(\n `completed with ${importFailedScopes.length} failed scope(s):\\n${failedDetails.join('\\n')}`\n );\n }\n\n let componentWriterResults: ComponentWriterResults | undefined;\n if (!this.options.objectsOnly && accWritten.length) {\n componentWriterResults = await this.componentWriter.finalizeWrite(\n this._buildScopeWriteOpts(accWritten, { shouldUpdateWorkspaceConfig: true })\n );\n await this._saveLaneDataIfNeeded(accWritten);\n }\n\n return {\n importedIds: accImportedIds,\n importedDeps: accImportedDeps,\n writtenComponents: accWritten,\n importDetails: accImportDetails,\n installationError: componentWriterResults?.installationError,\n compilationError: componentWriterResults?.compilationError,\n workspaceConfigUpdateResult: componentWriterResults?.workspaceConfigUpdateResult,\n missingIds: accMissingIds,\n lane: this.remoteLane,\n };\n }\n\n private _buildScopeWriteOpts(\n components: Component[],\n extra?: Partial<ManyComponentsWriterParams>\n ): ManyComponentsWriterParams {\n return {\n components,\n writeToPath: this.options.writeToPath,\n writeConfig: this.options.writeConfig,\n skipDependencyInstallation: !this.options.installNpmPackages,\n skipWriteConfigFiles: !this.options.writeConfigFiles,\n verbose: this.options.verbose,\n throwForExistingDir: !this.options.override,\n skipWritingToFs: this.options.trackOnly,\n reasonForBitmapChange: 'import',\n writeDeps: this.options.writeDeps,\n ...extra,\n };\n }\n\n /**\n * Process imported components: merge lane if needed, write to filesystem, and return results.\n */\n private async processAndWriteComponents(\n beforeImportVersions: ImportedVersions,\n versionDependenciesArr: VersionDependencies[]\n ): Promise<ImportResult> {\n if (this.remoteLane && this.options.objectsOnly) {\n await this.mergeAndSaveLaneObject(this.remoteLane);\n }\n\n let writtenComponents: Component[] = [];\n let componentWriterResults: ComponentWriterResults | undefined;\n if (!this.options.objectsOnly) {\n const components = await multipleVersionDependenciesToConsumer(versionDependenciesArr, this.scope.objects);\n await this._fetchDivergeData(components);\n this._throwForDivergedHistory();\n await this.throwForComponentsFromAnotherLane(components.map((c) => c.id));\n const filteredComponents = await this._filterComponentsByFilters(components);\n componentWriterResults = await this._writeToFileSystem(filteredComponents);\n await this._saveLaneDataIfNeeded(filteredComponents);\n writtenComponents = filteredComponents;\n }\n\n return this.returnCompleteResults(\n beforeImportVersions,\n versionDependenciesArr,\n writtenComponents,\n componentWriterResults\n );\n }\n\n private async mergeAndSaveLaneObject(lane: Lane) {\n const mergeLaneResults = await this.scope.sources.mergeLane(lane, true);\n const mergedLane = mergeLaneResults.mergeLane;\n const isRemoteLaneEqualsToMergedLane = lane.isEqual(mergedLane);\n await this.scope.lanes.saveLane(mergedLane, {\n saveLaneHistory: !isRemoteLaneEqualsToMergedLane,\n laneHistoryMsg: 'import (merge from remote)',\n });\n }\n\n private async _filterComponentsByFilters(components: Component[]): Promise<Component[]> {\n if (!this.options.filterEnvs) return components;\n const filteredP = components.map(async (component) => {\n // If the id was requested explicitly, we don't want to filter it out\n if (this.options.ids) {\n if (\n this.options.ids.includes(component.id.toStringWithoutVersion()) ||\n this.options.ids.includes(component.id.toString())\n ) {\n return component;\n }\n }\n const currentEnv = await this.envs.calculateEnvIdFromExtensions(component.extensions);\n const currentEnvWithoutVersion = currentEnv.split('@')[0];\n if (\n this.options.filterEnvs?.includes(currentEnv) ||\n this.options.filterEnvs?.includes(currentEnvWithoutVersion)\n ) {\n return component;\n }\n return undefined;\n });\n const filtered = compact(await Promise.all(filteredP));\n return filtered;\n }\n\n private async _fetchDivergeData(components: Component[]) {\n if (this.options.objectsOnly) {\n // no need for it when importing objects only. if it's enabled, in case when on a lane and a non-lane\n // component is in bitmap using an older version, it throws \"getDivergeData: unable to find Version X of Y\"\n return;\n }\n await pMapPool(\n components,\n async (component) => {\n const fromWorkspace = this.workspace.getIdIfExist(component.id);\n const modelComponent = await this.scope.getModelComponent(component.id);\n await modelComponent.setDivergeData(this.scope.objects, undefined, false, fromWorkspace);\n this.divergeData.push(modelComponent);\n },\n { concurrency: concurrentComponentsLimit() }\n );\n }\n\n _throwForDivergedHistory() {\n if (this.options.merge || this.options.objectsOnly) return;\n const divergedComponents = this.divergeData.filter((modelComponent) =>\n modelComponent.getDivergeData().isDiverged()\n );\n if (divergedComponents.length) {\n const divergeData = divergedComponents.map((modelComponent) => ({\n id: modelComponent.id(),\n snapsLocal: modelComponent.getDivergeData().snapsOnSourceOnly.length,\n snapsRemote: modelComponent.getDivergeData().snapsOnTargetOnly.length,\n }));\n throw new ComponentsPendingMerge(divergeData);\n }\n }\n\n private async throwForComponentsFromAnotherLane(bitIds: ComponentID[]) {\n if (this.options.objectsOnly) return;\n const currentLaneId = this.workspace.getCurrentLaneId();\n const currentRemoteLane = this.remoteLane?.toLaneId().isEqual(currentLaneId) ? this.remoteLane : undefined;\n const currentLane = await this.workspace.getCurrentLaneObject();\n const idsFromAnotherLane: ComponentID[] = [];\n const concurrency = concurrentComponentsLimit();\n if (currentRemoteLane) {\n await pMapPool(\n bitIds,\n async (bitId) => {\n const isOnCurrentLane =\n (await this.scope.isPartOfLaneHistoryOrMain(bitId, currentRemoteLane)) ||\n (currentLane && (await this.scope.isPartOfLaneHistoryOrMain(bitId, currentLane)));\n if (!isOnCurrentLane) idsFromAnotherLane.push(bitId);\n },\n { concurrency }\n );\n } else {\n await pMapPool(\n bitIds,\n async (bitId) => {\n const isIdOnMain = await this.scope.isPartOfMainHistory(bitId);\n if (!isIdOnMain) idsFromAnotherLane.push(bitId);\n },\n { concurrency }\n );\n }\n if (idsFromAnotherLane.length) {\n throw new BitError(`unable to import the following component(s) as they belong to other lane(s):\n${idsFromAnotherLane.map((id) => id.toString()).join(', ')}\nif you need this specific snap, find the lane this snap is belong to, then run \"bit lane merge <lane-id> [component-id]\" to merge this component from the lane.\nif you just want to get a quick look into this snap, create a new workspace and import it by running \"bit lane import <lane-id> --pattern <component-id>\"`);\n }\n }\n\n private async _importComponentsObjects(\n ids: ComponentIdList,\n {\n fromOriginalScope = false,\n lane,\n ignoreMissingHead = false,\n }: {\n fromOriginalScope?: boolean;\n lane?: Lane;\n ignoreMissingHead?: boolean;\n }\n ): Promise<VersionDependencies[]> {\n const scopeComponentsImporter = ScopeComponentsImporter.getInstance(this.scope);\n await scopeComponentsImporter.importWithoutDeps(ids.toVersionLatest(), {\n cache: false,\n lane,\n includeVersionHistory: true,\n fetchHeadIfLocalIsBehind: !this.options.allHistory,\n collectParents: this.options.allHistory,\n // in case a user is merging a lane into a new workspace, then, locally main has head, but remotely the head is\n // empty, until it's exported. going to the remote and asking this component will throw an error if ignoreMissingHead is false\n ignoreMissingHead: true,\n includeUnexported: this.options.isLaneFromRemote,\n reason: `of their latest on ${lane ? `lane ${lane.id()}` : 'main'}`,\n });\n\n this.logger.setStatusLine(`import ${ids.length} components with their dependencies (if missing)`);\n const results = fromOriginalScope\n ? await scopeComponentsImporter.importManyFromOriginalScopes(ids)\n : await scopeComponentsImporter.importMany({\n ids,\n ignoreMissingHead,\n lane,\n preferDependencyGraph: !this.options.fetchDeps,\n // when user is running \"bit import\", we want to re-fetch if it wasn't built. todo: check if this can be disabled when not needed\n reFetchUnBuiltVersion: true,\n // it's possible that .bitmap is not in sync and has local tags that don't exist on the remote. later, we\n // add them to \"missingIds\" of \"importResult\" and show them to the user\n throwForSeederNotFound: false,\n reason: this.options.fetchDeps\n ? 'for getting all dependencies'\n : `for getting dependencies of components that don't have dependency-graph`,\n });\n\n return results;\n }\n\n /**\n * consider the following use cases:\n * 1) no ids were provided. it should import all the lanes components objects AND main components objects\n * (otherwise, if main components are not imported and are missing, then bit-status complains about it)\n * 2) ids are provided with wildcards. by default, imports from both lane and main (lane versions preferred).\n * if --lane-only flag is specified, import only components that exist on the lane.\n * 3) ids are provided without wildcards. here, the user knows exactly what's needed and it's ok to get the ids from\n * main if not found on the lane.\n */\n private async getBitIdsForLanes(): Promise<ComponentID[]> {\n if (!this.options.lanes) {\n throw new Error(`getBitIdsForLanes: this.options.lanes must be set`);\n }\n // For the no-ids object-fetch path we include hidden entries — their Version objects must\n // land locally for merge/diverge calculations. For explicit ids/wildcards we use visible-only,\n // otherwise `bit import comp2` (when comp2 is hidden on the lane) would resolve to the\n // cascade snap instead of main's tag.\n const remoteLaneIds = this.remoteLane?.toComponentIdsIncludeUpdateDependents() || new ComponentIdList();\n const visibleRemoteLaneIds = this.visibleLaneIds;\n\n if (!this.options.ids.length) {\n const bitMapIds = this.consumer.bitMap.getAllBitIds();\n const bitMapIdsToImport = bitMapIds.filter((id) => id.hasScope() && !remoteLaneIds.has(id));\n remoteLaneIds.push(...bitMapIdsToImport);\n\n return remoteLaneIds;\n }\n\n const idsWithWildcard = this.options.ids.filter((id) => hasWildcard(id));\n const idsWithoutWildcard = this.options.ids.filter((id) => !hasWildcard(id));\n const idsWithoutWildcardPreferFromLane = await Promise.all(\n idsWithoutWildcard.map(async (idStr) => {\n const id = await this.getIdFromStr(idStr);\n const fromLane = visibleRemoteLaneIds.searchWithoutVersion(id);\n return fromLane && !id.hasVersion() ? fromLane : id;\n })\n );\n\n const bitIds: ComponentID[] = [...idsWithoutWildcardPreferFromLane];\n\n if (!idsWithWildcard) {\n return bitIds;\n }\n\n await pMapSeries(idsWithWildcard, async (idStr: string) => {\n const existingOnLanes = await this.workspace.filterIdsFromPoolIdsByPattern(idStr, visibleRemoteLaneIds, false);\n\n if (this.options.laneOnly) {\n // When --lane-only is specified, import only components that exist on the lane, never from main\n bitIds.push(...existingOnLanes);\n } else {\n // New default behavior: Import from both lane and main\n // Get all components matching the pattern from main\n const idsFromRemote = await this.lister.getRemoteCompIdsByWildcards(idStr, this.options.includeDeprecated);\n\n // Prefer lane versions where they exist, use main versions for the rest\n const laneIds = new Set(existingOnLanes.map((id) => id.toStringWithoutVersion()));\n const mainOnlyIds = idsFromRemote.filter((id) => !laneIds.has(id.toStringWithoutVersion()));\n\n bitIds.push(...existingOnLanes, ...mainOnlyIds);\n }\n });\n\n return bitIds;\n }\n\n private async getIdFromStr(id: string): Promise<ComponentID> {\n if (id.startsWith('@')) return this.workspace.resolveComponentIdFromPackageName(id);\n return ComponentID.fromString(id); // we don't support importing without a scope name\n }\n\n private async getBitIdsForNonLanes() {\n const bitIds: ComponentID[] = [];\n\n await pMapPool(\n this.options.ids,\n async (idStr: string) => {\n if (hasWildcard(idStr)) {\n let ids: ComponentID[] = [];\n try {\n ids = await this.lister.getRemoteCompIdsByWildcards(idStr, this.options.includeDeprecated);\n } catch (err: any) {\n if (err instanceof NoIdMatchWildcard) {\n this.logger.consoleWarning(err.message);\n } else {\n this.logger.error(`failed getting the list of components by the wildcard ${idStr}`);\n throw err;\n }\n }\n bitIds.push(...ids);\n } else {\n const id = await this.getIdFromStr(idStr);\n bitIds.push(id);\n }\n },\n { concurrency: 30 }\n );\n\n this.logger.setStatusLine(BEFORE_IMPORT_ACTION); // it stops the previous loader of BEFORE_REMOTE_LIST\n\n return bitIds;\n }\n\n private async getBitIds(): Promise<ComponentIdList> {\n const bitIds: ComponentID[] = this.options.lanes\n ? await this.getBitIdsForLanes()\n : await this.getBitIdsForNonLanes();\n const shouldImportDependents =\n this.options.importDependents || this.options.dependentsVia || this.options.dependentsAll;\n const shouldImportDependencies =\n this.options.importDependenciesDirectly || this.options.importHeadDependenciesDirectly;\n if (shouldImportDependencies || shouldImportDependents) {\n if (shouldImportDependencies) {\n const dependenciesIds = await this.getFlattenedDepsUnique(bitIds);\n bitIds.push(...dependenciesIds);\n }\n if (shouldImportDependents) {\n const dependentsGetter = new DependentsGetter(this.logger, this.workspace, this.graph, this.options);\n const dependents = await dependentsGetter.getDependents(bitIds);\n bitIds.push(...dependents);\n }\n }\n return ComponentIdList.uniqFromArray(bitIds);\n }\n\n private async getFlattenedDepsUnique(bitIds: ComponentID[]): Promise<ComponentID[]> {\n const remoteComps = await this.scope.scopeImporter.getManyRemoteComponents(bitIds);\n const versions = remoteComps.getVersions();\n const getFlattened = (): ComponentIdList => {\n if (versions.length === 1) return versions[0].flattenedDependencies;\n const flattenedDeps = versions.map((v) => v.flattenedDependencies).flat();\n return ComponentIdList.uniqFromArray(flattenedDeps);\n };\n const flattened = getFlattened();\n return this.options.importHeadDependenciesDirectly\n ? this.uniqWithoutVersions(flattened)\n : this.removeMultipleVersionsKeepLatest(flattened);\n }\n\n private uniqWithoutVersions(flattened: ComponentIdList) {\n const latest = flattened.toVersionLatest();\n return ComponentIdList.uniqFromArray(latest);\n }\n\n private removeMultipleVersionsKeepLatest(flattened: ComponentIdList): ComponentID[] {\n const grouped = flattened.toGroupByIdWithoutVersion();\n const latestVersions = Object.keys(grouped).map((key) => {\n const ids = grouped[key];\n if (ids.length === 1) return ids[0];\n try {\n const latest = getLatestVersionNumber(ids, ids[0].changeVersion(LATEST_VERSION));\n return latest;\n } catch (err: any) {\n throw new Error(`a dependency \"${key}\" was found with multiple versions, unable to find which one of them is newer.\nerror: ${err.message}\nconsider running with \"--dependencies-head\" flag instead, which checks out to the head of the dependencies`);\n }\n });\n\n return latestVersions;\n }\n\n async importAccordingToBitMap(): Promise<ImportResult> {\n this.options.objectsOnly = !this.options.merge && !this.options.override;\n const componentsIdsToImport = this.getIdsToImportFromBitmap();\n const emptyResult = {\n importedIds: [],\n importedDeps: [],\n importDetails: [],\n };\n if (!componentsIdsToImport.length) {\n return emptyResult;\n }\n await this._throwForModifiedOrNewComponents(componentsIdsToImport);\n const beforeImportVersions = await this._getCurrentVersions(componentsIdsToImport);\n if (!componentsIdsToImport.length) {\n return emptyResult;\n }\n if (!this.options.objectsOnly) {\n const flagUsed = this.options.merge ? '--merge' : '--override';\n throw new Error(`bit import with no ids and ${flagUsed} flag is not supported.\nto write the components from .bitmap file according to the their remote, please use \"bit checkout reset --all\"`);\n }\n const versionDependenciesArr = await this._importComponentsObjects(componentsIdsToImport, {\n fromOriginalScope: this.options.fromOriginalScope,\n });\n let writtenComponents: Component[] = [];\n let componentWriterResults: ComponentWriterResults | undefined;\n if (!this.options.objectsOnly) {\n const components = await multipleVersionDependenciesToConsumer(versionDependenciesArr, this.scope.objects);\n componentWriterResults = await this._writeToFileSystem(components);\n writtenComponents = components;\n }\n\n return this.returnCompleteResults(\n beforeImportVersions,\n versionDependenciesArr,\n writtenComponents,\n componentWriterResults\n );\n }\n\n private getIdsToImportFromBitmap() {\n const allIds = this.consumer.bitMap.getAllBitIdsFromAllLanes();\n return ComponentIdList.fromArray(allIds.filter((id) => id.hasScope()));\n }\n\n async _getCurrentVersions(ids: ComponentIdList): Promise<ImportedVersions> {\n const versionsP = ids.map(async (id) => {\n const modelComponent = await this.consumer.scope.getModelComponentIfExist(id.changeVersion(undefined));\n const idStr = id.toStringWithoutVersion();\n if (!modelComponent) return [idStr, []];\n return [idStr, modelComponent.listVersions()];\n });\n const versions = await Promise.all(versionsP);\n return fromPairs(versions);\n }\n\n /**\n * get import details, includes the diff between the versions array before import and after import\n */\n async _getImportDetails(\n currentVersions: ImportedVersions,\n components: VersionDependencies[]\n ): Promise<ImportDetails[]> {\n // Bounded concurrency: each entry does `isDeprecated` / `isRemoved`, which load and\n // parse the head Version object from disk. Fanning out 4k+ of those at once (the old\n // Promise.all) OOMs the heap on large imports.\n const importDetails = await pMapPool(\n components,\n async (component): Promise<ImportDetails> => {\n const id = component.component.id;\n const idStr = id.toStringWithoutVersion();\n const beforeImportVersions = currentVersions[idStr];\n if (!beforeImportVersions) {\n throw new Error(\n `_getImportDetails failed finding ${idStr} in currentVersions, which has ${Object.keys(\n currentVersions\n ).join(', ')}`\n );\n }\n const modelComponent = await this.consumer.scope.getModelComponentIfExist(id);\n if (!modelComponent) throw new BitError(`imported component ${idStr} was not found in the model`);\n const afterImportVersions = modelComponent.listVersions();\n const versionDifference: string[] = difference(afterImportVersions, beforeImportVersions);\n const getStatus = (): ImportStatus => {\n if (!versionDifference.length) return 'up to date';\n if (!beforeImportVersions.length) return 'added';\n return 'updated';\n };\n const filesStatus = this.mergeStatus && this.mergeStatus[idStr] ? this.mergeStatus[idStr] : null;\n const deprecated = Boolean(await modelComponent.isDeprecated(this.scope.objects, id.version));\n const removed = Boolean(await component.component.component.isRemoved(this.scope.objects, id.version));\n const latestVersion = modelComponent.getHeadRegardlessOfLaneAsTagOrHash(true);\n return {\n id: idStr,\n versions: versionDifference,\n latestVersion: versionDifference.includes(latestVersion) ? latestVersion : null,\n status: getStatus(),\n filesStatus,\n missingDeps: this.options.fetchDeps ? component.getMissingDependencies() : [],\n deprecated,\n removed,\n };\n },\n { concurrency: concurrentComponentsLimit() }\n );\n\n return importDetails;\n }\n\n async _throwForPotentialIssues(ids: ComponentIdList): Promise<void> {\n await this._throwForModifiedOrNewComponents(ids);\n this._throwForDifferentComponentWithSameName(ids);\n }\n\n async _throwForModifiedOrNewComponents(ids: ComponentIdList): Promise<void> {\n // the typical objectsOnly option is when a user cloned a project with components tagged to the source code, but\n // doesn't have the model objects. in that case, calling getComponentStatusById() may return an error as it relies\n // on the model objects when there are dependencies\n if (this.options.override || this.options.objectsOnly || this.options.merge || this.options.trackOnly) return;\n const componentsStatuses = await this.workspace.getManyComponentsStatuses(ids);\n const modifiedComponents = componentsStatuses\n .filter(({ status }) => status.modified || status.newlyCreated)\n .map((c) => c.id);\n if (modifiedComponents.length) {\n throw new BitError(\n `unable to import the following components due to local changes, use --merge flag to merge your local changes or --override to override them\\n${modifiedComponents.join(\n '\\n'\n )} `\n );\n }\n }\n\n /**\n * Model Component id() calculation uses id.toString() for the hash.\n * If an imported component has scopereadonly name equals to a local name, both will have the exact same\n * hash and they'll override each other.\n */\n _throwForDifferentComponentWithSameName(ids: ComponentIdList): void {\n ids.forEach((id: ComponentID) => {\n const existingId = this.consumer.getParsedIdIfExist(id.toStringWithoutVersion());\n if (existingId && !existingId.hasScope()) {\n throw new BitError(`unable to import ${id.toString()}. the component name conflicted with your local (new/staged) component with the same name.\nit's fine to have components with the same name as long as their scope names are different.\nif the component was created by mistake, remove it and import the remote one.\notherwise, if tagged/snapped, \"bit reset\" it, then bit rename it.`);\n }\n });\n }\n\n async _getMergeStatus(component: Component): Promise<ComponentMergeStatus> {\n const componentStatus = await this.workspace.getComponentStatusById(component.id);\n const mergeStatus: ComponentMergeStatus = { component, mergeResults: null };\n if (!componentStatus.modified) return mergeStatus;\n const componentModel = await this.consumer.scope.getModelComponent(component.id);\n const existingBitMapBitId = this.consumer.bitMap.getComponentId(component.id, { ignoreVersion: true });\n const fsComponent = await this.consumer.loadComponent(existingBitMapBitId);\n const currentlyUsedVersion = existingBitMapBitId.version;\n const baseComponent: Version = await componentModel.loadVersion(currentlyUsedVersion, this.consumer.scope.objects);\n const otherComponent: Version = await componentModel.loadVersion(component.id.version, this.consumer.scope.objects);\n const mergeResults = await threeWayMerge({\n scope: this.consumer.scope,\n otherComponent,\n otherLabel: component.id.version as string,\n currentComponent: fsComponent,\n currentLabel: `${currentlyUsedVersion} modified`,\n baseComponent,\n });\n mergeStatus.mergeResults = mergeResults;\n return mergeStatus;\n }\n\n /**\n * 1) when there are conflicts and the strategy is \"ours\", don't write the imported component to\n * the filesystem, only update bitmap.\n *\n * 2) when there are conflicts and the strategy is \"theirs\", override the local changes by the\n * imported component. (similar to --override)\n *\n * 3) when there is no conflict or there are conflicts and the strategy is manual, write the files\n * according to the merge result. (done by applyModifiedVersion())\n */\n _updateComponentFilesPerMergeStrategy(componentMergeStatus: ComponentMergeStatus): FilesStatus | null | undefined {\n const mergeResults = componentMergeStatus.mergeResults;\n if (!mergeResults) return null;\n const component = componentMergeStatus.component;\n const files = component.files;\n\n if (mergeResults.hasConflicts && this.options.mergeStrategy === MergeOptions.ours) {\n const filesStatus = {};\n // don't write the files to the filesystem, only bump the bitmap version.\n files.forEach((file) => {\n filesStatus[pathNormalizeToLinux(file.relative)] = FileStatus.unchanged;\n });\n this.consumer.bitMap.updateComponentId(component.id);\n this.consumer.bitMap.hasChanged = true;\n return filesStatus;\n }\n if (mergeResults.hasConflicts && this.options.mergeStrategy === MergeOptions.theirs) {\n const filesStatus = {};\n // the local changes will be overridden (as if the user entered --override flag for this component)\n files.forEach((file) => {\n filesStatus[pathNormalizeToLinux(file.relative)] = FileStatus.updated;\n });\n return filesStatus;\n }\n const { filesStatus, modifiedFiles } = applyModifiedVersion(\n component.files,\n mergeResults,\n this.options.mergeStrategy\n );\n component.files = modifiedFiles;\n\n return filesStatus;\n }\n\n /**\n * update the component files if they are modified and there is a merge strategy.\n * returns only the components that need to be written to the filesystem\n */\n async updateAllComponentsAccordingToMergeStrategy(components: Component[]): Promise<Component[]> {\n if (!this.options.merge) return components;\n const componentsStatusP = components.map((component: Component) => {\n return this._getMergeStatus(component);\n });\n const componentsStatus = await Promise.all(componentsStatusP);\n const componentWithConflict = componentsStatus.find(\n (component) => component.mergeResults && component.mergeResults.hasConflicts\n );\n if (componentWithConflict && !this.options.mergeStrategy) {\n this.options.mergeStrategy = await getMergeStrategyInteractive();\n }\n this.mergeStatus = {};\n\n const componentsToWrite = componentsStatus.map((componentStatus) => {\n const filesStatus: FilesStatus | null | undefined = this._updateComponentFilesPerMergeStrategy(componentStatus);\n const component = componentStatus.component;\n if (!filesStatus) return component;\n this.mergeStatus[component.id.toStringWithoutVersion()] = filesStatus;\n const unchangedFiles = Object.keys(filesStatus).filter((file) => filesStatus[file] === FileStatus.unchanged);\n if (unchangedFiles.length === Object.keys(filesStatus).length) {\n // all files are unchanged\n return null;\n }\n return component;\n });\n return compact(componentsToWrite);\n }\n\n _shouldSaveLaneData(): boolean {\n if (this.options.objectsOnly) {\n return false;\n }\n return this.consumer.isOnLane();\n }\n\n async _saveLaneDataIfNeeded(components: Component[]): Promise<void> {\n if (!this._shouldSaveLaneData()) {\n return;\n }\n const currentLane = await this.consumer.getCurrentLaneObject();\n if (!currentLane) {\n return; // user on main\n }\n const idsFromRemoteLanes = this.remoteLane?.toComponentIds() || new ComponentIdList();\n await Promise.all(\n components.map(async (comp) => {\n const existOnRemoteLane = idsFromRemoteLanes.has(comp.id);\n if (!existOnRemoteLane && !this.options.saveInLane) {\n this.consumer.bitMap.setOnLanesOnly(comp.id, false);\n return;\n }\n const modelComponent = await this.scope.getModelComponent(comp.id);\n const ref = modelComponent.getRef(comp.id.version as string);\n if (!ref) throw new Error(`_saveLaneDataIfNeeded unable to get ref for ${comp.id.toString()}`);\n currentLane.addComponent({ id: comp.id, head: ref });\n })\n );\n await this.scope.lanes.saveLane(currentLane, { laneHistoryMsg: 'import components' });\n }\n\n async _writeToFileSystem(components: Component[]): Promise<ComponentWriterResults> {\n const componentsToWrite = await this.updateAllComponentsAccordingToMergeStrategy(components);\n const manyComponentsWriterOpts: ManyComponentsWriterParams = {\n components: componentsToWrite,\n writeToPath: this.options.writeToPath,\n writeConfig: this.options.writeConfig,\n skipDependencyInstallation: !this.options.installNpmPackages,\n skipWriteConfigFiles: !this.options.writeConfigFiles,\n verbose: this.options.verbose,\n throwForExistingDir: !this.options.override,\n skipWritingToFs: this.options.trackOnly,\n shouldUpdateWorkspaceConfig: true,\n reasonForBitmapChange: 'import',\n writeDeps: this.options.writeDeps,\n };\n return this.componentWriter.writeMany(manyComponentsWriterOpts);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bitError","data","require","_pMapSeries","_interopRequireDefault","_componentId","_legacy","_legacy2","_componentModules","_legacy3","_componentVersion","_lodash","_dependentsGetter","_lister","_toolboxPromise","_harmonyModules","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","BEFORE_IMPORT_ACTION","ImportComponents","visibleLaneIds","_visibleLaneIds","remoteLane","toComponentIds","ComponentIdList","constructor","workspace","graph","componentWriter","envs","logger","lister","options","consumer","scope","lanes","importComponents","result","setStatusLine","startTime","process","hrtime","ids","importObjectsOnLane","consoleSuccess","importSpecificComponents","importAccordingToBitMap","objectsOnly","Error","lane","bitIds","getBitIds","debug","id","toString","beforeImportVersions","_getCurrentVersions","versionDependenciesArr","_importComponentsObjects","mergeAndSaveLaneObject","returnCompleteResults","writtenComponents","componentWriterResults","importDetails","_getImportDetails","missingIds","importedComps","map","c","component","toStringWithoutVersion","compIdStr","found","includes","importedIds","v","flat","importedDeps","allDependenciesIds","installationError","compilationError","workspaceConfigUpdateResult","owner","importByOwner","join","_throwForPotentialIssues","fetchVersionDependenciesForImport","processAndWriteComponents","hiddenRaw","others","partition","Boolean","findUpdateDependent","othersList","fromArray","hiddenNeedingHead","hasVersion","headDefs","sources","getMany","headByIdStr","Map","head","hiddenIds","mainHead","get","changeVersion","ownerName","scopeIds","failedScopes","failedScopesErrors","getRemoteCompIdsByOwnerGrouped","includeDeprecated","accWritten","accImportedIds","accImportedDeps","accImportDetails","accMissingIds","anyImported","importFailedScopes","allFailedScopesErrors","scopeEntries","Array","from","entries","totalScopes","completedScopes","scopeName","idList","beforeVersions","versionDeps","err","set","message","consoleFailure","importedIdStrs","Set","has","components","multipleVersionDependenciesToConsumer","objects","_fetchDivergeData","_throwForDivergedHistory","divergeData","throwForComponentsFromAnotherLane","filtered","_filterComponentsByFilters","componentsToWrite","updateAllComponentsAccordingToMergeStrategy","writeComponentsFiles","_buildScopeWriteOpts","BitError","failedDetails","errMsg","consoleWarning","finalizeWrite","shouldUpdateWorkspaceConfig","_saveLaneDataIfNeeded","extra","writeToPath","writeConfig","skipDependencyInstallation","installNpmPackages","skipWriteConfigFiles","writeConfigFiles","verbose","throwForExistingDir","override","skipWritingToFs","trackOnly","reasonForBitmapChange","writeDeps","filteredComponents","_writeToFileSystem","mergeLaneResults","mergeLane","mergedLane","isRemoteLaneEqualsToMergedLane","isEqual","saveLane","saveLaneHistory","laneHistoryMsg","filterEnvs","filteredP","currentEnv","calculateEnvIdFromExtensions","extensions","currentEnvWithoutVersion","split","undefined","compact","Promise","all","pMapPool","fromWorkspace","getIdIfExist","modelComponent","getModelComponent","setDivergeData","concurrency","concurrentComponentsLimit","merge","divergedComponents","getDivergeData","isDiverged","snapsLocal","snapsOnSourceOnly","snapsRemote","snapsOnTargetOnly","ComponentsPendingMerge","currentLaneId","getCurrentLaneId","currentRemoteLane","toLaneId","currentLane","getCurrentLaneObject","idsFromAnotherLane","bitId","isOnCurrentLane","isPartOfLaneHistoryOrMain","isIdOnMain","isPartOfMainHistory","fromOriginalScope","ignoreMissingHead","scopeComponentsImporter","ScopeComponentsImporter","getInstance","importWithoutDeps","toVersionLatest","cache","includeVersionHistory","fetchHeadIfLocalIsBehind","allHistory","collectParents","includeUnexported","isLaneFromRemote","reason","results","importManyFromOriginalScopes","importMany","preferDependencyGraph","fetchDeps","reFetchUnBuiltVersion","throwForSeederNotFound","getBitIdsForLanes","remoteLaneIds","toComponentIdsIncludeUpdateDependents","visibleRemoteLaneIds","bitMapIds","bitMap","getAllBitIds","bitMapIdsToImport","hasScope","idsWithWildcard","hasWildcard","idsWithoutWildcard","idsWithoutWildcardPreferFromLane","idStr","getIdFromStr","fromLane","searchWithoutVersion","pMapSeries","existingOnLanes","filterIdsFromPoolIdsByPattern","laneOnly","idsFromRemote","getRemoteCompIdsByWildcards","laneIds","mainOnlyIds","startsWith","resolveComponentIdFromPackageName","ComponentID","fromString","getBitIdsForNonLanes","NoIdMatchWildcard","error","shouldImportDependents","importDependents","dependentsVia","dependentsAll","shouldImportDependencies","importDependenciesDirectly","importHeadDependenciesDirectly","dependenciesIds","getFlattenedDepsUnique","dependentsGetter","DependentsGetter","dependents","getDependents","uniqFromArray","flattened","dependenciesDepth","getDepsByDepth","getAllFlattenedDeps","uniqWithoutVersions","removeMultipleVersionsKeepLatest","remoteComps","scopeImporter","getManyRemoteComponents","versions","getVersions","flatMap","flattenedDependencies","depth","componentsAndVersions","getComponentsAndVersions","adjacency","missingEdges","versionStr","version","edges","getFlattenedEdges","toComponentId","edge","key","source","targets","target","rootKeysNoVersion","collected","visited","currentBatch","level","nextBatch","add","values","latest","grouped","toGroupByIdWithoutVersion","latestVersions","getLatestVersionNumber","LATEST_VERSION","componentsIdsToImport","getIdsToImportFromBitmap","emptyResult","_throwForModifiedOrNewComponents","flagUsed","allIds","getAllBitIdsFromAllLanes","versionsP","getModelComponentIfExist","listVersions","fromPairs","currentVersions","afterImportVersions","versionDifference","difference","getStatus","filesStatus","mergeStatus","deprecated","isDeprecated","removed","isRemoved","latestVersion","getHeadRegardlessOfLaneAsTagOrHash","status","missingDeps","getMissingDependencies","_throwForDifferentComponentWithSameName","componentsStatuses","getManyComponentsStatuses","modifiedComponents","modified","newlyCreated","existingId","getParsedIdIfExist","_getMergeStatus","componentStatus","getComponentStatusById","mergeResults","componentModel","existingBitMapBitId","getComponentId","ignoreVersion","fsComponent","loadComponent","currentlyUsedVersion","baseComponent","loadVersion","otherComponent","threeWayMerge","otherLabel","currentComponent","currentLabel","_updateComponentFilesPerMergeStrategy","componentMergeStatus","files","hasConflicts","mergeStrategy","MergeOptions","ours","file","pathNormalizeToLinux","relative","FileStatus","unchanged","updateComponentId","hasChanged","theirs","updated","modifiedFiles","applyModifiedVersion","componentsStatusP","componentsStatus","componentWithConflict","find","getMergeStrategyInteractive","unchangedFiles","_shouldSaveLaneData","isOnLane","idsFromRemoteLanes","comp","existOnRemoteLane","saveInLane","setOnLanesOnly","ref","getRef","addComponent","manyComponentsWriterOpts","writeMany","exports"],"sources":["import-components.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport type { LaneId } from '@teambit/lane-id';\nimport pMapSeries from 'p-map-series';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport { ComponentsPendingMerge } from '@teambit/legacy.consumer';\nimport type { Lane, ModelComponent, Version } from '@teambit/objects';\nimport { getLatestVersionNumber, pathNormalizeToLinux, hasWildcard } from '@teambit/legacy.utils';\nimport type { ConsumerComponent as Component } from '@teambit/legacy.consumer-component';\nimport type { MergeStrategy, MergeResultsThreeWay, FilesStatus } from '@teambit/component.modules.merge-helper';\nimport {\n applyModifiedVersion,\n FileStatus,\n getMergeStrategyInteractive,\n MergeOptions,\n threeWayMerge,\n} from '@teambit/component.modules.merge-helper';\nimport type { VersionDependencies, Scope } from '@teambit/legacy.scope';\nimport { multipleVersionDependenciesToConsumer, ScopeComponentsImporter } from '@teambit/legacy.scope';\nimport type { GraphMain } from '@teambit/graph';\nimport type { Workspace } from '@teambit/workspace';\nimport type {\n ComponentWriterMain,\n ComponentWriterResults,\n ManyComponentsWriterParams,\n} from '@teambit/component-writer';\nimport { LATEST_VERSION } from '@teambit/component-version';\nimport type { EnvsMain } from '@teambit/envs';\nimport { compact, difference, fromPairs, partition } from 'lodash';\nimport type { WorkspaceConfigUpdateResult } from '@teambit/config-merger';\nimport type { Logger } from '@teambit/logger';\nimport { DependentsGetter } from './dependents-getter';\nimport type { ListerMain } from '@teambit/lister';\nimport { NoIdMatchWildcard } from '@teambit/lister';\nimport { pMapPool } from '@teambit/toolbox.promise.map-pool';\nimport { concurrentComponentsLimit } from '@teambit/harmony.modules.concurrency';\n\nconst BEFORE_IMPORT_ACTION = 'importing components';\n\nexport type ImportOptions = {\n ids: string[]; // array might be empty\n verbose?: boolean;\n merge?: boolean;\n mergeStrategy?: MergeStrategy;\n filterEnvs?: string[];\n writeToPath?: string;\n writeConfig?: boolean;\n override?: boolean;\n installNpmPackages: boolean; // default: true\n writeConfigFiles: boolean; // default: true\n objectsOnly?: boolean;\n importDependenciesDirectly?: boolean; // default: false, normally it imports them as packages, not as imported\n importHeadDependenciesDirectly?: boolean; // default: false, similar to importDependenciesDirectly, but it checks out to their head\n dependenciesDepth?: number; // max depth of transitive deps to import (1=direct only); omit for all\n importDependents?: boolean;\n dependentsVia?: string;\n dependentsAll?: boolean;\n silent?: boolean; // don't show prompt for --dependents flag\n fromOriginalScope?: boolean; // default: false, otherwise, it fetches flattened dependencies from their dependents\n saveInLane?: boolean; // save the imported component on the current lane (won't be available on main)\n lanes?: {\n laneId: LaneId;\n remoteLane?: Lane; // it can be an empty array when a lane is a local lane and doesn't exist on the remote\n };\n allHistory?: boolean;\n fetchDeps?: boolean; // by default, if a component was tagged with > 0.0.900, it has the flattened-deps-graph in the object\n trackOnly?: boolean;\n includeDeprecated?: boolean;\n isLaneFromRemote?: boolean; // whether the `lanes.lane` object is coming directly from the remote.\n writeDeps?: 'package.json' | 'workspace.jsonc';\n laneOnly?: boolean; // when on a lane, only import components that exist on the lane (preserves legacy behavior)\n owner?: boolean; // treat the id as an owner name and import all components from all scopes of that owner\n};\ntype ComponentMergeStatus = {\n component: Component;\n mergeResults: MergeResultsThreeWay | null | undefined;\n};\ntype ImportedVersions = { [id: string]: string[] };\nexport type ImportStatus = 'added' | 'updated' | 'up to date';\nexport type ImportDetails = {\n id: string;\n versions: string[];\n latestVersion: string | null;\n status: ImportStatus;\n filesStatus: FilesStatus | null | undefined;\n missingDeps: ComponentID[];\n deprecated: boolean;\n removed?: boolean;\n};\nexport type ImportResult = {\n importedIds: ComponentID[];\n importedDeps: ComponentID[];\n writtenComponents?: Component[];\n importDetails: ImportDetails[];\n cancellationMessage?: string;\n installationError?: Error;\n compilationError?: Error;\n workspaceConfigUpdateResult?: WorkspaceConfigUpdateResult;\n missingIds?: string[]; // in case the import is configured to not throw when missing\n lane?: Lane;\n};\n\nexport default class ImportComponents {\n consumer: Consumer;\n scope: Scope;\n mergeStatus: { [id: string]: FilesStatus };\n private remoteLane: Lane | undefined;\n private divergeData: Array<ModelComponent> = [];\n private _visibleLaneIds?: ComponentIdList;\n /** Visible lane components only — excludes hidden `lane.updateDependents`. */\n private get visibleLaneIds(): ComponentIdList {\n if (!this._visibleLaneIds) {\n this._visibleLaneIds = this.remoteLane?.toComponentIds() || new ComponentIdList();\n }\n return this._visibleLaneIds;\n }\n constructor(\n private workspace: Workspace,\n private graph: GraphMain,\n private componentWriter: ComponentWriterMain,\n private envs: EnvsMain,\n private logger: Logger,\n private lister: ListerMain,\n public options: ImportOptions\n ) {\n this.consumer = this.workspace.consumer;\n this.scope = this.consumer.scope;\n this.remoteLane = this.options.lanes?.remoteLane;\n }\n\n async importComponents(): Promise<ImportResult> {\n let result;\n this.logger.setStatusLine(BEFORE_IMPORT_ACTION);\n const startTime = process.hrtime();\n if (this.options.lanes && !this.options.ids.length) {\n result = await this.importObjectsOnLane();\n this.logger.consoleSuccess(BEFORE_IMPORT_ACTION, startTime);\n return result;\n }\n if (this.options.ids.length) {\n result = await this.importSpecificComponents();\n this.logger.consoleSuccess(BEFORE_IMPORT_ACTION, startTime);\n return result;\n }\n result = await this.importAccordingToBitMap();\n this.logger.consoleSuccess(BEFORE_IMPORT_ACTION, startTime);\n return result;\n }\n\n async importObjectsOnLane(): Promise<ImportResult> {\n if (!this.options.objectsOnly) {\n throw new Error(`importObjectsOnLane should have objectsOnly=true`);\n }\n const lane = this.remoteLane;\n const bitIds: ComponentIdList = await this.getBitIds();\n lane\n ? this.logger.debug(`importObjectsOnLane, Lane: ${lane.id()}, Ids: ${bitIds.toString()}`)\n : this.logger.debug(\n `importObjectsOnLane, the lane does not exist on the remote. importing only the main components`\n );\n const beforeImportVersions = await this._getCurrentVersions(bitIds);\n const versionDependenciesArr = await this._importComponentsObjects(bitIds, {\n lane,\n });\n\n if (lane) {\n await this.mergeAndSaveLaneObject(lane);\n }\n\n return this.returnCompleteResults(beforeImportVersions, versionDependenciesArr);\n }\n\n private async returnCompleteResults(\n beforeImportVersions: ImportedVersions,\n versionDependenciesArr: VersionDependencies[],\n writtenComponents?: Component[],\n componentWriterResults?: ComponentWriterResults\n ): Promise<ImportResult> {\n const importDetails = await this._getImportDetails(beforeImportVersions, versionDependenciesArr);\n const missingIds: string[] = [];\n if (Object.keys(beforeImportVersions).length > versionDependenciesArr.length) {\n const importedComps = versionDependenciesArr.map((c) => c.component.id.toStringWithoutVersion());\n Object.keys(beforeImportVersions).forEach((compIdStr) => {\n const found = importedComps.includes(compIdStr);\n if (!found) missingIds.push(compIdStr);\n });\n }\n\n return {\n importedIds: versionDependenciesArr.map((v) => v.component.id).flat(),\n importedDeps: versionDependenciesArr.map((v) => v.allDependenciesIds).flat(),\n writtenComponents,\n importDetails,\n installationError: componentWriterResults?.installationError,\n compilationError: componentWriterResults?.compilationError,\n workspaceConfigUpdateResult: componentWriterResults?.workspaceConfigUpdateResult,\n missingIds,\n lane: this.remoteLane,\n };\n }\n\n async importSpecificComponents(): Promise<ImportResult> {\n // Handle --owner flag with scope-by-scope error handling\n if (this.options.owner && this.options.ids.length === 1) {\n return this.importByOwner(this.options.ids[0]);\n }\n\n this.logger.debug(`importSpecificComponents, Ids: ${this.options.ids.join(', ')}`);\n const bitIds: ComponentIdList = await this.getBitIds();\n const beforeImportVersions = await this._getCurrentVersions(bitIds);\n await this._throwForPotentialIssues(bitIds);\n const versionDependenciesArr = await this.fetchVersionDependenciesForImport(bitIds);\n\n return this.processAndWriteComponents(beforeImportVersions, versionDependenciesArr);\n }\n\n /**\n * Hidden `lane.updateDependents` entries must not resolve through the lane: `laneHeadLocal`\n * carries the cascade head — legitimate for export-pending detection — but it would leak into\n * `toComponentVersion` and land the cascade snap in the bitmap instead of main's tag. Pre-pin\n * hidden ids to `modelComponent.head` and fetch them via the no-lane path. Visible-on-lane\n * and truly off-lane ids stay on the original lane-fetch path so their normal delta logic\n * (lane head for visible, latest-from-main for off-lane) is preserved.\n */\n private async fetchVersionDependenciesForImport(bitIds: ComponentIdList): Promise<VersionDependencies[]> {\n const lane = this.remoteLane;\n if (!lane) {\n return this._importComponentsObjects(bitIds, {});\n }\n const [hiddenRaw, others] = partition(bitIds, (id) => Boolean(lane.findUpdateDependent(id)));\n const othersList = ComponentIdList.fromArray(others);\n const hiddenNeedingHead = hiddenRaw.filter((id) => !id.hasVersion());\n const headDefs = await this.scope.sources.getMany(hiddenNeedingHead);\n const headByIdStr = new Map(\n headDefs.map(({ id, component }) => [id.toStringWithoutVersion(), component?.head] as const)\n );\n const hiddenIds = ComponentIdList.fromArray(\n hiddenRaw.map((id) => {\n if (id.hasVersion()) return id;\n const mainHead = headByIdStr.get(id.toStringWithoutVersion());\n return mainHead ? id.changeVersion(mainHead.toString()) : id;\n })\n );\n const versionDependenciesArr: VersionDependencies[] = [];\n if (othersList.length) {\n const r = await this._importComponentsObjects(othersList, { lane });\n versionDependenciesArr.push(...r);\n }\n if (hiddenIds.length) {\n const r = await this._importComponentsObjects(hiddenIds, {});\n versionDependenciesArr.push(...r);\n }\n return versionDependenciesArr;\n }\n\n /**\n * Import all components from all scopes of an owner, handling errors per-scope.\n *\n * Each scope is streamed through the full fetch → write → release pipeline before the\n * next one is fetched. This keeps peak memory bounded by a single scope's worth of\n * `VersionDependencies` instead of the sum across all scopes, which is what used to\n * blow the 4 GB heap on owners with thousands of components.\n */\n private async importByOwner(ownerName: string): Promise<ImportResult> {\n this.logger.debug(`importByOwner, owner: ${ownerName}`);\n\n const { scopeIds, failedScopes, failedScopesErrors } = await this.lister.getRemoteCompIdsByOwnerGrouped(\n ownerName,\n this.options.includeDeprecated\n );\n\n const accWritten: Component[] = [];\n const accImportedIds: ComponentID[] = [];\n const accImportedDeps: ComponentID[] = [];\n const accImportDetails: ImportDetails[] = [];\n const accMissingIds: string[] = [];\n let anyImported = false;\n\n const importFailedScopes: string[] = [...failedScopes];\n const allFailedScopesErrors: Map<string, string> = new Map(failedScopesErrors);\n\n const scopeEntries = Array.from(scopeIds.entries());\n const totalScopes = scopeEntries.length;\n let completedScopes = 0;\n for (const [scopeName, ids] of scopeEntries) {\n completedScopes++;\n this.logger.setStatusLine(`importing from ${scopeName} [${completedScopes}/${totalScopes}]`);\n const idList = ComponentIdList.fromArray(ids);\n const beforeVersions = await this._getCurrentVersions(idList);\n\n // Only the remote fetch is tolerated per-scope (a failing remote for one scope should\n // not abort the whole owner import). Write/merge/validation errors below propagate.\n let versionDeps: VersionDependencies[];\n try {\n versionDeps = await this._importComponentsObjects(idList, {\n lane: this.remoteLane,\n });\n } catch (err: any) {\n importFailedScopes.push(scopeName);\n allFailedScopesErrors.set(scopeName, err.message);\n this.logger.consoleFailure(`failed to import ${scopeName}`);\n continue;\n }\n\n // Record missing IDs (present in scope before import but not returned by fetch)\n // before any early-continue so they are not under-reported on empty results.\n const importedIdStrs = new Set(versionDeps.map((v) => v.component.id.toStringWithoutVersion()));\n for (const compIdStr of Object.keys(beforeVersions)) {\n if (!importedIdStrs.has(compIdStr)) accMissingIds.push(compIdStr);\n }\n\n if (!versionDeps.length) {\n this.logger.consoleSuccess(`imported ${scopeName} (0 components, nothing to import)`);\n continue;\n }\n anyImported = true;\n\n // Lightweight per-scope info that doesn't depend on merge status.\n for (const v of versionDeps) {\n accImportedIds.push(v.component.id);\n accImportedDeps.push(...v.allDependenciesIds);\n }\n\n // Hydrate + write this scope's components now, so `versionDeps` can be GC'd on the\n // next iteration instead of accumulating across all scopes.\n if (!this.options.objectsOnly) {\n const components = await multipleVersionDependenciesToConsumer(versionDeps, this.scope.objects);\n await this._fetchDivergeData(components);\n this._throwForDivergedHistory();\n this.divergeData = [];\n await this.throwForComponentsFromAnotherLane(components.map((c) => c.id));\n const filtered = await this._filterComponentsByFilters(components);\n if (filtered.length) {\n const componentsToWrite = await this.updateAllComponentsAccordingToMergeStrategy(filtered);\n await this.componentWriter.writeComponentsFiles(this._buildScopeWriteOpts(componentsToWrite));\n accWritten.push(...componentsToWrite);\n }\n }\n\n // Collect import details after merge-strategy processing so `this.mergeStatus`\n // is populated before `_getImportDetails` reads it for `filesStatus`.\n accImportDetails.push(...(await this._getImportDetails(beforeVersions, versionDeps)));\n\n this.logger.consoleSuccess(`imported ${scopeName} (${ids.length} components)`);\n }\n\n if (!anyImported) {\n throw new BitError(`failed to import any components from owner \"${ownerName}\"`);\n }\n\n if (importFailedScopes.length) {\n const failedDetails = importFailedScopes.map((scope) => {\n const errMsg = allFailedScopesErrors.get(scope);\n return errMsg ? `${scope}: ${errMsg}` : scope;\n });\n this.logger.consoleWarning(\n `completed with ${importFailedScopes.length} failed scope(s):\\n${failedDetails.join('\\n')}`\n );\n }\n\n let componentWriterResults: ComponentWriterResults | undefined;\n if (!this.options.objectsOnly && accWritten.length) {\n componentWriterResults = await this.componentWriter.finalizeWrite(\n this._buildScopeWriteOpts(accWritten, { shouldUpdateWorkspaceConfig: true })\n );\n await this._saveLaneDataIfNeeded(accWritten);\n }\n\n return {\n importedIds: accImportedIds,\n importedDeps: accImportedDeps,\n writtenComponents: accWritten,\n importDetails: accImportDetails,\n installationError: componentWriterResults?.installationError,\n compilationError: componentWriterResults?.compilationError,\n workspaceConfigUpdateResult: componentWriterResults?.workspaceConfigUpdateResult,\n missingIds: accMissingIds,\n lane: this.remoteLane,\n };\n }\n\n private _buildScopeWriteOpts(\n components: Component[],\n extra?: Partial<ManyComponentsWriterParams>\n ): ManyComponentsWriterParams {\n return {\n components,\n writeToPath: this.options.writeToPath,\n writeConfig: this.options.writeConfig,\n skipDependencyInstallation: !this.options.installNpmPackages,\n skipWriteConfigFiles: !this.options.writeConfigFiles,\n verbose: this.options.verbose,\n throwForExistingDir: !this.options.override,\n skipWritingToFs: this.options.trackOnly,\n reasonForBitmapChange: 'import',\n writeDeps: this.options.writeDeps,\n ...extra,\n };\n }\n\n /**\n * Process imported components: merge lane if needed, write to filesystem, and return results.\n */\n private async processAndWriteComponents(\n beforeImportVersions: ImportedVersions,\n versionDependenciesArr: VersionDependencies[]\n ): Promise<ImportResult> {\n if (this.remoteLane && this.options.objectsOnly) {\n await this.mergeAndSaveLaneObject(this.remoteLane);\n }\n\n let writtenComponents: Component[] = [];\n let componentWriterResults: ComponentWriterResults | undefined;\n if (!this.options.objectsOnly) {\n const components = await multipleVersionDependenciesToConsumer(versionDependenciesArr, this.scope.objects);\n await this._fetchDivergeData(components);\n this._throwForDivergedHistory();\n await this.throwForComponentsFromAnotherLane(components.map((c) => c.id));\n const filteredComponents = await this._filterComponentsByFilters(components);\n componentWriterResults = await this._writeToFileSystem(filteredComponents);\n await this._saveLaneDataIfNeeded(filteredComponents);\n writtenComponents = filteredComponents;\n }\n\n return this.returnCompleteResults(\n beforeImportVersions,\n versionDependenciesArr,\n writtenComponents,\n componentWriterResults\n );\n }\n\n private async mergeAndSaveLaneObject(lane: Lane) {\n const mergeLaneResults = await this.scope.sources.mergeLane(lane, true);\n const mergedLane = mergeLaneResults.mergeLane;\n const isRemoteLaneEqualsToMergedLane = lane.isEqual(mergedLane);\n await this.scope.lanes.saveLane(mergedLane, {\n saveLaneHistory: !isRemoteLaneEqualsToMergedLane,\n laneHistoryMsg: 'import (merge from remote)',\n });\n }\n\n private async _filterComponentsByFilters(components: Component[]): Promise<Component[]> {\n if (!this.options.filterEnvs) return components;\n const filteredP = components.map(async (component) => {\n // If the id was requested explicitly, we don't want to filter it out\n if (this.options.ids) {\n if (\n this.options.ids.includes(component.id.toStringWithoutVersion()) ||\n this.options.ids.includes(component.id.toString())\n ) {\n return component;\n }\n }\n const currentEnv = await this.envs.calculateEnvIdFromExtensions(component.extensions);\n const currentEnvWithoutVersion = currentEnv.split('@')[0];\n if (\n this.options.filterEnvs?.includes(currentEnv) ||\n this.options.filterEnvs?.includes(currentEnvWithoutVersion)\n ) {\n return component;\n }\n return undefined;\n });\n const filtered = compact(await Promise.all(filteredP));\n return filtered;\n }\n\n private async _fetchDivergeData(components: Component[]) {\n if (this.options.objectsOnly) {\n // no need for it when importing objects only. if it's enabled, in case when on a lane and a non-lane\n // component is in bitmap using an older version, it throws \"getDivergeData: unable to find Version X of Y\"\n return;\n }\n await pMapPool(\n components,\n async (component) => {\n const fromWorkspace = this.workspace.getIdIfExist(component.id);\n const modelComponent = await this.scope.getModelComponent(component.id);\n await modelComponent.setDivergeData(this.scope.objects, undefined, false, fromWorkspace);\n this.divergeData.push(modelComponent);\n },\n { concurrency: concurrentComponentsLimit() }\n );\n }\n\n _throwForDivergedHistory() {\n if (this.options.merge || this.options.objectsOnly) return;\n const divergedComponents = this.divergeData.filter((modelComponent) =>\n modelComponent.getDivergeData().isDiverged()\n );\n if (divergedComponents.length) {\n const divergeData = divergedComponents.map((modelComponent) => ({\n id: modelComponent.id(),\n snapsLocal: modelComponent.getDivergeData().snapsOnSourceOnly.length,\n snapsRemote: modelComponent.getDivergeData().snapsOnTargetOnly.length,\n }));\n throw new ComponentsPendingMerge(divergeData);\n }\n }\n\n private async throwForComponentsFromAnotherLane(bitIds: ComponentID[]) {\n if (this.options.objectsOnly) return;\n const currentLaneId = this.workspace.getCurrentLaneId();\n const currentRemoteLane = this.remoteLane?.toLaneId().isEqual(currentLaneId) ? this.remoteLane : undefined;\n const currentLane = await this.workspace.getCurrentLaneObject();\n const idsFromAnotherLane: ComponentID[] = [];\n const concurrency = concurrentComponentsLimit();\n if (currentRemoteLane) {\n await pMapPool(\n bitIds,\n async (bitId) => {\n const isOnCurrentLane =\n (await this.scope.isPartOfLaneHistoryOrMain(bitId, currentRemoteLane)) ||\n (currentLane && (await this.scope.isPartOfLaneHistoryOrMain(bitId, currentLane)));\n if (!isOnCurrentLane) idsFromAnotherLane.push(bitId);\n },\n { concurrency }\n );\n } else {\n await pMapPool(\n bitIds,\n async (bitId) => {\n const isIdOnMain = await this.scope.isPartOfMainHistory(bitId);\n if (!isIdOnMain) idsFromAnotherLane.push(bitId);\n },\n { concurrency }\n );\n }\n if (idsFromAnotherLane.length) {\n throw new BitError(`unable to import the following component(s) as they belong to other lane(s):\n${idsFromAnotherLane.map((id) => id.toString()).join(', ')}\nif you need this specific snap, find the lane this snap is belong to, then run \"bit lane merge <lane-id> [component-id]\" to merge this component from the lane.\nif you just want to get a quick look into this snap, create a new workspace and import it by running \"bit lane import <lane-id> --pattern <component-id>\"`);\n }\n }\n\n private async _importComponentsObjects(\n ids: ComponentIdList,\n {\n fromOriginalScope = false,\n lane,\n ignoreMissingHead = false,\n }: {\n fromOriginalScope?: boolean;\n lane?: Lane;\n ignoreMissingHead?: boolean;\n }\n ): Promise<VersionDependencies[]> {\n const scopeComponentsImporter = ScopeComponentsImporter.getInstance(this.scope);\n await scopeComponentsImporter.importWithoutDeps(ids.toVersionLatest(), {\n cache: false,\n lane,\n includeVersionHistory: true,\n fetchHeadIfLocalIsBehind: !this.options.allHistory,\n collectParents: this.options.allHistory,\n // in case a user is merging a lane into a new workspace, then, locally main has head, but remotely the head is\n // empty, until it's exported. going to the remote and asking this component will throw an error if ignoreMissingHead is false\n ignoreMissingHead: true,\n includeUnexported: this.options.isLaneFromRemote,\n reason: `of their latest on ${lane ? `lane ${lane.id()}` : 'main'}`,\n });\n\n this.logger.setStatusLine(`import ${ids.length} components with their dependencies (if missing)`);\n const results = fromOriginalScope\n ? await scopeComponentsImporter.importManyFromOriginalScopes(ids)\n : await scopeComponentsImporter.importMany({\n ids,\n ignoreMissingHead,\n lane,\n preferDependencyGraph: !this.options.fetchDeps,\n // when user is running \"bit import\", we want to re-fetch if it wasn't built. todo: check if this can be disabled when not needed\n reFetchUnBuiltVersion: true,\n // it's possible that .bitmap is not in sync and has local tags that don't exist on the remote. later, we\n // add them to \"missingIds\" of \"importResult\" and show them to the user\n throwForSeederNotFound: false,\n reason: this.options.fetchDeps\n ? 'for getting all dependencies'\n : `for getting dependencies of components that don't have dependency-graph`,\n });\n\n return results;\n }\n\n /**\n * consider the following use cases:\n * 1) no ids were provided. it should import all the lanes components objects AND main components objects\n * (otherwise, if main components are not imported and are missing, then bit-status complains about it)\n * 2) ids are provided with wildcards. by default, imports from both lane and main (lane versions preferred).\n * if --lane-only flag is specified, import only components that exist on the lane.\n * 3) ids are provided without wildcards. here, the user knows exactly what's needed and it's ok to get the ids from\n * main if not found on the lane.\n */\n private async getBitIdsForLanes(): Promise<ComponentID[]> {\n if (!this.options.lanes) {\n throw new Error(`getBitIdsForLanes: this.options.lanes must be set`);\n }\n // For the no-ids object-fetch path we include hidden entries — their Version objects must\n // land locally for merge/diverge calculations. For explicit ids/wildcards we use visible-only,\n // otherwise `bit import comp2` (when comp2 is hidden on the lane) would resolve to the\n // cascade snap instead of main's tag.\n const remoteLaneIds = this.remoteLane?.toComponentIdsIncludeUpdateDependents() || new ComponentIdList();\n const visibleRemoteLaneIds = this.visibleLaneIds;\n\n if (!this.options.ids.length) {\n const bitMapIds = this.consumer.bitMap.getAllBitIds();\n const bitMapIdsToImport = bitMapIds.filter((id) => id.hasScope() && !remoteLaneIds.has(id));\n remoteLaneIds.push(...bitMapIdsToImport);\n\n return remoteLaneIds;\n }\n\n const idsWithWildcard = this.options.ids.filter((id) => hasWildcard(id));\n const idsWithoutWildcard = this.options.ids.filter((id) => !hasWildcard(id));\n const idsWithoutWildcardPreferFromLane = await Promise.all(\n idsWithoutWildcard.map(async (idStr) => {\n const id = await this.getIdFromStr(idStr);\n const fromLane = visibleRemoteLaneIds.searchWithoutVersion(id);\n return fromLane && !id.hasVersion() ? fromLane : id;\n })\n );\n\n const bitIds: ComponentID[] = [...idsWithoutWildcardPreferFromLane];\n\n if (!idsWithWildcard) {\n return bitIds;\n }\n\n await pMapSeries(idsWithWildcard, async (idStr: string) => {\n const existingOnLanes = await this.workspace.filterIdsFromPoolIdsByPattern(idStr, visibleRemoteLaneIds, false);\n\n if (this.options.laneOnly) {\n // When --lane-only is specified, import only components that exist on the lane, never from main\n bitIds.push(...existingOnLanes);\n } else {\n // New default behavior: Import from both lane and main\n // Get all components matching the pattern from main\n const idsFromRemote = await this.lister.getRemoteCompIdsByWildcards(idStr, this.options.includeDeprecated);\n\n // Prefer lane versions where they exist, use main versions for the rest\n const laneIds = new Set(existingOnLanes.map((id) => id.toStringWithoutVersion()));\n const mainOnlyIds = idsFromRemote.filter((id) => !laneIds.has(id.toStringWithoutVersion()));\n\n bitIds.push(...existingOnLanes, ...mainOnlyIds);\n }\n });\n\n return bitIds;\n }\n\n private async getIdFromStr(id: string): Promise<ComponentID> {\n if (id.startsWith('@')) return this.workspace.resolveComponentIdFromPackageName(id);\n return ComponentID.fromString(id); // we don't support importing without a scope name\n }\n\n private async getBitIdsForNonLanes() {\n const bitIds: ComponentID[] = [];\n\n await pMapPool(\n this.options.ids,\n async (idStr: string) => {\n if (hasWildcard(idStr)) {\n let ids: ComponentID[] = [];\n try {\n ids = await this.lister.getRemoteCompIdsByWildcards(idStr, this.options.includeDeprecated);\n } catch (err: any) {\n if (err instanceof NoIdMatchWildcard) {\n this.logger.consoleWarning(err.message);\n } else {\n this.logger.error(`failed getting the list of components by the wildcard ${idStr}`);\n throw err;\n }\n }\n bitIds.push(...ids);\n } else {\n const id = await this.getIdFromStr(idStr);\n bitIds.push(id);\n }\n },\n { concurrency: 30 }\n );\n\n this.logger.setStatusLine(BEFORE_IMPORT_ACTION); // it stops the previous loader of BEFORE_REMOTE_LIST\n\n return bitIds;\n }\n\n private async getBitIds(): Promise<ComponentIdList> {\n const bitIds: ComponentID[] = this.options.lanes\n ? await this.getBitIdsForLanes()\n : await this.getBitIdsForNonLanes();\n const shouldImportDependents =\n this.options.importDependents || this.options.dependentsVia || this.options.dependentsAll;\n const shouldImportDependencies =\n this.options.importDependenciesDirectly || this.options.importHeadDependenciesDirectly;\n if (shouldImportDependencies || shouldImportDependents) {\n if (shouldImportDependencies) {\n const dependenciesIds = await this.getFlattenedDepsUnique(bitIds);\n bitIds.push(...dependenciesIds);\n }\n if (shouldImportDependents) {\n const dependentsGetter = new DependentsGetter(this.logger, this.workspace, this.graph, this.options);\n const dependents = await dependentsGetter.getDependents(bitIds);\n bitIds.push(...dependents);\n }\n }\n return ComponentIdList.uniqFromArray(bitIds);\n }\n\n private async getFlattenedDepsUnique(bitIds: ComponentID[]): Promise<ComponentID[]> {\n const flattened = this.options.dependenciesDepth\n ? await this.getDepsByDepth(bitIds, this.options.dependenciesDepth)\n : await this.getAllFlattenedDeps(bitIds);\n return this.options.importHeadDependenciesDirectly\n ? this.uniqWithoutVersions(flattened)\n : this.removeMultipleVersionsKeepLatest(flattened);\n }\n\n private async getAllFlattenedDeps(bitIds: ComponentID[]): Promise<ComponentIdList> {\n const remoteComps = await this.scope.scopeImporter.getManyRemoteComponents(bitIds);\n const versions = remoteComps.getVersions();\n return ComponentIdList.uniqFromArray(versions.flatMap((v) => [...v.flattenedDependencies]));\n }\n\n /**\n * Single remote fetch; BFS in-process over each root version's `flattenedEdges`\n * (which captures the full transitive graph rooted at that version).\n */\n private async getDepsByDepth(bitIds: ComponentID[], depth: number): Promise<ComponentIdList> {\n const idList = ComponentIdList.fromArray(bitIds);\n await this.scope.scopeImporter.importWithoutDeps(idList, { cache: true, lane: this.remoteLane });\n // defaultToLatestVersion=true so versionless inputs (e.g. `bit import scope/foo`) resolve\n // to the fetched head, instead of throwing inside getComponentsAndVersions.\n const componentsAndVersions = await this.scope.getComponentsAndVersions(idList, true);\n\n // build adjacency from the merged flattenedEdges of all root versions\n const adjacency = new Map<string, ComponentID[]>();\n const missingEdges: string[] = [];\n for (const { component, versionStr, version } of componentsAndVersions) {\n const edges = await version.getFlattenedEdges(this.scope.objects);\n if (!edges.length && version.flattenedDependencies.length) {\n missingEdges.push(`${component.toComponentId().toStringWithoutVersion()}@${versionStr}`);\n continue;\n }\n for (const edge of edges) {\n const key = edge.source.toString();\n const targets = adjacency.get(key);\n if (targets) targets.push(edge.target);\n else adjacency.set(key, [edge.target]);\n }\n }\n if (missingEdges.length) {\n throw new BitError(\n `unable to honor \"--dependencies-depth\": dependency-graph data (flattenedEdges) is missing for the following component(s):\n${missingEdges.map((id) => ` ${id}`).join('\\n')}\nthis typically happens for components tagged before bit 0.0.901, or when the remote scope is on an older version.\nre-run without \"--dependencies-depth\" to import all transitive dependencies, or re-tag the component(s) on a newer bit.`\n );\n }\n\n // BFS up to `depth` levels. roots tracked without version because input may be versionless\n // while dep references inside the graph carry a specific hash.\n const rootKeysNoVersion = new Set<string>(bitIds.map((id) => id.toStringWithoutVersion()));\n const collected = new Map<string, ComponentID>();\n const visited = new Set<string>();\n let currentBatch: ComponentID[] = componentsAndVersions.map(({ component, versionStr }) =>\n component.toComponentId().changeVersion(versionStr)\n );\n\n for (let level = 0; level < depth && currentBatch.length; level++) {\n const nextBatch: ComponentID[] = [];\n for (const id of currentBatch) {\n const targets = adjacency.get(id.toString()) || [];\n for (const target of targets) {\n const key = target.toString();\n if (visited.has(key) || rootKeysNoVersion.has(target.toStringWithoutVersion())) continue;\n visited.add(key);\n collected.set(key, target);\n nextBatch.push(target);\n }\n }\n currentBatch = nextBatch;\n }\n\n return ComponentIdList.uniqFromArray(Array.from(collected.values()));\n }\n\n private uniqWithoutVersions(flattened: ComponentIdList) {\n const latest = flattened.toVersionLatest();\n return ComponentIdList.uniqFromArray(latest);\n }\n\n private removeMultipleVersionsKeepLatest(flattened: ComponentIdList): ComponentID[] {\n const grouped = flattened.toGroupByIdWithoutVersion();\n const latestVersions = Object.keys(grouped).map((key) => {\n const ids = grouped[key];\n if (ids.length === 1) return ids[0];\n try {\n const latest = getLatestVersionNumber(ids, ids[0].changeVersion(LATEST_VERSION));\n return latest;\n } catch (err: any) {\n throw new Error(`a dependency \"${key}\" was found with multiple versions, unable to find which one of them is newer.\nerror: ${err.message}\nconsider running with \"--dependencies-head\" flag instead, which checks out to the head of the dependencies`);\n }\n });\n\n return latestVersions;\n }\n\n async importAccordingToBitMap(): Promise<ImportResult> {\n this.options.objectsOnly = !this.options.merge && !this.options.override;\n const componentsIdsToImport = this.getIdsToImportFromBitmap();\n const emptyResult = {\n importedIds: [],\n importedDeps: [],\n importDetails: [],\n };\n if (!componentsIdsToImport.length) {\n return emptyResult;\n }\n await this._throwForModifiedOrNewComponents(componentsIdsToImport);\n const beforeImportVersions = await this._getCurrentVersions(componentsIdsToImport);\n if (!componentsIdsToImport.length) {\n return emptyResult;\n }\n if (!this.options.objectsOnly) {\n const flagUsed = this.options.merge ? '--merge' : '--override';\n throw new Error(`bit import with no ids and ${flagUsed} flag is not supported.\nto write the components from .bitmap file according to the their remote, please use \"bit checkout reset --all\"`);\n }\n const versionDependenciesArr = await this._importComponentsObjects(componentsIdsToImport, {\n fromOriginalScope: this.options.fromOriginalScope,\n });\n let writtenComponents: Component[] = [];\n let componentWriterResults: ComponentWriterResults | undefined;\n if (!this.options.objectsOnly) {\n const components = await multipleVersionDependenciesToConsumer(versionDependenciesArr, this.scope.objects);\n componentWriterResults = await this._writeToFileSystem(components);\n writtenComponents = components;\n }\n\n return this.returnCompleteResults(\n beforeImportVersions,\n versionDependenciesArr,\n writtenComponents,\n componentWriterResults\n );\n }\n\n private getIdsToImportFromBitmap() {\n const allIds = this.consumer.bitMap.getAllBitIdsFromAllLanes();\n return ComponentIdList.fromArray(allIds.filter((id) => id.hasScope()));\n }\n\n async _getCurrentVersions(ids: ComponentIdList): Promise<ImportedVersions> {\n const versionsP = ids.map(async (id) => {\n const modelComponent = await this.consumer.scope.getModelComponentIfExist(id.changeVersion(undefined));\n const idStr = id.toStringWithoutVersion();\n if (!modelComponent) return [idStr, []];\n return [idStr, modelComponent.listVersions()];\n });\n const versions = await Promise.all(versionsP);\n return fromPairs(versions);\n }\n\n /**\n * get import details, includes the diff between the versions array before import and after import\n */\n async _getImportDetails(\n currentVersions: ImportedVersions,\n components: VersionDependencies[]\n ): Promise<ImportDetails[]> {\n // Bounded concurrency: each entry does `isDeprecated` / `isRemoved`, which load and\n // parse the head Version object from disk. Fanning out 4k+ of those at once (the old\n // Promise.all) OOMs the heap on large imports.\n const importDetails = await pMapPool(\n components,\n async (component): Promise<ImportDetails> => {\n const id = component.component.id;\n const idStr = id.toStringWithoutVersion();\n const beforeImportVersions = currentVersions[idStr];\n if (!beforeImportVersions) {\n throw new Error(\n `_getImportDetails failed finding ${idStr} in currentVersions, which has ${Object.keys(\n currentVersions\n ).join(', ')}`\n );\n }\n const modelComponent = await this.consumer.scope.getModelComponentIfExist(id);\n if (!modelComponent) throw new BitError(`imported component ${idStr} was not found in the model`);\n const afterImportVersions = modelComponent.listVersions();\n const versionDifference: string[] = difference(afterImportVersions, beforeImportVersions);\n const getStatus = (): ImportStatus => {\n if (!versionDifference.length) return 'up to date';\n if (!beforeImportVersions.length) return 'added';\n return 'updated';\n };\n const filesStatus = this.mergeStatus && this.mergeStatus[idStr] ? this.mergeStatus[idStr] : null;\n const deprecated = Boolean(await modelComponent.isDeprecated(this.scope.objects, id.version));\n const removed = Boolean(await component.component.component.isRemoved(this.scope.objects, id.version));\n const latestVersion = modelComponent.getHeadRegardlessOfLaneAsTagOrHash(true);\n return {\n id: idStr,\n versions: versionDifference,\n latestVersion: versionDifference.includes(latestVersion) ? latestVersion : null,\n status: getStatus(),\n filesStatus,\n missingDeps: this.options.fetchDeps ? component.getMissingDependencies() : [],\n deprecated,\n removed,\n };\n },\n { concurrency: concurrentComponentsLimit() }\n );\n\n return importDetails;\n }\n\n async _throwForPotentialIssues(ids: ComponentIdList): Promise<void> {\n await this._throwForModifiedOrNewComponents(ids);\n this._throwForDifferentComponentWithSameName(ids);\n }\n\n async _throwForModifiedOrNewComponents(ids: ComponentIdList): Promise<void> {\n // the typical objectsOnly option is when a user cloned a project with components tagged to the source code, but\n // doesn't have the model objects. in that case, calling getComponentStatusById() may return an error as it relies\n // on the model objects when there are dependencies\n if (this.options.override || this.options.objectsOnly || this.options.merge || this.options.trackOnly) return;\n const componentsStatuses = await this.workspace.getManyComponentsStatuses(ids);\n const modifiedComponents = componentsStatuses\n .filter(({ status }) => status.modified || status.newlyCreated)\n .map((c) => c.id);\n if (modifiedComponents.length) {\n throw new BitError(\n `unable to import the following components due to local changes, use --merge flag to merge your local changes or --override to override them\\n${modifiedComponents.join(\n '\\n'\n )} `\n );\n }\n }\n\n /**\n * Model Component id() calculation uses id.toString() for the hash.\n * If an imported component has scopereadonly name equals to a local name, both will have the exact same\n * hash and they'll override each other.\n */\n _throwForDifferentComponentWithSameName(ids: ComponentIdList): void {\n ids.forEach((id: ComponentID) => {\n const existingId = this.consumer.getParsedIdIfExist(id.toStringWithoutVersion());\n if (existingId && !existingId.hasScope()) {\n throw new BitError(`unable to import ${id.toString()}. the component name conflicted with your local (new/staged) component with the same name.\nit's fine to have components with the same name as long as their scope names are different.\nif the component was created by mistake, remove it and import the remote one.\notherwise, if tagged/snapped, \"bit reset\" it, then bit rename it.`);\n }\n });\n }\n\n async _getMergeStatus(component: Component): Promise<ComponentMergeStatus> {\n const componentStatus = await this.workspace.getComponentStatusById(component.id);\n const mergeStatus: ComponentMergeStatus = { component, mergeResults: null };\n if (!componentStatus.modified) return mergeStatus;\n const componentModel = await this.consumer.scope.getModelComponent(component.id);\n const existingBitMapBitId = this.consumer.bitMap.getComponentId(component.id, { ignoreVersion: true });\n const fsComponent = await this.consumer.loadComponent(existingBitMapBitId);\n const currentlyUsedVersion = existingBitMapBitId.version;\n const baseComponent: Version = await componentModel.loadVersion(currentlyUsedVersion, this.consumer.scope.objects);\n const otherComponent: Version = await componentModel.loadVersion(component.id.version, this.consumer.scope.objects);\n const mergeResults = await threeWayMerge({\n scope: this.consumer.scope,\n otherComponent,\n otherLabel: component.id.version as string,\n currentComponent: fsComponent,\n currentLabel: `${currentlyUsedVersion} modified`,\n baseComponent,\n });\n mergeStatus.mergeResults = mergeResults;\n return mergeStatus;\n }\n\n /**\n * 1) when there are conflicts and the strategy is \"ours\", don't write the imported component to\n * the filesystem, only update bitmap.\n *\n * 2) when there are conflicts and the strategy is \"theirs\", override the local changes by the\n * imported component. (similar to --override)\n *\n * 3) when there is no conflict or there are conflicts and the strategy is manual, write the files\n * according to the merge result. (done by applyModifiedVersion())\n */\n _updateComponentFilesPerMergeStrategy(componentMergeStatus: ComponentMergeStatus): FilesStatus | null | undefined {\n const mergeResults = componentMergeStatus.mergeResults;\n if (!mergeResults) return null;\n const component = componentMergeStatus.component;\n const files = component.files;\n\n if (mergeResults.hasConflicts && this.options.mergeStrategy === MergeOptions.ours) {\n const filesStatus = {};\n // don't write the files to the filesystem, only bump the bitmap version.\n files.forEach((file) => {\n filesStatus[pathNormalizeToLinux(file.relative)] = FileStatus.unchanged;\n });\n this.consumer.bitMap.updateComponentId(component.id);\n this.consumer.bitMap.hasChanged = true;\n return filesStatus;\n }\n if (mergeResults.hasConflicts && this.options.mergeStrategy === MergeOptions.theirs) {\n const filesStatus = {};\n // the local changes will be overridden (as if the user entered --override flag for this component)\n files.forEach((file) => {\n filesStatus[pathNormalizeToLinux(file.relative)] = FileStatus.updated;\n });\n return filesStatus;\n }\n const { filesStatus, modifiedFiles } = applyModifiedVersion(\n component.files,\n mergeResults,\n this.options.mergeStrategy\n );\n component.files = modifiedFiles;\n\n return filesStatus;\n }\n\n /**\n * update the component files if they are modified and there is a merge strategy.\n * returns only the components that need to be written to the filesystem\n */\n async updateAllComponentsAccordingToMergeStrategy(components: Component[]): Promise<Component[]> {\n if (!this.options.merge) return components;\n const componentsStatusP = components.map((component: Component) => {\n return this._getMergeStatus(component);\n });\n const componentsStatus = await Promise.all(componentsStatusP);\n const componentWithConflict = componentsStatus.find(\n (component) => component.mergeResults && component.mergeResults.hasConflicts\n );\n if (componentWithConflict && !this.options.mergeStrategy) {\n this.options.mergeStrategy = await getMergeStrategyInteractive();\n }\n this.mergeStatus = {};\n\n const componentsToWrite = componentsStatus.map((componentStatus) => {\n const filesStatus: FilesStatus | null | undefined = this._updateComponentFilesPerMergeStrategy(componentStatus);\n const component = componentStatus.component;\n if (!filesStatus) return component;\n this.mergeStatus[component.id.toStringWithoutVersion()] = filesStatus;\n const unchangedFiles = Object.keys(filesStatus).filter((file) => filesStatus[file] === FileStatus.unchanged);\n if (unchangedFiles.length === Object.keys(filesStatus).length) {\n // all files are unchanged\n return null;\n }\n return component;\n });\n return compact(componentsToWrite);\n }\n\n _shouldSaveLaneData(): boolean {\n if (this.options.objectsOnly) {\n return false;\n }\n return this.consumer.isOnLane();\n }\n\n async _saveLaneDataIfNeeded(components: Component[]): Promise<void> {\n if (!this._shouldSaveLaneData()) {\n return;\n }\n const currentLane = await this.consumer.getCurrentLaneObject();\n if (!currentLane) {\n return; // user on main\n }\n const idsFromRemoteLanes = this.remoteLane?.toComponentIds() || new ComponentIdList();\n await Promise.all(\n components.map(async (comp) => {\n const existOnRemoteLane = idsFromRemoteLanes.has(comp.id);\n if (!existOnRemoteLane && !this.options.saveInLane) {\n this.consumer.bitMap.setOnLanesOnly(comp.id, false);\n return;\n }\n const modelComponent = await this.scope.getModelComponent(comp.id);\n const ref = modelComponent.getRef(comp.id.version as string);\n if (!ref) throw new Error(`_saveLaneDataIfNeeded unable to get ref for ${comp.id.toString()}`);\n currentLane.addComponent({ id: comp.id, head: ref });\n })\n );\n await this.scope.lanes.saveLane(currentLane, { laneHistoryMsg: 'import components' });\n }\n\n async _writeToFileSystem(components: Component[]): Promise<ComponentWriterResults> {\n const componentsToWrite = await this.updateAllComponentsAccordingToMergeStrategy(components);\n const manyComponentsWriterOpts: ManyComponentsWriterParams = {\n components: componentsToWrite,\n writeToPath: this.options.writeToPath,\n writeConfig: this.options.writeConfig,\n skipDependencyInstallation: !this.options.installNpmPackages,\n skipWriteConfigFiles: !this.options.writeConfigFiles,\n verbose: this.options.verbose,\n throwForExistingDir: !this.options.override,\n skipWritingToFs: this.options.trackOnly,\n shouldUpdateWorkspaceConfig: true,\n reasonForBitmapChange: 'import',\n writeDeps: this.options.writeDeps,\n };\n return this.componentWriter.writeMany(manyComponentsWriterOpts);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/import.cmd.d.ts
CHANGED
package/dist/import.cmd.js
CHANGED
|
@@ -69,7 +69,7 @@ without arguments, fetches all workspace components' latest versions from their
|
|
|
69
69
|
_defineProperty(this, "alias", '');
|
|
70
70
|
_defineProperty(this, "options", [['p', 'path <path>', 'import components into a specific directory (a relative path in the workspace)'], ['o', 'objects', 'import components objects to the local scope without checkout (without writing them to the file system). This is the default behavior for import with no id argument'], ['O', 'override', 'override local changes'], ['v', 'verbose', 'show verbose output for inspection'], ['j', 'json', 'return the output as JSON'],
|
|
71
71
|
// ['', 'conf', 'write the configuration file (component.json) of the component'], // not working. need to fix once ComponentWriter is moved to Harmony
|
|
72
|
-
['x', 'skip-dependency-installation', 'do not auto-install dependencies of the imported components'], ['', 'skip-write-config-files', 'do not write config files (such as eslint, tsconfig, prettier, etc...)'], ['m', 'merge [strategy]', 'merge local changes with the imported version. strategy should be "theirs", "ours" or "manual"'], ['', 'dependencies', 'import all dependencies (bit components only) of imported components and write them to the workspace'], ['', 'dependencies-head', 'same as --dependencies, except it imports the dependencies with their head version'], ['', 'dependents', 'import components found while traversing from the imported components upwards to the workspace components'], ['', 'dependents-via <string>', 'same as --dependents except the traversal must go through the specified component. to specify multiple components, wrap with quotes and separate by a comma'], ['', 'dependents-all', 'same as --dependents except not prompting for selecting paths but rather selecting all paths and showing final confirmation before importing'], ['', 'dependents-dry-run', 'DEPRECATED. (this is the default now). same as --dependents, except it prints the found dependents and wait for confirmation before importing them'], ['', 'silent', 'no prompt for --dependents/--dependents-via flags'], ['', 'filter-envs <envs>', 'only import components that have the specified environment (e.g., "teambit.react/react-env")'], ['', 'save-in-lane', 'when checked out to a lane and the component is not on the remote-lane, save it in the lane (defaults to save on main)'], ['', 'all-history', 'relevant for fetching all components objects. avoid optimizations, fetch all history versions, always'], ['', 'fetch-deps', 'fetch dependencies (bit components) objects to the local scope, but dont add to the workspace. Useful to resolve errors about missing dependency data'], ['', 'write-deps <target>', 'write all workspace component dependencies to the specified target ("package.json" or "workspace.jsonc"), resolving conflicts by picking the ranges that match the highest versions'], ['', 'track-only', 'do not write any component files, just create .bitmap entries of the imported components. Useful when the files already exist and just want to re-add the component to the bitmap'], ['', 'include-deprecated', 'when importing with patterns, include deprecated components (default to exclude them)'], ['', 'lane-only', 'when using wildcards on a lane, only import components that exist on the lane (never from main)'], ['', 'owner', 'treat the argument as an owner name and import all components from all scopes of that owner']]);
|
|
72
|
+
['x', 'skip-dependency-installation', 'do not auto-install dependencies of the imported components'], ['', 'skip-write-config-files', 'do not write config files (such as eslint, tsconfig, prettier, etc...)'], ['m', 'merge [strategy]', 'merge local changes with the imported version. strategy should be "theirs", "ours" or "manual"'], ['', 'dependencies', 'import all dependencies (bit components only) of imported components and write them to the workspace'], ['', 'dependencies-head', 'same as --dependencies, except it imports the dependencies with their head version'], ['', 'dependencies-depth <n>', 'limit how many levels deep to traverse with --dependencies/--dependencies-head (1=direct deps only). default: traverse all levels'], ['', 'dependents', 'import components found while traversing from the imported components upwards to the workspace components'], ['', 'dependents-via <string>', 'same as --dependents except the traversal must go through the specified component. to specify multiple components, wrap with quotes and separate by a comma'], ['', 'dependents-all', 'same as --dependents except not prompting for selecting paths but rather selecting all paths and showing final confirmation before importing'], ['', 'dependents-dry-run', 'DEPRECATED. (this is the default now). same as --dependents, except it prints the found dependents and wait for confirmation before importing them'], ['', 'silent', 'no prompt for --dependents/--dependents-via flags'], ['', 'filter-envs <envs>', 'only import components that have the specified environment (e.g., "teambit.react/react-env")'], ['', 'save-in-lane', 'when checked out to a lane and the component is not on the remote-lane, save it in the lane (defaults to save on main)'], ['', 'all-history', 'relevant for fetching all components objects. avoid optimizations, fetch all history versions, always'], ['', 'fetch-deps', 'fetch dependencies (bit components) objects to the local scope, but dont add to the workspace. Useful to resolve errors about missing dependency data'], ['', 'write-deps <target>', 'write all workspace component dependencies to the specified target ("package.json" or "workspace.jsonc"), resolving conflicts by picking the ranges that match the highest versions'], ['', 'track-only', 'do not write any component files, just create .bitmap entries of the imported components. Useful when the files already exist and just want to re-add the component to the bitmap'], ['', 'include-deprecated', 'when importing with patterns, include deprecated components (default to exclude them)'], ['', 'lane-only', 'when using wildcards on a lane, only import components that exist on the lane (never from main)'], ['', 'owner', 'treat the argument as an owner name and import all components from all scopes of that owner']]);
|
|
73
73
|
_defineProperty(this, "loader", true);
|
|
74
74
|
_defineProperty(this, "remoteOp", true);
|
|
75
75
|
_defineProperty(this, "_packageManagerArgs", void 0);
|
|
@@ -146,6 +146,7 @@ without arguments, fetches all workspace components' latest versions from their
|
|
|
146
146
|
saveInLane = false,
|
|
147
147
|
dependencies = false,
|
|
148
148
|
dependenciesHead = false,
|
|
149
|
+
dependenciesDepth,
|
|
149
150
|
dependents = false,
|
|
150
151
|
dependentsDryRun = false,
|
|
151
152
|
silent,
|
|
@@ -186,6 +187,16 @@ without arguments, fetches all workspace components' latest versions from their
|
|
|
186
187
|
if (owner && ids.length !== 1) {
|
|
187
188
|
throw new (_bitError().BitError)('--owner flag requires exactly one argument (the owner name)');
|
|
188
189
|
}
|
|
190
|
+
let dependenciesDepthNum;
|
|
191
|
+
if (dependenciesDepth !== undefined) {
|
|
192
|
+
if (!dependencies && !dependenciesHead) {
|
|
193
|
+
throw new (_bitError().BitError)('"--dependencies-depth" flag requires "--dependencies" or "--dependencies-head"');
|
|
194
|
+
}
|
|
195
|
+
dependenciesDepthNum = Number(dependenciesDepth);
|
|
196
|
+
if (!Number.isInteger(dependenciesDepthNum) || dependenciesDepthNum < 1) {
|
|
197
|
+
throw new (_bitError().BitError)(`"--dependencies-depth" must be a positive integer, got "${dependenciesDepth}"`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
189
200
|
let mergeStrategy;
|
|
190
201
|
if (merge && typeof merge === 'string') {
|
|
191
202
|
const options = Object.keys(_componentModules().MergeOptions);
|
|
@@ -210,6 +221,7 @@ without arguments, fetches all workspace components' latest versions from their
|
|
|
210
221
|
saveInLane,
|
|
211
222
|
importDependenciesDirectly: dependencies,
|
|
212
223
|
importHeadDependenciesDirectly: dependenciesHead,
|
|
224
|
+
dependenciesDepth: dependenciesDepthNum,
|
|
213
225
|
importDependents: dependents,
|
|
214
226
|
dependentsVia,
|
|
215
227
|
dependentsAll,
|
package/dist/import.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_chalk","_interopRequireDefault","_lodash","_componentModules","_componentId","_bitError","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ImportCmd","constructor","importer","name","description","report","ids","importFlags","importDetails","importedIds","importedDeps","installationError","compilationError","workspaceConfigUpdateResult","missingIds","cancellationMessage","lane","getImportResults","length","chalk","yellow","importedIdsUniqNoVersion","ComponentIdList","fromArray","toVersionLatest","summaryPrefix","upToDateCount","importedComponents","map","bitId","details","find","c","id","toStringWithoutVersion","Error","toString","status","formatPlainComponentItemWithVersions","filter","Boolean","getWsConfigUpdateLogs","logs","logsStr","join","formatTitle","upToDateSuffix","upToDateStr","summary","importOutput","formatSection","importedDepsOutput","displayDependencies","uniq","formatPlainComponentItem","getRemovedWarning","removedDetails","d","removed","removedItems","formatItem","bold","errorSymbol","hintBase","hintSuffix","joinSections","formatHint","formatMissingComponents","getWorkspaceConfigUpdateOutput","installationErrorOutput","compilationErrorOutput","formatSuccessSummary","json","path","objects","override","verbose","conf","skipDependencyInstallation","skipWriteConfigFiles","merge","filterEnvs","saveInLane","dependencies","dependenciesHead","dependents","dependentsDryRun","silent","dependentsVia","dependentsAll","allHistory","fetchDeps","trackOnly","includeDeprecated","writeDeps","laneOnly","owner","logger","warn","BitError","mergeStrategy","options","keys","MergeOptions","includes","envsToFilter","split","p","trim","undefined","importOptions","writeToPath","objectsOnly","writeConfig","installNpmPackages","writeConfigFiles","importDependenciesDirectly","importHeadDependenciesDirectly","importDependents","import","_packageManagerArgs","exports","missing","desc","items","red","scope","version","deprecated","suffix","cyan","usingLatest","getVersionsOutput","versions","latestVersion","usedVersion","getConflictMessage","filesStatus","conflictedFiles","file","FileStatus","manual","conflictMessage","missingDeps","symbol","warnSymbol","versionOutput","stateOutput","green","dim"],"sources":["import.cmd.ts"],"sourcesContent":["import type { Command, CommandOptions } from '@teambit/cli';\nimport {\n formatSection,\n formatItem,\n formatTitle,\n formatHint,\n formatSuccessSummary,\n warnSymbol,\n errorSymbol,\n joinSections,\n} from '@teambit/cli';\nimport chalk from 'chalk';\nimport { uniq } from 'lodash';\nimport type { MergeStrategy } from '@teambit/component.modules.merge-helper';\nimport {\n installationErrorOutput,\n compilationErrorOutput,\n getWorkspaceConfigUpdateOutput,\n FileStatus,\n MergeOptions,\n} from '@teambit/component.modules.merge-helper';\nimport type { ComponentID } from '@teambit/component-id';\nimport { ComponentIdList } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\n\nimport type { ImporterMain } from './importer.main.runtime';\nimport type { ImportOptions, ImportDetails, ImportStatus, ImportResult } from './import-components';\n\ntype ImportFlags = {\n path?: string;\n objects?: boolean;\n displayDependencies?: boolean;\n override?: boolean;\n verbose?: boolean;\n json?: boolean;\n conf?: string;\n skipDependencyInstallation?: boolean;\n skipWriteConfigFiles?: boolean;\n merge?: MergeStrategy;\n filterEnvs?: string;\n saveInLane?: boolean;\n dependencies?: boolean;\n dependenciesHead?: boolean;\n dependents?: boolean;\n dependentsDryRun?: boolean;\n dependentsVia?: string;\n dependentsAll?: boolean;\n silent?: boolean;\n allHistory?: boolean;\n fetchDeps?: boolean;\n trackOnly?: boolean;\n includeDeprecated?: boolean;\n writeDeps?: 'package.json' | 'workspace.jsonc';\n laneOnly?: boolean;\n owner?: boolean;\n};\n\nexport class ImportCmd implements Command {\n name = 'import [component-patterns...]';\n description = 'bring components from remote scopes into your workspace';\n helpUrl = 'reference/components/importing-components';\n arguments = [\n {\n name: 'component-patterns...',\n description:\n 'component IDs or component patterns (separated by space). Use patterns to import groups of components using a common scope or namespace. E.g., \"utils/*\" (wrap with double quotes)',\n },\n ];\n extendedDescription = `brings component source files from remote scopes into your workspace and installs their dependencies as packages.\nsupports pattern matching for bulk imports, merge strategies for handling conflicts, and various optimization options.\nwithout arguments, fetches all workspace components' latest versions from their remote scopes.`;\n group = 'collaborate';\n alias = '';\n options = [\n ['p', 'path <path>', 'import components into a specific directory (a relative path in the workspace)'],\n [\n 'o',\n 'objects',\n 'import components objects to the local scope without checkout (without writing them to the file system). This is the default behavior for import with no id argument',\n ],\n ['O', 'override', 'override local changes'],\n ['v', 'verbose', 'show verbose output for inspection'],\n ['j', 'json', 'return the output as JSON'],\n // ['', 'conf', 'write the configuration file (component.json) of the component'], // not working. need to fix once ComponentWriter is moved to Harmony\n ['x', 'skip-dependency-installation', 'do not auto-install dependencies of the imported components'],\n ['', 'skip-write-config-files', 'do not write config files (such as eslint, tsconfig, prettier, etc...)'],\n [\n 'm',\n 'merge [strategy]',\n 'merge local changes with the imported version. strategy should be \"theirs\", \"ours\" or \"manual\"',\n ],\n [\n '',\n 'dependencies',\n 'import all dependencies (bit components only) of imported components and write them to the workspace',\n ],\n ['', 'dependencies-head', 'same as --dependencies, except it imports the dependencies with their head version'],\n [\n '',\n 'dependents',\n 'import components found while traversing from the imported components upwards to the workspace components',\n ],\n [\n '',\n 'dependents-via <string>',\n 'same as --dependents except the traversal must go through the specified component. to specify multiple components, wrap with quotes and separate by a comma',\n ],\n [\n '',\n 'dependents-all',\n 'same as --dependents except not prompting for selecting paths but rather selecting all paths and showing final confirmation before importing',\n ],\n [\n '',\n 'dependents-dry-run',\n 'DEPRECATED. (this is the default now). same as --dependents, except it prints the found dependents and wait for confirmation before importing them',\n ],\n ['', 'silent', 'no prompt for --dependents/--dependents-via flags'],\n [\n '',\n 'filter-envs <envs>',\n 'only import components that have the specified environment (e.g., \"teambit.react/react-env\")',\n ],\n [\n '',\n 'save-in-lane',\n 'when checked out to a lane and the component is not on the remote-lane, save it in the lane (defaults to save on main)',\n ],\n [\n '',\n 'all-history',\n 'relevant for fetching all components objects. avoid optimizations, fetch all history versions, always',\n ],\n [\n '',\n 'fetch-deps',\n 'fetch dependencies (bit components) objects to the local scope, but dont add to the workspace. Useful to resolve errors about missing dependency data',\n ],\n [\n '',\n 'write-deps <target>',\n 'write all workspace component dependencies to the specified target (\"package.json\" or \"workspace.jsonc\"), resolving conflicts by picking the ranges that match the highest versions',\n ],\n [\n '',\n 'track-only',\n 'do not write any component files, just create .bitmap entries of the imported components. Useful when the files already exist and just want to re-add the component to the bitmap',\n ],\n ['', 'include-deprecated', 'when importing with patterns, include deprecated components (default to exclude them)'],\n [\n '',\n 'lane-only',\n 'when using wildcards on a lane, only import components that exist on the lane (never from main)',\n ],\n ['', 'owner', 'treat the argument as an owner name and import all components from all scopes of that owner'],\n ] as CommandOptions;\n loader = true;\n remoteOp = true;\n _packageManagerArgs: string[]; // gets populated by yargs-adapter.handler().\n\n constructor(private importer: ImporterMain) {}\n\n async report([ids = []]: [string[]], importFlags: ImportFlags): Promise<any> {\n const {\n importDetails,\n importedIds,\n importedDeps,\n installationError,\n compilationError,\n workspaceConfigUpdateResult,\n missingIds,\n cancellationMessage,\n lane,\n } = await this.getImportResults(ids, importFlags);\n if (!importedIds.length && !missingIds?.length) {\n return chalk.yellow(cancellationMessage || 'nothing to import');\n }\n const importedIdsUniqNoVersion = ComponentIdList.fromArray(importedIds).toVersionLatest();\n const summaryPrefix =\n importedIdsUniqNoVersion.length === 1\n ? 'successfully imported one component'\n : `successfully imported ${importedIdsUniqNoVersion.length} components`;\n\n let upToDateCount = 0;\n const importedComponents = importedIds\n .map((bitId) => {\n const details = importDetails.find((c) => c.id === bitId.toStringWithoutVersion());\n if (!details) throw new Error(`missing details for component ${bitId.toString()}`);\n if (details.status === 'up to date') {\n upToDateCount += 1;\n }\n return formatPlainComponentItemWithVersions(bitId, details);\n })\n .filter(Boolean) as string[];\n\n const getWsConfigUpdateLogs = () => {\n const logs = workspaceConfigUpdateResult?.logs;\n if (!logs || !logs.length) return '';\n const logsStr = logs.join('\\n');\n return `${formatTitle('verbose logs of workspace config update')}\\n${logsStr}`;\n };\n const upToDateSuffix = lane ? ' on the lane' : '';\n const upToDateStr = upToDateCount === 0 ? '' : `, ${upToDateCount} components are up to date${upToDateSuffix}`;\n const summary = `${summaryPrefix}${upToDateStr}`;\n\n const importOutput = importedComponents.length ? formatSection('imported components', '', importedComponents) : '';\n\n const importedDepsOutput =\n importFlags.displayDependencies && importedDeps.length\n ? formatSection('imported component dependencies', '', uniq(importedDeps.map(formatPlainComponentItem)))\n : '';\n\n const getRemovedWarning = () => {\n const removedDetails = importDetails.filter((d) => d.removed);\n if (!removedDetails.length) return '';\n const removedItems = removedDetails.map((d) => formatItem(chalk.bold(d.id), errorSymbol));\n const hintBase = `run \"bit recover <component-id>\" to restore`;\n const hintSuffix = lane ? `, then \"bit lane merge main\" to get latest updates` : '';\n return joinSections([\n formatSection(\n 'deleted components',\n 'imported component(s) are marked as deleted and may not be up to date',\n removedItems\n ),\n formatHint(`${hintBase}${hintSuffix}`),\n ]);\n };\n\n return joinSections([\n getWsConfigUpdateLogs(),\n importOutput,\n importedDepsOutput,\n formatMissingComponents(missingIds),\n getRemovedWarning(),\n getWorkspaceConfigUpdateOutput(workspaceConfigUpdateResult),\n installationErrorOutput(installationError),\n compilationErrorOutput(compilationError),\n formatSuccessSummary(summary),\n ]);\n }\n\n async json([ids]: [string[]], importFlags: ImportFlags) {\n const { importDetails, installationError, missingIds } = await this.getImportResults(ids, importFlags);\n\n return { importDetails, installationError, missingIds };\n }\n\n private async getImportResults(\n ids: string[],\n {\n path,\n objects = false,\n override = false,\n verbose = false,\n conf,\n skipDependencyInstallation = false,\n skipWriteConfigFiles = false,\n merge,\n filterEnvs,\n saveInLane = false,\n dependencies = false,\n dependenciesHead = false,\n dependents = false,\n dependentsDryRun = false,\n silent,\n dependentsVia,\n dependentsAll,\n allHistory = false,\n fetchDeps = false,\n trackOnly = false,\n includeDeprecated = false,\n writeDeps,\n laneOnly = false,\n owner = false,\n }: ImportFlags\n ): Promise<ImportResult> {\n if (dependentsDryRun) {\n this.importer.logger.warn(`the \"--dependents-dry-run\" flag is deprecated and is now the default behavior`);\n }\n if (objects && merge) {\n throw new BitError(' --objects and --merge flags cannot be used together');\n }\n if (override && merge) {\n throw new BitError('--override and --merge cannot be used together');\n }\n if (!ids.length && dependencies) {\n throw new BitError('you have to specify ids to use \"--dependencies\" flag');\n }\n if (!ids.length && dependenciesHead) {\n throw new BitError('you have to specify ids to use \"--dependencies-head\" flag');\n }\n if (!ids.length && dependents) {\n throw new BitError('you have to specify ids to use \"--dependents\" flag');\n }\n if (!ids.length && dependentsVia) {\n throw new BitError('you have to specify ids to use \"--dependents-via\" flag');\n }\n if (!ids.length && trackOnly) {\n throw new BitError('you have to specify ids to use \"--track-only\" flag');\n }\n if (owner && ids.length !== 1) {\n throw new BitError('--owner flag requires exactly one argument (the owner name)');\n }\n let mergeStrategy;\n if (merge && typeof merge === 'string') {\n const options = Object.keys(MergeOptions);\n if (!options.includes(merge)) {\n throw new BitError(`merge must be one of the following: ${options.join(', ')}`);\n }\n mergeStrategy = merge;\n }\n\n const envsToFilter = filterEnvs ? filterEnvs.split(',').map((p) => p.trim()) : undefined;\n\n const importOptions: ImportOptions = {\n ids,\n verbose,\n merge: Boolean(merge),\n filterEnvs: envsToFilter,\n mergeStrategy,\n writeToPath: path,\n objectsOnly: objects,\n override,\n writeConfig: Boolean(conf),\n installNpmPackages: !skipDependencyInstallation,\n writeConfigFiles: !skipWriteConfigFiles,\n saveInLane,\n importDependenciesDirectly: dependencies,\n importHeadDependenciesDirectly: dependenciesHead,\n importDependents: dependents,\n dependentsVia,\n dependentsAll,\n silent,\n allHistory,\n fetchDeps,\n trackOnly,\n includeDeprecated,\n writeDeps,\n laneOnly,\n owner,\n };\n return this.importer.import(importOptions, this._packageManagerArgs);\n }\n}\n\nfunction formatMissingComponents(missing?: string[]) {\n if (!missing?.length) return '';\n const desc = `the following components are missing from the remote in the requested version, try running \"bit status\" to re-sync your .bitmap file\\nalso, check that the requested version exists on main or the checked out lane`;\n const items = missing.map((id) => formatItem(chalk.red(id), errorSymbol));\n return formatSection('missing components', desc, items);\n}\n\nfunction formatPlainComponentItem({ scope, name, version, deprecated }: any) {\n const id = `${scope ? `${scope}/` : ''}${name}@${version ? version.toString() : 'latest'}`;\n const suffix = deprecated ? ` ${chalk.yellow('[deprecated]')}` : '';\n return formatItem(chalk.cyan(id) + suffix);\n}\n\nfunction formatPlainComponentItemWithVersions(bitId: ComponentID, importDetails: ImportDetails): string | undefined {\n const status: ImportStatus = importDetails.status;\n const id = bitId.toStringWithoutVersion();\n let usingLatest = '';\n const getVersionsOutput = () => {\n if (!importDetails.versions.length) return '';\n if (importDetails.latestVersion) {\n if (importDetails.latestVersion === bitId.version && status === 'added') {\n usingLatest = ' (latest)';\n return '';\n }\n return `${importDetails.versions.length} new version(s) available, latest ${importDetails.latestVersion}`;\n }\n return importDetails.versions.length > 5\n ? `${importDetails.versions.length} new versions`\n : `new versions: ${importDetails.versions.join(', ')}`;\n };\n const versions = getVersionsOutput();\n const usedVersion = status === 'added' ? `currently used version ${bitId.version}${usingLatest}` : '';\n const getConflictMessage = () => {\n if (!importDetails.filesStatus) return '';\n const conflictedFiles = Object.keys(importDetails.filesStatus)\n // @ts-ignore file is set\n .filter((file) => importDetails.filesStatus[file] === FileStatus.manual);\n if (!conflictedFiles.length) return '';\n return `(the following files were saved with conflicts ${conflictedFiles\n .map((file) => chalk.bold(file))\n .join(', ')}) `;\n };\n const conflictMessage = getConflictMessage();\n const deprecated = importDetails.deprecated && !importDetails.removed ? chalk.yellow('deprecated') : '';\n const removed = importDetails.removed ? chalk.red('deleted') : '';\n const missingDeps = importDetails.missingDeps.length\n ? chalk.red(`missing dependencies: ${importDetails.missingDeps.map((d) => d.toString()).join(', ')}`)\n : '';\n if (status === 'up to date' && !missingDeps && !deprecated && !conflictMessage && !removed) {\n return undefined;\n }\n\n const symbol = removed ? errorSymbol : deprecated ? warnSymbol : undefined;\n const versionOutput = [versions, usedVersion].filter(Boolean).join(', ');\n const stateOutput = `${conflictMessage}${deprecated}${removed}`;\n const details = [chalk.green(status), chalk.cyan(id), versionOutput, stateOutput, missingDeps]\n .filter(Boolean)\n .join(' ');\n return formatItem(chalk.dim(details), symbol);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_chalk","_interopRequireDefault","_lodash","_componentModules","_componentId","_bitError","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ImportCmd","constructor","importer","name","description","report","ids","importFlags","importDetails","importedIds","importedDeps","installationError","compilationError","workspaceConfigUpdateResult","missingIds","cancellationMessage","lane","getImportResults","length","chalk","yellow","importedIdsUniqNoVersion","ComponentIdList","fromArray","toVersionLatest","summaryPrefix","upToDateCount","importedComponents","map","bitId","details","find","c","id","toStringWithoutVersion","Error","toString","status","formatPlainComponentItemWithVersions","filter","Boolean","getWsConfigUpdateLogs","logs","logsStr","join","formatTitle","upToDateSuffix","upToDateStr","summary","importOutput","formatSection","importedDepsOutput","displayDependencies","uniq","formatPlainComponentItem","getRemovedWarning","removedDetails","d","removed","removedItems","formatItem","bold","errorSymbol","hintBase","hintSuffix","joinSections","formatHint","formatMissingComponents","getWorkspaceConfigUpdateOutput","installationErrorOutput","compilationErrorOutput","formatSuccessSummary","json","path","objects","override","verbose","conf","skipDependencyInstallation","skipWriteConfigFiles","merge","filterEnvs","saveInLane","dependencies","dependenciesHead","dependenciesDepth","dependents","dependentsDryRun","silent","dependentsVia","dependentsAll","allHistory","fetchDeps","trackOnly","includeDeprecated","writeDeps","laneOnly","owner","logger","warn","BitError","dependenciesDepthNum","undefined","isInteger","mergeStrategy","options","keys","MergeOptions","includes","envsToFilter","split","p","trim","importOptions","writeToPath","objectsOnly","writeConfig","installNpmPackages","writeConfigFiles","importDependenciesDirectly","importHeadDependenciesDirectly","importDependents","import","_packageManagerArgs","exports","missing","desc","items","red","scope","version","deprecated","suffix","cyan","usingLatest","getVersionsOutput","versions","latestVersion","usedVersion","getConflictMessage","filesStatus","conflictedFiles","file","FileStatus","manual","conflictMessage","missingDeps","symbol","warnSymbol","versionOutput","stateOutput","green","dim"],"sources":["import.cmd.ts"],"sourcesContent":["import type { Command, CommandOptions } from '@teambit/cli';\nimport {\n formatSection,\n formatItem,\n formatTitle,\n formatHint,\n formatSuccessSummary,\n warnSymbol,\n errorSymbol,\n joinSections,\n} from '@teambit/cli';\nimport chalk from 'chalk';\nimport { uniq } from 'lodash';\nimport type { MergeStrategy } from '@teambit/component.modules.merge-helper';\nimport {\n installationErrorOutput,\n compilationErrorOutput,\n getWorkspaceConfigUpdateOutput,\n FileStatus,\n MergeOptions,\n} from '@teambit/component.modules.merge-helper';\nimport type { ComponentID } from '@teambit/component-id';\nimport { ComponentIdList } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\n\nimport type { ImporterMain } from './importer.main.runtime';\nimport type { ImportOptions, ImportDetails, ImportStatus, ImportResult } from './import-components';\n\ntype ImportFlags = {\n path?: string;\n objects?: boolean;\n displayDependencies?: boolean;\n override?: boolean;\n verbose?: boolean;\n json?: boolean;\n conf?: string;\n skipDependencyInstallation?: boolean;\n skipWriteConfigFiles?: boolean;\n merge?: MergeStrategy;\n filterEnvs?: string;\n saveInLane?: boolean;\n dependencies?: boolean;\n dependenciesHead?: boolean;\n dependenciesDepth?: string;\n dependents?: boolean;\n dependentsDryRun?: boolean;\n dependentsVia?: string;\n dependentsAll?: boolean;\n silent?: boolean;\n allHistory?: boolean;\n fetchDeps?: boolean;\n trackOnly?: boolean;\n includeDeprecated?: boolean;\n writeDeps?: 'package.json' | 'workspace.jsonc';\n laneOnly?: boolean;\n owner?: boolean;\n};\n\nexport class ImportCmd implements Command {\n name = 'import [component-patterns...]';\n description = 'bring components from remote scopes into your workspace';\n helpUrl = 'reference/components/importing-components';\n arguments = [\n {\n name: 'component-patterns...',\n description:\n 'component IDs or component patterns (separated by space). Use patterns to import groups of components using a common scope or namespace. E.g., \"utils/*\" (wrap with double quotes)',\n },\n ];\n extendedDescription = `brings component source files from remote scopes into your workspace and installs their dependencies as packages.\nsupports pattern matching for bulk imports, merge strategies for handling conflicts, and various optimization options.\nwithout arguments, fetches all workspace components' latest versions from their remote scopes.`;\n group = 'collaborate';\n alias = '';\n options = [\n ['p', 'path <path>', 'import components into a specific directory (a relative path in the workspace)'],\n [\n 'o',\n 'objects',\n 'import components objects to the local scope without checkout (without writing them to the file system). This is the default behavior for import with no id argument',\n ],\n ['O', 'override', 'override local changes'],\n ['v', 'verbose', 'show verbose output for inspection'],\n ['j', 'json', 'return the output as JSON'],\n // ['', 'conf', 'write the configuration file (component.json) of the component'], // not working. need to fix once ComponentWriter is moved to Harmony\n ['x', 'skip-dependency-installation', 'do not auto-install dependencies of the imported components'],\n ['', 'skip-write-config-files', 'do not write config files (such as eslint, tsconfig, prettier, etc...)'],\n [\n 'm',\n 'merge [strategy]',\n 'merge local changes with the imported version. strategy should be \"theirs\", \"ours\" or \"manual\"',\n ],\n [\n '',\n 'dependencies',\n 'import all dependencies (bit components only) of imported components and write them to the workspace',\n ],\n ['', 'dependencies-head', 'same as --dependencies, except it imports the dependencies with their head version'],\n [\n '',\n 'dependencies-depth <n>',\n 'limit how many levels deep to traverse with --dependencies/--dependencies-head (1=direct deps only). default: traverse all levels',\n ],\n [\n '',\n 'dependents',\n 'import components found while traversing from the imported components upwards to the workspace components',\n ],\n [\n '',\n 'dependents-via <string>',\n 'same as --dependents except the traversal must go through the specified component. to specify multiple components, wrap with quotes and separate by a comma',\n ],\n [\n '',\n 'dependents-all',\n 'same as --dependents except not prompting for selecting paths but rather selecting all paths and showing final confirmation before importing',\n ],\n [\n '',\n 'dependents-dry-run',\n 'DEPRECATED. (this is the default now). same as --dependents, except it prints the found dependents and wait for confirmation before importing them',\n ],\n ['', 'silent', 'no prompt for --dependents/--dependents-via flags'],\n [\n '',\n 'filter-envs <envs>',\n 'only import components that have the specified environment (e.g., \"teambit.react/react-env\")',\n ],\n [\n '',\n 'save-in-lane',\n 'when checked out to a lane and the component is not on the remote-lane, save it in the lane (defaults to save on main)',\n ],\n [\n '',\n 'all-history',\n 'relevant for fetching all components objects. avoid optimizations, fetch all history versions, always',\n ],\n [\n '',\n 'fetch-deps',\n 'fetch dependencies (bit components) objects to the local scope, but dont add to the workspace. Useful to resolve errors about missing dependency data',\n ],\n [\n '',\n 'write-deps <target>',\n 'write all workspace component dependencies to the specified target (\"package.json\" or \"workspace.jsonc\"), resolving conflicts by picking the ranges that match the highest versions',\n ],\n [\n '',\n 'track-only',\n 'do not write any component files, just create .bitmap entries of the imported components. Useful when the files already exist and just want to re-add the component to the bitmap',\n ],\n ['', 'include-deprecated', 'when importing with patterns, include deprecated components (default to exclude them)'],\n [\n '',\n 'lane-only',\n 'when using wildcards on a lane, only import components that exist on the lane (never from main)',\n ],\n ['', 'owner', 'treat the argument as an owner name and import all components from all scopes of that owner'],\n ] as CommandOptions;\n loader = true;\n remoteOp = true;\n _packageManagerArgs: string[]; // gets populated by yargs-adapter.handler().\n\n constructor(private importer: ImporterMain) {}\n\n async report([ids = []]: [string[]], importFlags: ImportFlags): Promise<any> {\n const {\n importDetails,\n importedIds,\n importedDeps,\n installationError,\n compilationError,\n workspaceConfigUpdateResult,\n missingIds,\n cancellationMessage,\n lane,\n } = await this.getImportResults(ids, importFlags);\n if (!importedIds.length && !missingIds?.length) {\n return chalk.yellow(cancellationMessage || 'nothing to import');\n }\n const importedIdsUniqNoVersion = ComponentIdList.fromArray(importedIds).toVersionLatest();\n const summaryPrefix =\n importedIdsUniqNoVersion.length === 1\n ? 'successfully imported one component'\n : `successfully imported ${importedIdsUniqNoVersion.length} components`;\n\n let upToDateCount = 0;\n const importedComponents = importedIds\n .map((bitId) => {\n const details = importDetails.find((c) => c.id === bitId.toStringWithoutVersion());\n if (!details) throw new Error(`missing details for component ${bitId.toString()}`);\n if (details.status === 'up to date') {\n upToDateCount += 1;\n }\n return formatPlainComponentItemWithVersions(bitId, details);\n })\n .filter(Boolean) as string[];\n\n const getWsConfigUpdateLogs = () => {\n const logs = workspaceConfigUpdateResult?.logs;\n if (!logs || !logs.length) return '';\n const logsStr = logs.join('\\n');\n return `${formatTitle('verbose logs of workspace config update')}\\n${logsStr}`;\n };\n const upToDateSuffix = lane ? ' on the lane' : '';\n const upToDateStr = upToDateCount === 0 ? '' : `, ${upToDateCount} components are up to date${upToDateSuffix}`;\n const summary = `${summaryPrefix}${upToDateStr}`;\n\n const importOutput = importedComponents.length ? formatSection('imported components', '', importedComponents) : '';\n\n const importedDepsOutput =\n importFlags.displayDependencies && importedDeps.length\n ? formatSection('imported component dependencies', '', uniq(importedDeps.map(formatPlainComponentItem)))\n : '';\n\n const getRemovedWarning = () => {\n const removedDetails = importDetails.filter((d) => d.removed);\n if (!removedDetails.length) return '';\n const removedItems = removedDetails.map((d) => formatItem(chalk.bold(d.id), errorSymbol));\n const hintBase = `run \"bit recover <component-id>\" to restore`;\n const hintSuffix = lane ? `, then \"bit lane merge main\" to get latest updates` : '';\n return joinSections([\n formatSection(\n 'deleted components',\n 'imported component(s) are marked as deleted and may not be up to date',\n removedItems\n ),\n formatHint(`${hintBase}${hintSuffix}`),\n ]);\n };\n\n return joinSections([\n getWsConfigUpdateLogs(),\n importOutput,\n importedDepsOutput,\n formatMissingComponents(missingIds),\n getRemovedWarning(),\n getWorkspaceConfigUpdateOutput(workspaceConfigUpdateResult),\n installationErrorOutput(installationError),\n compilationErrorOutput(compilationError),\n formatSuccessSummary(summary),\n ]);\n }\n\n async json([ids]: [string[]], importFlags: ImportFlags) {\n const { importDetails, installationError, missingIds } = await this.getImportResults(ids, importFlags);\n\n return { importDetails, installationError, missingIds };\n }\n\n private async getImportResults(\n ids: string[],\n {\n path,\n objects = false,\n override = false,\n verbose = false,\n conf,\n skipDependencyInstallation = false,\n skipWriteConfigFiles = false,\n merge,\n filterEnvs,\n saveInLane = false,\n dependencies = false,\n dependenciesHead = false,\n dependenciesDepth,\n dependents = false,\n dependentsDryRun = false,\n silent,\n dependentsVia,\n dependentsAll,\n allHistory = false,\n fetchDeps = false,\n trackOnly = false,\n includeDeprecated = false,\n writeDeps,\n laneOnly = false,\n owner = false,\n }: ImportFlags\n ): Promise<ImportResult> {\n if (dependentsDryRun) {\n this.importer.logger.warn(`the \"--dependents-dry-run\" flag is deprecated and is now the default behavior`);\n }\n if (objects && merge) {\n throw new BitError(' --objects and --merge flags cannot be used together');\n }\n if (override && merge) {\n throw new BitError('--override and --merge cannot be used together');\n }\n if (!ids.length && dependencies) {\n throw new BitError('you have to specify ids to use \"--dependencies\" flag');\n }\n if (!ids.length && dependenciesHead) {\n throw new BitError('you have to specify ids to use \"--dependencies-head\" flag');\n }\n if (!ids.length && dependents) {\n throw new BitError('you have to specify ids to use \"--dependents\" flag');\n }\n if (!ids.length && dependentsVia) {\n throw new BitError('you have to specify ids to use \"--dependents-via\" flag');\n }\n if (!ids.length && trackOnly) {\n throw new BitError('you have to specify ids to use \"--track-only\" flag');\n }\n if (owner && ids.length !== 1) {\n throw new BitError('--owner flag requires exactly one argument (the owner name)');\n }\n let dependenciesDepthNum: number | undefined;\n if (dependenciesDepth !== undefined) {\n if (!dependencies && !dependenciesHead) {\n throw new BitError('\"--dependencies-depth\" flag requires \"--dependencies\" or \"--dependencies-head\"');\n }\n dependenciesDepthNum = Number(dependenciesDepth);\n if (!Number.isInteger(dependenciesDepthNum) || dependenciesDepthNum < 1) {\n throw new BitError(`\"--dependencies-depth\" must be a positive integer, got \"${dependenciesDepth}\"`);\n }\n }\n let mergeStrategy;\n if (merge && typeof merge === 'string') {\n const options = Object.keys(MergeOptions);\n if (!options.includes(merge)) {\n throw new BitError(`merge must be one of the following: ${options.join(', ')}`);\n }\n mergeStrategy = merge;\n }\n\n const envsToFilter = filterEnvs ? filterEnvs.split(',').map((p) => p.trim()) : undefined;\n\n const importOptions: ImportOptions = {\n ids,\n verbose,\n merge: Boolean(merge),\n filterEnvs: envsToFilter,\n mergeStrategy,\n writeToPath: path,\n objectsOnly: objects,\n override,\n writeConfig: Boolean(conf),\n installNpmPackages: !skipDependencyInstallation,\n writeConfigFiles: !skipWriteConfigFiles,\n saveInLane,\n importDependenciesDirectly: dependencies,\n importHeadDependenciesDirectly: dependenciesHead,\n dependenciesDepth: dependenciesDepthNum,\n importDependents: dependents,\n dependentsVia,\n dependentsAll,\n silent,\n allHistory,\n fetchDeps,\n trackOnly,\n includeDeprecated,\n writeDeps,\n laneOnly,\n owner,\n };\n return this.importer.import(importOptions, this._packageManagerArgs);\n }\n}\n\nfunction formatMissingComponents(missing?: string[]) {\n if (!missing?.length) return '';\n const desc = `the following components are missing from the remote in the requested version, try running \"bit status\" to re-sync your .bitmap file\\nalso, check that the requested version exists on main or the checked out lane`;\n const items = missing.map((id) => formatItem(chalk.red(id), errorSymbol));\n return formatSection('missing components', desc, items);\n}\n\nfunction formatPlainComponentItem({ scope, name, version, deprecated }: any) {\n const id = `${scope ? `${scope}/` : ''}${name}@${version ? version.toString() : 'latest'}`;\n const suffix = deprecated ? ` ${chalk.yellow('[deprecated]')}` : '';\n return formatItem(chalk.cyan(id) + suffix);\n}\n\nfunction formatPlainComponentItemWithVersions(bitId: ComponentID, importDetails: ImportDetails): string | undefined {\n const status: ImportStatus = importDetails.status;\n const id = bitId.toStringWithoutVersion();\n let usingLatest = '';\n const getVersionsOutput = () => {\n if (!importDetails.versions.length) return '';\n if (importDetails.latestVersion) {\n if (importDetails.latestVersion === bitId.version && status === 'added') {\n usingLatest = ' (latest)';\n return '';\n }\n return `${importDetails.versions.length} new version(s) available, latest ${importDetails.latestVersion}`;\n }\n return importDetails.versions.length > 5\n ? `${importDetails.versions.length} new versions`\n : `new versions: ${importDetails.versions.join(', ')}`;\n };\n const versions = getVersionsOutput();\n const usedVersion = status === 'added' ? `currently used version ${bitId.version}${usingLatest}` : '';\n const getConflictMessage = () => {\n if (!importDetails.filesStatus) return '';\n const conflictedFiles = Object.keys(importDetails.filesStatus)\n // @ts-ignore file is set\n .filter((file) => importDetails.filesStatus[file] === FileStatus.manual);\n if (!conflictedFiles.length) return '';\n return `(the following files were saved with conflicts ${conflictedFiles\n .map((file) => chalk.bold(file))\n .join(', ')}) `;\n };\n const conflictMessage = getConflictMessage();\n const deprecated = importDetails.deprecated && !importDetails.removed ? chalk.yellow('deprecated') : '';\n const removed = importDetails.removed ? chalk.red('deleted') : '';\n const missingDeps = importDetails.missingDeps.length\n ? chalk.red(`missing dependencies: ${importDetails.missingDeps.map((d) => d.toString()).join(', ')}`)\n : '';\n if (status === 'up to date' && !missingDeps && !deprecated && !conflictMessage && !removed) {\n return undefined;\n }\n\n const symbol = removed ? errorSymbol : deprecated ? warnSymbol : undefined;\n const versionOutput = [versions, usedVersion].filter(Boolean).join(', ');\n const stateOutput = `${conflictMessage}${deprecated}${removed}`;\n const details = [chalk.green(status), chalk.cyan(id), versionOutput, stateOutput, missingDeps]\n .filter(Boolean)\n .join(' ');\n return formatItem(chalk.dim(details), symbol);\n}\n"],"mappings":";;;;;;AACA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAUA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,kBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,iBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA,SAAAM,aAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,YAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,UAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,SAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8C,SAAAG,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAmCvC,MAAMgB,SAAS,CAAoB;EA0GT;;EAE/BC,WAAWA,CAASC,QAAsB,EAAE;IAAA,KAAxBA,QAAsB,GAAtBA,QAAsB;IAAApB,eAAA,eA3GnC,gCAAgC;IAAAA,eAAA,sBACzB,yDAAyD;IAAAA,eAAA,kBAC7D,2CAA2C;IAAAA,eAAA,oBACzC,CACV;MACEqB,IAAI,EAAE,uBAAuB;MAC7BC,WAAW,EACT;IACJ,CAAC,CACF;IAAAtB,eAAA,8BACqB;AACxB;AACA,+FAA+F;IAAAA,eAAA,gBACrF,aAAa;IAAAA,eAAA,gBACb,EAAE;IAAAA,eAAA,kBACA,CACR,CAAC,GAAG,EAAE,aAAa,EAAE,gFAAgF,CAAC,EACtG,CACE,GAAG,EACH,SAAS,EACT,sKAAsK,CACvK,EACD,CAAC,GAAG,EAAE,UAAU,EAAE,wBAAwB,CAAC,EAC3C,CAAC,GAAG,EAAE,SAAS,EAAE,oCAAoC,CAAC,EACtD,CAAC,GAAG,EAAE,MAAM,EAAE,2BAA2B,CAAC;IAC1C;IACA,CAAC,GAAG,EAAE,8BAA8B,EAAE,6DAA6D,CAAC,EACpG,CAAC,EAAE,EAAE,yBAAyB,EAAE,wEAAwE,CAAC,EACzG,CACE,GAAG,EACH,kBAAkB,EAClB,gGAAgG,CACjG,EACD,CACE,EAAE,EACF,cAAc,EACd,sGAAsG,CACvG,EACD,CAAC,EAAE,EAAE,mBAAmB,EAAE,oFAAoF,CAAC,EAC/G,CACE,EAAE,EACF,wBAAwB,EACxB,mIAAmI,CACpI,EACD,CACE,EAAE,EACF,YAAY,EACZ,2GAA2G,CAC5G,EACD,CACE,EAAE,EACF,yBAAyB,EACzB,6JAA6J,CAC9J,EACD,CACE,EAAE,EACF,gBAAgB,EAChB,8IAA8I,CAC/I,EACD,CACE,EAAE,EACF,oBAAoB,EACpB,oJAAoJ,CACrJ,EACD,CAAC,EAAE,EAAE,QAAQ,EAAE,mDAAmD,CAAC,EACnE,CACE,EAAE,EACF,oBAAoB,EACpB,8FAA8F,CAC/F,EACD,CACE,EAAE,EACF,cAAc,EACd,wHAAwH,CACzH,EACD,CACE,EAAE,EACF,aAAa,EACb,uGAAuG,CACxG,EACD,CACE,EAAE,EACF,YAAY,EACZ,uJAAuJ,CACxJ,EACD,CACE,EAAE,EACF,qBAAqB,EACrB,qLAAqL,CACtL,EACD,CACE,EAAE,EACF,YAAY,EACZ,mLAAmL,CACpL,EACD,CAAC,EAAE,EAAE,oBAAoB,EAAE,uFAAuF,CAAC,EACnH,CACE,EAAE,EACF,WAAW,EACX,iGAAiG,CAClG,EACD,CAAC,EAAE,EAAE,OAAO,EAAE,6FAA6F,CAAC,CAC7G;IAAAA,eAAA,iBACQ,IAAI;IAAAA,eAAA,mBACF,IAAI;IAAAA,eAAA;EAG8B;EAE7C,MAAMuB,MAAMA,CAAC,CAACC,GAAG,GAAG,EAAE,CAAa,EAAEC,WAAwB,EAAgB;IAC3E,MAAM;MACJC,aAAa;MACbC,WAAW;MACXC,YAAY;MACZC,iBAAiB;MACjBC,gBAAgB;MAChBC,2BAA2B;MAC3BC,UAAU;MACVC,mBAAmB;MACnBC;IACF,CAAC,GAAG,MAAM,IAAI,CAACC,gBAAgB,CAACX,GAAG,EAAEC,WAAW,CAAC;IACjD,IAAI,CAACE,WAAW,CAACS,MAAM,IAAI,CAACJ,UAAU,EAAEI,MAAM,EAAE;MAC9C,OAAOC,gBAAK,CAACC,MAAM,CAACL,mBAAmB,IAAI,mBAAmB,CAAC;IACjE;IACA,MAAMM,wBAAwB,GAAGC,8BAAe,CAACC,SAAS,CAACd,WAAW,CAAC,CAACe,eAAe,CAAC,CAAC;IACzF,MAAMC,aAAa,GACjBJ,wBAAwB,CAACH,MAAM,KAAK,CAAC,GACjC,qCAAqC,GACrC,yBAAyBG,wBAAwB,CAACH,MAAM,aAAa;IAE3E,IAAIQ,aAAa,GAAG,CAAC;IACrB,MAAMC,kBAAkB,GAAGlB,WAAW,CACnCmB,GAAG,CAAEC,KAAK,IAAK;MACd,MAAMC,OAAO,GAAGtB,aAAa,CAACuB,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKJ,KAAK,CAACK,sBAAsB,CAAC,CAAC,CAAC;MAClF,IAAI,CAACJ,OAAO,EAAE,MAAM,IAAIK,KAAK,CAAC,iCAAiCN,KAAK,CAACO,QAAQ,CAAC,CAAC,EAAE,CAAC;MAClF,IAAIN,OAAO,CAACO,MAAM,KAAK,YAAY,EAAE;QACnCX,aAAa,IAAI,CAAC;MACpB;MACA,OAAOY,oCAAoC,CAACT,KAAK,EAAEC,OAAO,CAAC;IAC7D,CAAC,CAAC,CACDS,MAAM,CAACC,OAAO,CAAa;IAE9B,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;MAClC,MAAMC,IAAI,GAAG7B,2BAA2B,EAAE6B,IAAI;MAC9C,IAAI,CAACA,IAAI,IAAI,CAACA,IAAI,CAACxB,MAAM,EAAE,OAAO,EAAE;MACpC,MAAMyB,OAAO,GAAGD,IAAI,CAACE,IAAI,CAAC,IAAI,CAAC;MAC/B,OAAO,GAAG,IAAAC,kBAAW,EAAC,yCAAyC,CAAC,KAAKF,OAAO,EAAE;IAChF,CAAC;IACD,MAAMG,cAAc,GAAG9B,IAAI,GAAG,cAAc,GAAG,EAAE;IACjD,MAAM+B,WAAW,GAAGrB,aAAa,KAAK,CAAC,GAAG,EAAE,GAAG,KAAKA,aAAa,6BAA6BoB,cAAc,EAAE;IAC9G,MAAME,OAAO,GAAG,GAAGvB,aAAa,GAAGsB,WAAW,EAAE;IAEhD,MAAME,YAAY,GAAGtB,kBAAkB,CAACT,MAAM,GAAG,IAAAgC,oBAAa,EAAC,qBAAqB,EAAE,EAAE,EAAEvB,kBAAkB,CAAC,GAAG,EAAE;IAElH,MAAMwB,kBAAkB,GACtB5C,WAAW,CAAC6C,mBAAmB,IAAI1C,YAAY,CAACQ,MAAM,GAClD,IAAAgC,oBAAa,EAAC,iCAAiC,EAAE,EAAE,EAAE,IAAAG,cAAI,EAAC3C,YAAY,CAACkB,GAAG,CAAC0B,wBAAwB,CAAC,CAAC,CAAC,GACtG,EAAE;IAER,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;MAC9B,MAAMC,cAAc,GAAGhD,aAAa,CAAC+B,MAAM,CAAEkB,CAAC,IAAKA,CAAC,CAACC,OAAO,CAAC;MAC7D,IAAI,CAACF,cAAc,CAACtC,MAAM,EAAE,OAAO,EAAE;MACrC,MAAMyC,YAAY,GAAGH,cAAc,CAAC5B,GAAG,CAAE6B,CAAC,IAAK,IAAAG,iBAAU,EAACzC,gBAAK,CAAC0C,IAAI,CAACJ,CAAC,CAACxB,EAAE,CAAC,EAAE6B,kBAAW,CAAC,CAAC;MACzF,MAAMC,QAAQ,GAAG,6CAA6C;MAC9D,MAAMC,UAAU,GAAGhD,IAAI,GAAG,oDAAoD,GAAG,EAAE;MACnF,OAAO,IAAAiD,mBAAY,EAAC,CAClB,IAAAf,oBAAa,EACX,oBAAoB,EACpB,uEAAuE,EACvES,YACF,CAAC,EACD,IAAAO,iBAAU,EAAC,GAAGH,QAAQ,GAAGC,UAAU,EAAE,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,OAAO,IAAAC,mBAAY,EAAC,CAClBxB,qBAAqB,CAAC,CAAC,EACvBQ,YAAY,EACZE,kBAAkB,EAClBgB,uBAAuB,CAACrD,UAAU,CAAC,EACnCyC,iBAAiB,CAAC,CAAC,EACnB,IAAAa,kDAA8B,EAACvD,2BAA2B,CAAC,EAC3D,IAAAwD,2CAAuB,EAAC1D,iBAAiB,CAAC,EAC1C,IAAA2D,0CAAsB,EAAC1D,gBAAgB,CAAC,EACxC,IAAA2D,2BAAoB,EAACvB,OAAO,CAAC,CAC9B,CAAC;EACJ;EAEA,MAAMwB,IAAIA,CAAC,CAAClE,GAAG,CAAa,EAAEC,WAAwB,EAAE;IACtD,MAAM;MAAEC,aAAa;MAAEG,iBAAiB;MAAEG;IAAW,CAAC,GAAG,MAAM,IAAI,CAACG,gBAAgB,CAACX,GAAG,EAAEC,WAAW,CAAC;IAEtG,OAAO;MAAEC,aAAa;MAAEG,iBAAiB;MAAEG;IAAW,CAAC;EACzD;EAEA,MAAcG,gBAAgBA,CAC5BX,GAAa,EACb;IACEmE,IAAI;IACJC,OAAO,GAAG,KAAK;IACfC,QAAQ,GAAG,KAAK;IAChBC,OAAO,GAAG,KAAK;IACfC,IAAI;IACJC,0BAA0B,GAAG,KAAK;IAClCC,oBAAoB,GAAG,KAAK;IAC5BC,KAAK;IACLC,UAAU;IACVC,UAAU,GAAG,KAAK;IAClBC,YAAY,GAAG,KAAK;IACpBC,gBAAgB,GAAG,KAAK;IACxBC,iBAAiB;IACjBC,UAAU,GAAG,KAAK;IAClBC,gBAAgB,GAAG,KAAK;IACxBC,MAAM;IACNC,aAAa;IACbC,aAAa;IACbC,UAAU,GAAG,KAAK;IAClBC,SAAS,GAAG,KAAK;IACjBC,SAAS,GAAG,KAAK;IACjBC,iBAAiB,GAAG,KAAK;IACzBC,SAAS;IACTC,QAAQ,GAAG,KAAK;IAChBC,KAAK,GAAG;EACG,CAAC,EACS;IACvB,IAAIV,gBAAgB,EAAE;MACpB,IAAI,CAACrF,QAAQ,CAACgG,MAAM,CAACC,IAAI,CAAC,+EAA+E,CAAC;IAC5G;IACA,IAAIzB,OAAO,IAAIM,KAAK,EAAE;MACpB,MAAM,KAAIoB,oBAAQ,EAAC,sDAAsD,CAAC;IAC5E;IACA,IAAIzB,QAAQ,IAAIK,KAAK,EAAE;MACrB,MAAM,KAAIoB,oBAAQ,EAAC,gDAAgD,CAAC;IACtE;IACA,IAAI,CAAC9F,GAAG,CAACY,MAAM,IAAIiE,YAAY,EAAE;MAC/B,MAAM,KAAIiB,oBAAQ,EAAC,sDAAsD,CAAC;IAC5E;IACA,IAAI,CAAC9F,GAAG,CAACY,MAAM,IAAIkE,gBAAgB,EAAE;MACnC,MAAM,KAAIgB,oBAAQ,EAAC,2DAA2D,CAAC;IACjF;IACA,IAAI,CAAC9F,GAAG,CAACY,MAAM,IAAIoE,UAAU,EAAE;MAC7B,MAAM,KAAIc,oBAAQ,EAAC,oDAAoD,CAAC;IAC1E;IACA,IAAI,CAAC9F,GAAG,CAACY,MAAM,IAAIuE,aAAa,EAAE;MAChC,MAAM,KAAIW,oBAAQ,EAAC,wDAAwD,CAAC;IAC9E;IACA,IAAI,CAAC9F,GAAG,CAACY,MAAM,IAAI2E,SAAS,EAAE;MAC5B,MAAM,KAAIO,oBAAQ,EAAC,oDAAoD,CAAC;IAC1E;IACA,IAAIH,KAAK,IAAI3F,GAAG,CAACY,MAAM,KAAK,CAAC,EAAE;MAC7B,MAAM,KAAIkF,oBAAQ,EAAC,6DAA6D,CAAC;IACnF;IACA,IAAIC,oBAAwC;IAC5C,IAAIhB,iBAAiB,KAAKiB,SAAS,EAAE;MACnC,IAAI,CAACnB,YAAY,IAAI,CAACC,gBAAgB,EAAE;QACtC,MAAM,KAAIgB,oBAAQ,EAAC,gFAAgF,CAAC;MACtG;MACAC,oBAAoB,GAAGtG,MAAM,CAACsF,iBAAiB,CAAC;MAChD,IAAI,CAACtF,MAAM,CAACwG,SAAS,CAACF,oBAAoB,CAAC,IAAIA,oBAAoB,GAAG,CAAC,EAAE;QACvE,MAAM,KAAID,oBAAQ,EAAC,2DAA2Df,iBAAiB,GAAG,CAAC;MACrG;IACF;IACA,IAAImB,aAAa;IACjB,IAAIxB,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACtC,MAAMyB,OAAO,GAAGvH,MAAM,CAACwH,IAAI,CAACC,gCAAY,CAAC;MACzC,IAAI,CAACF,OAAO,CAACG,QAAQ,CAAC5B,KAAK,CAAC,EAAE;QAC5B,MAAM,KAAIoB,oBAAQ,EAAC,uCAAuCK,OAAO,CAAC7D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;MACjF;MACA4D,aAAa,GAAGxB,KAAK;IACvB;IAEA,MAAM6B,YAAY,GAAG5B,UAAU,GAAGA,UAAU,CAAC6B,KAAK,CAAC,GAAG,CAAC,CAAClF,GAAG,CAAEmF,CAAC,IAAKA,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,GAAGV,SAAS;IAExF,MAAMW,aAA4B,GAAG;MACnC3G,GAAG;MACHsE,OAAO;MACPI,KAAK,EAAExC,OAAO,CAACwC,KAAK,CAAC;MACrBC,UAAU,EAAE4B,YAAY;MACxBL,aAAa;MACbU,WAAW,EAAEzC,IAAI;MACjB0C,WAAW,EAAEzC,OAAO;MACpBC,QAAQ;MACRyC,WAAW,EAAE5E,OAAO,CAACqC,IAAI,CAAC;MAC1BwC,kBAAkB,EAAE,CAACvC,0BAA0B;MAC/CwC,gBAAgB,EAAE,CAACvC,oBAAoB;MACvCG,UAAU;MACVqC,0BAA0B,EAAEpC,YAAY;MACxCqC,8BAA8B,EAAEpC,gBAAgB;MAChDC,iBAAiB,EAAEgB,oBAAoB;MACvCoB,gBAAgB,EAAEnC,UAAU;MAC5BG,aAAa;MACbC,aAAa;MACbF,MAAM;MACNG,UAAU;MACVC,SAAS;MACTC,SAAS;MACTC,iBAAiB;MACjBC,SAAS;MACTC,QAAQ;MACRC;IACF,CAAC;IACD,OAAO,IAAI,CAAC/F,QAAQ,CAACwH,MAAM,CAACT,aAAa,EAAE,IAAI,CAACU,mBAAmB,CAAC;EACtE;AACF;AAACC,OAAA,CAAA5H,SAAA,GAAAA,SAAA;AAED,SAASmE,uBAAuBA,CAAC0D,OAAkB,EAAE;EACnD,IAAI,CAACA,OAAO,EAAE3G,MAAM,EAAE,OAAO,EAAE;EAC/B,MAAM4G,IAAI,GAAG,qNAAqN;EAClO,MAAMC,KAAK,GAAGF,OAAO,CAACjG,GAAG,CAAEK,EAAE,IAAK,IAAA2B,iBAAU,EAACzC,gBAAK,CAAC6G,GAAG,CAAC/F,EAAE,CAAC,EAAE6B,kBAAW,CAAC,CAAC;EACzE,OAAO,IAAAZ,oBAAa,EAAC,oBAAoB,EAAE4E,IAAI,EAAEC,KAAK,CAAC;AACzD;AAEA,SAASzE,wBAAwBA,CAAC;EAAE2E,KAAK;EAAE9H,IAAI;EAAE+H,OAAO;EAAEC;AAAgB,CAAC,EAAE;EAC3E,MAAMlG,EAAE,GAAG,GAAGgG,KAAK,GAAG,GAAGA,KAAK,GAAG,GAAG,EAAE,GAAG9H,IAAI,IAAI+H,OAAO,GAAGA,OAAO,CAAC9F,QAAQ,CAAC,CAAC,GAAG,QAAQ,EAAE;EAC1F,MAAMgG,MAAM,GAAGD,UAAU,GAAG,IAAIhH,gBAAK,CAACC,MAAM,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE;EACnE,OAAO,IAAAwC,iBAAU,EAACzC,gBAAK,CAACkH,IAAI,CAACpG,EAAE,CAAC,GAAGmG,MAAM,CAAC;AAC5C;AAEA,SAAS9F,oCAAoCA,CAACT,KAAkB,EAAErB,aAA4B,EAAsB;EAClH,MAAM6B,MAAoB,GAAG7B,aAAa,CAAC6B,MAAM;EACjD,MAAMJ,EAAE,GAAGJ,KAAK,CAACK,sBAAsB,CAAC,CAAC;EACzC,IAAIoG,WAAW,GAAG,EAAE;EACpB,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;IAC9B,IAAI,CAAC/H,aAAa,CAACgI,QAAQ,CAACtH,MAAM,EAAE,OAAO,EAAE;IAC7C,IAAIV,aAAa,CAACiI,aAAa,EAAE;MAC/B,IAAIjI,aAAa,CAACiI,aAAa,KAAK5G,KAAK,CAACqG,OAAO,IAAI7F,MAAM,KAAK,OAAO,EAAE;QACvEiG,WAAW,GAAG,WAAW;QACzB,OAAO,EAAE;MACX;MACA,OAAO,GAAG9H,aAAa,CAACgI,QAAQ,CAACtH,MAAM,qCAAqCV,aAAa,CAACiI,aAAa,EAAE;IAC3G;IACA,OAAOjI,aAAa,CAACgI,QAAQ,CAACtH,MAAM,GAAG,CAAC,GACpC,GAAGV,aAAa,CAACgI,QAAQ,CAACtH,MAAM,eAAe,GAC/C,iBAAiBV,aAAa,CAACgI,QAAQ,CAAC5F,IAAI,CAAC,IAAI,CAAC,EAAE;EAC1D,CAAC;EACD,MAAM4F,QAAQ,GAAGD,iBAAiB,CAAC,CAAC;EACpC,MAAMG,WAAW,GAAGrG,MAAM,KAAK,OAAO,GAAG,0BAA0BR,KAAK,CAACqG,OAAO,GAAGI,WAAW,EAAE,GAAG,EAAE;EACrG,MAAMK,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,IAAI,CAACnI,aAAa,CAACoI,WAAW,EAAE,OAAO,EAAE;IACzC,MAAMC,eAAe,GAAG3J,MAAM,CAACwH,IAAI,CAAClG,aAAa,CAACoI,WAAW;IAC3D;IAAA,CACCrG,MAAM,CAAEuG,IAAI,IAAKtI,aAAa,CAACoI,WAAW,CAACE,IAAI,CAAC,KAAKC,8BAAU,CAACC,MAAM,CAAC;IAC1E,IAAI,CAACH,eAAe,CAAC3H,MAAM,EAAE,OAAO,EAAE;IACtC,OAAO,kDAAkD2H,eAAe,CACrEjH,GAAG,CAAEkH,IAAI,IAAK3H,gBAAK,CAAC0C,IAAI,CAACiF,IAAI,CAAC,CAAC,CAC/BlG,IAAI,CAAC,IAAI,CAAC,IAAI;EACnB,CAAC;EACD,MAAMqG,eAAe,GAAGN,kBAAkB,CAAC,CAAC;EAC5C,MAAMR,UAAU,GAAG3H,aAAa,CAAC2H,UAAU,IAAI,CAAC3H,aAAa,CAACkD,OAAO,GAAGvC,gBAAK,CAACC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE;EACvG,MAAMsC,OAAO,GAAGlD,aAAa,CAACkD,OAAO,GAAGvC,gBAAK,CAAC6G,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;EACjE,MAAMkB,WAAW,GAAG1I,aAAa,CAAC0I,WAAW,CAAChI,MAAM,GAChDC,gBAAK,CAAC6G,GAAG,CAAC,yBAAyBxH,aAAa,CAAC0I,WAAW,CAACtH,GAAG,CAAE6B,CAAC,IAAKA,CAAC,CAACrB,QAAQ,CAAC,CAAC,CAAC,CAACQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GACnG,EAAE;EACN,IAAIP,MAAM,KAAK,YAAY,IAAI,CAAC6G,WAAW,IAAI,CAACf,UAAU,IAAI,CAACc,eAAe,IAAI,CAACvF,OAAO,EAAE;IAC1F,OAAO4C,SAAS;EAClB;EAEA,MAAM6C,MAAM,GAAGzF,OAAO,GAAGI,kBAAW,GAAGqE,UAAU,GAAGiB,iBAAU,GAAG9C,SAAS;EAC1E,MAAM+C,aAAa,GAAG,CAACb,QAAQ,EAAEE,WAAW,CAAC,CAACnG,MAAM,CAACC,OAAO,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC;EACxE,MAAM0G,WAAW,GAAG,GAAGL,eAAe,GAAGd,UAAU,GAAGzE,OAAO,EAAE;EAC/D,MAAM5B,OAAO,GAAG,CAACX,gBAAK,CAACoI,KAAK,CAAClH,MAAM,CAAC,EAAElB,gBAAK,CAACkH,IAAI,CAACpG,EAAE,CAAC,EAAEoH,aAAa,EAAEC,WAAW,EAAEJ,WAAW,CAAC,CAC3F3G,MAAM,CAACC,OAAO,CAAC,CACfI,IAAI,CAAC,GAAG,CAAC;EACZ,OAAO,IAAAgB,iBAAU,EAACzC,gBAAK,CAACqI,GAAG,CAAC1H,OAAO,CAAC,EAAEqH,MAAM,CAAC;AAC/C","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_importer@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_importer@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_importer@1.0.990/dist/importer.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_importer@1.0.990/dist/importer.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/importer",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.990",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/scope/importer",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.scope",
|
|
8
8
|
"name": "importer",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.990"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "4.1.2",
|
|
@@ -34,16 +34,16 @@
|
|
|
34
34
|
"@teambit/legacy.scope-api": "0.0.171",
|
|
35
35
|
"@teambit/pkg.modules.component-package-name": "0.0.123",
|
|
36
36
|
"@teambit/scope.remotes": "0.0.116",
|
|
37
|
-
"@teambit/graph": "1.0.
|
|
38
|
-
"@teambit/workspace": "1.0.
|
|
39
|
-
"@teambit/component-writer": "1.0.
|
|
40
|
-
"@teambit/config-merger": "0.0.
|
|
41
|
-
"@teambit/envs": "1.0.
|
|
42
|
-
"@teambit/lister": "1.0.
|
|
43
|
-
"@teambit/objects": "0.0.
|
|
44
|
-
"@teambit/dependency-resolver": "1.0.
|
|
45
|
-
"@teambit/install": "1.0.
|
|
46
|
-
"@teambit/scope": "1.0.
|
|
37
|
+
"@teambit/graph": "1.0.990",
|
|
38
|
+
"@teambit/workspace": "1.0.990",
|
|
39
|
+
"@teambit/component-writer": "1.0.990",
|
|
40
|
+
"@teambit/config-merger": "0.0.857",
|
|
41
|
+
"@teambit/envs": "1.0.990",
|
|
42
|
+
"@teambit/lister": "1.0.990",
|
|
43
|
+
"@teambit/objects": "0.0.497",
|
|
44
|
+
"@teambit/dependency-resolver": "1.0.990",
|
|
45
|
+
"@teambit/install": "1.0.990",
|
|
46
|
+
"@teambit/scope": "1.0.990"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/lodash": "4.14.165",
|