@teambit/export 1.0.511 → 1.0.513
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/__bit_junit.xml +1 -1
- package/artifacts/preview/teambit_scope_export-preview.js +1 -1
- package/artifacts/schema.json +6525 -0
- package/dist/export-scope-components.d.ts +1 -1
- package/dist/export-scope-components.js +10 -10
- package/dist/export-scope-components.js.map +1 -1
- package/dist/export.main.runtime.d.ts +1 -1
- package/dist/export.main.runtime.js +7 -7
- package/dist/export.main.runtime.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/{preview-1736711473672.js → preview-1736879479828.js} +2 -2
- package/package.json +21 -21
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ComponentIdList } from '@teambit/component-id';
|
2
2
|
import { Remote } from '@teambit/scope.remotes';
|
3
3
|
import { MergeResult, Scope } from '@teambit/legacy.scope';
|
4
|
-
import { Lane, LaneHistory, BitObjectList, ObjectList } from '@teambit/
|
4
|
+
import { Lane, LaneHistory, BitObjectList, ObjectList } from '@teambit/objects';
|
5
5
|
/**
|
6
6
|
* ** Legacy and "bit sign" Only **
|
7
7
|
*
|
@@ -52,16 +52,16 @@ function _legacy2() {
|
|
52
52
|
};
|
53
53
|
return data;
|
54
54
|
}
|
55
|
-
function
|
56
|
-
const data = require("@teambit/
|
57
|
-
|
55
|
+
function _objects() {
|
56
|
+
const data = require("@teambit/objects");
|
57
|
+
_objects = function () {
|
58
58
|
return data;
|
59
59
|
};
|
60
60
|
return data;
|
61
61
|
}
|
62
|
-
function
|
62
|
+
function _scope2() {
|
63
63
|
const data = require("@teambit/scope.remote-actions");
|
64
|
-
|
64
|
+
_scope2 = function () {
|
65
65
|
return data;
|
66
66
|
};
|
67
67
|
return data;
|
@@ -119,7 +119,7 @@ async function saveObjects(scope, objectList) {
|
|
119
119
|
mergedLaneHistories
|
120
120
|
} = await mergeObjects(scope, bitObjectList);
|
121
121
|
const mergedComponents = mergedComponentsResults.map(_ => _.mergedComponent);
|
122
|
-
const versionObjects = objectsNotRequireMerge.filter(o => o instanceof
|
122
|
+
const versionObjects = objectsNotRequireMerge.filter(o => o instanceof _objects().Version);
|
123
123
|
const versionsHistory = await updateVersionHistory(scope, mergedComponents, versionObjects);
|
124
124
|
const allObjects = [...mergedComponents, ...mergedLanes, ...objectsNotRequireMerge, ...versionsHistory, ...mergedLaneHistories];
|
125
125
|
scope.objects.validateObjects(true, allObjects);
|
@@ -277,7 +277,7 @@ async function throwForMissingLocalDependencies(scope, versions, components, lan
|
|
277
277
|
const getOriginCompWithVer = () => {
|
278
278
|
const compObj = components.find(c => c.toComponentId().isEqualWithoutVersion(originComp));
|
279
279
|
if (!compObj) return originComp;
|
280
|
-
const tag = compObj.getTagOfRefIfExists(
|
280
|
+
const tag = compObj.getTagOfRefIfExists(_objects().Ref.from(originComp.version));
|
281
281
|
if (tag) return originComp.changeVersion(tag);
|
282
282
|
return originComp;
|
283
283
|
};
|
@@ -302,7 +302,7 @@ async function throwForMissingLocalDependencies(scope, versions, components, lan
|
|
302
302
|
async function validateRemotes(remotes, clientId, isResumingExport = true) {
|
303
303
|
_legacy3().loader.start('verifying that objects can be merged on the remotes...');
|
304
304
|
try {
|
305
|
-
await Promise.all(remotes.map(remote => remote.action(
|
305
|
+
await Promise.all(remotes.map(remote => remote.action(_scope2().ExportValidate.name, {
|
306
306
|
clientId,
|
307
307
|
isResumingExport: true
|
308
308
|
})));
|
@@ -329,7 +329,7 @@ async function persistRemotes(manyObjectsPerRemote, clientId) {
|
|
329
329
|
for (let i = 0; i < maxRetries; i += 1) {
|
330
330
|
try {
|
331
331
|
// eslint-disable-next-line no-await-in-loop
|
332
|
-
const exportedIds = await remote.action(
|
332
|
+
const exportedIds = await remote.action(_scope2().ExportPersist.name, {
|
333
333
|
clientId
|
334
334
|
});
|
335
335
|
objectsPerRemote.exportedIds = exportedIds;
|
@@ -360,7 +360,7 @@ async function resumeExport(scope, exportId, remotes) {
|
|
360
360
|
return (0, _lodash().compact)(remotesForPersist.map(r => r.exportedIds).flat());
|
361
361
|
}
|
362
362
|
async function removePendingDirs(pushedRemotes, clientId) {
|
363
|
-
await Promise.all(pushedRemotes.map(remote => remote.action(
|
363
|
+
await Promise.all(pushedRemotes.map(remote => remote.action(_scope2().RemovePendingDir.name, {
|
364
364
|
clientId
|
365
365
|
})));
|
366
366
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_componentId","_legacy","_scope","_legacy2","_scope2","_scope3","_legacy3","_toolboxPromise","_harmonyModules","e","__esModule","default","exportManyBareScope","scope","objectList","logger","debugAndAddBreadCrumb","objects","length","mergedIds","saveObjects","scopeComponentsImporter","scopeImporter","importManyFromOriginalScopes","bitObjectList","toBitObjects","objectsNotRequireMerge","getObjectsNotRequireMerge","mergedComponentsResults","mergedLanes","mergedLaneHistories","mergeObjects","mergedComponents","map","_","mergedComponent","versionObjects","filter","o","Version","versionsHistory","updateVersionHistory","allObjects","validateObjects","writeObjectsToTheFS","debug","versionsWithComponentId","obj","origin","id","versionsWithOrigin","versionWithoutOrigin","partition","v","versionHistoryOfVersionsWithOrigin","_updateVersionHistoryForVersionsWithOrigin","versionHistoryOfVersionsWithoutOrigin","_updateVersionHistoryForVersionsWithoutOrigin","mutatedVersionObjects","squashed","unrelated","Promise","all","modelComp","updateRebasedVersionHistory","versionsHistoryNoNull","compact","compId","toString","join","componentVersionMap","Map","forEach","version","component","find","c","name","error","hash","versions","get","set","pMapPool","undefined","concurrency","concurrentComponentsLimit","throwForMissingDeps","components","getComponents","lanesObjects","getLanes","getVersions","lanesHistory","getLaneHistories","mergeResults","errors","sources","mergeComponents","mergeAllLanesResults","mapSeries","laneObject","mergeLane","lanesErrors","r","mergeErrors","flat","componentsNeedUpdate","result","ComponentNeedsUpdate","componentsWithConflicts","MergeConflict","idsAndVersions","idsAndVersionsWithConflicts","sortBy","property","idsOfNeedUpdateComps","lane","clearObjectsFromCache","MergeConflictOnRemote","throwForMissingLocalDependencies","mergedVersions","mergedLanesComponents","getMergedIds","toBitId","changeVersion","ComponentIdList","uniqFromArray","laneHistory","existingLaneHistory","load","merge","lanes","compsWithHeads","toBitIds","toComponentIdWithHead","originComp","getOriginCompWithVer","compObj","toComponentId","isEqualWithoutVersion","tag","getTagOfRefIfExists","Ref","from","depsIds","getAllFlattenedDependencies","depId","existingModelComponent","getModelComponentIfExist","ComponentNotFound","versionRef","getRef","Error","objectExist","getCache","has","isEqual","validateRemotes","remotes","clientId","isResumingExport","loader","start","remote","action","ExportValidate","err","errorAndAddBreadCrumb","removePendingDirs","persistRemotes","manyObjectsPerRemote","persistedRemotes","objectsPerRemote","maxRetries","succeed","lastErrMsg","i","exportedIds","ExportPersist","message","PersistFailed","push","resumeExport","exportId","scopeRemotes","getScopeRemotes","remotesObj","resolve","remotesForPersist","pushedRemotes","RemovePendingDir"],"sources":["export-scope-components.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { compact, partition, property, sortBy } from 'lodash';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { logger } from '@teambit/legacy.logger';\nimport { Remotes, Remote, getScopeRemotes } from '@teambit/scope.remotes';\nimport {\n MergeResult,\n PersistFailed,\n Scope,\n ComponentNeedsUpdate,\n ComponentNotFound,\n MergeConflict,\n MergeConflictOnRemote,\n} from '@teambit/legacy.scope';\nimport {\n Lane,\n Version,\n ModelComponent,\n VersionHistory,\n LaneHistory,\n Ref,\n BitObjectList,\n ObjectList,\n} from '@teambit/scope.objects';\nimport { ExportPersist, ExportValidate, RemovePendingDir } from '@teambit/scope.remote-actions';\nimport { loader } from '@teambit/legacy.loader';\nimport { pMapPool } from '@teambit/toolbox.promise.map-pool';\nimport { concurrentComponentsLimit } from '@teambit/harmony.modules.concurrency';\n\n/**\n * ** Legacy and \"bit sign\" Only **\n *\n * @TODO there is no real difference between bare scope and a working directory scope - let's adjust terminology to avoid confusions in the future\n * saves a component into the objects directory of the remote scope, then, resolves its\n * dependencies, saves them as well. Finally runs the build process if needed on an isolated\n * environment.\n */\nexport async function exportManyBareScope(scope: Scope, objectList: ObjectList): Promise<ComponentIdList> {\n logger.debugAndAddBreadCrumb('exportManyBareScope', `started with ${objectList.objects.length} objects`);\n const mergedIds = await saveObjects(scope, objectList);\n logger.debugAndAddBreadCrumb('exportManyBareScope', 'will try to importMany in case there are missing dependencies');\n const scopeComponentsImporter = scope.scopeImporter;\n await scopeComponentsImporter.importManyFromOriginalScopes(mergedIds); // resolve dependencies\n logger.debugAndAddBreadCrumb('exportManyBareScope', 'successfully ran importMany');\n\n return mergedIds;\n}\n\ntype RemotesForPersist = {\n remote: Remote;\n exportedIds?: string[];\n};\n\n/**\n * save objects into the scope.\n */\nexport async function saveObjects(scope: Scope, objectList: ObjectList): Promise<ComponentIdList> {\n const bitObjectList = await objectList.toBitObjects();\n const objectsNotRequireMerge = bitObjectList.getObjectsNotRequireMerge();\n // components and lanes can't be just added, they need to be carefully merged.\n const { mergedIds, mergedComponentsResults, mergedLanes, mergedLaneHistories } = await mergeObjects(\n scope,\n bitObjectList\n );\n const mergedComponents = mergedComponentsResults.map((_) => _.mergedComponent);\n const versionObjects = objectsNotRequireMerge.filter((o) => o instanceof Version) as Version[];\n const versionsHistory = await updateVersionHistory(scope, mergedComponents, versionObjects);\n const allObjects = [\n ...mergedComponents,\n ...mergedLanes,\n ...objectsNotRequireMerge,\n ...versionsHistory,\n ...mergedLaneHistories,\n ];\n scope.objects.validateObjects(true, allObjects);\n await scope.objects.writeObjectsToTheFS(allObjects);\n logger.debug(\n `export-scope-components.saveObjects, ${allObjects.length} objects were written successfully to the filesystem`\n );\n\n return mergedIds;\n}\n\n/**\n * Previously, the VersionHistory was populated during fetch. However, we want the fetch operation to be more efficient\n * so we move this logic to the export operation.\n * Before version 0.2.22, the Version object didn't have any info about the component-id, so we do update only for\n * rebase. For versions that tagged by > 0.2.22, we have the \"origin.id\" and we know to what component this version\n * belongs to.\n */\nasync function updateVersionHistory(\n scope: Scope,\n mergedComponents: ModelComponent[],\n versionObjects: Version[]\n): Promise<VersionHistory[]> {\n if (!mergedComponents.length) {\n // this is important for bit-sign to not try to update VersionHistory and then error due to missing components\n logger.debug('updateVersionHistory, no components were merged, no need to update VersionHistory');\n return [];\n }\n logger.debug(\n `updateVersionHistory, total components: ${mergedComponents.length}, total versions: ${versionObjects.length}`\n );\n\n const versionsWithComponentId = versionObjects.filter((obj) => obj.origin?.id);\n\n const [versionsWithOrigin, versionWithoutOrigin] = partition(versionsWithComponentId, (v) => v.origin?.id);\n\n const versionHistoryOfVersionsWithOrigin = await _updateVersionHistoryForVersionsWithOrigin(\n scope,\n mergedComponents,\n versionsWithOrigin\n );\n\n const versionHistoryOfVersionsWithoutOrigin = await _updateVersionHistoryForVersionsWithoutOrigin(\n scope,\n mergedComponents,\n versionWithoutOrigin\n );\n\n return [...versionHistoryOfVersionsWithOrigin, ...versionHistoryOfVersionsWithoutOrigin];\n}\n\n/**\n * In case of rebase (squash / unrelated) where the version history is changed, make the necessary changes in the\n * VersionHistory.\n * Because previously (bit-version < 0.2.22) we only knew about this from the Version object, and the Version object\n * didn't have any info about what the component-id is, we have to iterate all model-components, grab their\n * version-history and check whether the version-hash is inside their VersionHistory.\n * it's not ideal performance wise. however, in most cases, this rebase is about squashing, and when squashing, it's\n * done for the entire lane, so all components need to be updated regardless.\n */\nasync function _updateVersionHistoryForVersionsWithoutOrigin(\n scope: Scope,\n mergedComponents: ModelComponent[],\n versionWithoutOrigin: Version[]\n): Promise<VersionHistory[]> {\n const mutatedVersionObjects = versionWithoutOrigin.filter((v) => v.squashed || v.unrelated);\n if (!mutatedVersionObjects.length) return [];\n logger.debug(`_updateVersionHistoryForVersionsWithoutOrigin, found ${mutatedVersionObjects.length} mutated version`);\n const versionsHistory = await Promise.all(\n mergedComponents.map(async (modelComp) =>\n modelComp.updateRebasedVersionHistory(scope.objects, mutatedVersionObjects)\n )\n );\n const versionsHistoryNoNull = compact(versionsHistory);\n logger.debug(`_updateVersionHistoryForVersionsWithoutOrigin, found ${\n versionsHistoryNoNull.length\n } versionsHistory to update\n${versionsHistoryNoNull.map((v) => v.compId.toString()).join(', ')}`);\n\n return versionsHistoryNoNull;\n}\n\nasync function _updateVersionHistoryForVersionsWithOrigin(\n scope: Scope,\n mergedComponents: ModelComponent[],\n versionObjects: Version[]\n): Promise<VersionHistory[]> {\n if (!versionObjects.length) return [];\n logger.debug(`_updateVersionHistoryForVersionsWithOrigin, found ${versionObjects.length} versions with origin`);\n const componentVersionMap = new Map<ModelComponent, Version[]>();\n versionObjects.forEach((version) => {\n const component = mergedComponents.find(\n (c) => c.scope === version.origin?.id.scope && c.name === version.origin?.id.name\n );\n if (!component) {\n logger.error(`updateVersionHistoryIfNeeded, unable to find component for version ${version.hash().toString()}`);\n return;\n }\n const versions = componentVersionMap.get(component) || [];\n componentVersionMap.set(component, [...versions, version]);\n });\n\n const versionsHistory = await pMapPool(\n mergedComponents,\n async (modelComp) => {\n const versions = componentVersionMap.get(modelComp);\n if (!versions || !versions.length) return undefined;\n return modelComp.updateVersionHistory(scope.objects, versions);\n },\n { concurrency: concurrentComponentsLimit() }\n );\n\n return compact(versionsHistory);\n}\n\ntype MergeObjectsResult = {\n mergedIds: ComponentIdList;\n mergedComponentsResults: MergeResult[];\n mergedLanes: Lane[];\n mergedLaneHistories: LaneHistory[];\n};\n\n/**\n * merge components into the scope.\n *\n * a component might have multiple versions that some where merged and some were not.\n * the BitIds returned here includes the versions that were merged. so it could contain multiple\n * ids of the same component with different versions\n */\nexport async function mergeObjects(\n scope: Scope,\n bitObjectList: BitObjectList,\n throwForMissingDeps = false\n): Promise<MergeObjectsResult> {\n const components = bitObjectList.getComponents();\n const lanesObjects = bitObjectList.getLanes();\n const versions = bitObjectList.getVersions();\n const lanesHistory = bitObjectList.getLaneHistories();\n logger.debugAndAddBreadCrumb(\n 'export-scope-components.mergeObjects',\n `Going to merge ${components.length} components, ${lanesObjects.length} lanes`\n );\n const { mergeResults, errors } = lanesObjects.length\n ? { mergeResults: [], errors: [] } // for lanes, no need to merge component objects, the lane is merged later.\n : await scope.sources.mergeComponents(components, versions);\n\n const mergeAllLanesResults = await mapSeries(lanesObjects, (laneObject) =>\n scope.sources.mergeLane(laneObject, false, versions, components)\n );\n const lanesErrors = mergeAllLanesResults.map((r) => r.mergeErrors).flat();\n const componentsNeedUpdate = [\n ...errors.filter((result) => result instanceof ComponentNeedsUpdate),\n ...lanesErrors,\n ] as ComponentNeedsUpdate[];\n const componentsWithConflicts = errors.filter((result) => result instanceof MergeConflict) as MergeConflict[];\n if (componentsWithConflicts.length || componentsNeedUpdate.length) {\n const idsAndVersions = componentsWithConflicts.map((c) => ({ id: c.id, versions: c.versions }));\n const idsAndVersionsWithConflicts = sortBy(idsAndVersions, property('id'));\n const idsOfNeedUpdateComps = sortBy(\n componentsNeedUpdate.map((c) => ({ id: c.id, lane: c.lane })),\n property('id')\n );\n scope.objects.clearObjectsFromCache(); // just in case this error is caught. we don't want to persist anything by mistake.\n throw new MergeConflictOnRemote(idsAndVersionsWithConflicts, idsOfNeedUpdateComps);\n }\n if (throwForMissingDeps) await throwForMissingLocalDependencies(scope, versions, components, lanesObjects);\n const mergedComponents = mergeResults.filter(({ mergedVersions }) => mergedVersions.length);\n const mergedLanesComponents = mergeAllLanesResults\n .map((r) => r.mergeResults)\n .flat()\n .filter(({ mergedVersions }) => mergedVersions.length);\n const mergedComponentsResults = [...mergedComponents, ...mergedLanesComponents];\n const getMergedIds = ({ mergedComponent, mergedVersions }): ComponentID[] =>\n mergedVersions.map((version) => mergedComponent.toBitId().changeVersion(version));\n const mergedIds = ComponentIdList.uniqFromArray(mergedComponentsResults.map(getMergedIds).flat());\n const mergedLanes = mergeAllLanesResults.map((r) => r.mergeLane);\n\n const mergedLaneHistories = await mapSeries(lanesHistory, async (laneHistory) => {\n const existingLaneHistory = (await scope.objects.load(laneHistory.hash())) as LaneHistory | undefined;\n if (existingLaneHistory) {\n existingLaneHistory.merge(laneHistory);\n return existingLaneHistory;\n }\n return laneHistory;\n });\n\n return { mergedIds, mergedComponentsResults, mergedLanes, mergedLaneHistories };\n}\n\n/**\n * make sure that all local objects were actually transferred into the remote.\n * this gets called as part of the export-validate step. it doesn't check for dependencies from\n * other scopes, as they'll be retrieved later by the fetch-missing-deps step.\n * we can't wait for that step to validate local dependencies because it happens after persisting,\n * and we don't want to persist when local dependencies were not exported.\n */\nasync function throwForMissingLocalDependencies(\n scope: Scope,\n versions: Version[],\n components: ModelComponent[],\n lanes: Lane[]\n) {\n const compsWithHeads = lanes.length\n ? lanes.map((lane) => lane.toBitIds()).flat()\n : components.map((c) => c.toComponentIdWithHead());\n\n await Promise.all(\n versions.map(async (version) => {\n const originComp = compsWithHeads.find((id) => version.hash().toString() === id.version);\n if (!originComp) {\n // coz if an older version has a missing dep, then, it's fine. (it can easily happen when exporting lane, which\n // all old versions are exported)\n return;\n }\n const getOriginCompWithVer = () => {\n const compObj = components.find((c) => c.toComponentId().isEqualWithoutVersion(originComp));\n if (!compObj) return originComp;\n const tag = compObj.getTagOfRefIfExists(Ref.from(originComp.version as string));\n if (tag) return originComp.changeVersion(tag);\n return originComp;\n };\n const depsIds = version.getAllFlattenedDependencies();\n await Promise.all(\n depsIds.map(async (depId) => {\n if (depId.scope !== scope.name) return;\n const existingModelComponent =\n (await scope.getModelComponentIfExist(depId)) ||\n components.find((c) => c.toComponentId().isEqualWithoutVersion(depId));\n if (!existingModelComponent) {\n scope.objects.clearObjectsFromCache(); // just in case this error is caught. we don't want to persist anything by mistake.\n throw new ComponentNotFound(depId.toString(), getOriginCompWithVer().toString());\n }\n const versionRef = existingModelComponent.getRef(depId.version as string);\n if (!versionRef) throw new Error(`unable to find Ref/Hash of ${depId.toString()}`);\n const objectExist =\n scope.objects.getCache(versionRef) ||\n (await scope.objects.has(versionRef)) ||\n versions.find((v) => v.hash().isEqual(versionRef));\n if (!objectExist) {\n scope.objects.clearObjectsFromCache(); // just in case this error is caught. we don't want to persist anything by mistake.\n throw new ComponentNotFound(depId.toString(), getOriginCompWithVer().toString());\n }\n })\n );\n })\n );\n}\n\nexport async function validateRemotes(remotes: Remote[], clientId: string, isResumingExport = true) {\n loader.start('verifying that objects can be merged on the remotes...');\n try {\n await Promise.all(\n remotes.map((remote) =>\n remote.action(ExportValidate.name, {\n clientId,\n isResumingExport: true,\n })\n )\n );\n } catch (err: any) {\n logger.errorAndAddBreadCrumb('validateRemotes', 'failed validating remotes', {}, err);\n if (!isResumingExport) {\n // when resuming export, we don't want to delete the pending-objects because some scopes\n // have them persisted and some not. we want to persist to all failing scopes.\n await removePendingDirs(remotes, clientId);\n }\n throw err;\n }\n}\n\nexport async function persistRemotes(manyObjectsPerRemote: RemotesForPersist[], clientId: string) {\n const persistedRemotes: string[] = [];\n await mapSeries(manyObjectsPerRemote, async (objectsPerRemote: RemotesForPersist) => {\n const { remote } = objectsPerRemote;\n loader.start(`persisting data on the remote \"${remote.name}\"...`);\n const maxRetries = 3;\n let succeed = false;\n let lastErrMsg = '';\n for (let i = 0; i < maxRetries; i += 1) {\n try {\n // eslint-disable-next-line no-await-in-loop\n const exportedIds: string[] = await remote.action(ExportPersist.name, { clientId });\n objectsPerRemote.exportedIds = exportedIds;\n succeed = true;\n break;\n } catch (err: any) {\n lastErrMsg = err.message;\n logger.errorAndAddBreadCrumb(\n 'persistRemotes',\n `failed on remote ${remote.name}, attempt ${i + 1} out of ${maxRetries}`,\n {},\n err\n );\n }\n }\n if (!succeed) {\n throw new PersistFailed([remote.name], { [remote.name]: lastErrMsg });\n }\n logger.debugAndAddBreadCrumb('persistRemotes', `successfully pushed all ids to the bare-scope ${remote.name}`);\n persistedRemotes.push(remote.name);\n });\n}\n\nexport async function resumeExport(scope: Scope, exportId: string, remotes: string[]): Promise<string[]> {\n const scopeRemotes: Remotes = await getScopeRemotes(scope);\n const remotesObj = await Promise.all(remotes.map((r) => scopeRemotes.resolve(r)));\n const remotesForPersist: RemotesForPersist[] = remotesObj.map((remote) => ({ remote }));\n await validateRemotes(remotesObj, exportId);\n await persistRemotes(remotesForPersist, exportId);\n return compact(remotesForPersist.map((r) => r.exportedIds).flat());\n}\n\nexport async function removePendingDirs(pushedRemotes: Remote[], clientId: string) {\n await Promise.all(pushedRemotes.map((remote) => remote.action(RemovePendingDir.name, { clientId })));\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_componentId","_legacy","_scope","_legacy2","_objects","_scope2","_legacy3","_toolboxPromise","_harmonyModules","e","__esModule","default","exportManyBareScope","scope","objectList","logger","debugAndAddBreadCrumb","objects","length","mergedIds","saveObjects","scopeComponentsImporter","scopeImporter","importManyFromOriginalScopes","bitObjectList","toBitObjects","objectsNotRequireMerge","getObjectsNotRequireMerge","mergedComponentsResults","mergedLanes","mergedLaneHistories","mergeObjects","mergedComponents","map","_","mergedComponent","versionObjects","filter","o","Version","versionsHistory","updateVersionHistory","allObjects","validateObjects","writeObjectsToTheFS","debug","versionsWithComponentId","obj","origin","id","versionsWithOrigin","versionWithoutOrigin","partition","v","versionHistoryOfVersionsWithOrigin","_updateVersionHistoryForVersionsWithOrigin","versionHistoryOfVersionsWithoutOrigin","_updateVersionHistoryForVersionsWithoutOrigin","mutatedVersionObjects","squashed","unrelated","Promise","all","modelComp","updateRebasedVersionHistory","versionsHistoryNoNull","compact","compId","toString","join","componentVersionMap","Map","forEach","version","component","find","c","name","error","hash","versions","get","set","pMapPool","undefined","concurrency","concurrentComponentsLimit","throwForMissingDeps","components","getComponents","lanesObjects","getLanes","getVersions","lanesHistory","getLaneHistories","mergeResults","errors","sources","mergeComponents","mergeAllLanesResults","mapSeries","laneObject","mergeLane","lanesErrors","r","mergeErrors","flat","componentsNeedUpdate","result","ComponentNeedsUpdate","componentsWithConflicts","MergeConflict","idsAndVersions","idsAndVersionsWithConflicts","sortBy","property","idsOfNeedUpdateComps","lane","clearObjectsFromCache","MergeConflictOnRemote","throwForMissingLocalDependencies","mergedVersions","mergedLanesComponents","getMergedIds","toBitId","changeVersion","ComponentIdList","uniqFromArray","laneHistory","existingLaneHistory","load","merge","lanes","compsWithHeads","toBitIds","toComponentIdWithHead","originComp","getOriginCompWithVer","compObj","toComponentId","isEqualWithoutVersion","tag","getTagOfRefIfExists","Ref","from","depsIds","getAllFlattenedDependencies","depId","existingModelComponent","getModelComponentIfExist","ComponentNotFound","versionRef","getRef","Error","objectExist","getCache","has","isEqual","validateRemotes","remotes","clientId","isResumingExport","loader","start","remote","action","ExportValidate","err","errorAndAddBreadCrumb","removePendingDirs","persistRemotes","manyObjectsPerRemote","persistedRemotes","objectsPerRemote","maxRetries","succeed","lastErrMsg","i","exportedIds","ExportPersist","message","PersistFailed","push","resumeExport","exportId","scopeRemotes","getScopeRemotes","remotesObj","resolve","remotesForPersist","pushedRemotes","RemovePendingDir"],"sources":["export-scope-components.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { compact, partition, property, sortBy } from 'lodash';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { logger } from '@teambit/legacy.logger';\nimport { Remotes, Remote, getScopeRemotes } from '@teambit/scope.remotes';\nimport {\n MergeResult,\n PersistFailed,\n Scope,\n ComponentNeedsUpdate,\n ComponentNotFound,\n MergeConflict,\n MergeConflictOnRemote,\n} from '@teambit/legacy.scope';\nimport {\n Lane,\n Version,\n ModelComponent,\n VersionHistory,\n LaneHistory,\n Ref,\n BitObjectList,\n ObjectList,\n} from '@teambit/objects';\nimport { ExportPersist, ExportValidate, RemovePendingDir } from '@teambit/scope.remote-actions';\nimport { loader } from '@teambit/legacy.loader';\nimport { pMapPool } from '@teambit/toolbox.promise.map-pool';\nimport { concurrentComponentsLimit } from '@teambit/harmony.modules.concurrency';\n\n/**\n * ** Legacy and \"bit sign\" Only **\n *\n * @TODO there is no real difference between bare scope and a working directory scope - let's adjust terminology to avoid confusions in the future\n * saves a component into the objects directory of the remote scope, then, resolves its\n * dependencies, saves them as well. Finally runs the build process if needed on an isolated\n * environment.\n */\nexport async function exportManyBareScope(scope: Scope, objectList: ObjectList): Promise<ComponentIdList> {\n logger.debugAndAddBreadCrumb('exportManyBareScope', `started with ${objectList.objects.length} objects`);\n const mergedIds = await saveObjects(scope, objectList);\n logger.debugAndAddBreadCrumb('exportManyBareScope', 'will try to importMany in case there are missing dependencies');\n const scopeComponentsImporter = scope.scopeImporter;\n await scopeComponentsImporter.importManyFromOriginalScopes(mergedIds); // resolve dependencies\n logger.debugAndAddBreadCrumb('exportManyBareScope', 'successfully ran importMany');\n\n return mergedIds;\n}\n\ntype RemotesForPersist = {\n remote: Remote;\n exportedIds?: string[];\n};\n\n/**\n * save objects into the scope.\n */\nexport async function saveObjects(scope: Scope, objectList: ObjectList): Promise<ComponentIdList> {\n const bitObjectList = await objectList.toBitObjects();\n const objectsNotRequireMerge = bitObjectList.getObjectsNotRequireMerge();\n // components and lanes can't be just added, they need to be carefully merged.\n const { mergedIds, mergedComponentsResults, mergedLanes, mergedLaneHistories } = await mergeObjects(\n scope,\n bitObjectList\n );\n const mergedComponents = mergedComponentsResults.map((_) => _.mergedComponent);\n const versionObjects = objectsNotRequireMerge.filter((o) => o instanceof Version) as Version[];\n const versionsHistory = await updateVersionHistory(scope, mergedComponents, versionObjects);\n const allObjects = [\n ...mergedComponents,\n ...mergedLanes,\n ...objectsNotRequireMerge,\n ...versionsHistory,\n ...mergedLaneHistories,\n ];\n scope.objects.validateObjects(true, allObjects);\n await scope.objects.writeObjectsToTheFS(allObjects);\n logger.debug(\n `export-scope-components.saveObjects, ${allObjects.length} objects were written successfully to the filesystem`\n );\n\n return mergedIds;\n}\n\n/**\n * Previously, the VersionHistory was populated during fetch. However, we want the fetch operation to be more efficient\n * so we move this logic to the export operation.\n * Before version 0.2.22, the Version object didn't have any info about the component-id, so we do update only for\n * rebase. For versions that tagged by > 0.2.22, we have the \"origin.id\" and we know to what component this version\n * belongs to.\n */\nasync function updateVersionHistory(\n scope: Scope,\n mergedComponents: ModelComponent[],\n versionObjects: Version[]\n): Promise<VersionHistory[]> {\n if (!mergedComponents.length) {\n // this is important for bit-sign to not try to update VersionHistory and then error due to missing components\n logger.debug('updateVersionHistory, no components were merged, no need to update VersionHistory');\n return [];\n }\n logger.debug(\n `updateVersionHistory, total components: ${mergedComponents.length}, total versions: ${versionObjects.length}`\n );\n\n const versionsWithComponentId = versionObjects.filter((obj) => obj.origin?.id);\n\n const [versionsWithOrigin, versionWithoutOrigin] = partition(versionsWithComponentId, (v) => v.origin?.id);\n\n const versionHistoryOfVersionsWithOrigin = await _updateVersionHistoryForVersionsWithOrigin(\n scope,\n mergedComponents,\n versionsWithOrigin\n );\n\n const versionHistoryOfVersionsWithoutOrigin = await _updateVersionHistoryForVersionsWithoutOrigin(\n scope,\n mergedComponents,\n versionWithoutOrigin\n );\n\n return [...versionHistoryOfVersionsWithOrigin, ...versionHistoryOfVersionsWithoutOrigin];\n}\n\n/**\n * In case of rebase (squash / unrelated) where the version history is changed, make the necessary changes in the\n * VersionHistory.\n * Because previously (bit-version < 0.2.22) we only knew about this from the Version object, and the Version object\n * didn't have any info about what the component-id is, we have to iterate all model-components, grab their\n * version-history and check whether the version-hash is inside their VersionHistory.\n * it's not ideal performance wise. however, in most cases, this rebase is about squashing, and when squashing, it's\n * done for the entire lane, so all components need to be updated regardless.\n */\nasync function _updateVersionHistoryForVersionsWithoutOrigin(\n scope: Scope,\n mergedComponents: ModelComponent[],\n versionWithoutOrigin: Version[]\n): Promise<VersionHistory[]> {\n const mutatedVersionObjects = versionWithoutOrigin.filter((v) => v.squashed || v.unrelated);\n if (!mutatedVersionObjects.length) return [];\n logger.debug(`_updateVersionHistoryForVersionsWithoutOrigin, found ${mutatedVersionObjects.length} mutated version`);\n const versionsHistory = await Promise.all(\n mergedComponents.map(async (modelComp) =>\n modelComp.updateRebasedVersionHistory(scope.objects, mutatedVersionObjects)\n )\n );\n const versionsHistoryNoNull = compact(versionsHistory);\n logger.debug(`_updateVersionHistoryForVersionsWithoutOrigin, found ${\n versionsHistoryNoNull.length\n } versionsHistory to update\n${versionsHistoryNoNull.map((v) => v.compId.toString()).join(', ')}`);\n\n return versionsHistoryNoNull;\n}\n\nasync function _updateVersionHistoryForVersionsWithOrigin(\n scope: Scope,\n mergedComponents: ModelComponent[],\n versionObjects: Version[]\n): Promise<VersionHistory[]> {\n if (!versionObjects.length) return [];\n logger.debug(`_updateVersionHistoryForVersionsWithOrigin, found ${versionObjects.length} versions with origin`);\n const componentVersionMap = new Map<ModelComponent, Version[]>();\n versionObjects.forEach((version) => {\n const component = mergedComponents.find(\n (c) => c.scope === version.origin?.id.scope && c.name === version.origin?.id.name\n );\n if (!component) {\n logger.error(`updateVersionHistoryIfNeeded, unable to find component for version ${version.hash().toString()}`);\n return;\n }\n const versions = componentVersionMap.get(component) || [];\n componentVersionMap.set(component, [...versions, version]);\n });\n\n const versionsHistory = await pMapPool(\n mergedComponents,\n async (modelComp) => {\n const versions = componentVersionMap.get(modelComp);\n if (!versions || !versions.length) return undefined;\n return modelComp.updateVersionHistory(scope.objects, versions);\n },\n { concurrency: concurrentComponentsLimit() }\n );\n\n return compact(versionsHistory);\n}\n\ntype MergeObjectsResult = {\n mergedIds: ComponentIdList;\n mergedComponentsResults: MergeResult[];\n mergedLanes: Lane[];\n mergedLaneHistories: LaneHistory[];\n};\n\n/**\n * merge components into the scope.\n *\n * a component might have multiple versions that some where merged and some were not.\n * the BitIds returned here includes the versions that were merged. so it could contain multiple\n * ids of the same component with different versions\n */\nexport async function mergeObjects(\n scope: Scope,\n bitObjectList: BitObjectList,\n throwForMissingDeps = false\n): Promise<MergeObjectsResult> {\n const components = bitObjectList.getComponents();\n const lanesObjects = bitObjectList.getLanes();\n const versions = bitObjectList.getVersions();\n const lanesHistory = bitObjectList.getLaneHistories();\n logger.debugAndAddBreadCrumb(\n 'export-scope-components.mergeObjects',\n `Going to merge ${components.length} components, ${lanesObjects.length} lanes`\n );\n const { mergeResults, errors } = lanesObjects.length\n ? { mergeResults: [], errors: [] } // for lanes, no need to merge component objects, the lane is merged later.\n : await scope.sources.mergeComponents(components, versions);\n\n const mergeAllLanesResults = await mapSeries(lanesObjects, (laneObject) =>\n scope.sources.mergeLane(laneObject, false, versions, components)\n );\n const lanesErrors = mergeAllLanesResults.map((r) => r.mergeErrors).flat();\n const componentsNeedUpdate = [\n ...errors.filter((result) => result instanceof ComponentNeedsUpdate),\n ...lanesErrors,\n ] as ComponentNeedsUpdate[];\n const componentsWithConflicts = errors.filter((result) => result instanceof MergeConflict) as MergeConflict[];\n if (componentsWithConflicts.length || componentsNeedUpdate.length) {\n const idsAndVersions = componentsWithConflicts.map((c) => ({ id: c.id, versions: c.versions }));\n const idsAndVersionsWithConflicts = sortBy(idsAndVersions, property('id'));\n const idsOfNeedUpdateComps = sortBy(\n componentsNeedUpdate.map((c) => ({ id: c.id, lane: c.lane })),\n property('id')\n );\n scope.objects.clearObjectsFromCache(); // just in case this error is caught. we don't want to persist anything by mistake.\n throw new MergeConflictOnRemote(idsAndVersionsWithConflicts, idsOfNeedUpdateComps);\n }\n if (throwForMissingDeps) await throwForMissingLocalDependencies(scope, versions, components, lanesObjects);\n const mergedComponents = mergeResults.filter(({ mergedVersions }) => mergedVersions.length);\n const mergedLanesComponents = mergeAllLanesResults\n .map((r) => r.mergeResults)\n .flat()\n .filter(({ mergedVersions }) => mergedVersions.length);\n const mergedComponentsResults = [...mergedComponents, ...mergedLanesComponents];\n const getMergedIds = ({ mergedComponent, mergedVersions }): ComponentID[] =>\n mergedVersions.map((version) => mergedComponent.toBitId().changeVersion(version));\n const mergedIds = ComponentIdList.uniqFromArray(mergedComponentsResults.map(getMergedIds).flat());\n const mergedLanes = mergeAllLanesResults.map((r) => r.mergeLane);\n\n const mergedLaneHistories = await mapSeries(lanesHistory, async (laneHistory) => {\n const existingLaneHistory = (await scope.objects.load(laneHistory.hash())) as LaneHistory | undefined;\n if (existingLaneHistory) {\n existingLaneHistory.merge(laneHistory);\n return existingLaneHistory;\n }\n return laneHistory;\n });\n\n return { mergedIds, mergedComponentsResults, mergedLanes, mergedLaneHistories };\n}\n\n/**\n * make sure that all local objects were actually transferred into the remote.\n * this gets called as part of the export-validate step. it doesn't check for dependencies from\n * other scopes, as they'll be retrieved later by the fetch-missing-deps step.\n * we can't wait for that step to validate local dependencies because it happens after persisting,\n * and we don't want to persist when local dependencies were not exported.\n */\nasync function throwForMissingLocalDependencies(\n scope: Scope,\n versions: Version[],\n components: ModelComponent[],\n lanes: Lane[]\n) {\n const compsWithHeads = lanes.length\n ? lanes.map((lane) => lane.toBitIds()).flat()\n : components.map((c) => c.toComponentIdWithHead());\n\n await Promise.all(\n versions.map(async (version) => {\n const originComp = compsWithHeads.find((id) => version.hash().toString() === id.version);\n if (!originComp) {\n // coz if an older version has a missing dep, then, it's fine. (it can easily happen when exporting lane, which\n // all old versions are exported)\n return;\n }\n const getOriginCompWithVer = () => {\n const compObj = components.find((c) => c.toComponentId().isEqualWithoutVersion(originComp));\n if (!compObj) return originComp;\n const tag = compObj.getTagOfRefIfExists(Ref.from(originComp.version as string));\n if (tag) return originComp.changeVersion(tag);\n return originComp;\n };\n const depsIds = version.getAllFlattenedDependencies();\n await Promise.all(\n depsIds.map(async (depId) => {\n if (depId.scope !== scope.name) return;\n const existingModelComponent =\n (await scope.getModelComponentIfExist(depId)) ||\n components.find((c) => c.toComponentId().isEqualWithoutVersion(depId));\n if (!existingModelComponent) {\n scope.objects.clearObjectsFromCache(); // just in case this error is caught. we don't want to persist anything by mistake.\n throw new ComponentNotFound(depId.toString(), getOriginCompWithVer().toString());\n }\n const versionRef = existingModelComponent.getRef(depId.version as string);\n if (!versionRef) throw new Error(`unable to find Ref/Hash of ${depId.toString()}`);\n const objectExist =\n scope.objects.getCache(versionRef) ||\n (await scope.objects.has(versionRef)) ||\n versions.find((v) => v.hash().isEqual(versionRef));\n if (!objectExist) {\n scope.objects.clearObjectsFromCache(); // just in case this error is caught. we don't want to persist anything by mistake.\n throw new ComponentNotFound(depId.toString(), getOriginCompWithVer().toString());\n }\n })\n );\n })\n );\n}\n\nexport async function validateRemotes(remotes: Remote[], clientId: string, isResumingExport = true) {\n loader.start('verifying that objects can be merged on the remotes...');\n try {\n await Promise.all(\n remotes.map((remote) =>\n remote.action(ExportValidate.name, {\n clientId,\n isResumingExport: true,\n })\n )\n );\n } catch (err: any) {\n logger.errorAndAddBreadCrumb('validateRemotes', 'failed validating remotes', {}, err);\n if (!isResumingExport) {\n // when resuming export, we don't want to delete the pending-objects because some scopes\n // have them persisted and some not. we want to persist to all failing scopes.\n await removePendingDirs(remotes, clientId);\n }\n throw err;\n }\n}\n\nexport async function persistRemotes(manyObjectsPerRemote: RemotesForPersist[], clientId: string) {\n const persistedRemotes: string[] = [];\n await mapSeries(manyObjectsPerRemote, async (objectsPerRemote: RemotesForPersist) => {\n const { remote } = objectsPerRemote;\n loader.start(`persisting data on the remote \"${remote.name}\"...`);\n const maxRetries = 3;\n let succeed = false;\n let lastErrMsg = '';\n for (let i = 0; i < maxRetries; i += 1) {\n try {\n // eslint-disable-next-line no-await-in-loop\n const exportedIds: string[] = await remote.action(ExportPersist.name, { clientId });\n objectsPerRemote.exportedIds = exportedIds;\n succeed = true;\n break;\n } catch (err: any) {\n lastErrMsg = err.message;\n logger.errorAndAddBreadCrumb(\n 'persistRemotes',\n `failed on remote ${remote.name}, attempt ${i + 1} out of ${maxRetries}`,\n {},\n err\n );\n }\n }\n if (!succeed) {\n throw new PersistFailed([remote.name], { [remote.name]: lastErrMsg });\n }\n logger.debugAndAddBreadCrumb('persistRemotes', `successfully pushed all ids to the bare-scope ${remote.name}`);\n persistedRemotes.push(remote.name);\n });\n}\n\nexport async function resumeExport(scope: Scope, exportId: string, remotes: string[]): Promise<string[]> {\n const scopeRemotes: Remotes = await getScopeRemotes(scope);\n const remotesObj = await Promise.all(remotes.map((r) => scopeRemotes.resolve(r)));\n const remotesForPersist: RemotesForPersist[] = remotesObj.map((remote) => ({ remote }));\n await validateRemotes(remotesObj, exportId);\n await persistRemotes(remotesForPersist, exportId);\n return compact(remotesForPersist.map((r) => r.exportedIds).flat());\n}\n\nexport async function removePendingDirs(pushedRemotes: Remote[], clientId: string) {\n await Promise.all(pushedRemotes.map((remote) => remote.action(RemovePendingDir.name, { clientId })));\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -9,7 +9,7 @@ import { Remotes, Remote } from '@teambit/scope.remotes';
|
|
9
9
|
import { EjectMain, EjectResults } from '@teambit/eject';
|
10
10
|
import { ExportOrigin } from '@teambit/scope.network';
|
11
11
|
import { DependencyResolverMain } from '@teambit/dependency-resolver';
|
12
|
-
import { Lane, ObjectList } from '@teambit/
|
12
|
+
import { Lane, ObjectList } from '@teambit/objects';
|
13
13
|
import { Scope } from '@teambit/legacy.scope';
|
14
14
|
export type OnExportIdTransformer = (id: ComponentID) => ComponentID;
|
15
15
|
export type ObjectsPerRemote = {
|
@@ -152,9 +152,9 @@ function _exportScopeComponents() {
|
|
152
152
|
};
|
153
153
|
return data;
|
154
154
|
}
|
155
|
-
function
|
156
|
-
const data = require("@teambit/
|
157
|
-
|
155
|
+
function _objects() {
|
156
|
+
const data = require("@teambit/objects");
|
157
|
+
_objects = function () {
|
158
158
|
return data;
|
159
159
|
};
|
160
160
|
return data;
|
@@ -445,7 +445,7 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
|
|
445
445
|
const remote = await scopeRemotes.resolve(remoteNameStr);
|
446
446
|
const idsToChangeLocally = _componentId().ComponentIdList.fromArray(bitIds.filter(id => !scope.isExported(id)));
|
447
447
|
const componentsAndObjects = [];
|
448
|
-
const objectList = new (
|
448
|
+
const objectList = new (_objects().ObjectList)();
|
449
449
|
const objectListPerName = {};
|
450
450
|
const modelComponents = await (0, _pMapSeries().default)(bitIds, id => scope.getModelComponent(id));
|
451
451
|
// super important! otherwise, the processModelComponent() changes objects in memory, while the key remains the same
|
@@ -496,7 +496,7 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
|
|
496
496
|
const idFromWorkspace = this.workspace?.getIdIfExist(modelComponent.toComponentId());
|
497
497
|
modelComponent.clearStateData();
|
498
498
|
const objectItems = await modelComponent.collectVersionsObjects(scope.objects, refs.map(ref => ref.toString()), throwForMissingArtifacts, idFromWorkspace);
|
499
|
-
const objectsList = await new (
|
499
|
+
const objectsList = await new (_objects().ObjectList)(objectItems).toBitObjects();
|
500
500
|
const componentAndObject = {
|
501
501
|
component: modelComponent,
|
502
502
|
objects: objectsList.getAll()
|
@@ -517,7 +517,7 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
|
|
517
517
|
};
|
518
518
|
const objectsBuffer = await Promise.all(componentAndObject.objects.map(async obj => bitObjectToObjectItem(obj)));
|
519
519
|
const allObjectsData = [componentData, ...objectsBuffer];
|
520
|
-
objectListPerName[modelComponent.name] = new (
|
520
|
+
objectListPerName[modelComponent.name] = new (_objects().ObjectList)(allObjectsData);
|
521
521
|
objectList.addIfNotExist(allObjectsData);
|
522
522
|
};
|
523
523
|
const refsToExportPerComponent = await getRefsToExportPerComp();
|
@@ -638,7 +638,7 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
|
|
638
638
|
};
|
639
639
|
}
|
640
640
|
transformToOneObjectListWithScopeData(objectsPerRemote) {
|
641
|
-
const objectList = new (
|
641
|
+
const objectList = new (_objects().ObjectList)();
|
642
642
|
objectsPerRemote.forEach(objPerRemote => {
|
643
643
|
objPerRemote.objectList.addScopeName(objPerRemote.remote.name);
|
644
644
|
objectList.mergeObjectList(objPerRemote.objectList);
|