@teambit/checkout 1.0.424 → 1.0.426

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.
@@ -1,8 +1,8 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="3" failures="0" errors="0" skipped="0">
3
- <testsuite name="teambit.component/checkout@1.0.424" tests="3" failures="0" errors="0" skipped="0">
3
+ <testsuite name="teambit.component/checkout@1.0.426" tests="3" failures="0" errors="0" skipped="0">
4
4
  <testcase classname="dist/checkout.spec.js" name="should bring the files back"/>
5
- <testcase classname="dist/checkout.spec.js" name="the workspace should get the component as a valid component" time="0.071"/>
5
+ <testcase classname="dist/checkout.spec.js" name="the workspace should get the component as a valid component" time="0.052"/>
6
6
  <testcase classname="dist/checkout.spec.js" name="should checkout according to the number of generations specified" time="0.002"/>
7
7
  </testsuite>
8
8
  </testsuites>
@@ -1245,7 +1245,7 @@
1245
1245
  "componentId": {
1246
1246
  "scope": "teambit.component",
1247
1247
  "name": "sources",
1248
- "version": "0.0.33"
1248
+ "version": "0.0.34"
1249
1249
  }
1250
1250
  }
1251
1251
  },
@@ -1404,7 +1404,7 @@
1404
1404
  "componentId": {
1405
1405
  "scope": "teambit.component",
1406
1406
  "name": "sources",
1407
- "version": "0.0.33"
1407
+ "version": "0.0.34"
1408
1408
  }
1409
1409
  }
1410
1410
  },
@@ -1798,7 +1798,7 @@
1798
1798
  "componentId": {
1799
1799
  "scope": "teambit.component",
1800
1800
  "name": "sources",
1801
- "version": "0.0.33"
1801
+ "version": "0.0.34"
1802
1802
  }
1803
1803
  }
1804
1804
  },
@@ -4245,7 +4245,7 @@
4245
4245
  "componentId": {
4246
4246
  "scope": "teambit.component",
4247
4247
  "name": "sources",
4248
- "version": "0.0.33"
4248
+ "version": "0.0.34"
4249
4249
  }
4250
4250
  }
4251
4251
  },
@@ -4460,7 +4460,7 @@
4460
4460
  "componentId": {
4461
4461
  "scope": "teambit.component",
4462
4462
  "name": "sources",
4463
- "version": "0.0.33"
4463
+ "version": "0.0.34"
4464
4464
  }
4465
4465
  }
4466
4466
  },
@@ -4619,7 +4619,7 @@
4619
4619
  "componentId": {
4620
4620
  "scope": "teambit.component",
4621
4621
  "name": "sources",
4622
- "version": "0.0.33"
4622
+ "version": "0.0.34"
4623
4623
  }
4624
4624
  }
4625
4625
  },
@@ -5457,7 +5457,7 @@
5457
5457
  "_legacy": {
5458
5458
  "scope": "teambit.component",
5459
5459
  "name": "checkout",
5460
- "version": "1.0.424"
5460
+ "version": "1.0.426"
5461
5461
  },
5462
5462
  "_scope": "teambit.component"
5463
5463
  }
@@ -5560,7 +5560,7 @@
5560
5560
  "componentId": {
5561
5561
  "scope": "teambit.component",
5562
5562
  "name": "checkout",
5563
- "version": "1.0.424"
5563
+ "version": "1.0.426"
5564
5564
  },
5565
5565
  "taggedModuleExports": []
5566
5566
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_logger","_workspace","_bitError","_lodash","_loaderMessages","_remove","_merging","_importer","_constants","_componentWriter","_pMapSeries","_interopRequireDefault","_componentId","_repositories","_componentNotFoundInPath","_checkoutCmd","_checkout","_checkoutVersion","_revertCmd","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","CheckoutMain","constructor","workspace","logger","componentWriter","importer","remove","checkout","checkoutProps","inInstallContext","consumer","version","ids","promptMergeOptions","syncNewComponents","addedComponents","restoreMissingComponents","bitIds","ComponentIdList","fromArray","map","id","allComponentStatusBeforeMerge","mapSeries","getComponentStatusBeforeMergeAttempt","compsNeedMerge","c","propsForMerge","compsNotNeedMerge","toImport","compStatus","idsToImport","changeVersion","currentlyUsedVersion","flat","scope","legacyScope","scopeImporter","importWithoutDeps","cache","lane","getComponentsStatusOfMergeNeeded","tmp","Tmp","afterMergeAttempt","Promise","all","getMergeStatus","clear","err","compStatusMergeNeeded","allComponentsStatus","componentWithConflict","find","component","mergeResults","hasConflicts","mergeStrategy","BitError","toStringWithoutVersion","getMergeStrategyInteractive","throwForFailures","failedComponents","componentStatus","unchangedMessage","shouldBeRemoved","unchangedLegitimately","succeededComponents","checkoutPropsLegacy","componentsResults","currentComponent","applyVersion","componentsLegacy","compact","newFromLane","newFromLaneAdded","head","getNewComponentsFromLane","workspaceOnly","compsNewFromLane","loadComponentFromModelImportIfNeeded","leftUnresolvedConflicts","componentWriterResults","manyComponentsWriterOpts","components","skipDependencyInstallation","skipNpmInstall","verbose","resetConfig","reset","skipUpdatingBitMap","skipUpdatingBitmap","revert","shouldUpdateWorkspaceConfig","reasonForBitmapChange","writeMany","appliedVersionComponents","applyVersionResult","componentIdsToRemove","undefined","removeLocallyByIds","force","reasonForRemoval","removedComponents","n","toString","workspaceConfigUpdateResult","installationError","compilationError","missing","bitMapEntry","bitMap","getBitmapEntry","ignoreVersion","noFilesError","ComponentNotFoundInPath","comps","getMany","state","_consumer","checkoutByCLIValues","componentPattern","setStatusLine","BEFORE_CHECKOUT","OutsideWorkspaceError","importCurrentObjects","makeLaneComponentsAvailableOnMain","parseValues","checkoutResults","onDestroy","notExported","isExported","changeScope","scopeComponentsImporter","toVersionLatest","reason","includeUnexported","error","unavailableOnMain","getUnavailableOnMainComponents","makeComponentsAvailableOnMain","console","HEAD","latest","LATEST","includeLocallyDeleted","getIds","idsByPattern","includeDeleted","listIdsIncludeRemoved","listIds","idsOnWorkspace","currentLane","getCurrentLaneObject","currentLaneIds","toComponentIds","hasWithoutVersion","laneBitIds","newComponentIds","bitId","isEqualWithoutVersion","nonRemovedNewIds","isRemoved","isComponentRemoved","headVersion","ancestor","main","latestVersion","versionPerId","forceOurs","forceTheirs","loadStash","repo","objects","existingBitMapId","getComponentIdIfExist","getComponent","results","loadComponents","allowAddingComponentsFromScope","componentModel","getModelComponentIfExist","returnFailure","msg","unmerged","unmergedComponents","getEntry","getNewVersion","headIncludeRemote","previousParent","getRefOfAncestor","getTagOfRefIfExists","latestVersionIfExist","newVersion","hasVersion","divergeDataForMergePending","getDivergeDataForMergePending","isMergePending","isDiverged","isModified","currentVersionObject","loadVersion","isComponentModified","versionRef","getRef","Error","componentVersion","getObject","hash","newId","componentFromModel","componentFromFS","baseVersion","baseComponent","otherComponent","parents","parent","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 {\n ApplyVersionResults,\n FailedComponents,\n threeWayMerge,\n getMergeStrategyInteractive,\n MergeStrategy,\n} 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 mapSeries from 'p-map-series';\nimport { ComponentIdList, ComponentID } from '@teambit/component-id';\nimport { Version, ModelComponent, Lane } from '@teambit/legacy/dist/scope/models';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\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 { applyVersion, ComponentStatus, ComponentStatusBase, throwForFailures } 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 ancestor?: number; // how many generations to go backward\n latest?: boolean;\n main?: boolean; // relevant for \"revert\" only\n promptMergeOptions?: boolean;\n mergeStrategy?: MergeStrategy; // strategy to use in case of conflicts\n forceOurs?: boolean; // regardless of conflicts, use ours\n forceTheirs?: boolean; // regardless of conflicts, use theirs\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 lane?: Lane; // currently needed for \"bit switch\" to tell the \"fetch\" where to fetch from\n workspaceOnly?: boolean;\n versionPerId?: ComponentID[]; // if given, the ComponentID.version is the version to checkout to.\n skipUpdatingBitmap?: boolean; // needed for stash\n loadStash?: boolean;\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 includeLocallyDeleted?: boolean; // include components that were deleted locally. currently enabled for \"bit checkout reset\" only.\n};\n\nexport type ComponentStatusBeforeMergeAttempt = ComponentStatusBase & {\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 this.workspace.inInstallContext = true;\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 = ComponentIdList.fromArray(ids?.map((id) => id) || []);\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\n await this.workspace.scope.legacyScope.scopeImporter.importWithoutDeps(ComponentIdList.fromArray(toImport), {\n cache: true,\n lane: checkoutProps.lane,\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, checkoutProps)));\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 BitError(\n `automatic merge has failed for component ${componentWithConflict.id.toStringWithoutVersion()}.\\nplease use \"--auto-merge-resolve\" with 'manual', 'ours' or 'theirs' to resolve the conflict/s`\n );\n }\n if (!checkoutProps.mergeStrategy) checkoutProps.mergeStrategy = await getMergeStrategyInteractive();\n }\n\n throwForFailures(allComponentsStatus);\n\n const failedComponents: FailedComponents[] = allComponentsStatus\n .filter((componentStatus) => componentStatus.unchangedMessage)\n .filter((componentStatus) => !componentStatus.shouldBeRemoved)\n .map((componentStatus) => ({\n id: componentStatus.id,\n unchangedMessage: componentStatus.unchangedMessage as string,\n unchangedLegitimately: componentStatus.unchangedLegitimately,\n }));\n\n const succeededComponents = allComponentsStatus.filter((componentStatus) => !componentStatus.unchangedMessage);\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) };\n const componentsResults = await mapSeries(succeededComponents, ({ id, currentComponent, mergeResults }) => {\n return applyVersion(consumer, id, currentComponent, mergeResults, checkoutPropsLegacy);\n });\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))\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 || checkoutProps.revert,\n shouldUpdateWorkspaceConfig: true,\n reasonForBitmapChange: 'checkout',\n mergeStrategy: checkoutProps.mergeStrategy,\n };\n componentWriterResults = await this.componentWriter.writeMany(manyComponentsWriterOpts);\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, reasonForRemoval: 'checkout' });\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 workspaceConfigUpdateResult: componentWriterResults?.workspaceConfigUpdateResult,\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.reset) {\n checkoutProps.restoreMissingComponents = true;\n }\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(`checkout (${componentPattern})`);\n return checkoutResults;\n }\n\n private async syncNewComponents({ ids, head }: CheckoutProps) {\n if (!head) return;\n const notExported = ids?.filter((id) => !this.workspace.isExported(id)).map((id) => id.changeScope(id.scope));\n const scopeComponentsImporter = this.workspace.consumer.scope.scopeImporter;\n try {\n await scopeComponentsImporter.importWithoutDeps(ComponentIdList.fromArray(notExported || []).toVersionLatest(), {\n cache: false,\n reason: 'for making sure the new components are really new and are not out-of-sync',\n includeUnexported: true,\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 BitError('please specify either [component-pattern] or --all, not both');\n }\n if (!componentPattern && !checkoutProps.all) {\n throw new BitError('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.reset || checkoutProps.head) {\n checkoutProps.includeLocallyDeleted = true;\n }\n\n const getIds = async () => {\n if (componentPattern) {\n return this.workspace.idsByPattern(componentPattern, true, {\n includeDeleted: checkoutProps.includeLocallyDeleted,\n });\n }\n return checkoutProps.includeLocallyDeleted ? this.workspace.listIdsIncludeRemoved() : this.workspace.listIds();\n };\n\n const idsOnWorkspace = await getIds();\n\n const currentLane = await this.workspace.consumer.getCurrentLaneObject();\n const currentLaneIds = currentLane?.toComponentIds();\n const ids = currentLaneIds ? idsOnWorkspace.filter((id) => currentLaneIds.hasWithoutVersion(id)) : 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.toComponentIds();\n const newComponentIds = laneBitIds.filter((bitId) => !ids.find((id) => id.isEqualWithoutVersion(bitId)));\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: ComponentID,\n checkoutProps: CheckoutProps\n ): Promise<ComponentStatusBeforeMergeAttempt> {\n const consumer = this.workspace.consumer;\n const {\n version,\n head: headVersion,\n ancestor,\n reset,\n revert,\n main,\n latest: latestVersion,\n versionPerId,\n forceOurs,\n forceTheirs,\n loadStash,\n } = checkoutProps;\n const repo = consumer.scope.objects;\n\n let existingBitMapId = consumer.bitMap.getComponentIdIfExist(id, { ignoreVersion: true });\n const getComponent = async () => {\n try {\n const results = await consumer.loadComponents(ComponentIdList.fromArray([id]));\n if (results.components[0]) return results.components[0];\n if (checkoutProps.includeLocallyDeleted && results.removedComponents[0]) {\n return results.removedComponents[0];\n }\n } catch (err) {\n if (checkoutProps.allowAddingComponentsFromScope && !existingBitMapId) return undefined;\n throw err;\n }\n return undefined;\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.getComponentIdIfExist(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.unchangedMessage = 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);\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 if (ancestor) {\n const previousParent = await componentModel.getRefOfAncestor(repo, ancestor);\n return componentModel.getTagOfRefIfExists(previousParent)?.toString() || previousParent.toString();\n }\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.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 const isRemoved = component && component.isRemoved();\n if (!isModified && !isRemoved && 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 && !loadStash) || revert || !currentlyUsedVersion || forceTheirs || forceOurs) {\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 // in case of \"loadStash\", we want to merge the stashed modifications regardless whether it's modified currently.\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, componentFromModel, id, propsForMerge }: ComponentStatusBeforeMergeAttempt,\n checkoutProps: CheckoutProps\n ): 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 let baseVersion = currentlyUsedVersion;\n const newVersion = id.version as string;\n let baseComponent: Version = await componentModel.loadVersion(baseVersion, repo);\n const otherComponent: Version = await componentModel.loadVersion(newVersion, repo);\n const { loadStash } = checkoutProps;\n if (loadStash && otherComponent.parents.length) {\n // for stash, we want the stashed modifications to be added on top of the current version.\n // for this to happen, the \"base\" must be the parent of the stashed version.\n const parent = otherComponent.parents[0];\n baseVersion = parent.toString();\n baseComponent = await componentModel.loadVersion(baseVersion, repo);\n }\n\n const mergeResults = await threeWayMerge({\n scope: consumer.scope,\n otherComponent,\n otherLabel: loadStash ? 'stash' : 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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","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_logger","_workspace","_bitError","_lodash","_loaderMessages","_remove","_merging","_importer","_constants","_componentWriter","_pMapSeries","_interopRequireDefault","_componentId","_repositories","_componentNotFoundInPath","_checkoutCmd","_checkout","_checkoutVersion","_revertCmd","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","CheckoutMain","constructor","workspace","logger","componentWriter","importer","remove","checkout","checkoutProps","inInstallContext","consumer","version","ids","promptMergeOptions","syncNewComponents","addedComponents","restoreMissingComponents","bitIds","ComponentIdList","fromArray","map","id","allComponentStatusBeforeMerge","mapSeries","getComponentStatusBeforeMergeAttempt","compsNeedMerge","c","propsForMerge","compsNotNeedMerge","toImport","compStatus","idsToImport","changeVersion","currentlyUsedVersion","flat","scope","legacyScope","scopeImporter","importWithoutDeps","cache","lane","getComponentsStatusOfMergeNeeded","tmp","Tmp","afterMergeAttempt","Promise","all","getMergeStatus","clear","err","compStatusMergeNeeded","allComponentsStatus","componentWithConflict","find","component","mergeResults","hasConflicts","mergeStrategy","BitError","toStringWithoutVersion","getMergeStrategyInteractive","throwForFailures","failedComponents","componentStatus","unchangedMessage","shouldBeRemoved","unchangedLegitimately","succeededComponents","checkoutPropsLegacy","componentsResults","currentComponent","applyVersion","componentsLegacy","compact","newFromLane","newFromLaneAdded","head","getNewComponentsFromLane","workspaceOnly","compsNewFromLane","loadComponentFromModelImportIfNeeded","leftUnresolvedConflicts","componentWriterResults","manyComponentsWriterOpts","components","skipDependencyInstallation","skipNpmInstall","verbose","resetConfig","reset","skipUpdatingBitMap","skipUpdatingBitmap","revert","shouldUpdateWorkspaceConfig","reasonForBitmapChange","writeMany","appliedVersionComponents","applyVersionResult","componentIdsToRemove","undefined","removeLocallyByIds","force","reasonForRemoval","removedComponents","n","toString","workspaceConfigUpdateResult","installationError","compilationError","missing","bitMapEntry","bitMap","getBitmapEntry","ignoreVersion","noFilesError","ComponentNotFoundInPath","comps","getMany","state","_consumer","checkoutByCLIValues","componentPattern","setStatusLine","BEFORE_CHECKOUT","OutsideWorkspaceError","importCurrentObjects","makeLaneComponentsAvailableOnMain","parseValues","checkoutResults","onDestroy","notExported","isExported","changeScope","scopeComponentsImporter","toVersionLatest","reason","includeUnexported","error","unavailableOnMain","getUnavailableOnMainComponents","makeComponentsAvailableOnMain","console","HEAD","latest","LATEST","includeLocallyDeleted","getIds","idsByPattern","includeDeleted","listIdsIncludeRemoved","listIds","idsOnWorkspace","currentLane","getCurrentLaneObject","currentLaneIds","toComponentIds","hasWithoutVersion","laneBitIds","newComponentIds","bitId","isEqualWithoutVersion","nonRemovedNewIds","isRemoved","isComponentRemoved","headVersion","ancestor","main","latestVersion","versionPerId","forceOurs","forceTheirs","loadStash","repo","objects","existingBitMapId","getComponentIdIfExist","getComponent","results","loadComponents","allowAddingComponentsFromScope","componentModel","getModelComponentIfExist","returnFailure","msg","unmerged","unmergedComponents","getEntry","getNewVersion","headIncludeRemote","previousParent","getRefOfAncestor","getTagOfRefIfExists","latestVersionIfExist","newVersion","hasVersion","divergeDataForMergePending","getDivergeDataForMergePending","isMergePending","isDiverged","isModified","currentVersionObject","loadVersion","isComponentModified","versionRef","getRef","Error","componentVersion","getObject","hash","newId","componentFromModel","componentFromFS","baseVersion","baseComponent","otherComponent","parents","parent","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 {\n ApplyVersionResults,\n FailedComponents,\n threeWayMerge,\n getMergeStrategyInteractive,\n MergeStrategy,\n} 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 mapSeries from 'p-map-series';\nimport { ComponentIdList, ComponentID } from '@teambit/component-id';\nimport { Version, ModelComponent, Lane } from '@teambit/legacy/dist/scope/models';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\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 { applyVersion, ComponentStatus, ComponentStatusBase, throwForFailures } 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 ancestor?: number; // how many generations to go backward\n latest?: boolean;\n main?: boolean; // relevant for \"revert\" only\n promptMergeOptions?: boolean;\n mergeStrategy?: MergeStrategy; // strategy to use in case of conflicts\n forceOurs?: boolean; // regardless of conflicts, use ours\n forceTheirs?: boolean; // regardless of conflicts, use theirs\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 lane?: Lane; // currently needed for \"bit switch\" to tell the \"fetch\" where to fetch from\n workspaceOnly?: boolean;\n versionPerId?: ComponentID[]; // if given, the ComponentID.version is the version to checkout to.\n skipUpdatingBitmap?: boolean; // needed for stash\n loadStash?: boolean;\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 includeLocallyDeleted?: boolean; // include components that were deleted locally. currently enabled for \"bit checkout reset\" only.\n};\n\nexport type ComponentStatusBeforeMergeAttempt = ComponentStatusBase & {\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 this.workspace.inInstallContext = true;\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 = ComponentIdList.fromArray(ids?.map((id) => id) || []);\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\n await this.workspace.scope.legacyScope.scopeImporter.importWithoutDeps(ComponentIdList.fromArray(toImport), {\n cache: true,\n lane: checkoutProps.lane,\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, checkoutProps)));\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 BitError(\n `automatic merge has failed for component ${componentWithConflict.id.toStringWithoutVersion()}.\\nplease use \"--auto-merge-resolve\" with 'manual', 'ours' or 'theirs' to resolve the conflict/s`\n );\n }\n if (!checkoutProps.mergeStrategy) checkoutProps.mergeStrategy = await getMergeStrategyInteractive();\n }\n\n throwForFailures(allComponentsStatus);\n\n const failedComponents: FailedComponents[] = allComponentsStatus\n .filter((componentStatus) => componentStatus.unchangedMessage)\n .filter((componentStatus) => !componentStatus.shouldBeRemoved)\n .map((componentStatus) => ({\n id: componentStatus.id,\n unchangedMessage: componentStatus.unchangedMessage as string,\n unchangedLegitimately: componentStatus.unchangedLegitimately,\n }));\n\n const succeededComponents = allComponentsStatus.filter((componentStatus) => !componentStatus.unchangedMessage);\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) };\n const componentsResults = await mapSeries(succeededComponents, ({ id, currentComponent, mergeResults }) => {\n return applyVersion(consumer, id, currentComponent, mergeResults, checkoutPropsLegacy);\n });\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))\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 || checkoutProps.revert,\n shouldUpdateWorkspaceConfig: true,\n reasonForBitmapChange: 'checkout',\n mergeStrategy: checkoutProps.mergeStrategy,\n };\n componentWriterResults = await this.componentWriter.writeMany(manyComponentsWriterOpts);\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, reasonForRemoval: 'checkout' });\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 workspaceConfigUpdateResult: componentWriterResults?.workspaceConfigUpdateResult,\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.reset) {\n checkoutProps.restoreMissingComponents = true;\n }\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(`checkout (${componentPattern})`);\n return checkoutResults;\n }\n\n private async syncNewComponents({ ids, head }: CheckoutProps) {\n if (!head) return;\n const notExported = ids?.filter((id) => !this.workspace.isExported(id)).map((id) => id.changeScope(id.scope));\n const scopeComponentsImporter = this.workspace.consumer.scope.scopeImporter;\n try {\n await scopeComponentsImporter.importWithoutDeps(ComponentIdList.fromArray(notExported || []).toVersionLatest(), {\n cache: false,\n reason: 'for making sure the new components are really new and are not out-of-sync',\n includeUnexported: true,\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 BitError('please specify either [component-pattern] or --all, not both');\n }\n if (!componentPattern && !checkoutProps.all) {\n throw new BitError('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.reset || checkoutProps.head) {\n checkoutProps.includeLocallyDeleted = true;\n }\n\n const getIds = async () => {\n if (componentPattern) {\n return this.workspace.idsByPattern(componentPattern, true, {\n includeDeleted: checkoutProps.includeLocallyDeleted,\n });\n }\n return checkoutProps.includeLocallyDeleted ? this.workspace.listIdsIncludeRemoved() : this.workspace.listIds();\n };\n\n const idsOnWorkspace = await getIds();\n\n const currentLane = await this.workspace.consumer.getCurrentLaneObject();\n const currentLaneIds = currentLane?.toComponentIds();\n const ids = currentLaneIds ? idsOnWorkspace.filter((id) => currentLaneIds.hasWithoutVersion(id)) : 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.toComponentIds();\n const newComponentIds = laneBitIds.filter((bitId) => !ids.find((id) => id.isEqualWithoutVersion(bitId)));\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: ComponentID,\n checkoutProps: CheckoutProps\n ): Promise<ComponentStatusBeforeMergeAttempt> {\n const consumer = this.workspace.consumer;\n const {\n version,\n head: headVersion,\n ancestor,\n reset,\n revert,\n main,\n latest: latestVersion,\n versionPerId,\n forceOurs,\n forceTheirs,\n loadStash,\n } = checkoutProps;\n const repo = consumer.scope.objects;\n\n let existingBitMapId = consumer.bitMap.getComponentIdIfExist(id, { ignoreVersion: true });\n const getComponent = async () => {\n try {\n const results = await consumer.loadComponents(ComponentIdList.fromArray([id]));\n if (results.components[0]) return results.components[0];\n if (checkoutProps.includeLocallyDeleted && results.removedComponents[0]) {\n return results.removedComponents[0];\n }\n } catch (err) {\n if (checkoutProps.allowAddingComponentsFromScope && !existingBitMapId) return undefined;\n throw err;\n }\n return undefined;\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.getComponentIdIfExist(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.unchangedMessage = 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);\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 if (ancestor) {\n const previousParent = await componentModel.getRefOfAncestor(repo, ancestor);\n return componentModel.getTagOfRefIfExists(previousParent)?.toString() || previousParent.toString();\n }\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.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 const isRemoved = component && component.isRemoved();\n if (!isModified && !isRemoved && 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 && !loadStash) || revert || !currentlyUsedVersion || forceTheirs || forceOurs) {\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 // in case of \"loadStash\", we want to merge the stashed modifications regardless whether it's modified currently.\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, componentFromModel, id, propsForMerge }: ComponentStatusBeforeMergeAttempt,\n checkoutProps: CheckoutProps\n ): 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 let baseVersion = currentlyUsedVersion;\n const newVersion = id.version as string;\n let baseComponent: Version = await componentModel.loadVersion(baseVersion, repo);\n const otherComponent: Version = await componentModel.loadVersion(newVersion, repo);\n const { loadStash } = checkoutProps;\n if (loadStash && otherComponent.parents.length) {\n // for stash, we want the stashed modifications to be added on top of the current version.\n // for this to happen, the \"base\" must be the parent of the stashed version.\n const parent = otherComponent.parents[0];\n baseVersion = parent.toString();\n baseComponent = await componentModel.loadVersion(baseVersion, repo);\n }\n\n const mergeResults = await threeWayMerge({\n scope: consumer.scope,\n otherComponent,\n otherLabel: loadStash ? 'stash' : 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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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/checkout",
3
- "version": "1.0.424",
3
+ "version": "1.0.426",
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": "1.0.424"
9
+ "version": "1.0.426"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -15,15 +15,15 @@
15
15
  "@teambit/bit-error": "0.0.404",
16
16
  "@teambit/component-id": "1.2.2",
17
17
  "@teambit/harmony": "0.4.6",
18
- "@teambit/cli": "0.0.1001",
19
- "@teambit/merging": "1.0.424",
20
- "@teambit/component.sources": "0.0.33",
18
+ "@teambit/cli": "0.0.1003",
19
+ "@teambit/merging": "1.0.426",
20
+ "@teambit/component.sources": "0.0.34",
21
21
  "@teambit/legacy.utils": "0.0.6",
22
- "@teambit/component-writer": "1.0.424",
23
- "@teambit/importer": "1.0.424",
24
- "@teambit/logger": "0.0.1094",
25
- "@teambit/remove": "1.0.424",
26
- "@teambit/workspace": "1.0.424"
22
+ "@teambit/component-writer": "1.0.426",
23
+ "@teambit/importer": "1.0.426",
24
+ "@teambit/logger": "0.0.1096",
25
+ "@teambit/remove": "1.0.426",
26
+ "@teambit/workspace": "1.0.426"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/lodash": "4.14.165",
@@ -33,10 +33,10 @@
33
33
  "fs-extra": "10.0.0",
34
34
  "@types/mocha": "9.1.0",
35
35
  "@teambit/harmony.envs.core-aspect-env": "0.0.60",
36
- "@teambit/component.testing.mock-components": "0.0.239",
37
- "@teambit/harmony.testing.load-aspect": "0.0.234",
38
- "@teambit/lister": "1.0.424",
39
- "@teambit/snapping": "1.0.424",
36
+ "@teambit/component.testing.mock-components": "0.0.240",
37
+ "@teambit/harmony.testing.load-aspect": "0.0.235",
38
+ "@teambit/lister": "1.0.426",
39
+ "@teambit/snapping": "1.0.426",
40
40
  "@teambit/workspace.testing.mock-workspace": "0.0.27"
41
41
  },
42
42
  "peerDependencies": {