@teambit/export 0.0.903 → 0.0.907
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.
|
@@ -749,6 +749,10 @@ class ExportMain {
|
|
|
749
749
|
const needsChange = ids.some(id => id.scope !== remoteScope);
|
|
750
750
|
if (needsChange) {
|
|
751
751
|
version.flattenedDependencies = getBitIdsWithUpdatedScope(ids);
|
|
752
|
+
version.flattenedEdges = version.flattenedEdges.map(edge => _objectSpread(_objectSpread({}, edge), {}, {
|
|
753
|
+
source: getIdWithUpdatedScope(edge.source),
|
|
754
|
+
target: getIdWithUpdatedScope(edge.target)
|
|
755
|
+
}));
|
|
752
756
|
hasChanged = true;
|
|
753
757
|
}
|
|
754
758
|
return hasChanged;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HooksManagerInstance","HooksManager","getInstance","ExportMain","constructor","workspace","remove","depResolver","export","params","triggerHook","PRE_EXPORT_HOOK","updatedIds","nonExistOnBitMap","missingScope","exported","removedIds","exportedLanes","exportComponents","ejectResults","eject","ejectExportedComponents","exportResults","componentsIds","POST_EXPORT_HOOK","Scope","onPostExport","catch","err","logger","error","exportObjectList","manyObjectsPerRemote","scopeRemotes","centralHubOptions","http","Http","connect","CENTRAL_BIT_HUB_URL","CENTRAL_BIT_HUB_NAME","shouldPushToCentralHub","objectList","transformToOneObjectListWithScopeData","pushToCentralHub","pushToRemotesCarefully","ids","includeNonStaged","originDirectly","ConsumerNotFound","consumer","idsToExport","idsWithFutureScope","laneObject","getComponentsToExport","R","isEmpty","BitIds","newIdsOnRemote","readmeComponent","_throwForUnsnappedLaneReadme","isOnMain","updatedLocally","exportMany","scope","updateLanesAfterExport","getRemovedStagedBitIds","_updateIdsOnBitMap","bitMap","removeFromStagedConfig","linkComponents","Analytics","setExtraData","length","onDestroy","filter","id","hasWithoutVersion","allVersions","resumeExportId","ignoreMissingArtifacts","exportHeadsOnly","debugAndAddBreadCrumb","toString","getScopeRemotes","idsGroupedByScope","toGroupByScopeName","validateTargetScopeForLanes","newIds","fromArray","hasScope","newIdsGrouped","mapSeries","Object","keys","scopeName","remote","resolve","list","listIds","map","listItem","forEach","hasWithoutScopeAndVersion","Error","addMainHeadIfPossible","allHashes","modelComponent","head","find","h","hash","objects","has","push","getVersionsToExport","lane","switchHashesWithTagsIfExist","localTagsOrHashes","getLocalTagsOrHashes","stopAt","remoteLanes","getRefsFromAllLanesOnScope","toBitId","laneHeadRemote","getAllVersionHashes","repo","groupedByScopeString","join","debug","exportVersions","populateExportMetadata","getHeadRegardlessOfLane","versions","getUpdatedObjectsToExport","remoteNameStr","bitIds","throwForDuplicationIgnoreVersion","idsToChangeLocally","componentsAndObjects","ObjectList","objectListPerName","processModelComponent","versionToExport","clearStateData","objectItems","collectVersionsObjects","objectsList","toBitObjects","componentAndObject","component","getAll","convertToCorrectScopeHarmony","remoteObj","url","host","name","date","Date","now","addScopeListItem","componentBuffer","compress","componentData","ref","buffer","type","getType","objectsBuffer","Promise","all","obj","allObjectsData","addIfNotExist","modelComponents","getModelComponent","clearCache","components","c","idWithFutureScope","searchWithoutScopeAndVersion","changeScope","laneData","getExportMetadata","exportMetadata","ExportMetadata","exportMetadataObj","exportMetadataItem","pushAllToCentralHub","pushResults","failedScopes","successIds","errors","PersistFailed","exportedBitIds","BitId","parse","exportedIds","objectPerRemote","idsPerScope","updateLocalObjects","objectsPerRemote","removeComponentVersions","refsToRemove","sources","getRefsForComponentRemoval","removeManyObjects","flat","createSymlink","componentObject","put","add","syncWithLaneObject","remoteLaneId","LaneId","from","DEFAULT_LANE","loadRemoteLane","addEntry","getHead","persist","idsWithRemoteScope","changeVersion","undefined","idsWithRemoteScopeUniq","uniqFromArray","remotes","o","validateRemotes","persistRemotes","loader","start","results","flatten","r","objPerRemote","addScopeName","mergeObjectList","clientId","pushRemotesPendingDir","Boolean","pushOptions","pushedRemotes","count","pushMany","warnAndAddBreadCrumb","removePendingDirs","hubRemotes","m","isHub","BitError","componentsObjects","remoteScope","exportingIds","shouldFork","versionsObjects","object","Version","haveVersionsChanged","objectVersion","didDependencyChange","changeDependencyScope","changeExtensionsScope","updateDepsOnLegacyExport","getIdWithUpdatedScope","bind","shouldChangeScope","hasComponentChanged","some","x","version","hasChanged","getAllDependencies","dependency","updatedScope","isEqual","flattenedDependencies","needsChange","getBitIdsWithUpdatedScope","extensions","ext","extensionId","dependencyId","depId","ModelComponent","fromBitId","dependencyObject","loadSync","Symlink","realScope","currentlyExportedDep","componentIds","resolveMultipleComponentIds","stagedConfig","getStagedConfig","compId","removeComponentConfig","write","componentsList","ComponentsList","idsHaveWildcard","hasWildcard","filterNonScopeIfNeeded","getIdsWithFutureScope","partition","isUserTryingToExportLanes","GeneralError","componentsToExport","getLaneCompIdsToExport","loaderMsg","BEFORE_EXPORTS","BEFORE_EXPORT","filtered","BEFORE_LOADING_COMPONENTS","exportPendingComponents","listNonNewComponentsIds","listExportPendingComponentsIds","filterComponentsByWildcard","parsedIds","getParsedId","statuses","getManyComponentsStatuses","status","nested","idsArrayP","componentId","resolveComponentId","finalScope","componentDefaultScope","idsArray","currentLaneId","getCurrentLaneId","loadLane","componentsToExportWithoutRemoved","removedStagedBitIds","removedStaged","getRemovedStaged","_legacy","provider","cli","exportMain","register","ResumeExportCmd","ExportCmd","MainRuntime","CLIAspect","ScopeAspect","WorkspaceAspect","RemoveAspect","DependencyResolverAspect","ExportAspect","addRuntime","componentsId","resultId","updateComponentId","hasVersion","parsedId","loadComponentFromModel","nodeModuleLinker","NodeModuleLinker","link","loadConsumer","ejectComponents","EjectComponents","ejectErr","msg","isValid","getComponent","getComponentHead","currentLane","isCurrentLane","setCurrentLane","toLaneId","scopeJson","removeLaneFromNew","isNew","isOnLane"],"sources":["export.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport ScopeAspect, { ScopeMain } from '@teambit/scope';\nimport R from 'ramda';\nimport { BitError } from '@teambit/bit-error';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport {\n BEFORE_EXPORT,\n BEFORE_EXPORTS,\n BEFORE_LOADING_COMPONENTS,\n} from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport {\n CENTRAL_BIT_HUB_NAME,\n CENTRAL_BIT_HUB_URL,\n POST_EXPORT_HOOK,\n PRE_EXPORT_HOOK,\n} from '@teambit/legacy/dist/constants';\nimport { Consumer, loadConsumer } from '@teambit/legacy/dist/consumer';\nimport BitMap from '@teambit/legacy/dist/consumer/bit-map/bit-map';\nimport EjectComponents, { EjectResults } from '@teambit/legacy/dist/consumer/component-ops/eject-components';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport HooksManager from '@teambit/legacy/dist/hooks';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { NodeModuleLinker } from '@teambit/legacy/dist/links';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { Lane, ModelComponent, Symlink, Version, ExportMetadata } from '@teambit/legacy/dist/scope/models';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { LaneReadmeComponent } from '@teambit/legacy/dist/scope/models/lane';\nimport { Http } from '@teambit/legacy/dist/scope/network/http';\nimport { ObjectList, ObjectItem } from '@teambit/legacy/dist/scope/objects/object-list';\nimport mapSeries from 'p-map-series';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport { Remote, Remotes } from '@teambit/legacy/dist/remotes';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ExportVersions } from '@teambit/legacy/dist/scope/models/export-metadata';\nimport {\n persistRemotes,\n validateRemotes,\n removePendingDirs,\n} from '@teambit/legacy/dist/scope/component-ops/export-scope-components';\nimport { BitObject, Ref } from '@teambit/legacy/dist/scope/objects';\nimport { PersistFailed } from '@teambit/legacy/dist/scope/exceptions/persist-failed';\nimport { getAllVersionHashes } from '@teambit/legacy/dist/scope/component-ops/traverse-versions';\nimport { ExportAspect } from './export.aspect';\nimport { ExportCmd } from './export-cmd';\nimport { ResumeExportCmd } from './resume-export-cmd';\n\nconst HooksManagerInstance = HooksManager.getInstance();\n\nexport type OnExportIdTransformer = (id: BitId) => BitId;\n\ntype ModelComponentAndObjects = { component: ModelComponent; objects: BitObject[] };\ntype ObjectListPerName = { [name: string]: ObjectList };\ntype ObjectsPerRemote = {\n remote: Remote;\n objectList: ObjectList;\n exportedIds?: string[];\n};\ntype ObjectsPerRemoteExtended = ObjectsPerRemote & {\n objectListPerName: ObjectListPerName;\n idsToChangeLocally: BitIds;\n componentsAndObjects: ModelComponentAndObjects[];\n};\n\ntype ExportParams = {\n ids: string[];\n eject: boolean;\n allVersions: boolean;\n originDirectly: boolean;\n includeNonStaged: boolean;\n resumeExportId: string | undefined;\n ignoreMissingArtifacts: boolean;\n};\n\nexport class ExportMain {\n constructor(private workspace: Workspace, private remove: RemoveMain, private depResolver: DependencyResolverMain) {}\n\n async export(params: ExportParams) {\n HooksManagerInstance.triggerHook(PRE_EXPORT_HOOK, params);\n const { updatedIds, nonExistOnBitMap, missingScope, exported, removedIds, exportedLanes } =\n await this.exportComponents(params);\n let ejectResults;\n if (params.eject) ejectResults = await ejectExportedComponents(updatedIds);\n const exportResults = {\n componentsIds: exported,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n ejectResults,\n exportedLanes,\n };\n HooksManagerInstance.triggerHook(POST_EXPORT_HOOK, exportResults);\n if (Scope.onPostExport) {\n await Scope.onPostExport(exported, exportedLanes).catch((err) => {\n logger.error('fatal: onPostExport encountered an error (this error does not stop the process)', err);\n });\n }\n return exportResults;\n }\n\n async exportObjectList(\n manyObjectsPerRemote: ObjectsPerRemote[],\n scopeRemotes: Remotes,\n centralHubOptions?: Record<string, any>\n ) {\n const http = await Http.connect(CENTRAL_BIT_HUB_URL, CENTRAL_BIT_HUB_NAME);\n if (this.shouldPushToCentralHub(manyObjectsPerRemote, scopeRemotes)) {\n const objectList = this.transformToOneObjectListWithScopeData(manyObjectsPerRemote);\n await http.pushToCentralHub(objectList, centralHubOptions);\n } else {\n await this.pushToRemotesCarefully(manyObjectsPerRemote);\n }\n }\n\n private async exportComponents({ ids, includeNonStaged, originDirectly, ...params }: ExportParams): Promise<{\n updatedIds: BitId[];\n nonExistOnBitMap: BitId[];\n removedIds: BitIds;\n missingScope: BitId[];\n exported: BitId[];\n exportedLanes: Lane[];\n newIdsOnRemote: BitId[];\n }> {\n if (!this.workspace) throw new ConsumerNotFound();\n const consumer: Consumer = this.workspace.consumer;\n const { idsToExport, missingScope, idsWithFutureScope, laneObject } = await this.getComponentsToExport(\n ids,\n includeNonStaged\n );\n\n if (R.isEmpty(idsToExport)) {\n return {\n updatedIds: [],\n nonExistOnBitMap: [],\n removedIds: new BitIds(),\n missingScope,\n exported: [],\n newIdsOnRemote: [],\n exportedLanes: [],\n };\n }\n\n // validate lane readme component and ensure it has been snapped\n if (laneObject?.readmeComponent) {\n _throwForUnsnappedLaneReadme(laneObject);\n }\n const isOnMain = consumer.isOnMain();\n const { exported, updatedLocally, newIdsOnRemote } = await this.exportMany({\n ...params,\n scope: consumer.scope,\n ids: idsToExport,\n laneObject,\n originDirectly,\n idsWithFutureScope,\n isOnMain,\n });\n if (laneObject) await updateLanesAfterExport(consumer, laneObject);\n const removedIds = await this.getRemovedStagedBitIds();\n const { updatedIds, nonExistOnBitMap } = _updateIdsOnBitMap(consumer.bitMap, updatedLocally);\n await this.removeFromStagedConfig([...updatedIds, ...nonExistOnBitMap]);\n await linkComponents(updatedIds, consumer);\n Analytics.setExtraData('num_components', exported.length);\n // it is important to have consumer.onDestroy() before running the eject operation, we want the\n // export and eject operations to function independently. we don't want to lose the changes to\n // .bitmap file done by the export action in case the eject action has failed.\n await consumer.onDestroy();\n return {\n updatedIds,\n nonExistOnBitMap: nonExistOnBitMap.filter((id) => !removedIds.hasWithoutVersion(id)),\n removedIds,\n missingScope,\n exported,\n newIdsOnRemote,\n exportedLanes: laneObject ? [laneObject] : [],\n };\n }\n\n /**\n * the export process uses four steps. read more about it here: https://github.com/teambit/bit/pull/3371\n */\n async exportMany({\n scope,\n ids, // when exporting a lane, the ids are the lane component ids\n laneObject,\n allVersions,\n originDirectly,\n idsWithFutureScope,\n resumeExportId,\n ignoreMissingArtifacts,\n isOnMain = true,\n exportHeadsOnly, // relevant when exporting from bare-scope, especially when re-exporting existing versions, the normal calculation based on getDivergeData won't work\n }: {\n scope: Scope;\n ids: BitIds;\n laneObject?: Lane;\n allVersions: boolean;\n originDirectly?: boolean;\n idsWithFutureScope: BitIds;\n resumeExportId?: string | undefined;\n ignoreMissingArtifacts?: boolean;\n isOnMain?: boolean;\n exportHeadsOnly?: boolean;\n }): Promise<{ exported: BitIds; updatedLocally: BitIds; newIdsOnRemote: BitId[] }> {\n logger.debugAndAddBreadCrumb('scope.exportMany', 'ids: {ids}', { ids: ids.toString() });\n const scopeRemotes: Remotes = await getScopeRemotes(scope);\n const idsGroupedByScope = ids.toGroupByScopeName(idsWithFutureScope);\n\n /**\n * when a component is exported for the first time, and the lane-scope is not the same as the component-scope, it's\n * important to validate that there is no such component in the original scope. otherwise, later, it'll be impossible\n * to merge the lane because these two components don't have any snap in common.\n */\n const validateTargetScopeForLanes = async () => {\n if (!laneObject) {\n return;\n }\n const newIds = BitIds.fromArray(ids.filter((id) => !id.hasScope()));\n const newIdsGrouped = newIds.toGroupByScopeName(idsWithFutureScope);\n await mapSeries(Object.keys(newIdsGrouped), async (scopeName) => {\n if (scopeName === laneObject.scope) {\n // this validation is redundant if the lane-component is in the same scope as the lane-object\n return;\n }\n // by getting the remote we also validate that this scope actually exists.\n const remote = await scopeRemotes.resolve(scopeName, scope);\n const list = await remote.list();\n const listIds = BitIds.fromArray(list.map((listItem) => listItem.id));\n newIdsGrouped[scopeName].forEach((id) => {\n if (listIds.hasWithoutScopeAndVersion(id)) {\n throw new Error(`unable to export a lane with a new component \"${id.toString()}\", which has the default-scope \"${scopeName}\".\n this scope already has a component with the same name. as such, it'll be impossible to merge the lane later because these two components are different`);\n }\n });\n });\n };\n\n /**\n * by default, when exporting a lane, it traverse from the Lane's head and therefore it may skip the main head.\n * later, if for some reason the original component was deleted in its scope, the head object will be missing.\n */\n const addMainHeadIfPossible = async (allHashes: Ref[], modelComponent: ModelComponent) => {\n const head = modelComponent.head;\n if (!head) return;\n if (allHashes.find((h) => h.hash === head.hash)) return; // head is already in the list\n if (!(await scope.objects.has(head))) return; // it should not happen. but if it does, we don't want to block the export\n allHashes.push(head);\n };\n\n const getVersionsToExport = async (modelComponent: ModelComponent, lane?: Lane): Promise<string[]> => {\n if (exportHeadsOnly) {\n const head = modelComponent.head;\n if (!head)\n throw new Error(\n `getVersionsToExport should export the head only, but the head of ${modelComponent.id()} is missing`\n );\n return modelComponent.switchHashesWithTagsIfExist([head]);\n }\n const localTagsOrHashes = await modelComponent.getLocalTagsOrHashes(scope.objects);\n if (!allVersions && !lane) {\n return localTagsOrHashes;\n }\n let stopAt: Ref[] | undefined;\n if (lane && !allVersions) {\n // if lane is exported, components from other remotes may be part of this lane. we need their history.\n // because their history could already exist on the remote from previous exports, we search this id in all\n // remote-refs files of this lane-scope. while traversing the local history, stop when finding one of the remotes.\n stopAt = await scope.objects.remoteLanes.getRefsFromAllLanesOnScope(lane.scope, modelComponent.toBitId());\n if (modelComponent.laneHeadRemote) stopAt.push(modelComponent.laneHeadRemote);\n }\n const allHashes = await getAllVersionHashes({ modelComponent, repo: scope.objects, stopAt });\n await addMainHeadIfPossible(allHashes, modelComponent);\n return modelComponent.switchHashesWithTagsIfExist(allHashes);\n };\n\n await validateTargetScopeForLanes();\n const groupedByScopeString = Object.keys(idsGroupedByScope)\n .map((scopeName) => `scope \"${scopeName}\": ${idsGroupedByScope[scopeName].toString()}`)\n .join(', ');\n logger.debug(`export-scope-components, export to the following scopes ${groupedByScopeString}`);\n const exportVersions: ExportVersions[] = [];\n\n const populateExportMetadata = async (modelComponent: ModelComponent) => {\n const localTagsOrHashes = await modelComponent.getLocalTagsOrHashes(scope.objects);\n const head = modelComponent.getHeadRegardlessOfLane();\n if (!head) {\n throw new Error(`unable to export ${modelComponent.id()}, head is missing`);\n }\n exportVersions.push({\n id: modelComponent.toBitId(),\n versions: localTagsOrHashes,\n head,\n });\n };\n\n const getUpdatedObjectsToExport = async (\n remoteNameStr: string,\n bitIds: BitIds,\n lane?: Lane\n ): Promise<ObjectsPerRemoteExtended> => {\n bitIds.throwForDuplicationIgnoreVersion();\n const remote: Remote = await scopeRemotes.resolve(remoteNameStr, scope);\n const idsToChangeLocally = BitIds.fromArray(bitIds.filter((id) => !id.scope || id.scope === remoteNameStr));\n const componentsAndObjects: ModelComponentAndObjects[] = [];\n const objectList = new ObjectList();\n const objectListPerName: ObjectListPerName = {};\n const processModelComponent = async (modelComponent: ModelComponent) => {\n const versionToExport = await getVersionsToExport(modelComponent, lane);\n modelComponent.clearStateData();\n const objectItems = await modelComponent.collectVersionsObjects(\n scope.objects,\n versionToExport,\n ignoreMissingArtifacts\n );\n const objectsList = await new ObjectList(objectItems).toBitObjects();\n const componentAndObject = { component: modelComponent, objects: objectsList.getAll() };\n await this.convertToCorrectScopeHarmony(scope, componentAndObject, remoteNameStr, bitIds, idsWithFutureScope);\n await populateExportMetadata(modelComponent);\n const remoteObj = { url: remote.host, name: remote.name, date: Date.now().toString() };\n modelComponent.addScopeListItem(remoteObj);\n componentsAndObjects.push(componentAndObject);\n const componentBuffer = await modelComponent.compress();\n const componentData = { ref: modelComponent.hash(), buffer: componentBuffer, type: modelComponent.getType() };\n const objectsBuffer = await Promise.all(\n componentAndObject.objects.map(async (obj) => ({\n ref: obj.hash(),\n buffer: await obj.compress(),\n type: obj.getType(),\n }))\n );\n const allObjectsData = [componentData, ...objectsBuffer];\n objectListPerName[modelComponent.name] = new ObjectList(allObjectsData);\n objectList.addIfNotExist(allObjectsData);\n };\n\n const modelComponents = await mapSeries(bitIds, (id) => scope.getModelComponent(id));\n // super important! otherwise, the processModelComponent() changes objects in memory, while the key remains the same\n scope.objects.clearCache();\n // don't use Promise.all, otherwise, it'll throw \"JavaScript heap out of memory\" on a large set of data\n await mapSeries(modelComponents, processModelComponent);\n if (lane) {\n lane.components.forEach((c) => {\n const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(c.id);\n c.id = c.id.hasScope() ? c.id : c.id.changeScope(idWithFutureScope?.scope || lane.scope);\n });\n if (lane.readmeComponent) {\n lane.readmeComponent.id = lane.readmeComponent.id.hasScope()\n ? lane.readmeComponent.id\n : lane.readmeComponent.id.changeScope(lane.scope);\n }\n const laneData = { ref: lane.hash(), buffer: await lane.compress() };\n objectList.addIfNotExist([laneData]);\n }\n\n return { remote, objectList, objectListPerName, idsToChangeLocally, componentsAndObjects };\n };\n\n const manyObjectsPerRemote = laneObject\n ? [await getUpdatedObjectsToExport(laneObject.scope, ids, laneObject)]\n : await mapSeries(Object.keys(idsGroupedByScope), (scopeName) =>\n getUpdatedObjectsToExport(scopeName, idsGroupedByScope[scopeName], laneObject)\n );\n\n const getExportMetadata = async (): Promise<ObjectItem> => {\n const exportMetadata = new ExportMetadata({ exportVersions });\n const exportMetadataObj = await exportMetadata.compress();\n const exportMetadataItem: ObjectItem = {\n ref: exportMetadata.hash(),\n buffer: exportMetadataObj,\n type: ExportMetadata.name,\n };\n return exportMetadataItem;\n };\n\n const pushAllToCentralHub = async () => {\n const objectList = this.transformToOneObjectListWithScopeData(manyObjectsPerRemote);\n objectList.addIfNotExist([await getExportMetadata()]);\n const http = await Http.connect(CENTRAL_BIT_HUB_URL, CENTRAL_BIT_HUB_NAME);\n const pushResults = await http.pushToCentralHub(objectList);\n const { failedScopes, successIds, errors } = pushResults;\n if (failedScopes.length) {\n throw new PersistFailed(failedScopes, errors);\n }\n const exportedBitIds = successIds.map((id) => BitId.parse(id, true));\n if (manyObjectsPerRemote.length === 1) {\n // when on a lane, it's always exported to the lane. and the ids can be from different scopes, so having the\n // filter below, will remove these components from the output of bit-export at the end.\n manyObjectsPerRemote[0].exportedIds = exportedBitIds.map((id) => id.toString());\n } else {\n manyObjectsPerRemote.forEach((objectPerRemote) => {\n const idsPerScope = exportedBitIds.filter((id) => id.scope === objectPerRemote.remote.name);\n // it's possible that idsPerScope is an empty array, in case the objects were exported already before\n objectPerRemote.exportedIds = idsPerScope.map((id) => id.toString());\n });\n }\n };\n\n const updateLocalObjects = async (\n lane?: Lane\n ): Promise<Array<{ exported: BitIds; updatedLocally: BitIds; newIdsOnRemote: BitId[] }>> => {\n return mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemoteExtended) => {\n const { remote, idsToChangeLocally, componentsAndObjects, exportedIds } = objectsPerRemote;\n const remoteNameStr = remote.name;\n // on Harmony, version hashes don't change, the new versions will replace the old ones.\n // on the legacy, even when the hash changed, it's fine to have the old objects laying around.\n // (could be removed in the future by some garbage collection).\n const removeComponentVersions = false;\n const refsToRemove = await Promise.all(\n idsToChangeLocally.map((id) => scope.sources.getRefsForComponentRemoval(id, removeComponentVersions))\n );\n scope.objects.removeManyObjects(refsToRemove.flat());\n // @ts-ignore\n idsToChangeLocally.forEach((id) => {\n scope.createSymlink(id, idsWithFutureScope.searchWithoutScopeAndVersion(id)?.scope || remoteNameStr);\n });\n componentsAndObjects.forEach((componentObject) => scope.sources.put(componentObject));\n\n // update lanes\n if (lane) {\n if (idsToChangeLocally.length) {\n // otherwise, we don't want to update scope-name of components in the lane object\n scope.objects.add(lane);\n }\n await scope.objects.remoteLanes.syncWithLaneObject(remoteNameStr, lane);\n }\n\n if (isOnMain && !lane) {\n // all exported from main\n const remoteLaneId = LaneId.from(DEFAULT_LANE, remoteNameStr);\n await scope.objects.remoteLanes.loadRemoteLane(remoteLaneId);\n await Promise.all(\n componentsAndObjects.map(async ({ component }) => {\n await scope.objects.remoteLanes.addEntry(remoteLaneId, component.toBitId(), component.getHead());\n })\n );\n }\n\n await scope.objects.persist();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const newIdsOnRemote = exportedIds!.map((id) => BitId.parse(id, true));\n // remove version. exported component might have multiple versions exported\n const idsWithRemoteScope: BitId[] = newIdsOnRemote.map((id) => id.changeVersion(undefined));\n const idsWithRemoteScopeUniq = BitIds.uniqFromArray(idsWithRemoteScope);\n return {\n newIdsOnRemote,\n exported: idsWithRemoteScopeUniq,\n updatedLocally: BitIds.fromArray(\n idsWithRemoteScopeUniq.filter((id) => idsToChangeLocally.hasWithoutScopeAndVersion(id))\n ),\n };\n });\n };\n\n if (resumeExportId) {\n const remotes = manyObjectsPerRemote.map((o) => o.remote);\n await validateRemotes(remotes, resumeExportId);\n await persistRemotes(manyObjectsPerRemote, resumeExportId);\n } else if (this.shouldPushToCentralHub(manyObjectsPerRemote, scopeRemotes, originDirectly)) {\n await pushAllToCentralHub();\n } else {\n // await pushToRemotes();\n await this.pushToRemotesCarefully(manyObjectsPerRemote, resumeExportId);\n }\n\n loader.start('updating data locally...');\n const results = await updateLocalObjects(laneObject);\n return {\n newIdsOnRemote: R.flatten(results.map((r) => r.newIdsOnRemote)),\n exported: BitIds.uniqFromArray(R.flatten(results.map((r) => r.exported))),\n updatedLocally: BitIds.uniqFromArray(R.flatten(results.map((r) => r.updatedLocally))),\n };\n }\n\n private transformToOneObjectListWithScopeData(objectsPerRemote: ObjectsPerRemote[]): ObjectList {\n const objectList = new ObjectList();\n objectsPerRemote.forEach((objPerRemote) => {\n objPerRemote.objectList.addScopeName(objPerRemote.remote.name);\n objectList.mergeObjectList(objPerRemote.objectList);\n });\n return objectList;\n }\n\n private async pushToRemotesCarefully(manyObjectsPerRemote: ObjectsPerRemote[], resumeExportId?: string) {\n const remotes = manyObjectsPerRemote.map((o) => o.remote);\n const clientId = resumeExportId || Date.now().toString();\n await this.pushRemotesPendingDir(clientId, manyObjectsPerRemote, resumeExportId);\n await validateRemotes(remotes, clientId, Boolean(resumeExportId));\n await persistRemotes(manyObjectsPerRemote, clientId);\n }\n\n private async pushRemotesPendingDir(\n clientId: string,\n manyObjectsPerRemote: ObjectsPerRemote[],\n resumeExportId?: string\n ): Promise<void> {\n if (resumeExportId) {\n logger.debug('pushRemotesPendingDir - skip as the resumeExportId was passed');\n // no need to transfer the objects, they're already on the server. also, since this clientId\n // exists already on the remote pending-dir, it'll cause a collision.\n return;\n }\n const pushOptions = { clientId };\n const pushedRemotes: Remote[] = [];\n await mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemote) => {\n const { remote, objectList } = objectsPerRemote;\n loader.start(`transferring ${objectList.count()} objects to the remote \"${remote.name}\"...`);\n try {\n await remote.pushMany(objectList, pushOptions, {});\n logger.debugAndAddBreadCrumb(\n 'export-scope-components.pushRemotesPendingDir',\n 'successfully pushed all objects to the pending-dir directory on the remote'\n );\n pushedRemotes.push(remote);\n } catch (err: any) {\n logger.warnAndAddBreadCrumb('exportMany', 'failed pushing objects to the remote');\n await removePendingDirs(pushedRemotes, clientId);\n throw err;\n }\n });\n }\n\n private shouldPushToCentralHub(\n manyObjectsPerRemote: ObjectsPerRemote[],\n scopeRemotes: Remotes,\n originDirectly = false\n ): boolean {\n if (originDirectly) return false;\n const hubRemotes = manyObjectsPerRemote.filter((m) => scopeRemotes.isHub(m.remote.name));\n if (!hubRemotes.length) return false;\n if (hubRemotes.length === manyObjectsPerRemote.length) return true; // all are hub\n // @todo: maybe create a flag \"no-central\" to support this workflow\n throw new BitError(\n `some of your components are configured to be exported to a local scope and some to the bit.cloud hub. this is not supported`\n );\n }\n\n /**\n * Component and dependencies id changes:\n * When exporting components with dependencies to a bare-scope, some of the dependencies may be created locally and as\n * a result their scope-name is null. Before the bare-scope gets the components, convert these scope names\n * to the bare-scope name.\n *\n * This is the Harmony version of \"convertToCorrectScope\". No more codemod and no more hash changes.\n */\n private async convertToCorrectScopeHarmony(\n scope: Scope,\n componentsObjects: ModelComponentAndObjects,\n remoteScope: string,\n exportingIds: BitIds,\n idsWithFutureScope: BitIds,\n shouldFork = false // not in used currently, but might be needed soon\n ): Promise<boolean> {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const versionsObjects: Version[] = componentsObjects.objects.filter((object) => object instanceof Version);\n const haveVersionsChanged = await Promise.all(\n versionsObjects.map(async (objectVersion: Version) => {\n const didDependencyChange = changeDependencyScope(objectVersion);\n changeExtensionsScope(objectVersion);\n this.depResolver.updateDepsOnLegacyExport(objectVersion, getIdWithUpdatedScope.bind(this));\n\n return didDependencyChange;\n })\n );\n const shouldChangeScope = shouldFork\n ? remoteScope !== componentsObjects.component.scope\n : !componentsObjects.component.scope;\n const hasComponentChanged = shouldChangeScope;\n if (shouldChangeScope) {\n const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(componentsObjects.component.toBitId());\n componentsObjects.component.scope = idWithFutureScope?.scope || remoteScope;\n }\n\n // return true if one of the versions has changed or the component itself\n return haveVersionsChanged.some((x) => x) || hasComponentChanged;\n\n function changeDependencyScope(version: Version): boolean {\n let hasChanged = false;\n version.getAllDependencies().forEach((dependency) => {\n const updatedScope = getIdWithUpdatedScope(dependency.id);\n if (!updatedScope.isEqual(dependency.id)) {\n hasChanged = true;\n dependency.id = updatedScope;\n }\n });\n const ids: BitIds = version.flattenedDependencies;\n const needsChange = ids.some((id) => id.scope !== remoteScope);\n if (needsChange) {\n version.flattenedDependencies = getBitIdsWithUpdatedScope(ids);\n hasChanged = true;\n }\n return hasChanged;\n }\n\n function changeExtensionsScope(version: Version): boolean {\n let hasChanged = false;\n version.extensions.forEach((ext) => {\n if (ext.extensionId) {\n const updatedScope = getIdWithUpdatedScope(ext.extensionId);\n if (!updatedScope.isEqual(ext.extensionId)) {\n hasChanged = true;\n ext.extensionId = updatedScope;\n }\n }\n });\n return hasChanged;\n }\n\n function getIdWithUpdatedScope(dependencyId: BitId): BitId {\n if (dependencyId.scope === remoteScope) {\n return dependencyId; // nothing has changed\n }\n // either, dependencyId is new, or this dependency is among the components to export (in case of fork)\n if (!dependencyId.scope || exportingIds.hasWithoutVersion(dependencyId)) {\n const depId = ModelComponent.fromBitId(dependencyId);\n // todo: use 'load' for async and switch the foreach with map.\n const dependencyObject = scope.objects.loadSync(depId.hash());\n if (dependencyObject instanceof Symlink) {\n return dependencyId.changeScope(dependencyObject.realScope);\n }\n const currentlyExportedDep = idsWithFutureScope.searchWithoutScopeAndVersion(dependencyId);\n if (currentlyExportedDep && currentlyExportedDep.scope) {\n // it's possible that a dependency has a different defaultScope settings.\n return dependencyId.changeScope(currentlyExportedDep.scope);\n }\n return dependencyId.changeScope(remoteScope);\n }\n return dependencyId;\n }\n function getBitIdsWithUpdatedScope(bitIds: BitIds): BitIds {\n const updatedIds = bitIds.map((id) => getIdWithUpdatedScope(id));\n return BitIds.fromArray(updatedIds);\n }\n }\n\n private async removeFromStagedConfig(ids: BitId[]) {\n const componentIds = await this.workspace.resolveMultipleComponentIds(ids);\n const stagedConfig = await this.workspace.scope.getStagedConfig();\n componentIds.map((compId) => stagedConfig.removeComponentConfig(compId));\n await stagedConfig.write();\n }\n\n private async getComponentsToExport(\n ids: string[],\n includeNonStaged: boolean\n ): Promise<{ idsToExport: BitIds; missingScope: BitId[]; idsWithFutureScope: BitIds; laneObject?: Lane }> {\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const idsHaveWildcard = hasWildcard(ids);\n const filterNonScopeIfNeeded = async (\n bitIds: BitIds\n ): Promise<{ idsToExport: BitIds; missingScope: BitId[]; idsWithFutureScope: BitIds }> => {\n const idsWithFutureScope = await this.getIdsWithFutureScope(bitIds);\n const [idsToExport, missingScope] = R.partition((id) => {\n const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(id);\n if (!idWithFutureScope) throw new Error(`idsWithFutureScope is missing ${id.toString()}`);\n return idWithFutureScope.hasScope();\n }, bitIds);\n return { idsToExport: BitIds.fromArray(idsToExport), missingScope, idsWithFutureScope };\n };\n if (isUserTryingToExportLanes(consumer)) {\n if (ids.length) {\n throw new GeneralError(`when checked out to a lane, all its components are exported. please omit the ids`);\n }\n const { componentsToExport, laneObject } = await this.getLaneCompIdsToExport(consumer, includeNonStaged);\n const loaderMsg = componentsToExport.length > 1 ? BEFORE_EXPORTS : BEFORE_EXPORT;\n loader.start(loaderMsg);\n const filtered = await filterNonScopeIfNeeded(componentsToExport);\n return { ...filtered, laneObject };\n }\n if (!ids.length || idsHaveWildcard) {\n loader.start(BEFORE_LOADING_COMPONENTS);\n const exportPendingComponents: BitIds = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds();\n const componentsToExport = idsHaveWildcard\n ? ComponentsList.filterComponentsByWildcard(exportPendingComponents, ids)\n : exportPendingComponents;\n const loaderMsg = componentsToExport.length > 1 ? BEFORE_EXPORTS : BEFORE_EXPORT;\n loader.start(loaderMsg);\n return filterNonScopeIfNeeded(componentsToExport);\n }\n loader.start(BEFORE_EXPORT); // show single export\n const parsedIds = await Promise.all(ids.map((id) => getParsedId(consumer, id)));\n const statuses = await consumer.getManyComponentsStatuses(parsedIds);\n statuses.forEach(({ id, status }) => {\n if (status.nested) {\n throw new GeneralError(\n `unable to export \"${id.toString()}\", the component is not fully available. please use \"bit import\" first`\n );\n }\n });\n return filterNonScopeIfNeeded(BitIds.fromArray(parsedIds));\n }\n\n private async getIdsWithFutureScope(ids: BitIds): Promise<BitIds> {\n const idsArrayP = ids.map(async (id) => {\n if (id.hasScope()) return id;\n const componentId = await this.workspace.resolveComponentId(id);\n const finalScope = await this.workspace.componentDefaultScope(componentId);\n if (finalScope) {\n return id.changeScope(finalScope);\n }\n return id;\n });\n const idsArray = await Promise.all(idsArrayP);\n return BitIds.fromArray(idsArray);\n }\n\n private async getLaneCompIdsToExport(\n consumer: Consumer,\n includeNonStaged: boolean\n ): Promise<{ componentsToExport: BitIds; laneObject: Lane }> {\n const currentLaneId = consumer.getCurrentLaneId();\n const laneObject = await consumer.scope.loadLane(currentLaneId);\n if (!laneObject) {\n throw new Error(`fatal: unable to load the current lane object (${currentLaneId.toString()})`);\n }\n loader.start(BEFORE_LOADING_COMPONENTS);\n const componentsList = new ComponentsList(consumer);\n const componentsToExportWithoutRemoved = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds(laneObject);\n const removedStagedBitIds = await this.getRemovedStagedBitIds();\n const componentsToExport = BitIds.uniqFromArray([...componentsToExportWithoutRemoved, ...removedStagedBitIds]);\n return { componentsToExport, laneObject };\n }\n\n private async getRemovedStagedBitIds(): Promise<BitIds> {\n const removedStaged = await this.remove.getRemovedStaged();\n return BitIds.fromArray(removedStaged.map((r) => r._legacy).map((id) => id.changeVersion(undefined)));\n }\n\n static runtime = MainRuntime;\n static dependencies = [CLIAspect, ScopeAspect, WorkspaceAspect, RemoveAspect, DependencyResolverAspect];\n static async provider([cli, scope, workspace, remove, depResolver]: [\n CLIMain,\n ScopeMain,\n Workspace,\n RemoveMain,\n DependencyResolverMain\n ]) {\n const exportMain = new ExportMain(workspace, remove, depResolver);\n cli.register(new ResumeExportCmd(scope), new ExportCmd(exportMain));\n return exportMain;\n }\n}\n\nExportAspect.addRuntime(ExportMain);\n\nfunction _updateIdsOnBitMap(bitMap: BitMap, componentsIds: BitIds): { updatedIds: BitId[]; nonExistOnBitMap: BitIds } {\n const updatedIds = [];\n const nonExistOnBitMap = new BitIds();\n componentsIds.forEach((componentsId) => {\n const resultId = bitMap.updateComponentId(componentsId, true);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (resultId.hasVersion()) updatedIds.push(resultId);\n else nonExistOnBitMap.push(resultId);\n });\n return { updatedIds, nonExistOnBitMap };\n}\n\nasync function getParsedId(consumer: Consumer, id: string): Promise<BitId> {\n // reason why not calling `consumer.getParsedId()` first is because a component might not be on\n // .bitmap and only in the scope. we support this case and enable to export\n const parsedId: BitId = await consumer.scope.getParsedId(id);\n if (parsedId.hasScope()) return parsedId;\n // parsing id from the scope, doesn't provide the scope-name in case it's missing, in this case\n // get the id including the scope from the consumer.\n try {\n return consumer.getParsedId(id);\n } catch (err: any) {\n // not in the consumer, just return the one parsed without the scope name\n return parsedId;\n }\n}\n\nasync function linkComponents(ids: BitId[], consumer: Consumer): Promise<void> {\n // we don't have much of a choice here, we have to load all the exported components in order to link them\n // some of the components might be authored, some might be imported.\n // when a component has dists, we need the consumer-component object to retrieve the dists info.\n const components = await Promise.all(ids.map((id) => consumer.loadComponentFromModel(id)));\n const nodeModuleLinker = new NodeModuleLinker(components, consumer, consumer.bitMap);\n await nodeModuleLinker.link();\n}\n\nasync function ejectExportedComponents(componentsIds): Promise<EjectResults> {\n const consumer: Consumer = await loadConsumer(undefined, true);\n let ejectResults: EjectResults;\n try {\n const ejectComponents = new EjectComponents(consumer, componentsIds);\n ejectResults = await ejectComponents.eject();\n } catch (err: any) {\n const ejectErr = `The components ${componentsIds.map((c) => c.toString()).join(', ')} were exported successfully.\n However, the eject operation has failed due to an error: ${err.msg || err}`;\n logger.error(ejectErr, err);\n throw new Error(ejectErr);\n }\n // run the consumer.onDestroy() again, to write the changes done by the eject action to .bitmap\n await consumer.onDestroy();\n return ejectResults;\n}\n\nfunction _throwForUnsnappedLaneReadme(lane: Lane) {\n const readmeComponent = lane.readmeComponent as LaneReadmeComponent;\n\n const isValid =\n readmeComponent?.head &&\n lane.getComponent(readmeComponent.id) &&\n lane.getComponentHead(readmeComponent.id)?.isEqual(readmeComponent?.head);\n\n if (!isValid) {\n throw new BitError(\n `${lane?.name} has a readme component ${readmeComponent.id} that hasn't been snapped on the lane.\n Please run either snap -a or snap ${readmeComponent.id} to snap the component on the lane before exporting it.`\n );\n }\n}\n\nasync function updateLanesAfterExport(consumer: Consumer, lane: Lane) {\n const currentLane = consumer.getCurrentLaneId();\n const isCurrentLane = lane.name === currentLane.name;\n if (!isCurrentLane) {\n throw new Error(\n `updateLanesAfterExport should get called only with current lane, got ${lane.name}, current ${currentLane.name}`\n );\n }\n consumer.setCurrentLane(lane.toLaneId(), true);\n consumer.scope.scopeJson.removeLaneFromNew(lane.name);\n lane.isNew = false;\n}\n\nexport function isUserTryingToExportLanes(consumer: Consumer) {\n return consumer.isOnLane();\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAKA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA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"}
|
|
1
|
+
{"version":3,"names":["HooksManagerInstance","HooksManager","getInstance","ExportMain","constructor","workspace","remove","depResolver","export","params","triggerHook","PRE_EXPORT_HOOK","updatedIds","nonExistOnBitMap","missingScope","exported","removedIds","exportedLanes","exportComponents","ejectResults","eject","ejectExportedComponents","exportResults","componentsIds","POST_EXPORT_HOOK","Scope","onPostExport","catch","err","logger","error","exportObjectList","manyObjectsPerRemote","scopeRemotes","centralHubOptions","http","Http","connect","CENTRAL_BIT_HUB_URL","CENTRAL_BIT_HUB_NAME","shouldPushToCentralHub","objectList","transformToOneObjectListWithScopeData","pushToCentralHub","pushToRemotesCarefully","ids","includeNonStaged","originDirectly","ConsumerNotFound","consumer","idsToExport","idsWithFutureScope","laneObject","getComponentsToExport","R","isEmpty","BitIds","newIdsOnRemote","readmeComponent","_throwForUnsnappedLaneReadme","isOnMain","updatedLocally","exportMany","scope","updateLanesAfterExport","getRemovedStagedBitIds","_updateIdsOnBitMap","bitMap","removeFromStagedConfig","linkComponents","Analytics","setExtraData","length","onDestroy","filter","id","hasWithoutVersion","allVersions","resumeExportId","ignoreMissingArtifacts","exportHeadsOnly","debugAndAddBreadCrumb","toString","getScopeRemotes","idsGroupedByScope","toGroupByScopeName","validateTargetScopeForLanes","newIds","fromArray","hasScope","newIdsGrouped","mapSeries","Object","keys","scopeName","remote","resolve","list","listIds","map","listItem","forEach","hasWithoutScopeAndVersion","Error","addMainHeadIfPossible","allHashes","modelComponent","head","find","h","hash","objects","has","push","getVersionsToExport","lane","switchHashesWithTagsIfExist","localTagsOrHashes","getLocalTagsOrHashes","stopAt","remoteLanes","getRefsFromAllLanesOnScope","toBitId","laneHeadRemote","getAllVersionHashes","repo","groupedByScopeString","join","debug","exportVersions","populateExportMetadata","getHeadRegardlessOfLane","versions","getUpdatedObjectsToExport","remoteNameStr","bitIds","throwForDuplicationIgnoreVersion","idsToChangeLocally","componentsAndObjects","ObjectList","objectListPerName","processModelComponent","versionToExport","clearStateData","objectItems","collectVersionsObjects","objectsList","toBitObjects","componentAndObject","component","getAll","convertToCorrectScopeHarmony","remoteObj","url","host","name","date","Date","now","addScopeListItem","componentBuffer","compress","componentData","ref","buffer","type","getType","objectsBuffer","Promise","all","obj","allObjectsData","addIfNotExist","modelComponents","getModelComponent","clearCache","components","c","idWithFutureScope","searchWithoutScopeAndVersion","changeScope","laneData","getExportMetadata","exportMetadata","ExportMetadata","exportMetadataObj","exportMetadataItem","pushAllToCentralHub","pushResults","failedScopes","successIds","errors","PersistFailed","exportedBitIds","BitId","parse","exportedIds","objectPerRemote","idsPerScope","updateLocalObjects","objectsPerRemote","removeComponentVersions","refsToRemove","sources","getRefsForComponentRemoval","removeManyObjects","flat","createSymlink","componentObject","put","add","syncWithLaneObject","remoteLaneId","LaneId","from","DEFAULT_LANE","loadRemoteLane","addEntry","getHead","persist","idsWithRemoteScope","changeVersion","undefined","idsWithRemoteScopeUniq","uniqFromArray","remotes","o","validateRemotes","persistRemotes","loader","start","results","flatten","r","objPerRemote","addScopeName","mergeObjectList","clientId","pushRemotesPendingDir","Boolean","pushOptions","pushedRemotes","count","pushMany","warnAndAddBreadCrumb","removePendingDirs","hubRemotes","m","isHub","BitError","componentsObjects","remoteScope","exportingIds","shouldFork","versionsObjects","object","Version","haveVersionsChanged","objectVersion","didDependencyChange","changeDependencyScope","changeExtensionsScope","updateDepsOnLegacyExport","getIdWithUpdatedScope","bind","shouldChangeScope","hasComponentChanged","some","x","version","hasChanged","getAllDependencies","dependency","updatedScope","isEqual","flattenedDependencies","needsChange","getBitIdsWithUpdatedScope","flattenedEdges","edge","source","target","extensions","ext","extensionId","dependencyId","depId","ModelComponent","fromBitId","dependencyObject","loadSync","Symlink","realScope","currentlyExportedDep","componentIds","resolveMultipleComponentIds","stagedConfig","getStagedConfig","compId","removeComponentConfig","write","componentsList","ComponentsList","idsHaveWildcard","hasWildcard","filterNonScopeIfNeeded","getIdsWithFutureScope","partition","isUserTryingToExportLanes","GeneralError","componentsToExport","getLaneCompIdsToExport","loaderMsg","BEFORE_EXPORTS","BEFORE_EXPORT","filtered","BEFORE_LOADING_COMPONENTS","exportPendingComponents","listNonNewComponentsIds","listExportPendingComponentsIds","filterComponentsByWildcard","parsedIds","getParsedId","statuses","getManyComponentsStatuses","status","nested","idsArrayP","componentId","resolveComponentId","finalScope","componentDefaultScope","idsArray","currentLaneId","getCurrentLaneId","loadLane","componentsToExportWithoutRemoved","removedStagedBitIds","removedStaged","getRemovedStaged","_legacy","provider","cli","exportMain","register","ResumeExportCmd","ExportCmd","MainRuntime","CLIAspect","ScopeAspect","WorkspaceAspect","RemoveAspect","DependencyResolverAspect","ExportAspect","addRuntime","componentsId","resultId","updateComponentId","hasVersion","parsedId","loadComponentFromModel","nodeModuleLinker","NodeModuleLinker","link","loadConsumer","ejectComponents","EjectComponents","ejectErr","msg","isValid","getComponent","getComponentHead","currentLane","isCurrentLane","setCurrentLane","toLaneId","scopeJson","removeLaneFromNew","isNew","isOnLane"],"sources":["export.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport ScopeAspect, { ScopeMain } from '@teambit/scope';\nimport R from 'ramda';\nimport { BitError } from '@teambit/bit-error';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport {\n BEFORE_EXPORT,\n BEFORE_EXPORTS,\n BEFORE_LOADING_COMPONENTS,\n} from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport {\n CENTRAL_BIT_HUB_NAME,\n CENTRAL_BIT_HUB_URL,\n POST_EXPORT_HOOK,\n PRE_EXPORT_HOOK,\n} from '@teambit/legacy/dist/constants';\nimport { Consumer, loadConsumer } from '@teambit/legacy/dist/consumer';\nimport BitMap from '@teambit/legacy/dist/consumer/bit-map/bit-map';\nimport EjectComponents, { EjectResults } from '@teambit/legacy/dist/consumer/component-ops/eject-components';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport HooksManager from '@teambit/legacy/dist/hooks';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { NodeModuleLinker } from '@teambit/legacy/dist/links';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { Lane, ModelComponent, Symlink, Version, ExportMetadata } from '@teambit/legacy/dist/scope/models';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { LaneReadmeComponent } from '@teambit/legacy/dist/scope/models/lane';\nimport { Http } from '@teambit/legacy/dist/scope/network/http';\nimport { ObjectList, ObjectItem } from '@teambit/legacy/dist/scope/objects/object-list';\nimport mapSeries from 'p-map-series';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport { Remote, Remotes } from '@teambit/legacy/dist/remotes';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ExportVersions } from '@teambit/legacy/dist/scope/models/export-metadata';\nimport {\n persistRemotes,\n validateRemotes,\n removePendingDirs,\n} from '@teambit/legacy/dist/scope/component-ops/export-scope-components';\nimport { BitObject, Ref } from '@teambit/legacy/dist/scope/objects';\nimport { PersistFailed } from '@teambit/legacy/dist/scope/exceptions/persist-failed';\nimport { getAllVersionHashes } from '@teambit/legacy/dist/scope/component-ops/traverse-versions';\nimport { ExportAspect } from './export.aspect';\nimport { ExportCmd } from './export-cmd';\nimport { ResumeExportCmd } from './resume-export-cmd';\n\nconst HooksManagerInstance = HooksManager.getInstance();\n\nexport type OnExportIdTransformer = (id: BitId) => BitId;\n\ntype ModelComponentAndObjects = { component: ModelComponent; objects: BitObject[] };\ntype ObjectListPerName = { [name: string]: ObjectList };\ntype ObjectsPerRemote = {\n remote: Remote;\n objectList: ObjectList;\n exportedIds?: string[];\n};\ntype ObjectsPerRemoteExtended = ObjectsPerRemote & {\n objectListPerName: ObjectListPerName;\n idsToChangeLocally: BitIds;\n componentsAndObjects: ModelComponentAndObjects[];\n};\n\ntype ExportParams = {\n ids: string[];\n eject: boolean;\n allVersions: boolean;\n originDirectly: boolean;\n includeNonStaged: boolean;\n resumeExportId: string | undefined;\n ignoreMissingArtifacts: boolean;\n};\n\nexport class ExportMain {\n constructor(private workspace: Workspace, private remove: RemoveMain, private depResolver: DependencyResolverMain) {}\n\n async export(params: ExportParams) {\n HooksManagerInstance.triggerHook(PRE_EXPORT_HOOK, params);\n const { updatedIds, nonExistOnBitMap, missingScope, exported, removedIds, exportedLanes } =\n await this.exportComponents(params);\n let ejectResults;\n if (params.eject) ejectResults = await ejectExportedComponents(updatedIds);\n const exportResults = {\n componentsIds: exported,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n ejectResults,\n exportedLanes,\n };\n HooksManagerInstance.triggerHook(POST_EXPORT_HOOK, exportResults);\n if (Scope.onPostExport) {\n await Scope.onPostExport(exported, exportedLanes).catch((err) => {\n logger.error('fatal: onPostExport encountered an error (this error does not stop the process)', err);\n });\n }\n return exportResults;\n }\n\n async exportObjectList(\n manyObjectsPerRemote: ObjectsPerRemote[],\n scopeRemotes: Remotes,\n centralHubOptions?: Record<string, any>\n ) {\n const http = await Http.connect(CENTRAL_BIT_HUB_URL, CENTRAL_BIT_HUB_NAME);\n if (this.shouldPushToCentralHub(manyObjectsPerRemote, scopeRemotes)) {\n const objectList = this.transformToOneObjectListWithScopeData(manyObjectsPerRemote);\n await http.pushToCentralHub(objectList, centralHubOptions);\n } else {\n await this.pushToRemotesCarefully(manyObjectsPerRemote);\n }\n }\n\n private async exportComponents({ ids, includeNonStaged, originDirectly, ...params }: ExportParams): Promise<{\n updatedIds: BitId[];\n nonExistOnBitMap: BitId[];\n removedIds: BitIds;\n missingScope: BitId[];\n exported: BitId[];\n exportedLanes: Lane[];\n newIdsOnRemote: BitId[];\n }> {\n if (!this.workspace) throw new ConsumerNotFound();\n const consumer: Consumer = this.workspace.consumer;\n const { idsToExport, missingScope, idsWithFutureScope, laneObject } = await this.getComponentsToExport(\n ids,\n includeNonStaged\n );\n\n if (R.isEmpty(idsToExport)) {\n return {\n updatedIds: [],\n nonExistOnBitMap: [],\n removedIds: new BitIds(),\n missingScope,\n exported: [],\n newIdsOnRemote: [],\n exportedLanes: [],\n };\n }\n\n // validate lane readme component and ensure it has been snapped\n if (laneObject?.readmeComponent) {\n _throwForUnsnappedLaneReadme(laneObject);\n }\n const isOnMain = consumer.isOnMain();\n const { exported, updatedLocally, newIdsOnRemote } = await this.exportMany({\n ...params,\n scope: consumer.scope,\n ids: idsToExport,\n laneObject,\n originDirectly,\n idsWithFutureScope,\n isOnMain,\n });\n if (laneObject) await updateLanesAfterExport(consumer, laneObject);\n const removedIds = await this.getRemovedStagedBitIds();\n const { updatedIds, nonExistOnBitMap } = _updateIdsOnBitMap(consumer.bitMap, updatedLocally);\n await this.removeFromStagedConfig([...updatedIds, ...nonExistOnBitMap]);\n await linkComponents(updatedIds, consumer);\n Analytics.setExtraData('num_components', exported.length);\n // it is important to have consumer.onDestroy() before running the eject operation, we want the\n // export and eject operations to function independently. we don't want to lose the changes to\n // .bitmap file done by the export action in case the eject action has failed.\n await consumer.onDestroy();\n return {\n updatedIds,\n nonExistOnBitMap: nonExistOnBitMap.filter((id) => !removedIds.hasWithoutVersion(id)),\n removedIds,\n missingScope,\n exported,\n newIdsOnRemote,\n exportedLanes: laneObject ? [laneObject] : [],\n };\n }\n\n /**\n * the export process uses four steps. read more about it here: https://github.com/teambit/bit/pull/3371\n */\n async exportMany({\n scope,\n ids, // when exporting a lane, the ids are the lane component ids\n laneObject,\n allVersions,\n originDirectly,\n idsWithFutureScope,\n resumeExportId,\n ignoreMissingArtifacts,\n isOnMain = true,\n exportHeadsOnly, // relevant when exporting from bare-scope, especially when re-exporting existing versions, the normal calculation based on getDivergeData won't work\n }: {\n scope: Scope;\n ids: BitIds;\n laneObject?: Lane;\n allVersions: boolean;\n originDirectly?: boolean;\n idsWithFutureScope: BitIds;\n resumeExportId?: string | undefined;\n ignoreMissingArtifacts?: boolean;\n isOnMain?: boolean;\n exportHeadsOnly?: boolean;\n }): Promise<{ exported: BitIds; updatedLocally: BitIds; newIdsOnRemote: BitId[] }> {\n logger.debugAndAddBreadCrumb('scope.exportMany', 'ids: {ids}', { ids: ids.toString() });\n const scopeRemotes: Remotes = await getScopeRemotes(scope);\n const idsGroupedByScope = ids.toGroupByScopeName(idsWithFutureScope);\n\n /**\n * when a component is exported for the first time, and the lane-scope is not the same as the component-scope, it's\n * important to validate that there is no such component in the original scope. otherwise, later, it'll be impossible\n * to merge the lane because these two components don't have any snap in common.\n */\n const validateTargetScopeForLanes = async () => {\n if (!laneObject) {\n return;\n }\n const newIds = BitIds.fromArray(ids.filter((id) => !id.hasScope()));\n const newIdsGrouped = newIds.toGroupByScopeName(idsWithFutureScope);\n await mapSeries(Object.keys(newIdsGrouped), async (scopeName) => {\n if (scopeName === laneObject.scope) {\n // this validation is redundant if the lane-component is in the same scope as the lane-object\n return;\n }\n // by getting the remote we also validate that this scope actually exists.\n const remote = await scopeRemotes.resolve(scopeName, scope);\n const list = await remote.list();\n const listIds = BitIds.fromArray(list.map((listItem) => listItem.id));\n newIdsGrouped[scopeName].forEach((id) => {\n if (listIds.hasWithoutScopeAndVersion(id)) {\n throw new Error(`unable to export a lane with a new component \"${id.toString()}\", which has the default-scope \"${scopeName}\".\n this scope already has a component with the same name. as such, it'll be impossible to merge the lane later because these two components are different`);\n }\n });\n });\n };\n\n /**\n * by default, when exporting a lane, it traverse from the Lane's head and therefore it may skip the main head.\n * later, if for some reason the original component was deleted in its scope, the head object will be missing.\n */\n const addMainHeadIfPossible = async (allHashes: Ref[], modelComponent: ModelComponent) => {\n const head = modelComponent.head;\n if (!head) return;\n if (allHashes.find((h) => h.hash === head.hash)) return; // head is already in the list\n if (!(await scope.objects.has(head))) return; // it should not happen. but if it does, we don't want to block the export\n allHashes.push(head);\n };\n\n const getVersionsToExport = async (modelComponent: ModelComponent, lane?: Lane): Promise<string[]> => {\n if (exportHeadsOnly) {\n const head = modelComponent.head;\n if (!head)\n throw new Error(\n `getVersionsToExport should export the head only, but the head of ${modelComponent.id()} is missing`\n );\n return modelComponent.switchHashesWithTagsIfExist([head]);\n }\n const localTagsOrHashes = await modelComponent.getLocalTagsOrHashes(scope.objects);\n if (!allVersions && !lane) {\n return localTagsOrHashes;\n }\n let stopAt: Ref[] | undefined;\n if (lane && !allVersions) {\n // if lane is exported, components from other remotes may be part of this lane. we need their history.\n // because their history could already exist on the remote from previous exports, we search this id in all\n // remote-refs files of this lane-scope. while traversing the local history, stop when finding one of the remotes.\n stopAt = await scope.objects.remoteLanes.getRefsFromAllLanesOnScope(lane.scope, modelComponent.toBitId());\n if (modelComponent.laneHeadRemote) stopAt.push(modelComponent.laneHeadRemote);\n }\n const allHashes = await getAllVersionHashes({ modelComponent, repo: scope.objects, stopAt });\n await addMainHeadIfPossible(allHashes, modelComponent);\n return modelComponent.switchHashesWithTagsIfExist(allHashes);\n };\n\n await validateTargetScopeForLanes();\n const groupedByScopeString = Object.keys(idsGroupedByScope)\n .map((scopeName) => `scope \"${scopeName}\": ${idsGroupedByScope[scopeName].toString()}`)\n .join(', ');\n logger.debug(`export-scope-components, export to the following scopes ${groupedByScopeString}`);\n const exportVersions: ExportVersions[] = [];\n\n const populateExportMetadata = async (modelComponent: ModelComponent) => {\n const localTagsOrHashes = await modelComponent.getLocalTagsOrHashes(scope.objects);\n const head = modelComponent.getHeadRegardlessOfLane();\n if (!head) {\n throw new Error(`unable to export ${modelComponent.id()}, head is missing`);\n }\n exportVersions.push({\n id: modelComponent.toBitId(),\n versions: localTagsOrHashes,\n head,\n });\n };\n\n const getUpdatedObjectsToExport = async (\n remoteNameStr: string,\n bitIds: BitIds,\n lane?: Lane\n ): Promise<ObjectsPerRemoteExtended> => {\n bitIds.throwForDuplicationIgnoreVersion();\n const remote: Remote = await scopeRemotes.resolve(remoteNameStr, scope);\n const idsToChangeLocally = BitIds.fromArray(bitIds.filter((id) => !id.scope || id.scope === remoteNameStr));\n const componentsAndObjects: ModelComponentAndObjects[] = [];\n const objectList = new ObjectList();\n const objectListPerName: ObjectListPerName = {};\n const processModelComponent = async (modelComponent: ModelComponent) => {\n const versionToExport = await getVersionsToExport(modelComponent, lane);\n modelComponent.clearStateData();\n const objectItems = await modelComponent.collectVersionsObjects(\n scope.objects,\n versionToExport,\n ignoreMissingArtifacts\n );\n const objectsList = await new ObjectList(objectItems).toBitObjects();\n const componentAndObject = { component: modelComponent, objects: objectsList.getAll() };\n await this.convertToCorrectScopeHarmony(scope, componentAndObject, remoteNameStr, bitIds, idsWithFutureScope);\n await populateExportMetadata(modelComponent);\n const remoteObj = { url: remote.host, name: remote.name, date: Date.now().toString() };\n modelComponent.addScopeListItem(remoteObj);\n componentsAndObjects.push(componentAndObject);\n const componentBuffer = await modelComponent.compress();\n const componentData = { ref: modelComponent.hash(), buffer: componentBuffer, type: modelComponent.getType() };\n const objectsBuffer = await Promise.all(\n componentAndObject.objects.map(async (obj) => ({\n ref: obj.hash(),\n buffer: await obj.compress(),\n type: obj.getType(),\n }))\n );\n const allObjectsData = [componentData, ...objectsBuffer];\n objectListPerName[modelComponent.name] = new ObjectList(allObjectsData);\n objectList.addIfNotExist(allObjectsData);\n };\n\n const modelComponents = await mapSeries(bitIds, (id) => scope.getModelComponent(id));\n // super important! otherwise, the processModelComponent() changes objects in memory, while the key remains the same\n scope.objects.clearCache();\n // don't use Promise.all, otherwise, it'll throw \"JavaScript heap out of memory\" on a large set of data\n await mapSeries(modelComponents, processModelComponent);\n if (lane) {\n lane.components.forEach((c) => {\n const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(c.id);\n c.id = c.id.hasScope() ? c.id : c.id.changeScope(idWithFutureScope?.scope || lane.scope);\n });\n if (lane.readmeComponent) {\n lane.readmeComponent.id = lane.readmeComponent.id.hasScope()\n ? lane.readmeComponent.id\n : lane.readmeComponent.id.changeScope(lane.scope);\n }\n const laneData = { ref: lane.hash(), buffer: await lane.compress() };\n objectList.addIfNotExist([laneData]);\n }\n\n return { remote, objectList, objectListPerName, idsToChangeLocally, componentsAndObjects };\n };\n\n const manyObjectsPerRemote = laneObject\n ? [await getUpdatedObjectsToExport(laneObject.scope, ids, laneObject)]\n : await mapSeries(Object.keys(idsGroupedByScope), (scopeName) =>\n getUpdatedObjectsToExport(scopeName, idsGroupedByScope[scopeName], laneObject)\n );\n\n const getExportMetadata = async (): Promise<ObjectItem> => {\n const exportMetadata = new ExportMetadata({ exportVersions });\n const exportMetadataObj = await exportMetadata.compress();\n const exportMetadataItem: ObjectItem = {\n ref: exportMetadata.hash(),\n buffer: exportMetadataObj,\n type: ExportMetadata.name,\n };\n return exportMetadataItem;\n };\n\n const pushAllToCentralHub = async () => {\n const objectList = this.transformToOneObjectListWithScopeData(manyObjectsPerRemote);\n objectList.addIfNotExist([await getExportMetadata()]);\n const http = await Http.connect(CENTRAL_BIT_HUB_URL, CENTRAL_BIT_HUB_NAME);\n const pushResults = await http.pushToCentralHub(objectList);\n const { failedScopes, successIds, errors } = pushResults;\n if (failedScopes.length) {\n throw new PersistFailed(failedScopes, errors);\n }\n const exportedBitIds = successIds.map((id) => BitId.parse(id, true));\n if (manyObjectsPerRemote.length === 1) {\n // when on a lane, it's always exported to the lane. and the ids can be from different scopes, so having the\n // filter below, will remove these components from the output of bit-export at the end.\n manyObjectsPerRemote[0].exportedIds = exportedBitIds.map((id) => id.toString());\n } else {\n manyObjectsPerRemote.forEach((objectPerRemote) => {\n const idsPerScope = exportedBitIds.filter((id) => id.scope === objectPerRemote.remote.name);\n // it's possible that idsPerScope is an empty array, in case the objects were exported already before\n objectPerRemote.exportedIds = idsPerScope.map((id) => id.toString());\n });\n }\n };\n\n const updateLocalObjects = async (\n lane?: Lane\n ): Promise<Array<{ exported: BitIds; updatedLocally: BitIds; newIdsOnRemote: BitId[] }>> => {\n return mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemoteExtended) => {\n const { remote, idsToChangeLocally, componentsAndObjects, exportedIds } = objectsPerRemote;\n const remoteNameStr = remote.name;\n // on Harmony, version hashes don't change, the new versions will replace the old ones.\n // on the legacy, even when the hash changed, it's fine to have the old objects laying around.\n // (could be removed in the future by some garbage collection).\n const removeComponentVersions = false;\n const refsToRemove = await Promise.all(\n idsToChangeLocally.map((id) => scope.sources.getRefsForComponentRemoval(id, removeComponentVersions))\n );\n scope.objects.removeManyObjects(refsToRemove.flat());\n // @ts-ignore\n idsToChangeLocally.forEach((id) => {\n scope.createSymlink(id, idsWithFutureScope.searchWithoutScopeAndVersion(id)?.scope || remoteNameStr);\n });\n componentsAndObjects.forEach((componentObject) => scope.sources.put(componentObject));\n\n // update lanes\n if (lane) {\n if (idsToChangeLocally.length) {\n // otherwise, we don't want to update scope-name of components in the lane object\n scope.objects.add(lane);\n }\n await scope.objects.remoteLanes.syncWithLaneObject(remoteNameStr, lane);\n }\n\n if (isOnMain && !lane) {\n // all exported from main\n const remoteLaneId = LaneId.from(DEFAULT_LANE, remoteNameStr);\n await scope.objects.remoteLanes.loadRemoteLane(remoteLaneId);\n await Promise.all(\n componentsAndObjects.map(async ({ component }) => {\n await scope.objects.remoteLanes.addEntry(remoteLaneId, component.toBitId(), component.getHead());\n })\n );\n }\n\n await scope.objects.persist();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const newIdsOnRemote = exportedIds!.map((id) => BitId.parse(id, true));\n // remove version. exported component might have multiple versions exported\n const idsWithRemoteScope: BitId[] = newIdsOnRemote.map((id) => id.changeVersion(undefined));\n const idsWithRemoteScopeUniq = BitIds.uniqFromArray(idsWithRemoteScope);\n return {\n newIdsOnRemote,\n exported: idsWithRemoteScopeUniq,\n updatedLocally: BitIds.fromArray(\n idsWithRemoteScopeUniq.filter((id) => idsToChangeLocally.hasWithoutScopeAndVersion(id))\n ),\n };\n });\n };\n\n if (resumeExportId) {\n const remotes = manyObjectsPerRemote.map((o) => o.remote);\n await validateRemotes(remotes, resumeExportId);\n await persistRemotes(manyObjectsPerRemote, resumeExportId);\n } else if (this.shouldPushToCentralHub(manyObjectsPerRemote, scopeRemotes, originDirectly)) {\n await pushAllToCentralHub();\n } else {\n // await pushToRemotes();\n await this.pushToRemotesCarefully(manyObjectsPerRemote, resumeExportId);\n }\n\n loader.start('updating data locally...');\n const results = await updateLocalObjects(laneObject);\n return {\n newIdsOnRemote: R.flatten(results.map((r) => r.newIdsOnRemote)),\n exported: BitIds.uniqFromArray(R.flatten(results.map((r) => r.exported))),\n updatedLocally: BitIds.uniqFromArray(R.flatten(results.map((r) => r.updatedLocally))),\n };\n }\n\n private transformToOneObjectListWithScopeData(objectsPerRemote: ObjectsPerRemote[]): ObjectList {\n const objectList = new ObjectList();\n objectsPerRemote.forEach((objPerRemote) => {\n objPerRemote.objectList.addScopeName(objPerRemote.remote.name);\n objectList.mergeObjectList(objPerRemote.objectList);\n });\n return objectList;\n }\n\n private async pushToRemotesCarefully(manyObjectsPerRemote: ObjectsPerRemote[], resumeExportId?: string) {\n const remotes = manyObjectsPerRemote.map((o) => o.remote);\n const clientId = resumeExportId || Date.now().toString();\n await this.pushRemotesPendingDir(clientId, manyObjectsPerRemote, resumeExportId);\n await validateRemotes(remotes, clientId, Boolean(resumeExportId));\n await persistRemotes(manyObjectsPerRemote, clientId);\n }\n\n private async pushRemotesPendingDir(\n clientId: string,\n manyObjectsPerRemote: ObjectsPerRemote[],\n resumeExportId?: string\n ): Promise<void> {\n if (resumeExportId) {\n logger.debug('pushRemotesPendingDir - skip as the resumeExportId was passed');\n // no need to transfer the objects, they're already on the server. also, since this clientId\n // exists already on the remote pending-dir, it'll cause a collision.\n return;\n }\n const pushOptions = { clientId };\n const pushedRemotes: Remote[] = [];\n await mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemote) => {\n const { remote, objectList } = objectsPerRemote;\n loader.start(`transferring ${objectList.count()} objects to the remote \"${remote.name}\"...`);\n try {\n await remote.pushMany(objectList, pushOptions, {});\n logger.debugAndAddBreadCrumb(\n 'export-scope-components.pushRemotesPendingDir',\n 'successfully pushed all objects to the pending-dir directory on the remote'\n );\n pushedRemotes.push(remote);\n } catch (err: any) {\n logger.warnAndAddBreadCrumb('exportMany', 'failed pushing objects to the remote');\n await removePendingDirs(pushedRemotes, clientId);\n throw err;\n }\n });\n }\n\n private shouldPushToCentralHub(\n manyObjectsPerRemote: ObjectsPerRemote[],\n scopeRemotes: Remotes,\n originDirectly = false\n ): boolean {\n if (originDirectly) return false;\n const hubRemotes = manyObjectsPerRemote.filter((m) => scopeRemotes.isHub(m.remote.name));\n if (!hubRemotes.length) return false;\n if (hubRemotes.length === manyObjectsPerRemote.length) return true; // all are hub\n // @todo: maybe create a flag \"no-central\" to support this workflow\n throw new BitError(\n `some of your components are configured to be exported to a local scope and some to the bit.cloud hub. this is not supported`\n );\n }\n\n /**\n * Component and dependencies id changes:\n * When exporting components with dependencies to a bare-scope, some of the dependencies may be created locally and as\n * a result their scope-name is null. Before the bare-scope gets the components, convert these scope names\n * to the bare-scope name.\n *\n * This is the Harmony version of \"convertToCorrectScope\". No more codemod and no more hash changes.\n */\n private async convertToCorrectScopeHarmony(\n scope: Scope,\n componentsObjects: ModelComponentAndObjects,\n remoteScope: string,\n exportingIds: BitIds,\n idsWithFutureScope: BitIds,\n shouldFork = false // not in used currently, but might be needed soon\n ): Promise<boolean> {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const versionsObjects: Version[] = componentsObjects.objects.filter((object) => object instanceof Version);\n const haveVersionsChanged = await Promise.all(\n versionsObjects.map(async (objectVersion: Version) => {\n const didDependencyChange = changeDependencyScope(objectVersion);\n changeExtensionsScope(objectVersion);\n this.depResolver.updateDepsOnLegacyExport(objectVersion, getIdWithUpdatedScope.bind(this));\n\n return didDependencyChange;\n })\n );\n const shouldChangeScope = shouldFork\n ? remoteScope !== componentsObjects.component.scope\n : !componentsObjects.component.scope;\n const hasComponentChanged = shouldChangeScope;\n if (shouldChangeScope) {\n const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(componentsObjects.component.toBitId());\n componentsObjects.component.scope = idWithFutureScope?.scope || remoteScope;\n }\n\n // return true if one of the versions has changed or the component itself\n return haveVersionsChanged.some((x) => x) || hasComponentChanged;\n\n function changeDependencyScope(version: Version): boolean {\n let hasChanged = false;\n version.getAllDependencies().forEach((dependency) => {\n const updatedScope = getIdWithUpdatedScope(dependency.id);\n if (!updatedScope.isEqual(dependency.id)) {\n hasChanged = true;\n dependency.id = updatedScope;\n }\n });\n const ids: BitIds = version.flattenedDependencies;\n const needsChange = ids.some((id) => id.scope !== remoteScope);\n if (needsChange) {\n version.flattenedDependencies = getBitIdsWithUpdatedScope(ids);\n version.flattenedEdges = version.flattenedEdges.map((edge) => ({\n ...edge,\n source: getIdWithUpdatedScope(edge.source),\n target: getIdWithUpdatedScope(edge.target),\n }));\n hasChanged = true;\n }\n return hasChanged;\n }\n\n function changeExtensionsScope(version: Version): boolean {\n let hasChanged = false;\n version.extensions.forEach((ext) => {\n if (ext.extensionId) {\n const updatedScope = getIdWithUpdatedScope(ext.extensionId);\n if (!updatedScope.isEqual(ext.extensionId)) {\n hasChanged = true;\n ext.extensionId = updatedScope;\n }\n }\n });\n return hasChanged;\n }\n\n function getIdWithUpdatedScope(dependencyId: BitId): BitId {\n if (dependencyId.scope === remoteScope) {\n return dependencyId; // nothing has changed\n }\n // either, dependencyId is new, or this dependency is among the components to export (in case of fork)\n if (!dependencyId.scope || exportingIds.hasWithoutVersion(dependencyId)) {\n const depId = ModelComponent.fromBitId(dependencyId);\n // todo: use 'load' for async and switch the foreach with map.\n const dependencyObject = scope.objects.loadSync(depId.hash());\n if (dependencyObject instanceof Symlink) {\n return dependencyId.changeScope(dependencyObject.realScope);\n }\n const currentlyExportedDep = idsWithFutureScope.searchWithoutScopeAndVersion(dependencyId);\n if (currentlyExportedDep && currentlyExportedDep.scope) {\n // it's possible that a dependency has a different defaultScope settings.\n return dependencyId.changeScope(currentlyExportedDep.scope);\n }\n return dependencyId.changeScope(remoteScope);\n }\n return dependencyId;\n }\n function getBitIdsWithUpdatedScope(bitIds: BitIds): BitIds {\n const updatedIds = bitIds.map((id) => getIdWithUpdatedScope(id));\n return BitIds.fromArray(updatedIds);\n }\n }\n\n private async removeFromStagedConfig(ids: BitId[]) {\n const componentIds = await this.workspace.resolveMultipleComponentIds(ids);\n const stagedConfig = await this.workspace.scope.getStagedConfig();\n componentIds.map((compId) => stagedConfig.removeComponentConfig(compId));\n await stagedConfig.write();\n }\n\n private async getComponentsToExport(\n ids: string[],\n includeNonStaged: boolean\n ): Promise<{ idsToExport: BitIds; missingScope: BitId[]; idsWithFutureScope: BitIds; laneObject?: Lane }> {\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const idsHaveWildcard = hasWildcard(ids);\n const filterNonScopeIfNeeded = async (\n bitIds: BitIds\n ): Promise<{ idsToExport: BitIds; missingScope: BitId[]; idsWithFutureScope: BitIds }> => {\n const idsWithFutureScope = await this.getIdsWithFutureScope(bitIds);\n const [idsToExport, missingScope] = R.partition((id) => {\n const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(id);\n if (!idWithFutureScope) throw new Error(`idsWithFutureScope is missing ${id.toString()}`);\n return idWithFutureScope.hasScope();\n }, bitIds);\n return { idsToExport: BitIds.fromArray(idsToExport), missingScope, idsWithFutureScope };\n };\n if (isUserTryingToExportLanes(consumer)) {\n if (ids.length) {\n throw new GeneralError(`when checked out to a lane, all its components are exported. please omit the ids`);\n }\n const { componentsToExport, laneObject } = await this.getLaneCompIdsToExport(consumer, includeNonStaged);\n const loaderMsg = componentsToExport.length > 1 ? BEFORE_EXPORTS : BEFORE_EXPORT;\n loader.start(loaderMsg);\n const filtered = await filterNonScopeIfNeeded(componentsToExport);\n return { ...filtered, laneObject };\n }\n if (!ids.length || idsHaveWildcard) {\n loader.start(BEFORE_LOADING_COMPONENTS);\n const exportPendingComponents: BitIds = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds();\n const componentsToExport = idsHaveWildcard\n ? ComponentsList.filterComponentsByWildcard(exportPendingComponents, ids)\n : exportPendingComponents;\n const loaderMsg = componentsToExport.length > 1 ? BEFORE_EXPORTS : BEFORE_EXPORT;\n loader.start(loaderMsg);\n return filterNonScopeIfNeeded(componentsToExport);\n }\n loader.start(BEFORE_EXPORT); // show single export\n const parsedIds = await Promise.all(ids.map((id) => getParsedId(consumer, id)));\n const statuses = await consumer.getManyComponentsStatuses(parsedIds);\n statuses.forEach(({ id, status }) => {\n if (status.nested) {\n throw new GeneralError(\n `unable to export \"${id.toString()}\", the component is not fully available. please use \"bit import\" first`\n );\n }\n });\n return filterNonScopeIfNeeded(BitIds.fromArray(parsedIds));\n }\n\n private async getIdsWithFutureScope(ids: BitIds): Promise<BitIds> {\n const idsArrayP = ids.map(async (id) => {\n if (id.hasScope()) return id;\n const componentId = await this.workspace.resolveComponentId(id);\n const finalScope = await this.workspace.componentDefaultScope(componentId);\n if (finalScope) {\n return id.changeScope(finalScope);\n }\n return id;\n });\n const idsArray = await Promise.all(idsArrayP);\n return BitIds.fromArray(idsArray);\n }\n\n private async getLaneCompIdsToExport(\n consumer: Consumer,\n includeNonStaged: boolean\n ): Promise<{ componentsToExport: BitIds; laneObject: Lane }> {\n const currentLaneId = consumer.getCurrentLaneId();\n const laneObject = await consumer.scope.loadLane(currentLaneId);\n if (!laneObject) {\n throw new Error(`fatal: unable to load the current lane object (${currentLaneId.toString()})`);\n }\n loader.start(BEFORE_LOADING_COMPONENTS);\n const componentsList = new ComponentsList(consumer);\n const componentsToExportWithoutRemoved = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds(laneObject);\n const removedStagedBitIds = await this.getRemovedStagedBitIds();\n const componentsToExport = BitIds.uniqFromArray([...componentsToExportWithoutRemoved, ...removedStagedBitIds]);\n return { componentsToExport, laneObject };\n }\n\n private async getRemovedStagedBitIds(): Promise<BitIds> {\n const removedStaged = await this.remove.getRemovedStaged();\n return BitIds.fromArray(removedStaged.map((r) => r._legacy).map((id) => id.changeVersion(undefined)));\n }\n\n static runtime = MainRuntime;\n static dependencies = [CLIAspect, ScopeAspect, WorkspaceAspect, RemoveAspect, DependencyResolverAspect];\n static async provider([cli, scope, workspace, remove, depResolver]: [\n CLIMain,\n ScopeMain,\n Workspace,\n RemoveMain,\n DependencyResolverMain\n ]) {\n const exportMain = new ExportMain(workspace, remove, depResolver);\n cli.register(new ResumeExportCmd(scope), new ExportCmd(exportMain));\n return exportMain;\n }\n}\n\nExportAspect.addRuntime(ExportMain);\n\nfunction _updateIdsOnBitMap(bitMap: BitMap, componentsIds: BitIds): { updatedIds: BitId[]; nonExistOnBitMap: BitIds } {\n const updatedIds = [];\n const nonExistOnBitMap = new BitIds();\n componentsIds.forEach((componentsId) => {\n const resultId = bitMap.updateComponentId(componentsId, true);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (resultId.hasVersion()) updatedIds.push(resultId);\n else nonExistOnBitMap.push(resultId);\n });\n return { updatedIds, nonExistOnBitMap };\n}\n\nasync function getParsedId(consumer: Consumer, id: string): Promise<BitId> {\n // reason why not calling `consumer.getParsedId()` first is because a component might not be on\n // .bitmap and only in the scope. we support this case and enable to export\n const parsedId: BitId = await consumer.scope.getParsedId(id);\n if (parsedId.hasScope()) return parsedId;\n // parsing id from the scope, doesn't provide the scope-name in case it's missing, in this case\n // get the id including the scope from the consumer.\n try {\n return consumer.getParsedId(id);\n } catch (err: any) {\n // not in the consumer, just return the one parsed without the scope name\n return parsedId;\n }\n}\n\nasync function linkComponents(ids: BitId[], consumer: Consumer): Promise<void> {\n // we don't have much of a choice here, we have to load all the exported components in order to link them\n // some of the components might be authored, some might be imported.\n // when a component has dists, we need the consumer-component object to retrieve the dists info.\n const components = await Promise.all(ids.map((id) => consumer.loadComponentFromModel(id)));\n const nodeModuleLinker = new NodeModuleLinker(components, consumer, consumer.bitMap);\n await nodeModuleLinker.link();\n}\n\nasync function ejectExportedComponents(componentsIds): Promise<EjectResults> {\n const consumer: Consumer = await loadConsumer(undefined, true);\n let ejectResults: EjectResults;\n try {\n const ejectComponents = new EjectComponents(consumer, componentsIds);\n ejectResults = await ejectComponents.eject();\n } catch (err: any) {\n const ejectErr = `The components ${componentsIds.map((c) => c.toString()).join(', ')} were exported successfully.\n However, the eject operation has failed due to an error: ${err.msg || err}`;\n logger.error(ejectErr, err);\n throw new Error(ejectErr);\n }\n // run the consumer.onDestroy() again, to write the changes done by the eject action to .bitmap\n await consumer.onDestroy();\n return ejectResults;\n}\n\nfunction _throwForUnsnappedLaneReadme(lane: Lane) {\n const readmeComponent = lane.readmeComponent as LaneReadmeComponent;\n\n const isValid =\n readmeComponent?.head &&\n lane.getComponent(readmeComponent.id) &&\n lane.getComponentHead(readmeComponent.id)?.isEqual(readmeComponent?.head);\n\n if (!isValid) {\n throw new BitError(\n `${lane?.name} has a readme component ${readmeComponent.id} that hasn't been snapped on the lane.\n Please run either snap -a or snap ${readmeComponent.id} to snap the component on the lane before exporting it.`\n );\n }\n}\n\nasync function updateLanesAfterExport(consumer: Consumer, lane: Lane) {\n const currentLane = consumer.getCurrentLaneId();\n const isCurrentLane = lane.name === currentLane.name;\n if (!isCurrentLane) {\n throw new Error(\n `updateLanesAfterExport should get called only with current lane, got ${lane.name}, current ${currentLane.name}`\n );\n }\n consumer.setCurrentLane(lane.toLaneId(), true);\n consumer.scope.scopeJson.removeLaneFromNew(lane.name);\n lane.isNew = false;\n}\n\nexport function isUserTryingToExportLanes(consumer: Consumer) {\n return consumer.isOnLane();\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAKA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/export",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.907",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/scope/export",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.scope",
|
|
8
8
|
"name": "export",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.907"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
"@babel/runtime": "7.20.0",
|
|
17
17
|
"core-js": "^3.0.0",
|
|
18
18
|
"@teambit/harmony": "0.3.3",
|
|
19
|
-
"@teambit/cli": "0.0.
|
|
19
|
+
"@teambit/cli": "0.0.605",
|
|
20
20
|
"@teambit/bit-error": "0.0.402",
|
|
21
|
-
"@teambit/dependency-resolver": "0.0.
|
|
22
|
-
"@teambit/lane-id": "0.0.
|
|
23
|
-
"@teambit/remove": "0.0.
|
|
24
|
-
"@teambit/scope": "0.0.
|
|
25
|
-
"@teambit/workspace": "0.0.
|
|
21
|
+
"@teambit/dependency-resolver": "0.0.907",
|
|
22
|
+
"@teambit/lane-id": "0.0.123",
|
|
23
|
+
"@teambit/remove": "0.0.84",
|
|
24
|
+
"@teambit/scope": "0.0.907",
|
|
25
|
+
"@teambit/workspace": "0.0.907"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/lodash": "4.14.165",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@types/node": "12.20.4"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"@teambit/legacy": "1.0.
|
|
37
|
+
"@teambit/legacy": "1.0.387",
|
|
38
38
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
39
39
|
"react": "^16.8.0 || ^17.0.0"
|
|
40
40
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_export@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_export@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_export@0.0.907/dist/export.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_export@0.0.907/dist/export.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
Binary file
|