@teambit/checkout 0.0.294 → 0.0.295

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.
@@ -27,6 +27,7 @@ export declare type CheckoutProps = {
27
27
  versionPerId?: ComponentID[];
28
28
  skipUpdatingBitmap?: boolean;
29
29
  restoreMissingComponents?: boolean;
30
+ allowAddingComponentsFromScope?: boolean;
30
31
  };
31
32
  export declare type ComponentStatusBeforeMergeAttempt = ComponentStatusBase & {
32
33
  failureMessage?: string;
@@ -179,10 +179,8 @@ class CheckoutMain {
179
179
  await this.syncNewComponents(checkoutProps);
180
180
  const addedComponents = await this.restoreMissingComponents(checkoutProps);
181
181
  const bitIds = _bitId().BitIds.fromArray((ids === null || ids === void 0 ? void 0 : ids.map(id => id._legacy)) || []);
182
- const {
183
- components
184
- } = await consumer.loadComponents(bitIds);
185
- const allComponentStatusBeforeMerge = await Promise.all(components.map(component => this.getComponentStatusBeforeMergeAttempt(component, checkoutProps)));
182
+ // don't use Promise.all, it loads the components and this operation must be in sequence.
183
+ const allComponentStatusBeforeMerge = await (0, _pMapSeries().default)(bitIds, id => this.getComponentStatusBeforeMergeAttempt(id, checkoutProps));
186
184
  const compsNeedMerge = allComponentStatusBeforeMerge.filter(c => c.propsForMerge);
187
185
  const compsNotNeedMerge = allComponentStatusBeforeMerge.filter(c => !c.propsForMerge);
188
186
 
@@ -230,10 +228,10 @@ class CheckoutMain {
230
228
  });
231
229
  const componentsResults = await (0, _pMapSeries().default)(succeededComponents, ({
232
230
  id,
233
- currentComponent: componentFromFS,
231
+ currentComponent,
234
232
  mergeResults
235
233
  }) => {
236
- return (0, _checkoutVersion().applyVersion)(consumer, id, componentFromFS, mergeResults, checkoutPropsLegacy);
234
+ return (0, _checkoutVersion().applyVersion)(consumer, id, currentComponent, mergeResults, checkoutPropsLegacy);
237
235
  });
238
236
  (0, _checkoutVersion().markFilesToBeRemovedIfNeeded)(succeededComponents, componentsResults);
239
237
  const componentsLegacy = (0, _lodash().compact)(componentsResults.map(c => c.component));
@@ -390,7 +388,10 @@ class CheckoutMain {
390
388
  }));
391
389
  return nonRemovedNewIds;
392
390
  }
393
- async getComponentStatusBeforeMergeAttempt(component, checkoutProps) {
391
+
392
+ // eslint-disable-next-line complexity
393
+ async getComponentStatusBeforeMergeAttempt(id, checkoutProps) {
394
+ var _existingBitMapId;
394
395
  const consumer = this.workspace.consumer;
395
396
  const {
396
397
  version,
@@ -402,9 +403,28 @@ class CheckoutMain {
402
403
  versionPerId
403
404
  } = checkoutProps;
404
405
  const repo = consumer.scope.objects;
405
- const componentModel = await consumer.scope.getModelComponentIfExist(component.id);
406
+ let existingBitMapId = consumer.bitMap.getBitIdIfExist(id, {
407
+ ignoreVersion: true
408
+ });
409
+ const getComponent = async () => {
410
+ try {
411
+ return await consumer.loadComponent(id);
412
+ } catch (err) {
413
+ if (checkoutProps.allowAddingComponentsFromScope && !existingBitMapId) return undefined;
414
+ throw err;
415
+ }
416
+ };
417
+ const component = await getComponent();
418
+ if (component) {
419
+ // the component might fix an out-of-sync issue and as a result, the id has changed
420
+ id = component.id;
421
+ existingBitMapId = consumer.bitMap.getBitIdIfExist(id, {
422
+ ignoreVersion: true
423
+ });
424
+ }
425
+ const componentModel = await consumer.scope.getModelComponentIfExist(id);
406
426
  const componentStatus = {
407
- id: component.id
427
+ id
408
428
  };
409
429
  const returnFailure = (msg, unchangedLegitimately = false) => {
410
430
  componentStatus.failureMessage = msg;
@@ -412,17 +432,18 @@ class CheckoutMain {
412
432
  return componentStatus;
413
433
  };
414
434
  if (!componentModel) {
415
- return returnFailure(`component ${component.id.toString()} is new, no version to checkout`, true);
435
+ return returnFailure(`component ${id.toString()} is new, no version to checkout`, true);
416
436
  }
417
437
  if (main && !componentModel.head) {
418
- return returnFailure(`component ${component.id.toString()} is not available on main`);
438
+ return returnFailure(`component ${id.toString()} is not available on main`);
419
439
  }
420
- const unmerged = repo.unmergedComponents.getEntry(component.name);
440
+ const unmerged = repo.unmergedComponents.getEntry(id.name);
421
441
  if (!reset && unmerged) {
422
- return returnFailure(`component ${component.id.toStringWithoutVersion()} is in during-merge state, please snap/tag it first (or use bit merge --resolve/--abort)`);
442
+ return returnFailure(`component ${id.toStringWithoutVersion()} is in during-merge state, please snap/tag it first (or use bit merge --resolve/--abort)`);
423
443
  }
424
444
  const getNewVersion = async () => {
425
445
  var _componentModel$head;
446
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
426
447
  if (reset) return component.id.version;
427
448
  if (headVersion) return componentModel.headIncludeRemote(repo);
428
449
  // we verified previously that head exists in case of "main"
@@ -433,7 +454,7 @@ class CheckoutMain {
433
454
  }
434
455
  if (versionPerId) {
435
456
  var _versionPerId$find;
436
- return (_versionPerId$find = versionPerId.find(id => id._legacy.isEqualWithoutVersion(component.id))) === null || _versionPerId$find === void 0 ? void 0 : _versionPerId$find.version;
457
+ return (_versionPerId$find = versionPerId.find(bitId => bitId._legacy.isEqualWithoutVersion(id))) === null || _versionPerId$find === void 0 ? void 0 : _versionPerId$find.version;
437
458
  }
438
459
 
439
460
  // if all above are false, the version is defined
@@ -442,21 +463,18 @@ class CheckoutMain {
442
463
  const newVersion = await getNewVersion();
443
464
  if (version && !headVersion) {
444
465
  const hasVersion = await componentModel.hasVersion(version, repo);
445
- if (!hasVersion) return returnFailure(`component ${component.id.toStringWithoutVersion()} doesn't have version ${version}`);
466
+ if (!hasVersion) return returnFailure(`component ${id.toStringWithoutVersion()} doesn't have version ${version}`);
446
467
  }
447
- const existingBitMapId = consumer.bitMap.getBitId(component.id, {
448
- ignoreVersion: true
449
- });
450
- const currentlyUsedVersion = existingBitMapId.version;
451
- if (!currentlyUsedVersion) {
452
- return returnFailure(`component ${component.id.toStringWithoutVersion()} is new`);
468
+ const currentlyUsedVersion = (_existingBitMapId = existingBitMapId) === null || _existingBitMapId === void 0 ? void 0 : _existingBitMapId.version;
469
+ if (existingBitMapId && !currentlyUsedVersion) {
470
+ return returnFailure(`component ${id.toStringWithoutVersion()} is new`);
453
471
  }
454
472
  if (version && currentlyUsedVersion === version) {
455
473
  // it won't be relevant for 'reset' as it doesn't have a version
456
- return returnFailure(`component ${component.id.toStringWithoutVersion()} is already at version ${version}`, true);
474
+ return returnFailure(`component ${id.toStringWithoutVersion()} is already at version ${version}`, true);
457
475
  }
458
476
  if (headVersion && currentlyUsedVersion === newVersion) {
459
- return returnFailure(`component ${component.id.toStringWithoutVersion()} is already at the latest version, which is ${newVersion}`, true);
477
+ return returnFailure(`component ${id.toStringWithoutVersion()} is already at the latest version, which is ${newVersion}`, true);
460
478
  }
461
479
  if (!reset) {
462
480
  const divergeDataForMergePending = await componentModel.getDivergeDataForMergePending(repo);
@@ -465,22 +483,28 @@ class CheckoutMain {
465
483
  return returnFailure(`component is merge-pending and cannot be checked out, run "bit status" for more info`);
466
484
  }
467
485
  }
468
- const currentVersionObject = await componentModel.loadVersion(currentlyUsedVersion, repo);
469
- const isModified = await consumer.isComponentModified(currentVersionObject, component);
470
- if (!isModified && reset) {
471
- return returnFailure(`component ${component.id.toStringWithoutVersion()} is not modified`, true);
486
+ let isModified = false;
487
+ if (currentlyUsedVersion) {
488
+ const currentVersionObject = await componentModel.loadVersion(currentlyUsedVersion, repo);
489
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
490
+ isModified = await consumer.isComponentModified(currentVersionObject, component);
491
+ if (!isModified && reset) {
492
+ return returnFailure(`component ${id.toStringWithoutVersion()} is not modified`, true);
493
+ }
472
494
  }
473
495
  const versionRef = componentModel.getRef(newVersion);
474
496
  if (!versionRef) throw new Error(`unable to get ref ${newVersion} from ${componentModel.id()}`);
475
497
  const componentVersion = await consumer.scope.getObject(versionRef.hash);
476
- if (componentVersion !== null && componentVersion !== void 0 && componentVersion.isRemoved() && existingBitMapId) {
477
- componentStatus.shouldBeRemoved = true;
498
+ if (componentVersion !== null && componentVersion !== void 0 && componentVersion.isRemoved()) {
499
+ if (existingBitMapId) componentStatus.shouldBeRemoved = true;
478
500
  return returnFailure(`component has been removed`, true);
479
501
  }
480
- const newId = component.id.changeVersion(newVersion);
481
- if (reset || !isModified || revert) {
502
+ const newId = id.changeVersion(newVersion);
503
+ if (reset || !isModified || revert || !currentlyUsedVersion) {
482
504
  // if the component is not modified, no need to try merge the files, they will be written later on according to the
483
505
  // checked out version. same thing when no version is specified, it'll be reset to the model-version later.
506
+
507
+ // if !currentlyUsedVersion it only exists in the model, so just write it. (happening during bit-switch/bit-lane-import)
484
508
  return {
485
509
  currentComponent: component,
486
510
  componentFromModel: componentVersion,
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_logger","_workspace","_interopRequireWildcard","_bitError","_lodash","_loaderMessages","_remove","_interopRequireDefault","_importer","_constants","_componentWriter","_mergeVersion","_generalError","_pMapSeries","_bitId","_repositories","_componentNotFoundInPath","_checkoutCmd","_checkout","_checkoutVersion","_revertCmd","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","CheckoutMain","constructor","workspace","logger","componentWriter","importer","remove","checkout","checkoutProps","_checkoutProps$ids","_newFromLane","_componentWriterResul","_componentWriterResul2","consumer","version","ids","promptMergeOptions","syncNewComponents","addedComponents","restoreMissingComponents","bitIds","BitIds","fromArray","map","id","_legacy","components","loadComponents","allComponentStatusBeforeMerge","Promise","all","component","getComponentStatusBeforeMergeAttempt","compsNeedMerge","c","propsForMerge","compsNotNeedMerge","toImport","compStatus","idsToImport","changeVersion","currentlyUsedVersion","flat","scope","legacyScope","scopeImporter","importManyIfMissingWithoutDeps","getComponentsStatusOfMergeNeeded","tmp","Tmp","afterMergeAttempt","getMergeStatus","clear","err","compStatusMergeNeeded","allComponentsStatus","componentWithConflict","find","mergeResults","hasConflicts","mergeStrategy","GeneralError","toStringWithoutVersion","getMergeStrategyInteractive","failedComponents","componentStatus","failureMessage","shouldBeRemoved","unchangedLegitimately","succeededComponents","checkoutPropsLegacy","componentsResults","mapSeries","currentComponent","componentFromFS","applyVersion","markFilesToBeRemovedIfNeeded","componentsLegacy","compact","newFromLane","newFromLaneAdded","head","getNewComponentsFromLane","workspaceOnly","compsNewFromLane","loadComponentFromModelImportIfNeeded","leftUnresolvedConflicts","componentWriterResults","manyComponentsWriterOpts","skipDependencyInstallation","skipNpmInstall","verbose","resetConfig","reset","skipUpdatingBitMap","skipUpdatingBitmap","writeMany","deleteFilesIfNeeded","appliedVersionComponents","applyVersionResult","componentIdsToRemove","undefined","removeLocallyByIds","force","removedComponents","n","toString","installationError","compilationError","missing","bitMapEntry","bitMap","getBitmapEntry","ignoreVersion","noFilesError","ComponentNotFoundInPath","comps","getMany","state","_consumer","checkoutByCLIValues","componentPattern","revert","setStatusLine","BEFORE_CHECKOUT","OutsideWorkspaceError","importCurrentObjects","makeLaneComponentsAvailableOnMain","parseValues","checkoutResults","onDestroy","notExported","hasScope","changeScope","scopeComponentsImporter","importWithoutDeps","toVersionLatest","error","unavailableOnMain","getUnavailableOnMainComponents","makeComponentsAvailableOnMain","console","HEAD","latest","LATEST","BitError","idsOnWorkspace","idsByPattern","listIds","currentLane","getCurrentLaneObject","currentLaneIds","toBitIds","hasWithoutVersion","lane","laneBitIds","newIds","bitId","isEqualWithoutVersion","newComponentIds","resolveMultipleComponentIds","nonRemovedNewIds","isRemoved","isComponentRemoved","headVersion","main","latestVersion","versionPerId","repo","objects","componentModel","getModelComponentIfExist","returnFailure","msg","unmerged","unmergedComponents","getEntry","name","getNewVersion","_componentModel$head","headIncludeRemote","latestVersionIfExist","_versionPerId$find","newVersion","hasVersion","existingBitMapId","getBitId","divergeDataForMergePending","getDivergeDataForMergePending","isMergePending","isDiverged","currentVersionObject","loadVersion","isModified","isComponentModified","versionRef","getRef","Error","componentVersion","getObject","hash","newId","componentFromModel","baseVersion","baseComponent","otherComponent","threeWayMerge","otherLabel","currentLabel","provider","cli","loggerMain","compWriter","createLogger","CheckoutAspect","checkoutMain","register","CheckoutCmd","RevertCmd","exports","CLIAspect","WorkspaceAspect","LoggerAspect","ComponentWriterAspect","ImporterAspect","RemoveAspect","MainRuntime","addRuntime","_default"],"sources":["checkout.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\nimport { compact } from 'lodash';\nimport { BEFORE_CHECKOUT } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport RemoveAspect, { RemoveMain } from '@teambit/remove';\nimport { ApplyVersionResults } from '@teambit/merging';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { HEAD, LATEST } from '@teambit/legacy/dist/constants';\nimport { ComponentWriterAspect, ComponentWriterMain } from '@teambit/component-writer';\nimport {\n FailedComponents,\n getMergeStrategyInteractive,\n MergeStrategy,\n threeWayMerge,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport mapSeries from 'p-map-series';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { Version, ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { ComponentID } from '@teambit/component-id';\nimport ComponentNotFoundInPath from '@teambit/legacy/dist/consumer/component/exceptions/component-not-found-in-path';\nimport { CheckoutCmd } from './checkout-cmd';\nimport { CheckoutAspect } from './checkout.aspect';\nimport {\n applyVersion,\n markFilesToBeRemovedIfNeeded,\n ComponentStatus,\n deleteFilesIfNeeded,\n ComponentStatusBase,\n} from './checkout-version';\nimport { RevertCmd } from './revert-cmd';\n\nexport type CheckoutProps = {\n version?: string; // if reset/head/latest is true, the version is undefined\n ids?: ComponentID[];\n head?: boolean;\n latest?: boolean;\n main?: boolean; // relevant for \"revert\" only\n promptMergeOptions?: boolean;\n mergeStrategy?: MergeStrategy | null;\n verbose?: boolean;\n skipNpmInstall?: boolean;\n reset?: boolean; // remove local changes. if set, the version is undefined.\n revert?: boolean; // change the files according to the given version, but don't change the bitmap version and don't try to merge\n all?: boolean; // checkout all ids\n isLane?: boolean;\n workspaceOnly?: boolean;\n versionPerId?: ComponentID[]; // if given, the ComponentID.version is the version to checkout to.\n skipUpdatingBitmap?: boolean; // needed for stash\n restoreMissingComponents?: boolean; // in case .bitmap has a component and it's missing from the workspace, restore it (from model)\n};\n\nexport type ComponentStatusBeforeMergeAttempt = ComponentStatusBase & {\n failureMessage?: string;\n unchangedLegitimately?: boolean; // failed to checkout but for a legitimate reason, such as, up-to-date\n propsForMerge?: {\n currentlyUsedVersion: string;\n componentModel: ModelComponent;\n };\n};\n\nexport class CheckoutMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private componentWriter: ComponentWriterMain,\n private importer: ImporterMain,\n private remove: RemoveMain\n ) {}\n\n async checkout(checkoutProps: CheckoutProps): Promise<ApplyVersionResults> {\n const consumer = this.workspace.consumer;\n const { version, ids, promptMergeOptions } = checkoutProps;\n await this.syncNewComponents(checkoutProps);\n const addedComponents = await this.restoreMissingComponents(checkoutProps);\n const bitIds = BitIds.fromArray(ids?.map((id) => id._legacy) || []);\n const { components } = await consumer.loadComponents(bitIds);\n\n const allComponentStatusBeforeMerge = await Promise.all(\n components.map((component) => this.getComponentStatusBeforeMergeAttempt(component, checkoutProps))\n );\n const compsNeedMerge = allComponentStatusBeforeMerge.filter((c) => c.propsForMerge);\n const compsNotNeedMerge = allComponentStatusBeforeMerge.filter((c) => !c.propsForMerge) as ComponentStatus[];\n\n // in case the requested versions to checkout don't exist locally, import them.\n const toImport = allComponentStatusBeforeMerge\n .map((compStatus) => {\n const idsToImport = [compStatus.id];\n if (compStatus.propsForMerge) {\n idsToImport.push(compStatus.id.changeVersion(compStatus.propsForMerge.currentlyUsedVersion));\n }\n return idsToImport;\n })\n .flat();\n await this.workspace.scope.legacyScope.scopeImporter.importManyIfMissingWithoutDeps({\n ids: BitIds.fromArray(toImport),\n });\n\n const getComponentsStatusOfMergeNeeded = async (): Promise<ComponentStatus[]> => {\n const tmp = new Tmp(consumer.scope);\n try {\n const afterMergeAttempt = await Promise.all(compsNeedMerge.map((c) => this.getMergeStatus(c)));\n await tmp.clear();\n return afterMergeAttempt;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n };\n\n const compStatusMergeNeeded = await getComponentsStatusOfMergeNeeded();\n\n const allComponentsStatus: ComponentStatus[] = [...compStatusMergeNeeded, ...compsNotNeedMerge];\n const componentWithConflict = allComponentsStatus.find(\n (component) => component.mergeResults && component.mergeResults.hasConflicts\n );\n if (componentWithConflict) {\n if (!promptMergeOptions && !checkoutProps.mergeStrategy) {\n throw new GeneralError(\n `automatic merge has failed for component ${componentWithConflict.id.toStringWithoutVersion()}.\\nplease use \"--manual\" to manually merge changes or use \"--theirs / --ours\" to choose one of the conflicted versions`\n );\n }\n if (!checkoutProps.mergeStrategy) checkoutProps.mergeStrategy = await getMergeStrategyInteractive();\n }\n const failedComponents: FailedComponents[] = allComponentsStatus\n .filter((componentStatus) => componentStatus.failureMessage)\n .filter((componentStatus) => !componentStatus.shouldBeRemoved)\n .map((componentStatus) => ({\n id: componentStatus.id,\n failureMessage: componentStatus.failureMessage as string,\n unchangedLegitimately: componentStatus.unchangedLegitimately,\n }));\n\n const succeededComponents = allComponentsStatus.filter((componentStatus) => !componentStatus.failureMessage);\n // do not use Promise.all for applyVersion. otherwise, it'll write all components in parallel,\n // which can be an issue when some components are also dependencies of others\n const checkoutPropsLegacy = { ...checkoutProps, ids: checkoutProps.ids?.map((id) => id._legacy) };\n const componentsResults = await mapSeries(\n succeededComponents,\n ({ id, currentComponent: componentFromFS, mergeResults }) => {\n return applyVersion(consumer, id, componentFromFS, mergeResults, checkoutPropsLegacy);\n }\n );\n\n markFilesToBeRemovedIfNeeded(succeededComponents, componentsResults);\n\n const componentsLegacy = compact(componentsResults.map((c) => c.component));\n\n let newFromLane: ComponentID[] | undefined;\n let newFromLaneAdded = false;\n if (checkoutProps.head) {\n newFromLane = await this.getNewComponentsFromLane(checkoutProps.ids || []);\n if (!checkoutProps.workspaceOnly) {\n const compsNewFromLane = await Promise.all(\n newFromLane.map((id) => consumer.loadComponentFromModelImportIfNeeded(id._legacy))\n );\n componentsLegacy.push(...compsNewFromLane);\n newFromLaneAdded = true;\n }\n }\n\n const leftUnresolvedConflicts = componentWithConflict && checkoutProps.mergeStrategy === 'manual';\n let componentWriterResults;\n if (componentsLegacy.length) {\n const manyComponentsWriterOpts = {\n components: componentsLegacy,\n skipDependencyInstallation: checkoutProps.skipNpmInstall || leftUnresolvedConflicts,\n verbose: checkoutProps.verbose,\n resetConfig: checkoutProps.reset,\n skipUpdatingBitMap: checkoutProps.skipUpdatingBitmap,\n };\n componentWriterResults = await this.componentWriter.writeMany(manyComponentsWriterOpts);\n await deleteFilesIfNeeded(componentsResults, this.workspace);\n }\n\n const appliedVersionComponents = componentsResults.map((c) => c.applyVersionResult);\n\n const componentIdsToRemove = allComponentsStatus\n .filter((componentStatus) => componentStatus.shouldBeRemoved)\n .map((c) => c.id.changeVersion(undefined));\n\n if (componentIdsToRemove.length) {\n await this.remove.removeLocallyByIds(componentIdsToRemove, { force: true });\n }\n\n return {\n components: appliedVersionComponents,\n removedComponents: componentIdsToRemove,\n addedComponents,\n version,\n failedComponents,\n leftUnresolvedConflicts,\n newFromLane: newFromLane?.map((n) => n.toString()),\n newFromLaneAdded,\n installationError: componentWriterResults?.installationError,\n compilationError: componentWriterResults?.compilationError,\n };\n }\n\n /**\n * if .bitmap entry exists but the rootDir is missing from the filesystem, find the component in the scope and restore it.\n * returns the restored component ids.\n */\n async restoreMissingComponents(checkoutProps: CheckoutProps): Promise<ComponentID[] | undefined> {\n if (!checkoutProps.restoreMissingComponents) return undefined;\n const ids = checkoutProps.ids || [];\n const missing: ComponentID[] = [];\n await Promise.all(\n ids.map(async (id) => {\n const bitMapEntry = this.workspace.bitMap.getBitmapEntry(id, { ignoreVersion: true });\n if (bitMapEntry.noFilesError && bitMapEntry.noFilesError instanceof ComponentNotFoundInPath) {\n delete bitMapEntry.noFilesError;\n missing.push(id);\n }\n })\n );\n if (!missing.length) return undefined;\n const comps = await this.workspace.scope.getMany(missing);\n await this.componentWriter.writeMany({\n components: comps.map((c) => c.state._consumer),\n skipDependencyInstallation: true,\n skipUpdatingBitMap: true,\n });\n\n return missing;\n }\n\n async checkoutByCLIValues(componentPattern: string, checkoutProps: CheckoutProps): Promise<ApplyVersionResults> {\n const { revert, head } = checkoutProps;\n this.logger.setStatusLine(revert ? 'reverting components...' : BEFORE_CHECKOUT);\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n await this.importer.importCurrentObjects(); // important. among others, it fetches the remote lane object and its new components.\n if (head) await this.makeLaneComponentsAvailableOnMain();\n await this.parseValues(componentPattern, checkoutProps);\n const checkoutResults = await this.checkout(checkoutProps);\n await consumer.onDestroy();\n return checkoutResults;\n }\n\n private async syncNewComponents({ ids, head }: CheckoutProps) {\n if (!head) return;\n const notExported = ids?.filter((id) => !id._legacy.hasScope()).map((id) => id._legacy.changeScope(id.scope));\n const scopeComponentsImporter = this.workspace.consumer.scope.scopeImporter;\n try {\n await scopeComponentsImporter.importWithoutDeps(BitIds.fromArray(notExported || []).toVersionLatest(), {\n cache: false,\n });\n } catch (err) {\n // don't stop the process. it's possible that the scope doesn't exist yet because these are new components\n this.logger.error(`unable to sync new components, if these components are really new, ignore the error`, err);\n }\n }\n\n private async makeLaneComponentsAvailableOnMain() {\n const unavailableOnMain = await this.workspace.getUnavailableOnMainComponents();\n if (!unavailableOnMain.length) return;\n this.workspace.bitMap.makeComponentsAvailableOnMain(unavailableOnMain);\n }\n\n private async parseValues(componentPattern: string, checkoutProps: CheckoutProps) {\n if (checkoutProps.head && !componentPattern) {\n if (checkoutProps.all) {\n this.logger.console(`\"--all\" is deprecated for \"bit checkout ${HEAD}\", please omit it.`);\n }\n checkoutProps.all = true;\n }\n if (checkoutProps.latest && !componentPattern) {\n if (checkoutProps.all) {\n this.logger.console(`\"--all\" is deprecated for \"bit checkout ${LATEST}\", please omit it.`);\n }\n checkoutProps.all = true;\n }\n if (componentPattern && checkoutProps.all) {\n throw new GeneralError('please specify either [component-pattern] or --all, not both');\n }\n if (!componentPattern && !checkoutProps.all) {\n throw new GeneralError('please specify [component-pattern] or use --all flag');\n }\n if (checkoutProps.workspaceOnly && !checkoutProps.head) {\n throw new BitError(`--workspace-only flag can only be used with \"head\" (bit checkout head --workspace-only)`);\n }\n if (checkoutProps.revert) {\n checkoutProps.skipUpdatingBitmap = true;\n }\n const idsOnWorkspace = componentPattern\n ? await this.workspace.idsByPattern(componentPattern)\n : await this.workspace.listIds();\n const currentLane = await this.workspace.consumer.getCurrentLaneObject();\n const currentLaneIds = currentLane?.toBitIds();\n const ids = currentLaneIds\n ? idsOnWorkspace.filter((id) => currentLaneIds.hasWithoutVersion(id._legacy))\n : idsOnWorkspace;\n checkoutProps.ids = ids.map((id) => (checkoutProps.head || checkoutProps.latest ? id.changeVersion(LATEST) : id));\n }\n\n private async getNewComponentsFromLane(ids: ComponentID[]): Promise<ComponentID[]> {\n // current lane object is up to date due to the previous `importCurrentObjects()` call\n const lane = await this.workspace.consumer.getCurrentLaneObject();\n if (!lane) {\n return [];\n }\n const laneBitIds = lane.toBitIds();\n const newIds = laneBitIds.filter((bitId) => !ids.find((id) => id._legacy.isEqualWithoutVersion(bitId)));\n const newComponentIds = await this.workspace.resolveMultipleComponentIds(newIds);\n const nonRemovedNewIds: ComponentID[] = [];\n await Promise.all(\n newComponentIds.map(async (id) => {\n const isRemoved = await this.workspace.scope.isComponentRemoved(id);\n if (!isRemoved) nonRemovedNewIds.push(id);\n })\n );\n return nonRemovedNewIds;\n }\n\n private async getComponentStatusBeforeMergeAttempt(\n component: ConsumerComponent,\n checkoutProps: CheckoutProps\n ): Promise<ComponentStatusBeforeMergeAttempt> {\n const consumer = this.workspace.consumer;\n const { version, head: headVersion, reset, revert, main, latest: latestVersion, versionPerId } = checkoutProps;\n const repo = consumer.scope.objects;\n const componentModel = await consumer.scope.getModelComponentIfExist(component.id);\n const componentStatus: ComponentStatusBeforeMergeAttempt = { id: component.id };\n const returnFailure = (msg: string, unchangedLegitimately = false) => {\n componentStatus.failureMessage = msg;\n componentStatus.unchangedLegitimately = unchangedLegitimately;\n return componentStatus;\n };\n if (!componentModel) {\n return returnFailure(`component ${component.id.toString()} is new, no version to checkout`, true);\n }\n if (main && !componentModel.head) {\n return returnFailure(`component ${component.id.toString()} is not available on main`);\n }\n const unmerged = repo.unmergedComponents.getEntry(component.name);\n if (!reset && unmerged) {\n return returnFailure(\n `component ${component.id.toStringWithoutVersion()} is in during-merge state, please snap/tag it first (or use bit merge --resolve/--abort)`\n );\n }\n const getNewVersion = async (): Promise<string> => {\n if (reset) return component.id.version as string;\n if (headVersion) return componentModel.headIncludeRemote(repo);\n // we verified previously that head exists in case of \"main\"\n if (main) return componentModel.head?.toString() as string;\n if (latestVersion) {\n const latest = componentModel.latestVersionIfExist();\n return latest || componentModel.headIncludeRemote(repo);\n }\n if (versionPerId) {\n return versionPerId.find((id) => id._legacy.isEqualWithoutVersion(component.id))?.version as string;\n }\n\n // if all above are false, the version is defined\n return version as string;\n };\n const newVersion = await getNewVersion();\n if (version && !headVersion) {\n const hasVersion = await componentModel.hasVersion(version, repo);\n if (!hasVersion)\n return returnFailure(`component ${component.id.toStringWithoutVersion()} doesn't have version ${version}`);\n }\n const existingBitMapId = consumer.bitMap.getBitId(component.id, { ignoreVersion: true });\n const currentlyUsedVersion = existingBitMapId.version;\n if (!currentlyUsedVersion) {\n return returnFailure(`component ${component.id.toStringWithoutVersion()} is new`);\n }\n if (version && currentlyUsedVersion === version) {\n // it won't be relevant for 'reset' as it doesn't have a version\n return returnFailure(`component ${component.id.toStringWithoutVersion()} is already at version ${version}`, true);\n }\n if (headVersion && currentlyUsedVersion === newVersion) {\n return returnFailure(\n `component ${component.id.toStringWithoutVersion()} is already at the latest version, which is ${newVersion}`,\n true\n );\n }\n if (!reset) {\n const divergeDataForMergePending = await componentModel.getDivergeDataForMergePending(repo);\n const isMergePending = divergeDataForMergePending.isDiverged();\n if (isMergePending) {\n return returnFailure(`component is merge-pending and cannot be checked out, run \"bit status\" for more info`);\n }\n }\n const currentVersionObject: Version = await componentModel.loadVersion(currentlyUsedVersion, repo);\n const isModified = await consumer.isComponentModified(currentVersionObject, component);\n if (!isModified && reset) {\n return returnFailure(`component ${component.id.toStringWithoutVersion()} is not modified`, true);\n }\n\n const versionRef = componentModel.getRef(newVersion);\n if (!versionRef) throw new Error(`unable to get ref ${newVersion} from ${componentModel.id()}`);\n const componentVersion = (await consumer.scope.getObject(versionRef.hash)) as Version | undefined;\n if (componentVersion?.isRemoved() && existingBitMapId) {\n componentStatus.shouldBeRemoved = true;\n return returnFailure(`component has been removed`, true);\n }\n\n const newId = component.id.changeVersion(newVersion);\n\n if (reset || !isModified || revert) {\n // if the component is not modified, no need to try merge the files, they will be written later on according to the\n // checked out version. same thing when no version is specified, it'll be reset to the model-version later.\n return { currentComponent: component, componentFromModel: componentVersion, id: newId };\n }\n\n const propsForMerge = {\n currentlyUsedVersion,\n componentModel,\n };\n\n return { currentComponent: component, componentFromModel: componentVersion, id: newId, propsForMerge };\n }\n\n private async getMergeStatus({\n currentComponent: componentFromFS,\n componentFromModel,\n id,\n propsForMerge,\n }: ComponentStatusBeforeMergeAttempt): Promise<ComponentStatus> {\n if (!propsForMerge) throw new Error(`propsForMerge is missing for ${id.toString()}`);\n if (!componentFromFS) throw new Error(`componentFromFS is missing for ${id.toString()}`);\n const consumer = this.workspace.consumer;\n const repo = consumer.scope.objects;\n const { currentlyUsedVersion, componentModel } = propsForMerge;\n\n // this is tricky. imagine the user is 0.0.2+modification and wants to checkout to 0.0.1.\n // the base is 0.0.1, as it's the common version for 0.0.1 and 0.0.2. however, if we let git merge-file use the 0.0.1\n // as the base, then, it'll get the changes done since 0.0.1 to 0.0.1, which is nothing, and put them on top of\n // 0.0.2+modification. in other words, it won't make any change.\n // this scenario of checking out while there are modified files, is forbidden in Git. here, we want to simulate a similar\n // experience of \"git stash\", then \"git checkout\", then \"git stash pop\". practically, we want the changes done on 0.0.2\n // to be added to 0.0.1\n // if there is no modification, it doesn't go the threeWayMerge anyway, so it doesn't matter what the base is.\n const baseVersion = currentlyUsedVersion;\n const newVersion = id.version as string;\n const baseComponent: Version = await componentModel.loadVersion(baseVersion, repo);\n const otherComponent: Version = await componentModel.loadVersion(newVersion, repo);\n const mergeResults = await threeWayMerge({\n consumer,\n otherComponent,\n otherLabel: newVersion,\n currentComponent: componentFromFS,\n currentLabel: `${currentlyUsedVersion} modified`,\n baseComponent,\n });\n\n return { currentComponent: componentFromFS, componentFromModel, id, mergeResults };\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, LoggerAspect, ComponentWriterAspect, ImporterAspect, RemoveAspect];\n\n static runtime = MainRuntime;\n\n static async provider([cli, workspace, loggerMain, compWriter, importer, remove]: [\n CLIMain,\n Workspace,\n LoggerMain,\n ComponentWriterMain,\n ImporterMain,\n RemoveMain\n ]) {\n const logger = loggerMain.createLogger(CheckoutAspect.id);\n const checkoutMain = new CheckoutMain(workspace, logger, compWriter, importer, remove);\n cli.register(new CheckoutCmd(checkoutMain), new RevertCmd(checkoutMain));\n return checkoutMain;\n }\n}\n\nCheckoutAspect.addRuntime(CheckoutMain);\n\nexport default CheckoutMain;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_cli","data","require","_logger","_workspace","_interopRequireWildcard","_bitError","_lodash","_loaderMessages","_remove","_interopRequireDefault","_importer","_constants","_componentWriter","_mergeVersion","_generalError","_pMapSeries","_bitId","_repositories","_componentNotFoundInPath","_checkoutCmd","_checkout","_checkoutVersion","_revertCmd","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","CheckoutMain","constructor","workspace","logger","componentWriter","importer","remove","checkout","checkoutProps","_checkoutProps$ids","_newFromLane","_componentWriterResul","_componentWriterResul2","consumer","version","ids","promptMergeOptions","syncNewComponents","addedComponents","restoreMissingComponents","bitIds","BitIds","fromArray","map","id","_legacy","allComponentStatusBeforeMerge","mapSeries","getComponentStatusBeforeMergeAttempt","compsNeedMerge","c","propsForMerge","compsNotNeedMerge","toImport","compStatus","idsToImport","changeVersion","currentlyUsedVersion","flat","scope","legacyScope","scopeImporter","importManyIfMissingWithoutDeps","getComponentsStatusOfMergeNeeded","tmp","Tmp","afterMergeAttempt","Promise","all","getMergeStatus","clear","err","compStatusMergeNeeded","allComponentsStatus","componentWithConflict","find","component","mergeResults","hasConflicts","mergeStrategy","GeneralError","toStringWithoutVersion","getMergeStrategyInteractive","failedComponents","componentStatus","failureMessage","shouldBeRemoved","unchangedLegitimately","succeededComponents","checkoutPropsLegacy","componentsResults","currentComponent","applyVersion","markFilesToBeRemovedIfNeeded","componentsLegacy","compact","newFromLane","newFromLaneAdded","head","getNewComponentsFromLane","workspaceOnly","compsNewFromLane","loadComponentFromModelImportIfNeeded","leftUnresolvedConflicts","componentWriterResults","manyComponentsWriterOpts","components","skipDependencyInstallation","skipNpmInstall","verbose","resetConfig","reset","skipUpdatingBitMap","skipUpdatingBitmap","writeMany","deleteFilesIfNeeded","appliedVersionComponents","applyVersionResult","componentIdsToRemove","undefined","removeLocallyByIds","force","removedComponents","n","toString","installationError","compilationError","missing","bitMapEntry","bitMap","getBitmapEntry","ignoreVersion","noFilesError","ComponentNotFoundInPath","comps","getMany","state","_consumer","checkoutByCLIValues","componentPattern","revert","setStatusLine","BEFORE_CHECKOUT","OutsideWorkspaceError","importCurrentObjects","makeLaneComponentsAvailableOnMain","parseValues","checkoutResults","onDestroy","notExported","hasScope","changeScope","scopeComponentsImporter","importWithoutDeps","toVersionLatest","error","unavailableOnMain","getUnavailableOnMainComponents","makeComponentsAvailableOnMain","console","HEAD","latest","LATEST","BitError","idsOnWorkspace","idsByPattern","listIds","currentLane","getCurrentLaneObject","currentLaneIds","toBitIds","hasWithoutVersion","lane","laneBitIds","newIds","bitId","isEqualWithoutVersion","newComponentIds","resolveMultipleComponentIds","nonRemovedNewIds","isRemoved","isComponentRemoved","_existingBitMapId","headVersion","main","latestVersion","versionPerId","repo","objects","existingBitMapId","getBitIdIfExist","getComponent","loadComponent","allowAddingComponentsFromScope","componentModel","getModelComponentIfExist","returnFailure","msg","unmerged","unmergedComponents","getEntry","name","getNewVersion","_componentModel$head","headIncludeRemote","latestVersionIfExist","_versionPerId$find","newVersion","hasVersion","divergeDataForMergePending","getDivergeDataForMergePending","isMergePending","isDiverged","isModified","currentVersionObject","loadVersion","isComponentModified","versionRef","getRef","Error","componentVersion","getObject","hash","newId","componentFromModel","componentFromFS","baseVersion","baseComponent","otherComponent","threeWayMerge","otherLabel","currentLabel","provider","cli","loggerMain","compWriter","createLogger","CheckoutAspect","checkoutMain","register","CheckoutCmd","RevertCmd","exports","CLIAspect","WorkspaceAspect","LoggerAspect","ComponentWriterAspect","ImporterAspect","RemoveAspect","MainRuntime","addRuntime","_default"],"sources":["checkout.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\nimport { compact } from 'lodash';\nimport { BEFORE_CHECKOUT } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport RemoveAspect, { RemoveMain } from '@teambit/remove';\nimport { ApplyVersionResults } from '@teambit/merging';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { HEAD, LATEST } from '@teambit/legacy/dist/constants';\nimport { ComponentWriterAspect, ComponentWriterMain } from '@teambit/component-writer';\nimport {\n FailedComponents,\n getMergeStrategyInteractive,\n MergeStrategy,\n threeWayMerge,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport mapSeries from 'p-map-series';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport { Version, ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\nimport { ComponentID } from '@teambit/component-id';\nimport ComponentNotFoundInPath from '@teambit/legacy/dist/consumer/component/exceptions/component-not-found-in-path';\nimport { CheckoutCmd } from './checkout-cmd';\nimport { CheckoutAspect } from './checkout.aspect';\nimport {\n applyVersion,\n markFilesToBeRemovedIfNeeded,\n ComponentStatus,\n deleteFilesIfNeeded,\n ComponentStatusBase,\n} from './checkout-version';\nimport { RevertCmd } from './revert-cmd';\n\nexport type CheckoutProps = {\n version?: string; // if reset/head/latest is true, the version is undefined\n ids?: ComponentID[];\n head?: boolean;\n latest?: boolean;\n main?: boolean; // relevant for \"revert\" only\n promptMergeOptions?: boolean;\n mergeStrategy?: MergeStrategy | null;\n verbose?: boolean;\n skipNpmInstall?: boolean;\n reset?: boolean; // remove local changes. if set, the version is undefined.\n revert?: boolean; // change the files according to the given version, but don't change the bitmap version and don't try to merge\n all?: boolean; // checkout all ids\n isLane?: boolean;\n workspaceOnly?: boolean;\n versionPerId?: ComponentID[]; // if given, the ComponentID.version is the version to checkout to.\n skipUpdatingBitmap?: boolean; // needed for stash\n restoreMissingComponents?: boolean; // in case .bitmap has a component and it's missing from the workspace, restore it (from model)\n allowAddingComponentsFromScope?: boolean; // in case the id doesn't exist in .bitmap, add it from the scope (relevant for switch)\n};\n\nexport type ComponentStatusBeforeMergeAttempt = ComponentStatusBase & {\n failureMessage?: string;\n unchangedLegitimately?: boolean; // failed to checkout but for a legitimate reason, such as, up-to-date\n propsForMerge?: {\n currentlyUsedVersion: string;\n componentModel: ModelComponent;\n };\n};\n\nexport class CheckoutMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private componentWriter: ComponentWriterMain,\n private importer: ImporterMain,\n private remove: RemoveMain\n ) {}\n\n async checkout(checkoutProps: CheckoutProps): Promise<ApplyVersionResults> {\n const consumer = this.workspace.consumer;\n const { version, ids, promptMergeOptions } = checkoutProps;\n await this.syncNewComponents(checkoutProps);\n const addedComponents = await this.restoreMissingComponents(checkoutProps);\n const bitIds = BitIds.fromArray(ids?.map((id) => id._legacy) || []);\n // don't use Promise.all, it loads the components and this operation must be in sequence.\n const allComponentStatusBeforeMerge = await mapSeries(bitIds, (id) =>\n this.getComponentStatusBeforeMergeAttempt(id, checkoutProps)\n );\n const compsNeedMerge = allComponentStatusBeforeMerge.filter((c) => c.propsForMerge);\n const compsNotNeedMerge = allComponentStatusBeforeMerge.filter((c) => !c.propsForMerge) as ComponentStatus[];\n\n // in case the requested versions to checkout don't exist locally, import them.\n const toImport = allComponentStatusBeforeMerge\n .map((compStatus) => {\n const idsToImport = [compStatus.id];\n if (compStatus.propsForMerge) {\n idsToImport.push(compStatus.id.changeVersion(compStatus.propsForMerge.currentlyUsedVersion));\n }\n return idsToImport;\n })\n .flat();\n await this.workspace.scope.legacyScope.scopeImporter.importManyIfMissingWithoutDeps({\n ids: BitIds.fromArray(toImport),\n });\n\n const getComponentsStatusOfMergeNeeded = async (): Promise<ComponentStatus[]> => {\n const tmp = new Tmp(consumer.scope);\n try {\n const afterMergeAttempt = await Promise.all(compsNeedMerge.map((c) => this.getMergeStatus(c)));\n await tmp.clear();\n return afterMergeAttempt;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n };\n\n const compStatusMergeNeeded = await getComponentsStatusOfMergeNeeded();\n\n const allComponentsStatus: ComponentStatus[] = [...compStatusMergeNeeded, ...compsNotNeedMerge];\n const componentWithConflict = allComponentsStatus.find(\n (component) => component.mergeResults && component.mergeResults.hasConflicts\n );\n if (componentWithConflict) {\n if (!promptMergeOptions && !checkoutProps.mergeStrategy) {\n throw new GeneralError(\n `automatic merge has failed for component ${componentWithConflict.id.toStringWithoutVersion()}.\\nplease use \"--manual\" to manually merge changes or use \"--theirs / --ours\" to choose one of the conflicted versions`\n );\n }\n if (!checkoutProps.mergeStrategy) checkoutProps.mergeStrategy = await getMergeStrategyInteractive();\n }\n const failedComponents: FailedComponents[] = allComponentsStatus\n .filter((componentStatus) => componentStatus.failureMessage)\n .filter((componentStatus) => !componentStatus.shouldBeRemoved)\n .map((componentStatus) => ({\n id: componentStatus.id,\n failureMessage: componentStatus.failureMessage as string,\n unchangedLegitimately: componentStatus.unchangedLegitimately,\n }));\n\n const succeededComponents = allComponentsStatus.filter((componentStatus) => !componentStatus.failureMessage);\n // do not use Promise.all for applyVersion. otherwise, it'll write all components in parallel,\n // which can be an issue when some components are also dependencies of others\n const checkoutPropsLegacy = { ...checkoutProps, ids: checkoutProps.ids?.map((id) => id._legacy) };\n const componentsResults = await mapSeries(succeededComponents, ({ id, currentComponent, mergeResults }) => {\n return applyVersion(consumer, id, currentComponent, mergeResults, checkoutPropsLegacy);\n });\n\n markFilesToBeRemovedIfNeeded(succeededComponents, componentsResults);\n\n const componentsLegacy = compact(componentsResults.map((c) => c.component));\n\n let newFromLane: ComponentID[] | undefined;\n let newFromLaneAdded = false;\n if (checkoutProps.head) {\n newFromLane = await this.getNewComponentsFromLane(checkoutProps.ids || []);\n if (!checkoutProps.workspaceOnly) {\n const compsNewFromLane = await Promise.all(\n newFromLane.map((id) => consumer.loadComponentFromModelImportIfNeeded(id._legacy))\n );\n componentsLegacy.push(...compsNewFromLane);\n newFromLaneAdded = true;\n }\n }\n\n const leftUnresolvedConflicts = componentWithConflict && checkoutProps.mergeStrategy === 'manual';\n let componentWriterResults;\n if (componentsLegacy.length) {\n const manyComponentsWriterOpts = {\n components: componentsLegacy,\n skipDependencyInstallation: checkoutProps.skipNpmInstall || leftUnresolvedConflicts,\n verbose: checkoutProps.verbose,\n resetConfig: checkoutProps.reset,\n skipUpdatingBitMap: checkoutProps.skipUpdatingBitmap,\n };\n componentWriterResults = await this.componentWriter.writeMany(manyComponentsWriterOpts);\n await deleteFilesIfNeeded(componentsResults, this.workspace);\n }\n\n const appliedVersionComponents = componentsResults.map((c) => c.applyVersionResult);\n\n const componentIdsToRemove = allComponentsStatus\n .filter((componentStatus) => componentStatus.shouldBeRemoved)\n .map((c) => c.id.changeVersion(undefined));\n\n if (componentIdsToRemove.length) {\n await this.remove.removeLocallyByIds(componentIdsToRemove, { force: true });\n }\n\n return {\n components: appliedVersionComponents,\n removedComponents: componentIdsToRemove,\n addedComponents,\n version,\n failedComponents,\n leftUnresolvedConflicts,\n newFromLane: newFromLane?.map((n) => n.toString()),\n newFromLaneAdded,\n installationError: componentWriterResults?.installationError,\n compilationError: componentWriterResults?.compilationError,\n };\n }\n\n /**\n * if .bitmap entry exists but the rootDir is missing from the filesystem, find the component in the scope and restore it.\n * returns the restored component ids.\n */\n async restoreMissingComponents(checkoutProps: CheckoutProps): Promise<ComponentID[] | undefined> {\n if (!checkoutProps.restoreMissingComponents) return undefined;\n const ids = checkoutProps.ids || [];\n const missing: ComponentID[] = [];\n await Promise.all(\n ids.map(async (id) => {\n const bitMapEntry = this.workspace.bitMap.getBitmapEntry(id, { ignoreVersion: true });\n if (bitMapEntry.noFilesError && bitMapEntry.noFilesError instanceof ComponentNotFoundInPath) {\n delete bitMapEntry.noFilesError;\n missing.push(id);\n }\n })\n );\n if (!missing.length) return undefined;\n const comps = await this.workspace.scope.getMany(missing);\n await this.componentWriter.writeMany({\n components: comps.map((c) => c.state._consumer),\n skipDependencyInstallation: true,\n skipUpdatingBitMap: true,\n });\n\n return missing;\n }\n\n async checkoutByCLIValues(componentPattern: string, checkoutProps: CheckoutProps): Promise<ApplyVersionResults> {\n const { revert, head } = checkoutProps;\n this.logger.setStatusLine(revert ? 'reverting components...' : BEFORE_CHECKOUT);\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n await this.importer.importCurrentObjects(); // important. among others, it fetches the remote lane object and its new components.\n if (head) await this.makeLaneComponentsAvailableOnMain();\n await this.parseValues(componentPattern, checkoutProps);\n const checkoutResults = await this.checkout(checkoutProps);\n await consumer.onDestroy();\n return checkoutResults;\n }\n\n private async syncNewComponents({ ids, head }: CheckoutProps) {\n if (!head) return;\n const notExported = ids?.filter((id) => !id._legacy.hasScope()).map((id) => id._legacy.changeScope(id.scope));\n const scopeComponentsImporter = this.workspace.consumer.scope.scopeImporter;\n try {\n await scopeComponentsImporter.importWithoutDeps(BitIds.fromArray(notExported || []).toVersionLatest(), {\n cache: false,\n });\n } catch (err) {\n // don't stop the process. it's possible that the scope doesn't exist yet because these are new components\n this.logger.error(`unable to sync new components, if these components are really new, ignore the error`, err);\n }\n }\n\n private async makeLaneComponentsAvailableOnMain() {\n const unavailableOnMain = await this.workspace.getUnavailableOnMainComponents();\n if (!unavailableOnMain.length) return;\n this.workspace.bitMap.makeComponentsAvailableOnMain(unavailableOnMain);\n }\n\n private async parseValues(componentPattern: string, checkoutProps: CheckoutProps) {\n if (checkoutProps.head && !componentPattern) {\n if (checkoutProps.all) {\n this.logger.console(`\"--all\" is deprecated for \"bit checkout ${HEAD}\", please omit it.`);\n }\n checkoutProps.all = true;\n }\n if (checkoutProps.latest && !componentPattern) {\n if (checkoutProps.all) {\n this.logger.console(`\"--all\" is deprecated for \"bit checkout ${LATEST}\", please omit it.`);\n }\n checkoutProps.all = true;\n }\n if (componentPattern && checkoutProps.all) {\n throw new GeneralError('please specify either [component-pattern] or --all, not both');\n }\n if (!componentPattern && !checkoutProps.all) {\n throw new GeneralError('please specify [component-pattern] or use --all flag');\n }\n if (checkoutProps.workspaceOnly && !checkoutProps.head) {\n throw new BitError(`--workspace-only flag can only be used with \"head\" (bit checkout head --workspace-only)`);\n }\n if (checkoutProps.revert) {\n checkoutProps.skipUpdatingBitmap = true;\n }\n const idsOnWorkspace = componentPattern\n ? await this.workspace.idsByPattern(componentPattern)\n : await this.workspace.listIds();\n const currentLane = await this.workspace.consumer.getCurrentLaneObject();\n const currentLaneIds = currentLane?.toBitIds();\n const ids = currentLaneIds\n ? idsOnWorkspace.filter((id) => currentLaneIds.hasWithoutVersion(id._legacy))\n : idsOnWorkspace;\n checkoutProps.ids = ids.map((id) => (checkoutProps.head || checkoutProps.latest ? id.changeVersion(LATEST) : id));\n }\n\n private async getNewComponentsFromLane(ids: ComponentID[]): Promise<ComponentID[]> {\n // current lane object is up to date due to the previous `importCurrentObjects()` call\n const lane = await this.workspace.consumer.getCurrentLaneObject();\n if (!lane) {\n return [];\n }\n const laneBitIds = lane.toBitIds();\n const newIds = laneBitIds.filter((bitId) => !ids.find((id) => id._legacy.isEqualWithoutVersion(bitId)));\n const newComponentIds = await this.workspace.resolveMultipleComponentIds(newIds);\n const nonRemovedNewIds: ComponentID[] = [];\n await Promise.all(\n newComponentIds.map(async (id) => {\n const isRemoved = await this.workspace.scope.isComponentRemoved(id);\n if (!isRemoved) nonRemovedNewIds.push(id);\n })\n );\n return nonRemovedNewIds;\n }\n\n // eslint-disable-next-line complexity\n private async getComponentStatusBeforeMergeAttempt(\n id: BitId,\n checkoutProps: CheckoutProps\n ): Promise<ComponentStatusBeforeMergeAttempt> {\n const consumer = this.workspace.consumer;\n const { version, head: headVersion, reset, revert, main, latest: latestVersion, versionPerId } = checkoutProps;\n const repo = consumer.scope.objects;\n\n let existingBitMapId = consumer.bitMap.getBitIdIfExist(id, { ignoreVersion: true });\n const getComponent = async () => {\n try {\n return await consumer.loadComponent(id);\n } catch (err) {\n if (checkoutProps.allowAddingComponentsFromScope && !existingBitMapId) return undefined;\n throw err;\n }\n };\n const component = await getComponent();\n if (component) {\n // the component might fix an out-of-sync issue and as a result, the id has changed\n id = component.id;\n existingBitMapId = consumer.bitMap.getBitIdIfExist(id, { ignoreVersion: true });\n }\n\n const componentModel = await consumer.scope.getModelComponentIfExist(id);\n const componentStatus: ComponentStatusBeforeMergeAttempt = { id };\n const returnFailure = (msg: string, unchangedLegitimately = false) => {\n componentStatus.failureMessage = msg;\n componentStatus.unchangedLegitimately = unchangedLegitimately;\n return componentStatus;\n };\n if (!componentModel) {\n return returnFailure(`component ${id.toString()} is new, no version to checkout`, true);\n }\n if (main && !componentModel.head) {\n return returnFailure(`component ${id.toString()} is not available on main`);\n }\n const unmerged = repo.unmergedComponents.getEntry(id.name);\n if (!reset && unmerged) {\n return returnFailure(\n `component ${id.toStringWithoutVersion()} is in during-merge state, please snap/tag it first (or use bit merge --resolve/--abort)`\n );\n }\n\n const getNewVersion = async (): Promise<string> => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (reset) return component!.id.version as string;\n if (headVersion) return componentModel.headIncludeRemote(repo);\n // we verified previously that head exists in case of \"main\"\n if (main) return componentModel.head?.toString() as string;\n if (latestVersion) {\n const latest = componentModel.latestVersionIfExist();\n return latest || componentModel.headIncludeRemote(repo);\n }\n if (versionPerId) {\n return versionPerId.find((bitId) => bitId._legacy.isEqualWithoutVersion(id))?.version as string;\n }\n\n // if all above are false, the version is defined\n return version as string;\n };\n const newVersion = await getNewVersion();\n if (version && !headVersion) {\n const hasVersion = await componentModel.hasVersion(version, repo);\n if (!hasVersion) return returnFailure(`component ${id.toStringWithoutVersion()} doesn't have version ${version}`);\n }\n const currentlyUsedVersion = existingBitMapId?.version;\n if (existingBitMapId && !currentlyUsedVersion) {\n return returnFailure(`component ${id.toStringWithoutVersion()} is new`);\n }\n if (version && currentlyUsedVersion === version) {\n // it won't be relevant for 'reset' as it doesn't have a version\n return returnFailure(`component ${id.toStringWithoutVersion()} is already at version ${version}`, true);\n }\n if (headVersion && currentlyUsedVersion === newVersion) {\n return returnFailure(\n `component ${id.toStringWithoutVersion()} is already at the latest version, which is ${newVersion}`,\n true\n );\n }\n if (!reset) {\n const divergeDataForMergePending = await componentModel.getDivergeDataForMergePending(repo);\n const isMergePending = divergeDataForMergePending.isDiverged();\n if (isMergePending) {\n return returnFailure(`component is merge-pending and cannot be checked out, run \"bit status\" for more info`);\n }\n }\n let isModified = false;\n if (currentlyUsedVersion) {\n const currentVersionObject: Version = await componentModel.loadVersion(currentlyUsedVersion, repo);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n isModified = await consumer.isComponentModified(currentVersionObject, component!);\n if (!isModified && reset) {\n return returnFailure(`component ${id.toStringWithoutVersion()} is not modified`, true);\n }\n }\n\n const versionRef = componentModel.getRef(newVersion);\n if (!versionRef) throw new Error(`unable to get ref ${newVersion} from ${componentModel.id()}`);\n const componentVersion = (await consumer.scope.getObject(versionRef.hash)) as Version | undefined;\n if (componentVersion?.isRemoved()) {\n if (existingBitMapId) componentStatus.shouldBeRemoved = true;\n return returnFailure(`component has been removed`, true);\n }\n\n const newId = id.changeVersion(newVersion);\n\n if (reset || !isModified || revert || !currentlyUsedVersion) {\n // if the component is not modified, no need to try merge the files, they will be written later on according to the\n // checked out version. same thing when no version is specified, it'll be reset to the model-version later.\n\n // if !currentlyUsedVersion it only exists in the model, so just write it. (happening during bit-switch/bit-lane-import)\n return { currentComponent: component, componentFromModel: componentVersion, id: newId };\n }\n\n const propsForMerge = {\n currentlyUsedVersion,\n componentModel,\n };\n\n return { currentComponent: component, componentFromModel: componentVersion, id: newId, propsForMerge };\n }\n\n private async getMergeStatus({\n currentComponent: componentFromFS,\n componentFromModel,\n id,\n propsForMerge,\n }: ComponentStatusBeforeMergeAttempt): Promise<ComponentStatus> {\n if (!propsForMerge) throw new Error(`propsForMerge is missing for ${id.toString()}`);\n if (!componentFromFS) throw new Error(`componentFromFS is missing for ${id.toString()}`);\n const consumer = this.workspace.consumer;\n const repo = consumer.scope.objects;\n const { currentlyUsedVersion, componentModel } = propsForMerge;\n\n // this is tricky. imagine the user is 0.0.2+modification and wants to checkout to 0.0.1.\n // the base is 0.0.1, as it's the common version for 0.0.1 and 0.0.2. however, if we let git merge-file use the 0.0.1\n // as the base, then, it'll get the changes done since 0.0.1 to 0.0.1, which is nothing, and put them on top of\n // 0.0.2+modification. in other words, it won't make any change.\n // this scenario of checking out while there are modified files, is forbidden in Git. here, we want to simulate a similar\n // experience of \"git stash\", then \"git checkout\", then \"git stash pop\". practically, we want the changes done on 0.0.2\n // to be added to 0.0.1\n // if there is no modification, it doesn't go the threeWayMerge anyway, so it doesn't matter what the base is.\n const baseVersion = currentlyUsedVersion;\n const newVersion = id.version as string;\n const baseComponent: Version = await componentModel.loadVersion(baseVersion, repo);\n const otherComponent: Version = await componentModel.loadVersion(newVersion, repo);\n const mergeResults = await threeWayMerge({\n consumer,\n otherComponent,\n otherLabel: newVersion,\n currentComponent: componentFromFS,\n currentLabel: `${currentlyUsedVersion} modified`,\n baseComponent,\n });\n\n return { currentComponent: componentFromFS, componentFromModel, id, mergeResults };\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, LoggerAspect, ComponentWriterAspect, ImporterAspect, RemoveAspect];\n\n static runtime = MainRuntime;\n\n static async provider([cli, workspace, loggerMain, compWriter, importer, remove]: [\n CLIMain,\n Workspace,\n LoggerMain,\n ComponentWriterMain,\n ImporterMain,\n RemoveMain\n ]) {\n const logger = loggerMain.createLogger(CheckoutAspect.id);\n const checkoutMain = new CheckoutMain(workspace, logger, compWriter, importer, remove);\n cli.register(new CheckoutCmd(checkoutMain), new RevertCmd(checkoutMain));\n return checkoutMain;\n }\n}\n\nCheckoutAspect.addRuntime(CheckoutMain);\n\nexport default CheckoutMain;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/checkout",
3
- "version": "0.0.294",
3
+ "version": "0.0.295",
4
4
  "homepage": "https://bit.cloud/teambit/component/checkout",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "checkout",
9
- "version": "0.0.294"
9
+ "version": "0.0.295"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -18,13 +18,13 @@
18
18
  "@teambit/harmony": "0.4.6",
19
19
  "@teambit/component-id": "0.0.427",
20
20
  "@teambit/bit-error": "0.0.402",
21
- "@teambit/cli": "0.0.752",
22
- "@teambit/merging": "0.0.440",
23
- "@teambit/workspace": "0.0.1125",
24
- "@teambit/component-writer": "0.0.161",
25
- "@teambit/importer": "0.0.554",
26
- "@teambit/logger": "0.0.845",
27
- "@teambit/remove": "0.0.302"
21
+ "@teambit/cli": "0.0.753",
22
+ "@teambit/merging": "0.0.441",
23
+ "@teambit/workspace": "0.0.1126",
24
+ "@teambit/component-writer": "0.0.162",
25
+ "@teambit/importer": "0.0.555",
26
+ "@teambit/logger": "0.0.846",
27
+ "@teambit/remove": "0.0.303"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/lodash": "4.14.165",
@@ -36,7 +36,7 @@
36
36
  "@types/testing-library__jest-dom": "5.9.5"
37
37
  },
38
38
  "peerDependencies": {
39
- "@teambit/legacy": "1.0.532",
39
+ "@teambit/legacy": "1.0.535",
40
40
  "react": "^16.8.0 || ^17.0.0",
41
41
  "react-dom": "^16.8.0 || ^17.0.0"
42
42
  },