@teambit/export 1.0.511 → 1.0.512

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="0" failures="0" errors="0" skipped="0">
3
- <testsuite name="teambit.scope/export@1.0.511" tests="0" failures="0" errors="0" skipped="0"/>
3
+ <testsuite name="teambit.scope/export@1.0.512" tests="0" failures="0" errors="0" skipped="0"/>
4
4
  </testsuites>
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.scope/export-preview"]=t():e["teambit.scope/export-preview"]=t()}(self,(()=>(()=>{"use strict";var e={293:(e,t,o)=>{var r={id:"teambit.scope/export@1.0.511",homepage:"https://bit.cloud/teambit/scope/export",exported:!0};function n(){const e=i(o(594));return n=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,n.__bit_component=r,i.__bit_component=r;const p=()=>n().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},n().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/export.svg"}));p.__bit_component=r,t.Logo=p},594:e=>{e.exports=React}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};o.r(r),o.d(r,{compositions:()=>f,compositions_metadata:()=>v,overview:()=>m});var n={};o.r(n),o.d(n,{default:()=>d});var i=o(293);o(594);const p=MdxJsReact,c=TeambitMdxUiMdxScopeContext;var s=["components"];function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)({}).hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},a.apply(null,arguments)}var u={},l="wrapper";function d(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;o[r]=e[r]}return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)o=i[r],t.includes(o)||{}.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(e,s);return(0,p.mdx)(l,a({},u,o,{components:t,mdxType:"MDXLayout"}),(0,p.mdx)(c.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"}))}d.isMDXComponent=!0;const f=[i],m=[n],v={compositions:[{displayName:"Logo",identifier:"Logo"}]};return r})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.scope/export-preview"]=t():e["teambit.scope/export-preview"]=t()}(self,(()=>(()=>{"use strict";var e={972:(e,t,o)=>{var r={id:"teambit.scope/export@1.0.512",homepage:"https://bit.cloud/teambit/scope/export",exported:!0};function n(){const e=i(o(594));return n=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,n.__bit_component=r,i.__bit_component=r;const p=()=>n().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},n().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/export.svg"}));p.__bit_component=r,t.Logo=p},594:e=>{e.exports=React}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};o.r(r),o.d(r,{compositions:()=>f,compositions_metadata:()=>v,overview:()=>m});var n={};o.r(n),o.d(n,{default:()=>d});var i=o(972);o(594);const p=MdxJsReact,c=TeambitMdxUiMdxScopeContext;var s=["components"];function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)({}).hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},a.apply(null,arguments)}var u={},l="wrapper";function d(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;o[r]=e[r]}return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)o=i[r],t.includes(o)||{}.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(e,s);return(0,p.mdx)(l,a({},u,o,{components:t,mdxType:"MDXLayout"}),(0,p.mdx)(c.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"}))}d.isMDXComponent=!0;const f=[i],m=[n],v={compositions:[{displayName:"Logo",identifier:"Logo"}]};return r})()));
@@ -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/scope.objects';
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 _scope2() {
56
- const data = require("@teambit/scope.objects");
57
- _scope2 = function () {
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 _scope3() {
62
+ function _scope2() {
63
63
  const data = require("@teambit/scope.remote-actions");
64
- _scope3 = function () {
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 _scope2().Version);
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(_scope2().Ref.from(originComp.version));
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(_scope3().ExportValidate.name, {
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(_scope3().ExportPersist.name, {
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(_scope3().RemovePendingDir.name, {
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/scope.objects';
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 _scope4() {
156
- const data = require("@teambit/scope.objects");
157
- _scope4 = function () {
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 (_scope4().ObjectList)();
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 (_scope4().ObjectList)(objectItems).toBitObjects();
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 (_scope4().ObjectList)(allObjectsData);
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 (_scope4().ObjectList)();
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);
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_cli","_scope","_bitError","_legacy","_componentId","_legacy2","_legacy3","_remove","_legacy4","_workspace","_logger","_lodash","_pMapSeries","_laneId","_scope2","_eject","_scope3","_workspaceModules","_dependencyResolver","_exportScopeComponents","_scope4","_legacy5","_component","_export","_exportCmd","_resumeExportCmd","_excluded","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","call","n","hasOwnProperty","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","BEFORE_EXPORT","BEFORE_EXPORTS","BEFORE_LOADING_COMPONENTS","ExportMain","constructor","workspace","remove","depResolver","logger","eject","export","params","nonExistOnBitMap","newIdsOnRemote","missingScope","exported","removedIds","exportedLanes","rippleJobs","exportComponents","ejectResults","clearCache","ejectExportedComponents","exportResults","componentsIds","rippleJobUrls","getRippleJobUrls","Scope","onPostExport","catch","err","error","lane","undefined","map","job","getCloudDomain","scope","replace","name","_ref","ids","includeNonStaged","headOnly","originDirectly","OutsideWorkspaceError","consumer","idsToExport","laneObject","getComponentsToExport","updatedIds","ComponentIdList","forkLaneNewScope","BitError","readmeComponent","_throwForUnsnappedLaneReadme","forkedFrom","isNew","id","toString","isOnMain","updatedLocally","exportMany","exportHeadsOnly","filterOutExistingVersions","Boolean","allVersions","updateLanesAfterExport","getRemovedStagedBitIds","workspaceIds","listIds","hasWithoutVersion","_updateIdsOnBitMap","bitMap","linkToNodeModulesByIds","removeFromStagedConfig","legacyScope","stagedSnaps","deleteFile","fs","getLastMergedPath","Analytics","setExtraData","onDestroy","resumeExportId","throwForMissingArtifacts","includeParents","exportOrigin","debug","scopeRemotes","getScopeRemotes","groupByScopeName","idList","reduce","acc","current","scopeName","Error","idsGroupedByScope","validateTargetScopeForLanes","newIds","fromArray","isExported","newIdsGrouped","mapSeries","remote","resolve","list","listItem","addMainHeadIfPossible","allHashes","modelComponent","head","find","h","hash","objects","has","getVersionsToExport","getCompHeadIncludeUpdateDependents","toComponentId","headVersion","loadVersion","parents","fromWorkspace","getIdIfExist","localTagsOrHashes","getLocalHashes","getAllVersionHashes","repo","groupedByScopeString","join","getUpdatedObjectsToExport","remoteNameStr","bitIds","throwForDuplicationIgnoreVersion","idsToChangeLocally","componentsAndObjects","objectList","ObjectList","objectListPerName","modelComponents","getModelComponent","clearObjectsFromCache","refsToPotentialExportPerComponent","refs","getRefsToExportPerComp","allHashesAsStr","flat","ref","existingOnRemote","scopeImporter","checkWhatHashesExistOnRemote","refsToExportPerComponent","filteredOutRefs","refsToExport","existing","compact","bitObjectToObjectItem","obj","buffer","compress","type","getType","processModelComponent","idFromWorkspace","clearStateData","objectItems","collectVersionsObjects","objectsList","toBitObjects","componentAndObject","component","getAll","convertToCorrectScope","remoteObj","url","host","date","Date","now","addScopeListItem","componentBuffer","componentData","objectsBuffer","Promise","all","allObjectsData","addIfNotExist","laneHistory","lanes","getOrCreateLaneHistory","laneHistoryData","laneData","manyObjectsPerRemote","pushAllToCentralHub","transformToOneObjectListWithScopeData","http","Http","connect","CENTRAL_BIT_HUB_URL","CENTRAL_BIT_HUB_NAME","pushResults","pushToCentralHub","origin","failedScopes","successIds","errors","metadata","PersistFailed","exportedBitIds","ComponentID","fromString","exportedIds","objectPerRemote","idsPerScope","jobs","updateLocalObjects","objectsPerRemote","componentObject","sources","put","add","remoteLanes","syncWithLaneObject","remoteLaneId","LaneId","from","DEFAULT_LANE","loadRemoteLane","addEntry","getHead","persist","idsWithRemoteScope","changeVersion","idsWithRemoteScopeUniq","uniqFromArray","sort","hasWithoutScopeAndVersion","warnCancelExport","consoleWarning","process","on","centralHubResults","remotes","validateRemotes","persistRemotes","shouldPushToCentralHub","pushToRemotesCarefully","setStatusLine","results","removeListener","objPerRemote","addScopeName","mergeObjectList","force","ejectErr","c","msg","clientId","pushRemotesPendingDir","pushOptions","pushedRemotes","count","pushMany","warn","removePendingDirs","hubRemotes","m","isHub","componentsObjects","remoteScope","exportingIds","shouldFork","shouldChangeScope","hasComponentChanged","idWithFutureScope","searchWithoutScopeAndVersion","stagedConfig","getStagedConfig","compId","removeComponentConfig","write","componentsList","ComponentsList","idsHaveWildcard","hasWildcard","throwForLocalOnlyIfNeeded","localOnlyComponents","listLocalOnly","localOnlyExportPending","isUserTryingToExportLanes","componentsToExport","getLaneCompIdsToExport","loaderMsg","filtered","exportPendingComponents","listNonNewComponentsIds","listExportPendingComponentsIds","filterComponentsByWildcard","parsedIds","getParsedId","loadComponents","currentLaneId","getCurrentLaneId","loadLane","componentsToExportWithoutRemoved","removedStagedBitIds","removedStaged","getRemovedStaged","provider","cli","loggerMain","createLogger","ExportAspect","exportMain","register","ResumeExportCmd","ExportCmd","exports","MainRuntime","CLIAspect","ScopeAspect","WorkspaceAspect","RemoveAspect","DependencyResolverAspect","LoggerAspect","EjectAspect","addRuntime","componentsId","resultId","updateComponentId","hasVersion","isValid","getComponent","getComponentHead","isEqual","currentLane","isCurrentLane","setCurrentLane","toLaneId","scopeJson","removeLaneFromNew","isOnLane","_default"],"sources":["export.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { BitError } from '@teambit/bit-error';\nimport { Analytics } from '@teambit/legacy.analytics';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { CENTRAL_BIT_HUB_NAME, CENTRAL_BIT_HUB_URL, getCloudDomain } from '@teambit/legacy.constants';\nimport { Consumer } from '@teambit/legacy.consumer';\nimport { BitMap } from '@teambit/legacy.bit-map';\nimport { ComponentsList } from '@teambit/legacy.component-list';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { hasWildcard } from '@teambit/legacy.utils';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { compact } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport { Remotes, Remote, getScopeRemotes } from '@teambit/scope.remotes';\nimport { EjectAspect, EjectMain, EjectResults } from '@teambit/eject';\nimport { Http, ExportOrigin } from '@teambit/scope.network';\nimport { linkToNodeModulesByIds } from '@teambit/workspace.modules.node-modules-linker';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { persistRemotes, validateRemotes, removePendingDirs } from './export-scope-components';\nimport {\n Lane,\n ModelComponent,\n ObjectItem,\n ObjectList,\n LaneReadmeComponent,\n BitObject,\n Ref,\n} from '@teambit/scope.objects';\nimport { Scope, PersistFailed } from '@teambit/legacy.scope';\nimport { getAllVersionHashes } from '@teambit/component.snap-distance';\nimport { ExportAspect } from './export.aspect';\nimport { ExportCmd } from './export-cmd';\nimport { ResumeExportCmd } from './resume-export-cmd';\n\nexport type OnExportIdTransformer = (id: ComponentID) => ComponentID;\n\nconst BEFORE_EXPORT = 'exporting component';\nconst BEFORE_EXPORTS = 'exporting components';\nconst BEFORE_LOADING_COMPONENTS = 'loading components';\n\ntype ModelComponentAndObjects = { component: ModelComponent; objects: BitObject[] };\ntype ObjectListPerName = { [name: string]: ObjectList };\nexport type ObjectsPerRemote = {\n remote: Remote;\n objectList: ObjectList;\n exportedIds?: string[];\n};\ntype ObjectsPerRemoteExtended = ObjectsPerRemote & {\n objectListPerName: ObjectListPerName;\n idsToChangeLocally: ComponentIdList;\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 headOnly?: boolean;\n ignoreMissingArtifacts?: boolean;\n forkLaneNewScope?: boolean;\n};\n\nexport interface ExportResult {\n nonExistOnBitMap: ComponentID[];\n newIdsOnRemote: ComponentID[];\n removedIds: ComponentIdList;\n missingScope: ComponentID[];\n componentsIds: ComponentID[];\n exportedLanes: Lane[];\n rippleJobs: string[];\n rippleJobUrls: string[];\n ejectResults: EjectResults | undefined;\n}\n\nexport class ExportMain {\n constructor(\n private workspace: Workspace,\n private remove: RemoveMain,\n private depResolver: DependencyResolverMain,\n private logger: Logger,\n private eject: EjectMain\n ) {}\n\n async export(params: ExportParams = {}): Promise<ExportResult> {\n const { nonExistOnBitMap, newIdsOnRemote, missingScope, exported, removedIds, exportedLanes, rippleJobs } =\n await this.exportComponents(params);\n let ejectResults: EjectResults | undefined;\n await this.workspace.clearCache(); // needed when one process executes multiple commands, such as in \"bit test\" or \"bit cli\"\n if (params.eject) ejectResults = await this.ejectExportedComponents(exported);\n const exportResults: ExportResult = {\n componentsIds: exported,\n newIdsOnRemote,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n ejectResults,\n exportedLanes,\n rippleJobs,\n rippleJobUrls: this.getRippleJobUrls(exportedLanes, rippleJobs),\n };\n if (Scope.onPostExport) {\n await Scope.onPostExport(exported, exportedLanes).catch((err) => {\n this.logger.error('fatal: onPostExport encountered an error (this error does not stop the process)', err);\n });\n }\n\n return exportResults;\n }\n\n private getRippleJobUrls(exportedLanes: Lane[], rippleJobs: string[]): string[] {\n const lane = exportedLanes.length ? exportedLanes?.[0] : undefined;\n const rippleJobUrls = lane\n ? rippleJobs.map(\n (job) =>\n `https://${getCloudDomain()}/${lane.scope.replace('.', '/')}/~lane/${lane.name}/~ripple-ci/job/${job}`\n )\n : rippleJobs.map((job) => `https://${getCloudDomain()}/ripple-ci/job/${job}`);\n return rippleJobUrls;\n }\n\n private async exportComponents({\n ids,\n includeNonStaged,\n headOnly,\n originDirectly,\n ...params\n }: ExportParams): Promise<{\n updatedIds: ComponentID[];\n nonExistOnBitMap: ComponentID[];\n removedIds: ComponentIdList;\n missingScope: ComponentID[];\n exported: ComponentID[];\n exportedLanes: Lane[];\n newIdsOnRemote: ComponentID[];\n rippleJobs: string[];\n }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer: Consumer = this.workspace.consumer;\n const { idsToExport, missingScope, laneObject } = await this.getComponentsToExport(\n ids,\n includeNonStaged || headOnly\n );\n\n if (!idsToExport.length && !laneObject) {\n return {\n updatedIds: [],\n nonExistOnBitMap: [],\n removedIds: new ComponentIdList(),\n missingScope,\n exported: [],\n newIdsOnRemote: [],\n exportedLanes: [],\n rippleJobs: [],\n };\n }\n if (!idsToExport.length && laneObject && params.forkLaneNewScope) {\n throw new BitError(`the forked lane \"${laneObject.name}\" has no changes, to export all its components, please use \"--all\" flag\nif the export fails with missing objects/versions/components, run \"bit fetch --lanes <lane-name> --all-history\", to make sure you have the full history locally`);\n }\n\n // validate lane readme component and ensure it has been snapped\n if (laneObject?.readmeComponent) {\n _throwForUnsnappedLaneReadme(laneObject);\n }\n\n if (\n !params.forkLaneNewScope &&\n laneObject?.forkedFrom &&\n laneObject.isNew &&\n laneObject.forkedFrom.scope !== laneObject.scope\n ) {\n throw new BitError(`error: the current lane ${laneObject\n .id()\n .toString()} was forked from ${laneObject.forkedFrom.toString()}\nand is about to export to a different scope (${laneObject.scope}) than the original lane (${\n laneObject.forkedFrom.scope\n }).\non large lanes with long history graph, it results in exporting lots of objects to the new scope, some of them might be missing locally.\nif you can use the same scope as the original name, change it now by running \"bit lane change-scope ${\n laneObject.name\n } ${laneObject.forkedFrom.scope}\".\notherwise, re-run the export with \"--fork-lane-new-scope\" flag.\nif the export fails with missing objects/versions/components, run \"bit fetch --lanes <lane-name> --all-history\", to make sure you have the full history locally`);\n }\n const isOnMain = consumer.isOnMain();\n const { exported, updatedLocally, newIdsOnRemote, rippleJobs } = await this.exportMany({\n ...params,\n exportHeadsOnly: headOnly,\n scope: consumer.scope,\n ids: idsToExport,\n laneObject,\n originDirectly,\n isOnMain,\n filterOutExistingVersions: Boolean(!params.allVersions && laneObject),\n });\n if (laneObject) await updateLanesAfterExport(consumer, laneObject);\n const removedIds = await this.getRemovedStagedBitIds();\n const workspaceIds = this.workspace.listIds();\n const nonExistOnBitMap = exported.filter(\n (id) => !workspaceIds.hasWithoutVersion(id) && !removedIds.hasWithoutVersion(id)\n );\n const updatedIds = _updateIdsOnBitMap(consumer.bitMap, updatedLocally);\n // re-generate the package.json, this way, it has the correct data in the componentId prop.\n await linkToNodeModulesByIds(this.workspace, updatedIds, true);\n await this.removeFromStagedConfig(exported);\n // ideally we should delete the staged-snaps only for the exported snaps. however, it's not easy, and it's ok to\n // delete them all because this file is mainly an optimization for the import process.\n await this.workspace.scope.legacyScope.stagedSnaps.deleteFile();\n await fs.remove(this.workspace.scope.getLastMergedPath());\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('export');\n return {\n updatedIds,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n exported,\n newIdsOnRemote,\n exportedLanes: laneObject ? [laneObject] : [],\n rippleJobs,\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 resumeExportId,\n throwForMissingArtifacts,\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 includeParents, // relevant when exportHeadsOnly is used. sometimes the parents head are needed as well\n filterOutExistingVersions, // go to the remote and check whether the version exists there. if so, don't export it\n exportOrigin = 'export',\n }: {\n scope: Scope;\n ids: ComponentIdList;\n laneObject?: Lane;\n allVersions?: boolean;\n originDirectly?: boolean;\n resumeExportId?: string | undefined;\n throwForMissingArtifacts?: boolean;\n isOnMain?: boolean;\n exportHeadsOnly?: boolean;\n includeParents?: boolean;\n filterOutExistingVersions?: boolean;\n exportOrigin?: ExportOrigin;\n }): Promise<{\n exported: ComponentIdList;\n updatedLocally: ComponentIdList;\n newIdsOnRemote: ComponentID[];\n rippleJobs: string[];\n }> {\n this.logger.debug(`scope.exportMany, ids: ${ids.toString()}`);\n const scopeRemotes: Remotes = await getScopeRemotes(scope);\n\n const groupByScopeName = (idList: ComponentIdList): { [scopeName: string]: ComponentIdList } => {\n return idList.reduce((acc, current) => {\n const scopeName = current.scope;\n if (!scopeName) {\n throw new Error(`toGroupByScopeName() expect ids to have a scope name, got ${current.toString()}`);\n }\n if (acc[scopeName]) acc[scopeName].push(current);\n else acc[scopeName] = new ComponentIdList(current);\n return acc;\n }, {});\n };\n\n const idsGroupedByScope = groupByScopeName(ids);\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 = ComponentIdList.fromArray(ids.filter((id) => !scope.isExported(id)));\n const newIdsGrouped = groupByScopeName(newIds);\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);\n const list = await remote.list();\n const listIds = ComponentIdList.fromArray(list.map((listItem) => listItem.id));\n newIdsGrouped[scopeName].forEach((id) => {\n if (listIds.hasWithoutVersion(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): Promise<Ref[]> => {\n if (exportHeadsOnly) {\n const head =\n laneObject?.getCompHeadIncludeUpdateDependents(modelComponent.toComponentId()) || 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 }\n if (includeParents) {\n const headVersion = await modelComponent.loadVersion(head.toString(), scope.objects);\n return [head, ...headVersion.parents];\n }\n return [head];\n }\n const fromWorkspace = this.workspace?.getIdIfExist(modelComponent.toComponentId());\n const localTagsOrHashes = await modelComponent.getLocalHashes(scope.objects, fromWorkspace);\n if (!allVersions) {\n return localTagsOrHashes;\n }\n\n const allHashes = await getAllVersionHashes({ modelComponent, repo: scope.objects });\n await addMainHeadIfPossible(allHashes, modelComponent);\n return allHashes;\n };\n\n await validateTargetScopeForLanes();\n const groupedByScopeString = Object.keys(idsGroupedByScope)\n .map((scopeName) => `scope \"${scopeName}\": ${idsGroupedByScope[scopeName].toString()}`)\n .join(', ');\n this.logger.debug(`export-scope-components, export to the following scopes ${groupedByScopeString}`);\n\n const getUpdatedObjectsToExport = async (\n remoteNameStr: string,\n bitIds: ComponentIdList,\n lane?: Lane\n ): Promise<ObjectsPerRemoteExtended> => {\n bitIds.throwForDuplicationIgnoreVersion();\n const remote: Remote = await scopeRemotes.resolve(remoteNameStr);\n const idsToChangeLocally = ComponentIdList.fromArray(bitIds.filter((id) => !scope.isExported(id)));\n const componentsAndObjects: ModelComponentAndObjects[] = [];\n const objectList = new ObjectList();\n const objectListPerName: ObjectListPerName = {};\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.clearObjectsFromCache();\n\n const refsToPotentialExportPerComponent = await mapSeries(modelComponents, async (modelComponent) => {\n const refs = await getVersionsToExport(modelComponent);\n return { modelComponent, refs };\n });\n\n const getRefsToExportPerComp = async () => {\n if (!filterOutExistingVersions) {\n return refsToPotentialExportPerComponent;\n }\n const allHashesAsStr = refsToPotentialExportPerComponent\n .map((r) => r.refs)\n .flat()\n .map((ref) => ref.toString());\n const existingOnRemote = await scope.scopeImporter.checkWhatHashesExistOnRemote(remoteNameStr, allHashesAsStr);\n // for lanes, some snaps might be already on the remote, and the reason they're staged is due to a previous merge.\n const refsToExportPerComponent = refsToPotentialExportPerComponent.map(({ modelComponent, refs }) => {\n const filteredOutRefs: string[] = [];\n const refsToExport = refs.filter((ref) => {\n const existing = existingOnRemote.includes(ref.toString());\n if (existing) filteredOutRefs.push(ref.toString());\n return !existing;\n });\n if (filteredOutRefs.length)\n this.logger.debug(\n `export-scope-components, the following refs were filtered out from ${modelComponent\n .id()\n .toString()} because they already exist on the remote:\\n${filteredOutRefs.join('\\n')}`\n );\n\n return refsToExport.length ? { modelComponent, refs: refsToExport } : null;\n });\n\n return compact(refsToExportPerComponent);\n };\n\n const bitObjectToObjectItem = async (obj: BitObject): Promise<ObjectItem> => {\n return {\n ref: obj.hash(),\n buffer: await obj.compress(),\n type: obj.getType(),\n };\n };\n\n const processModelComponent = async ({\n modelComponent,\n refs,\n }: {\n modelComponent: ModelComponent;\n refs: Ref[];\n }) => {\n const idFromWorkspace = this.workspace?.getIdIfExist(modelComponent.toComponentId());\n modelComponent.clearStateData();\n const objectItems = await modelComponent.collectVersionsObjects(\n scope.objects,\n refs.map((ref) => ref.toString()),\n throwForMissingArtifacts,\n idFromWorkspace\n );\n const objectsList = await new ObjectList(objectItems).toBitObjects();\n const componentAndObject = { component: modelComponent, objects: objectsList.getAll() };\n await this.convertToCorrectScope(scope, componentAndObject, remoteNameStr, bitIds, ids);\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) => bitObjectToObjectItem(obj))\n );\n const allObjectsData = [componentData, ...objectsBuffer];\n objectListPerName[modelComponent.name] = new ObjectList(allObjectsData);\n objectList.addIfNotExist(allObjectsData);\n };\n\n const refsToExportPerComponent = await getRefsToExportPerComp();\n // don't use Promise.all, otherwise, it'll throw \"JavaScript heap out of memory\" on a large set of data\n await mapSeries(refsToExportPerComponent, processModelComponent);\n if (lane) {\n const laneHistory = await scope.lanes.getOrCreateLaneHistory(lane);\n const laneHistoryData = await bitObjectToObjectItem(laneHistory);\n objectList.addIfNotExist([laneHistoryData]);\n const laneData = await bitObjectToObjectItem(lane);\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 pushAllToCentralHub = async () => {\n const objectList = this.transformToOneObjectListWithScopeData(manyObjectsPerRemote);\n const http = await Http.connect(CENTRAL_BIT_HUB_URL, CENTRAL_BIT_HUB_NAME);\n const pushResults = await http.pushToCentralHub(objectList, { origin: exportOrigin });\n const { failedScopes, successIds, errors, metadata } = pushResults;\n if (failedScopes.length) {\n throw new PersistFailed(failedScopes, errors);\n }\n const exportedBitIds = successIds.map((id) => ComponentID.fromString(id));\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 return { rippleJobs: metadata?.jobs };\n };\n\n const updateLocalObjects = async (\n lane?: Lane\n ): Promise<\n Array<{ exported: ComponentIdList; updatedLocally: ComponentIdList; newIdsOnRemote: ComponentID[] }>\n > => {\n return mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemoteExtended) => {\n const { remote, idsToChangeLocally, componentsAndObjects, exportedIds } = objectsPerRemote;\n const remoteNameStr = remote.name;\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.toComponentId(), 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) => ComponentID.fromString(id));\n // remove version. exported component might have multiple versions exported\n const idsWithRemoteScope: ComponentID[] = newIdsOnRemote.map((id) => id.changeVersion(undefined));\n const idsWithRemoteScopeUniq = ComponentIdList.uniqFromArray(idsWithRemoteScope).sort();\n return {\n newIdsOnRemote,\n exported: idsWithRemoteScopeUniq,\n updatedLocally: ComponentIdList.fromArray(\n idsWithRemoteScopeUniq.filter((id) => idsToChangeLocally.hasWithoutScopeAndVersion(id))\n ),\n };\n });\n };\n\n const warnCancelExport = () => {\n this.logger.consoleWarning(\n `unable to cancel the export process at this point because the communication with the remote already started`\n );\n };\n process.on('SIGINT', warnCancelExport);\n let centralHubResults;\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 centralHubResults = await pushAllToCentralHub();\n } else {\n // await pushToRemotes();\n await this.pushToRemotesCarefully(manyObjectsPerRemote, resumeExportId);\n }\n\n this.logger.setStatusLine('updating data locally...');\n const results = await updateLocalObjects(laneObject);\n process.removeListener('SIGINT', warnCancelExport);\n return {\n newIdsOnRemote: results.map((r) => r.newIdsOnRemote).flat(),\n exported: ComponentIdList.uniqFromArray(results.map((r) => r.exported).flat()),\n updatedLocally: ComponentIdList.uniqFromArray(results.map((r) => r.updatedLocally).flat()),\n rippleJobs: centralHubResults?.rippleJobs || [],\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 ejectExportedComponents(componentsIds: ComponentID[]): Promise<EjectResults> {\n const consumer: Consumer = this.workspace.consumer;\n let ejectResults: EjectResults;\n try {\n ejectResults = await this.eject.eject(componentsIds, { force: true });\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 this.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('export (eject)');\n return ejectResults;\n }\n\n 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 this.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 this.logger.setStatusLine(`transferring ${objectList.count()} objects to the remote \"${remote.name}\"...`);\n try {\n await remote.pushMany(objectList, pushOptions, {});\n this.logger.debug(\n 'pushRemotesPendingDir, successfully pushed all objects to the pending-dir directory on the remote'\n );\n pushedRemotes.push(remote);\n } catch (err: any) {\n this.logger.warn('exportMany, failed pushing objects to the remote');\n await removePendingDirs(pushedRemotes, clientId);\n throw err;\n }\n });\n }\n\n 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 convertToCorrectScope(\n scope: Scope,\n componentsObjects: ModelComponentAndObjects,\n remoteScope: string,\n exportingIds: ComponentIdList,\n ids: ComponentIdList,\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 shouldChangeScope = shouldFork\n ? remoteScope !== componentsObjects.component.scope\n : !componentsObjects.component.scope;\n const hasComponentChanged = shouldChangeScope;\n if (shouldChangeScope) {\n const idWithFutureScope = ids.searchWithoutScopeAndVersion(componentsObjects.component.toComponentId());\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 hasComponentChanged;\n }\n\n private async removeFromStagedConfig(ids: ComponentID[]) {\n this.logger.debug(`removeFromStagedConfig, ${ids.length} ids`);\n const stagedConfig = await this.workspace.scope.getStagedConfig();\n ids.map((compId) => stagedConfig.removeComponentConfig(compId));\n await stagedConfig.write();\n }\n\n private async getComponentsToExport(\n ids: string[] = [],\n includeNonStaged?: boolean\n ): Promise<{\n idsToExport: ComponentIdList;\n missingScope: ComponentID[];\n laneObject?: Lane;\n }> {\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(this.workspace);\n const idsHaveWildcard = hasWildcard(ids);\n const throwForLocalOnlyIfNeeded = async (\n bitIds: ComponentIdList\n ): Promise<{ idsToExport: ComponentIdList; missingScope: ComponentID[] }> => {\n const localOnlyComponents = this.workspace.listLocalOnly();\n const localOnlyExportPending = bitIds.filter((id) => localOnlyComponents.hasWithoutScopeAndVersion(id));\n if (localOnlyExportPending.length) {\n throw new BitError(`unable to export the following components as they are local only:\n(either bit-reset them or run \"bit local-only unset\" to make them non local only)\n${localOnlyExportPending.map((c) => c.toString()).join('\\n')}`);\n }\n return { idsToExport: ComponentIdList.fromArray(bitIds), missingScope: [] };\n };\n if (isUserTryingToExportLanes(consumer)) {\n if (ids.length) {\n throw new BitError(`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 this.logger.setStatusLine(loaderMsg);\n const filtered = await throwForLocalOnlyIfNeeded(componentsToExport);\n return { ...filtered, laneObject };\n }\n if (!ids.length || idsHaveWildcard) {\n this.logger.setStatusLine(BEFORE_LOADING_COMPONENTS);\n const exportPendingComponents: ComponentIdList = 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 this.logger.setStatusLine(loaderMsg);\n return throwForLocalOnlyIfNeeded(componentsToExport);\n }\n this.logger.setStatusLine(BEFORE_EXPORT); // show single export\n const parsedIds = await Promise.all(ids.map((id) => getParsedId(consumer, id)));\n // load the components for fixing any out-of-sync issues.\n await consumer.loadComponents(ComponentIdList.fromArray(parsedIds));\n\n return throwForLocalOnlyIfNeeded(ComponentIdList.fromArray(parsedIds));\n }\n\n private async getLaneCompIdsToExport(\n consumer: Consumer,\n includeNonStaged?: boolean\n ): Promise<{ componentsToExport: ComponentIdList; 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 this.logger.setStatusLine(BEFORE_LOADING_COMPONENTS);\n const componentsList = new ComponentsList(this.workspace);\n const componentsToExportWithoutRemoved = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds(laneObject);\n const removedStagedBitIds = await this.getRemovedStagedBitIds();\n const componentsToExport = ComponentIdList.uniqFromArray([\n ...componentsToExportWithoutRemoved,\n ...removedStagedBitIds,\n ]);\n return { componentsToExport, laneObject };\n }\n\n private async getRemovedStagedBitIds(): Promise<ComponentIdList> {\n const removedStaged = await this.remove.getRemovedStaged();\n return ComponentIdList.fromArray(removedStaged.map((id) => id.changeVersion(undefined)));\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n ScopeAspect,\n WorkspaceAspect,\n RemoveAspect,\n DependencyResolverAspect,\n LoggerAspect,\n EjectAspect,\n ];\n static async provider([cli, scope, workspace, remove, depResolver, loggerMain, eject]: [\n CLIMain,\n ScopeMain,\n Workspace,\n RemoveMain,\n DependencyResolverMain,\n LoggerMain,\n EjectMain,\n ]) {\n const logger = loggerMain.createLogger(ExportAspect.id);\n const exportMain = new ExportMain(workspace, remove, depResolver, logger, eject);\n cli.register(new ResumeExportCmd(scope), new ExportCmd(exportMain));\n return exportMain;\n }\n}\n\nExportAspect.addRuntime(ExportMain);\n\n/**\n * the componentsIds passed here are the ones that didn't have scope-name before, and now they have.\n * so if the bitMap.updateComponentId returns bitId without scope-name is because it couldn't find it there\n */\nfunction _updateIdsOnBitMap(bitMap: BitMap, componentsIds: ComponentIdList): ComponentID[] {\n const updatedIds: ComponentID[] = [];\n componentsIds.forEach((componentsId) => {\n const resultId = bitMap.updateComponentId(componentsId, true);\n if (resultId.hasVersion()) updatedIds.push(resultId);\n });\n return updatedIds;\n}\n\nasync function getParsedId(consumer: Consumer, id: string): Promise<ComponentID> {\n // reason why not calling `consumer.getParsedId()` only is because a component might not be on\n // .bitmap and only in the scope. we support this case and enable to export\n try {\n return consumer.getParsedId(id);\n } catch {\n return consumer.scope.getParsedId(id);\n }\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\nexport default ExportMain;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_cli","_scope","_bitError","_legacy","_componentId","_legacy2","_legacy3","_remove","_legacy4","_workspace","_logger","_lodash","_pMapSeries","_laneId","_scope2","_eject","_scope3","_workspaceModules","_dependencyResolver","_exportScopeComponents","_objects","_legacy5","_component","_export","_exportCmd","_resumeExportCmd","_excluded","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","call","n","hasOwnProperty","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","BEFORE_EXPORT","BEFORE_EXPORTS","BEFORE_LOADING_COMPONENTS","ExportMain","constructor","workspace","remove","depResolver","logger","eject","export","params","nonExistOnBitMap","newIdsOnRemote","missingScope","exported","removedIds","exportedLanes","rippleJobs","exportComponents","ejectResults","clearCache","ejectExportedComponents","exportResults","componentsIds","rippleJobUrls","getRippleJobUrls","Scope","onPostExport","catch","err","error","lane","undefined","map","job","getCloudDomain","scope","replace","name","_ref","ids","includeNonStaged","headOnly","originDirectly","OutsideWorkspaceError","consumer","idsToExport","laneObject","getComponentsToExport","updatedIds","ComponentIdList","forkLaneNewScope","BitError","readmeComponent","_throwForUnsnappedLaneReadme","forkedFrom","isNew","id","toString","isOnMain","updatedLocally","exportMany","exportHeadsOnly","filterOutExistingVersions","Boolean","allVersions","updateLanesAfterExport","getRemovedStagedBitIds","workspaceIds","listIds","hasWithoutVersion","_updateIdsOnBitMap","bitMap","linkToNodeModulesByIds","removeFromStagedConfig","legacyScope","stagedSnaps","deleteFile","fs","getLastMergedPath","Analytics","setExtraData","onDestroy","resumeExportId","throwForMissingArtifacts","includeParents","exportOrigin","debug","scopeRemotes","getScopeRemotes","groupByScopeName","idList","reduce","acc","current","scopeName","Error","idsGroupedByScope","validateTargetScopeForLanes","newIds","fromArray","isExported","newIdsGrouped","mapSeries","remote","resolve","list","listItem","addMainHeadIfPossible","allHashes","modelComponent","head","find","h","hash","objects","has","getVersionsToExport","getCompHeadIncludeUpdateDependents","toComponentId","headVersion","loadVersion","parents","fromWorkspace","getIdIfExist","localTagsOrHashes","getLocalHashes","getAllVersionHashes","repo","groupedByScopeString","join","getUpdatedObjectsToExport","remoteNameStr","bitIds","throwForDuplicationIgnoreVersion","idsToChangeLocally","componentsAndObjects","objectList","ObjectList","objectListPerName","modelComponents","getModelComponent","clearObjectsFromCache","refsToPotentialExportPerComponent","refs","getRefsToExportPerComp","allHashesAsStr","flat","ref","existingOnRemote","scopeImporter","checkWhatHashesExistOnRemote","refsToExportPerComponent","filteredOutRefs","refsToExport","existing","compact","bitObjectToObjectItem","obj","buffer","compress","type","getType","processModelComponent","idFromWorkspace","clearStateData","objectItems","collectVersionsObjects","objectsList","toBitObjects","componentAndObject","component","getAll","convertToCorrectScope","remoteObj","url","host","date","Date","now","addScopeListItem","componentBuffer","componentData","objectsBuffer","Promise","all","allObjectsData","addIfNotExist","laneHistory","lanes","getOrCreateLaneHistory","laneHistoryData","laneData","manyObjectsPerRemote","pushAllToCentralHub","transformToOneObjectListWithScopeData","http","Http","connect","CENTRAL_BIT_HUB_URL","CENTRAL_BIT_HUB_NAME","pushResults","pushToCentralHub","origin","failedScopes","successIds","errors","metadata","PersistFailed","exportedBitIds","ComponentID","fromString","exportedIds","objectPerRemote","idsPerScope","jobs","updateLocalObjects","objectsPerRemote","componentObject","sources","put","add","remoteLanes","syncWithLaneObject","remoteLaneId","LaneId","from","DEFAULT_LANE","loadRemoteLane","addEntry","getHead","persist","idsWithRemoteScope","changeVersion","idsWithRemoteScopeUniq","uniqFromArray","sort","hasWithoutScopeAndVersion","warnCancelExport","consoleWarning","process","on","centralHubResults","remotes","validateRemotes","persistRemotes","shouldPushToCentralHub","pushToRemotesCarefully","setStatusLine","results","removeListener","objPerRemote","addScopeName","mergeObjectList","force","ejectErr","c","msg","clientId","pushRemotesPendingDir","pushOptions","pushedRemotes","count","pushMany","warn","removePendingDirs","hubRemotes","m","isHub","componentsObjects","remoteScope","exportingIds","shouldFork","shouldChangeScope","hasComponentChanged","idWithFutureScope","searchWithoutScopeAndVersion","stagedConfig","getStagedConfig","compId","removeComponentConfig","write","componentsList","ComponentsList","idsHaveWildcard","hasWildcard","throwForLocalOnlyIfNeeded","localOnlyComponents","listLocalOnly","localOnlyExportPending","isUserTryingToExportLanes","componentsToExport","getLaneCompIdsToExport","loaderMsg","filtered","exportPendingComponents","listNonNewComponentsIds","listExportPendingComponentsIds","filterComponentsByWildcard","parsedIds","getParsedId","loadComponents","currentLaneId","getCurrentLaneId","loadLane","componentsToExportWithoutRemoved","removedStagedBitIds","removedStaged","getRemovedStaged","provider","cli","loggerMain","createLogger","ExportAspect","exportMain","register","ResumeExportCmd","ExportCmd","exports","MainRuntime","CLIAspect","ScopeAspect","WorkspaceAspect","RemoveAspect","DependencyResolverAspect","LoggerAspect","EjectAspect","addRuntime","componentsId","resultId","updateComponentId","hasVersion","isValid","getComponent","getComponentHead","isEqual","currentLane","isCurrentLane","setCurrentLane","toLaneId","scopeJson","removeLaneFromNew","isOnLane","_default"],"sources":["export.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { BitError } from '@teambit/bit-error';\nimport { Analytics } from '@teambit/legacy.analytics';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { CENTRAL_BIT_HUB_NAME, CENTRAL_BIT_HUB_URL, getCloudDomain } from '@teambit/legacy.constants';\nimport { Consumer } from '@teambit/legacy.consumer';\nimport { BitMap } from '@teambit/legacy.bit-map';\nimport { ComponentsList } from '@teambit/legacy.component-list';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { hasWildcard } from '@teambit/legacy.utils';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { compact } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport { Remotes, Remote, getScopeRemotes } from '@teambit/scope.remotes';\nimport { EjectAspect, EjectMain, EjectResults } from '@teambit/eject';\nimport { Http, ExportOrigin } from '@teambit/scope.network';\nimport { linkToNodeModulesByIds } from '@teambit/workspace.modules.node-modules-linker';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { persistRemotes, validateRemotes, removePendingDirs } from './export-scope-components';\nimport { Lane, ModelComponent, ObjectItem, ObjectList, LaneReadmeComponent, BitObject, Ref } from '@teambit/objects';\nimport { Scope, PersistFailed } from '@teambit/legacy.scope';\nimport { getAllVersionHashes } from '@teambit/component.snap-distance';\nimport { ExportAspect } from './export.aspect';\nimport { ExportCmd } from './export-cmd';\nimport { ResumeExportCmd } from './resume-export-cmd';\n\nexport type OnExportIdTransformer = (id: ComponentID) => ComponentID;\n\nconst BEFORE_EXPORT = 'exporting component';\nconst BEFORE_EXPORTS = 'exporting components';\nconst BEFORE_LOADING_COMPONENTS = 'loading components';\n\ntype ModelComponentAndObjects = { component: ModelComponent; objects: BitObject[] };\ntype ObjectListPerName = { [name: string]: ObjectList };\nexport type ObjectsPerRemote = {\n remote: Remote;\n objectList: ObjectList;\n exportedIds?: string[];\n};\ntype ObjectsPerRemoteExtended = ObjectsPerRemote & {\n objectListPerName: ObjectListPerName;\n idsToChangeLocally: ComponentIdList;\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 headOnly?: boolean;\n ignoreMissingArtifacts?: boolean;\n forkLaneNewScope?: boolean;\n};\n\nexport interface ExportResult {\n nonExistOnBitMap: ComponentID[];\n newIdsOnRemote: ComponentID[];\n removedIds: ComponentIdList;\n missingScope: ComponentID[];\n componentsIds: ComponentID[];\n exportedLanes: Lane[];\n rippleJobs: string[];\n rippleJobUrls: string[];\n ejectResults: EjectResults | undefined;\n}\n\nexport class ExportMain {\n constructor(\n private workspace: Workspace,\n private remove: RemoveMain,\n private depResolver: DependencyResolverMain,\n private logger: Logger,\n private eject: EjectMain\n ) {}\n\n async export(params: ExportParams = {}): Promise<ExportResult> {\n const { nonExistOnBitMap, newIdsOnRemote, missingScope, exported, removedIds, exportedLanes, rippleJobs } =\n await this.exportComponents(params);\n let ejectResults: EjectResults | undefined;\n await this.workspace.clearCache(); // needed when one process executes multiple commands, such as in \"bit test\" or \"bit cli\"\n if (params.eject) ejectResults = await this.ejectExportedComponents(exported);\n const exportResults: ExportResult = {\n componentsIds: exported,\n newIdsOnRemote,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n ejectResults,\n exportedLanes,\n rippleJobs,\n rippleJobUrls: this.getRippleJobUrls(exportedLanes, rippleJobs),\n };\n if (Scope.onPostExport) {\n await Scope.onPostExport(exported, exportedLanes).catch((err) => {\n this.logger.error('fatal: onPostExport encountered an error (this error does not stop the process)', err);\n });\n }\n\n return exportResults;\n }\n\n private getRippleJobUrls(exportedLanes: Lane[], rippleJobs: string[]): string[] {\n const lane = exportedLanes.length ? exportedLanes?.[0] : undefined;\n const rippleJobUrls = lane\n ? rippleJobs.map(\n (job) =>\n `https://${getCloudDomain()}/${lane.scope.replace('.', '/')}/~lane/${lane.name}/~ripple-ci/job/${job}`\n )\n : rippleJobs.map((job) => `https://${getCloudDomain()}/ripple-ci/job/${job}`);\n return rippleJobUrls;\n }\n\n private async exportComponents({\n ids,\n includeNonStaged,\n headOnly,\n originDirectly,\n ...params\n }: ExportParams): Promise<{\n updatedIds: ComponentID[];\n nonExistOnBitMap: ComponentID[];\n removedIds: ComponentIdList;\n missingScope: ComponentID[];\n exported: ComponentID[];\n exportedLanes: Lane[];\n newIdsOnRemote: ComponentID[];\n rippleJobs: string[];\n }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer: Consumer = this.workspace.consumer;\n const { idsToExport, missingScope, laneObject } = await this.getComponentsToExport(\n ids,\n includeNonStaged || headOnly\n );\n\n if (!idsToExport.length && !laneObject) {\n return {\n updatedIds: [],\n nonExistOnBitMap: [],\n removedIds: new ComponentIdList(),\n missingScope,\n exported: [],\n newIdsOnRemote: [],\n exportedLanes: [],\n rippleJobs: [],\n };\n }\n if (!idsToExport.length && laneObject && params.forkLaneNewScope) {\n throw new BitError(`the forked lane \"${laneObject.name}\" has no changes, to export all its components, please use \"--all\" flag\nif the export fails with missing objects/versions/components, run \"bit fetch --lanes <lane-name> --all-history\", to make sure you have the full history locally`);\n }\n\n // validate lane readme component and ensure it has been snapped\n if (laneObject?.readmeComponent) {\n _throwForUnsnappedLaneReadme(laneObject);\n }\n\n if (\n !params.forkLaneNewScope &&\n laneObject?.forkedFrom &&\n laneObject.isNew &&\n laneObject.forkedFrom.scope !== laneObject.scope\n ) {\n throw new BitError(`error: the current lane ${laneObject\n .id()\n .toString()} was forked from ${laneObject.forkedFrom.toString()}\nand is about to export to a different scope (${laneObject.scope}) than the original lane (${\n laneObject.forkedFrom.scope\n }).\non large lanes with long history graph, it results in exporting lots of objects to the new scope, some of them might be missing locally.\nif you can use the same scope as the original name, change it now by running \"bit lane change-scope ${\n laneObject.name\n } ${laneObject.forkedFrom.scope}\".\notherwise, re-run the export with \"--fork-lane-new-scope\" flag.\nif the export fails with missing objects/versions/components, run \"bit fetch --lanes <lane-name> --all-history\", to make sure you have the full history locally`);\n }\n const isOnMain = consumer.isOnMain();\n const { exported, updatedLocally, newIdsOnRemote, rippleJobs } = await this.exportMany({\n ...params,\n exportHeadsOnly: headOnly,\n scope: consumer.scope,\n ids: idsToExport,\n laneObject,\n originDirectly,\n isOnMain,\n filterOutExistingVersions: Boolean(!params.allVersions && laneObject),\n });\n if (laneObject) await updateLanesAfterExport(consumer, laneObject);\n const removedIds = await this.getRemovedStagedBitIds();\n const workspaceIds = this.workspace.listIds();\n const nonExistOnBitMap = exported.filter(\n (id) => !workspaceIds.hasWithoutVersion(id) && !removedIds.hasWithoutVersion(id)\n );\n const updatedIds = _updateIdsOnBitMap(consumer.bitMap, updatedLocally);\n // re-generate the package.json, this way, it has the correct data in the componentId prop.\n await linkToNodeModulesByIds(this.workspace, updatedIds, true);\n await this.removeFromStagedConfig(exported);\n // ideally we should delete the staged-snaps only for the exported snaps. however, it's not easy, and it's ok to\n // delete them all because this file is mainly an optimization for the import process.\n await this.workspace.scope.legacyScope.stagedSnaps.deleteFile();\n await fs.remove(this.workspace.scope.getLastMergedPath());\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('export');\n return {\n updatedIds,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n exported,\n newIdsOnRemote,\n exportedLanes: laneObject ? [laneObject] : [],\n rippleJobs,\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 resumeExportId,\n throwForMissingArtifacts,\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 includeParents, // relevant when exportHeadsOnly is used. sometimes the parents head are needed as well\n filterOutExistingVersions, // go to the remote and check whether the version exists there. if so, don't export it\n exportOrigin = 'export',\n }: {\n scope: Scope;\n ids: ComponentIdList;\n laneObject?: Lane;\n allVersions?: boolean;\n originDirectly?: boolean;\n resumeExportId?: string | undefined;\n throwForMissingArtifacts?: boolean;\n isOnMain?: boolean;\n exportHeadsOnly?: boolean;\n includeParents?: boolean;\n filterOutExistingVersions?: boolean;\n exportOrigin?: ExportOrigin;\n }): Promise<{\n exported: ComponentIdList;\n updatedLocally: ComponentIdList;\n newIdsOnRemote: ComponentID[];\n rippleJobs: string[];\n }> {\n this.logger.debug(`scope.exportMany, ids: ${ids.toString()}`);\n const scopeRemotes: Remotes = await getScopeRemotes(scope);\n\n const groupByScopeName = (idList: ComponentIdList): { [scopeName: string]: ComponentIdList } => {\n return idList.reduce((acc, current) => {\n const scopeName = current.scope;\n if (!scopeName) {\n throw new Error(`toGroupByScopeName() expect ids to have a scope name, got ${current.toString()}`);\n }\n if (acc[scopeName]) acc[scopeName].push(current);\n else acc[scopeName] = new ComponentIdList(current);\n return acc;\n }, {});\n };\n\n const idsGroupedByScope = groupByScopeName(ids);\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 = ComponentIdList.fromArray(ids.filter((id) => !scope.isExported(id)));\n const newIdsGrouped = groupByScopeName(newIds);\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);\n const list = await remote.list();\n const listIds = ComponentIdList.fromArray(list.map((listItem) => listItem.id));\n newIdsGrouped[scopeName].forEach((id) => {\n if (listIds.hasWithoutVersion(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): Promise<Ref[]> => {\n if (exportHeadsOnly) {\n const head =\n laneObject?.getCompHeadIncludeUpdateDependents(modelComponent.toComponentId()) || 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 }\n if (includeParents) {\n const headVersion = await modelComponent.loadVersion(head.toString(), scope.objects);\n return [head, ...headVersion.parents];\n }\n return [head];\n }\n const fromWorkspace = this.workspace?.getIdIfExist(modelComponent.toComponentId());\n const localTagsOrHashes = await modelComponent.getLocalHashes(scope.objects, fromWorkspace);\n if (!allVersions) {\n return localTagsOrHashes;\n }\n\n const allHashes = await getAllVersionHashes({ modelComponent, repo: scope.objects });\n await addMainHeadIfPossible(allHashes, modelComponent);\n return allHashes;\n };\n\n await validateTargetScopeForLanes();\n const groupedByScopeString = Object.keys(idsGroupedByScope)\n .map((scopeName) => `scope \"${scopeName}\": ${idsGroupedByScope[scopeName].toString()}`)\n .join(', ');\n this.logger.debug(`export-scope-components, export to the following scopes ${groupedByScopeString}`);\n\n const getUpdatedObjectsToExport = async (\n remoteNameStr: string,\n bitIds: ComponentIdList,\n lane?: Lane\n ): Promise<ObjectsPerRemoteExtended> => {\n bitIds.throwForDuplicationIgnoreVersion();\n const remote: Remote = await scopeRemotes.resolve(remoteNameStr);\n const idsToChangeLocally = ComponentIdList.fromArray(bitIds.filter((id) => !scope.isExported(id)));\n const componentsAndObjects: ModelComponentAndObjects[] = [];\n const objectList = new ObjectList();\n const objectListPerName: ObjectListPerName = {};\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.clearObjectsFromCache();\n\n const refsToPotentialExportPerComponent = await mapSeries(modelComponents, async (modelComponent) => {\n const refs = await getVersionsToExport(modelComponent);\n return { modelComponent, refs };\n });\n\n const getRefsToExportPerComp = async () => {\n if (!filterOutExistingVersions) {\n return refsToPotentialExportPerComponent;\n }\n const allHashesAsStr = refsToPotentialExportPerComponent\n .map((r) => r.refs)\n .flat()\n .map((ref) => ref.toString());\n const existingOnRemote = await scope.scopeImporter.checkWhatHashesExistOnRemote(remoteNameStr, allHashesAsStr);\n // for lanes, some snaps might be already on the remote, and the reason they're staged is due to a previous merge.\n const refsToExportPerComponent = refsToPotentialExportPerComponent.map(({ modelComponent, refs }) => {\n const filteredOutRefs: string[] = [];\n const refsToExport = refs.filter((ref) => {\n const existing = existingOnRemote.includes(ref.toString());\n if (existing) filteredOutRefs.push(ref.toString());\n return !existing;\n });\n if (filteredOutRefs.length)\n this.logger.debug(\n `export-scope-components, the following refs were filtered out from ${modelComponent\n .id()\n .toString()} because they already exist on the remote:\\n${filteredOutRefs.join('\\n')}`\n );\n\n return refsToExport.length ? { modelComponent, refs: refsToExport } : null;\n });\n\n return compact(refsToExportPerComponent);\n };\n\n const bitObjectToObjectItem = async (obj: BitObject): Promise<ObjectItem> => {\n return {\n ref: obj.hash(),\n buffer: await obj.compress(),\n type: obj.getType(),\n };\n };\n\n const processModelComponent = async ({\n modelComponent,\n refs,\n }: {\n modelComponent: ModelComponent;\n refs: Ref[];\n }) => {\n const idFromWorkspace = this.workspace?.getIdIfExist(modelComponent.toComponentId());\n modelComponent.clearStateData();\n const objectItems = await modelComponent.collectVersionsObjects(\n scope.objects,\n refs.map((ref) => ref.toString()),\n throwForMissingArtifacts,\n idFromWorkspace\n );\n const objectsList = await new ObjectList(objectItems).toBitObjects();\n const componentAndObject = { component: modelComponent, objects: objectsList.getAll() };\n await this.convertToCorrectScope(scope, componentAndObject, remoteNameStr, bitIds, ids);\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) => bitObjectToObjectItem(obj))\n );\n const allObjectsData = [componentData, ...objectsBuffer];\n objectListPerName[modelComponent.name] = new ObjectList(allObjectsData);\n objectList.addIfNotExist(allObjectsData);\n };\n\n const refsToExportPerComponent = await getRefsToExportPerComp();\n // don't use Promise.all, otherwise, it'll throw \"JavaScript heap out of memory\" on a large set of data\n await mapSeries(refsToExportPerComponent, processModelComponent);\n if (lane) {\n const laneHistory = await scope.lanes.getOrCreateLaneHistory(lane);\n const laneHistoryData = await bitObjectToObjectItem(laneHistory);\n objectList.addIfNotExist([laneHistoryData]);\n const laneData = await bitObjectToObjectItem(lane);\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 pushAllToCentralHub = async () => {\n const objectList = this.transformToOneObjectListWithScopeData(manyObjectsPerRemote);\n const http = await Http.connect(CENTRAL_BIT_HUB_URL, CENTRAL_BIT_HUB_NAME);\n const pushResults = await http.pushToCentralHub(objectList, { origin: exportOrigin });\n const { failedScopes, successIds, errors, metadata } = pushResults;\n if (failedScopes.length) {\n throw new PersistFailed(failedScopes, errors);\n }\n const exportedBitIds = successIds.map((id) => ComponentID.fromString(id));\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 return { rippleJobs: metadata?.jobs };\n };\n\n const updateLocalObjects = async (\n lane?: Lane\n ): Promise<\n Array<{ exported: ComponentIdList; updatedLocally: ComponentIdList; newIdsOnRemote: ComponentID[] }>\n > => {\n return mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemoteExtended) => {\n const { remote, idsToChangeLocally, componentsAndObjects, exportedIds } = objectsPerRemote;\n const remoteNameStr = remote.name;\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.toComponentId(), 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) => ComponentID.fromString(id));\n // remove version. exported component might have multiple versions exported\n const idsWithRemoteScope: ComponentID[] = newIdsOnRemote.map((id) => id.changeVersion(undefined));\n const idsWithRemoteScopeUniq = ComponentIdList.uniqFromArray(idsWithRemoteScope).sort();\n return {\n newIdsOnRemote,\n exported: idsWithRemoteScopeUniq,\n updatedLocally: ComponentIdList.fromArray(\n idsWithRemoteScopeUniq.filter((id) => idsToChangeLocally.hasWithoutScopeAndVersion(id))\n ),\n };\n });\n };\n\n const warnCancelExport = () => {\n this.logger.consoleWarning(\n `unable to cancel the export process at this point because the communication with the remote already started`\n );\n };\n process.on('SIGINT', warnCancelExport);\n let centralHubResults;\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 centralHubResults = await pushAllToCentralHub();\n } else {\n // await pushToRemotes();\n await this.pushToRemotesCarefully(manyObjectsPerRemote, resumeExportId);\n }\n\n this.logger.setStatusLine('updating data locally...');\n const results = await updateLocalObjects(laneObject);\n process.removeListener('SIGINT', warnCancelExport);\n return {\n newIdsOnRemote: results.map((r) => r.newIdsOnRemote).flat(),\n exported: ComponentIdList.uniqFromArray(results.map((r) => r.exported).flat()),\n updatedLocally: ComponentIdList.uniqFromArray(results.map((r) => r.updatedLocally).flat()),\n rippleJobs: centralHubResults?.rippleJobs || [],\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 ejectExportedComponents(componentsIds: ComponentID[]): Promise<EjectResults> {\n const consumer: Consumer = this.workspace.consumer;\n let ejectResults: EjectResults;\n try {\n ejectResults = await this.eject.eject(componentsIds, { force: true });\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 this.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('export (eject)');\n return ejectResults;\n }\n\n 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 this.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 this.logger.setStatusLine(`transferring ${objectList.count()} objects to the remote \"${remote.name}\"...`);\n try {\n await remote.pushMany(objectList, pushOptions, {});\n this.logger.debug(\n 'pushRemotesPendingDir, successfully pushed all objects to the pending-dir directory on the remote'\n );\n pushedRemotes.push(remote);\n } catch (err: any) {\n this.logger.warn('exportMany, failed pushing objects to the remote');\n await removePendingDirs(pushedRemotes, clientId);\n throw err;\n }\n });\n }\n\n 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 convertToCorrectScope(\n scope: Scope,\n componentsObjects: ModelComponentAndObjects,\n remoteScope: string,\n exportingIds: ComponentIdList,\n ids: ComponentIdList,\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 shouldChangeScope = shouldFork\n ? remoteScope !== componentsObjects.component.scope\n : !componentsObjects.component.scope;\n const hasComponentChanged = shouldChangeScope;\n if (shouldChangeScope) {\n const idWithFutureScope = ids.searchWithoutScopeAndVersion(componentsObjects.component.toComponentId());\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 hasComponentChanged;\n }\n\n private async removeFromStagedConfig(ids: ComponentID[]) {\n this.logger.debug(`removeFromStagedConfig, ${ids.length} ids`);\n const stagedConfig = await this.workspace.scope.getStagedConfig();\n ids.map((compId) => stagedConfig.removeComponentConfig(compId));\n await stagedConfig.write();\n }\n\n private async getComponentsToExport(\n ids: string[] = [],\n includeNonStaged?: boolean\n ): Promise<{\n idsToExport: ComponentIdList;\n missingScope: ComponentID[];\n laneObject?: Lane;\n }> {\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(this.workspace);\n const idsHaveWildcard = hasWildcard(ids);\n const throwForLocalOnlyIfNeeded = async (\n bitIds: ComponentIdList\n ): Promise<{ idsToExport: ComponentIdList; missingScope: ComponentID[] }> => {\n const localOnlyComponents = this.workspace.listLocalOnly();\n const localOnlyExportPending = bitIds.filter((id) => localOnlyComponents.hasWithoutScopeAndVersion(id));\n if (localOnlyExportPending.length) {\n throw new BitError(`unable to export the following components as they are local only:\n(either bit-reset them or run \"bit local-only unset\" to make them non local only)\n${localOnlyExportPending.map((c) => c.toString()).join('\\n')}`);\n }\n return { idsToExport: ComponentIdList.fromArray(bitIds), missingScope: [] };\n };\n if (isUserTryingToExportLanes(consumer)) {\n if (ids.length) {\n throw new BitError(`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 this.logger.setStatusLine(loaderMsg);\n const filtered = await throwForLocalOnlyIfNeeded(componentsToExport);\n return { ...filtered, laneObject };\n }\n if (!ids.length || idsHaveWildcard) {\n this.logger.setStatusLine(BEFORE_LOADING_COMPONENTS);\n const exportPendingComponents: ComponentIdList = 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 this.logger.setStatusLine(loaderMsg);\n return throwForLocalOnlyIfNeeded(componentsToExport);\n }\n this.logger.setStatusLine(BEFORE_EXPORT); // show single export\n const parsedIds = await Promise.all(ids.map((id) => getParsedId(consumer, id)));\n // load the components for fixing any out-of-sync issues.\n await consumer.loadComponents(ComponentIdList.fromArray(parsedIds));\n\n return throwForLocalOnlyIfNeeded(ComponentIdList.fromArray(parsedIds));\n }\n\n private async getLaneCompIdsToExport(\n consumer: Consumer,\n includeNonStaged?: boolean\n ): Promise<{ componentsToExport: ComponentIdList; 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 this.logger.setStatusLine(BEFORE_LOADING_COMPONENTS);\n const componentsList = new ComponentsList(this.workspace);\n const componentsToExportWithoutRemoved = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds(laneObject);\n const removedStagedBitIds = await this.getRemovedStagedBitIds();\n const componentsToExport = ComponentIdList.uniqFromArray([\n ...componentsToExportWithoutRemoved,\n ...removedStagedBitIds,\n ]);\n return { componentsToExport, laneObject };\n }\n\n private async getRemovedStagedBitIds(): Promise<ComponentIdList> {\n const removedStaged = await this.remove.getRemovedStaged();\n return ComponentIdList.fromArray(removedStaged.map((id) => id.changeVersion(undefined)));\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n ScopeAspect,\n WorkspaceAspect,\n RemoveAspect,\n DependencyResolverAspect,\n LoggerAspect,\n EjectAspect,\n ];\n static async provider([cli, scope, workspace, remove, depResolver, loggerMain, eject]: [\n CLIMain,\n ScopeMain,\n Workspace,\n RemoveMain,\n DependencyResolverMain,\n LoggerMain,\n EjectMain,\n ]) {\n const logger = loggerMain.createLogger(ExportAspect.id);\n const exportMain = new ExportMain(workspace, remove, depResolver, logger, eject);\n cli.register(new ResumeExportCmd(scope), new ExportCmd(exportMain));\n return exportMain;\n }\n}\n\nExportAspect.addRuntime(ExportMain);\n\n/**\n * the componentsIds passed here are the ones that didn't have scope-name before, and now they have.\n * so if the bitMap.updateComponentId returns bitId without scope-name is because it couldn't find it there\n */\nfunction _updateIdsOnBitMap(bitMap: BitMap, componentsIds: ComponentIdList): ComponentID[] {\n const updatedIds: ComponentID[] = [];\n componentsIds.forEach((componentsId) => {\n const resultId = bitMap.updateComponentId(componentsId, true);\n if (resultId.hasVersion()) updatedIds.push(resultId);\n });\n return updatedIds;\n}\n\nasync function getParsedId(consumer: Consumer, id: string): Promise<ComponentID> {\n // reason why not calling `consumer.getParsedId()` only is because a component might not be on\n // .bitmap and only in the scope. we support this case and enable to export\n try {\n return consumer.getParsedId(id);\n } catch {\n return consumer.scope.getParsedId(id);\n }\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\nexport default ExportMain;\n"],"mappings":"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","ignoreList":[]}
package/dist/index.d.ts CHANGED
@@ -3,5 +3,5 @@ export { ExportAspect } from './export.aspect';
3
3
  export type { Network } from '@teambit/scope.network';
4
4
  export type { PushOptions } from '@teambit/legacy.scope-api';
5
5
  export { ExportPersist, ExportValidate, RemovePendingDir, FetchMissingDeps } from '@teambit/scope.remote-actions';
6
- export { ObjectList } from '@teambit/scope.objects';
6
+ export { ObjectList } from '@teambit/objects';
7
7
  export { exportManyBareScope, saveObjects, persistRemotes, validateRemotes, resumeExport, removePendingDirs, mergeObjects, } from './export-scope-components';
package/dist/index.js CHANGED
@@ -30,7 +30,7 @@ Object.defineProperty(exports, "FetchMissingDeps", {
30
30
  Object.defineProperty(exports, "ObjectList", {
31
31
  enumerable: true,
32
32
  get: function () {
33
- return _scope2().ObjectList;
33
+ return _objects().ObjectList;
34
34
  }
35
35
  });
36
36
  Object.defineProperty(exports, "RemovePendingDir", {
@@ -95,9 +95,9 @@ function _scope() {
95
95
  };
96
96
  return data;
97
97
  }
98
- function _scope2() {
99
- const data = require("@teambit/scope.objects");
100
- _scope2 = function () {
98
+ function _objects() {
99
+ const data = require("@teambit/objects");
100
+ _objects = function () {
101
101
  return data;
102
102
  };
103
103
  return data;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_export","data","require","_scope","_scope2","_exportScopeComponents"],"sources":["index.ts"],"sourcesContent":["export type { ExportMain, ExportResult, ObjectsPerRemote } from './export.main.runtime';\nexport { ExportAspect } from './export.aspect';\nexport type { Network } from '@teambit/scope.network';\nexport type { PushOptions } from '@teambit/legacy.scope-api';\nexport { ExportPersist, ExportValidate, RemovePendingDir, FetchMissingDeps } from '@teambit/scope.remote-actions';\nexport { ObjectList } from '@teambit/scope.objects';\nexport {\n exportManyBareScope,\n saveObjects,\n persistRemotes,\n validateRemotes,\n resumeExport,\n removePendingDirs,\n mergeObjects,\n} from './export-scope-components';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,uBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,sBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_export","data","require","_scope","_objects","_exportScopeComponents"],"sources":["index.ts"],"sourcesContent":["export type { ExportMain, ExportResult, ObjectsPerRemote } from './export.main.runtime';\nexport { ExportAspect } from './export.aspect';\nexport type { Network } from '@teambit/scope.network';\nexport type { PushOptions } from '@teambit/legacy.scope-api';\nexport { ExportPersist, ExportValidate, RemovePendingDir, FetchMissingDeps } from '@teambit/scope.remote-actions';\nexport { ObjectList } from '@teambit/objects';\nexport {\n exportManyBareScope,\n saveObjects,\n persistRemotes,\n validateRemotes,\n resumeExport,\n removePendingDirs,\n mergeObjects,\n} from './export-scope-components';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,uBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,sBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_export@1.0.511/dist/export.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_export@1.0.511/dist/export.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_export@1.0.512/dist/export.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_export@1.0.512/dist/export.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/export",
3
- "version": "1.0.511",
3
+ "version": "1.0.512",
4
4
  "homepage": "https://bit.cloud/teambit/scope/export",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.scope",
8
8
  "name": "export",
9
- "version": "1.0.511"
9
+ "version": "1.0.512"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -17,32 +17,32 @@
17
17
  "@teambit/component-id": "1.2.2",
18
18
  "@teambit/harmony": "0.4.6",
19
19
  "@teambit/bit-error": "0.0.404",
20
- "@teambit/lane-id": "0.0.311",
21
- "@teambit/cli": "0.0.1088",
22
- "@teambit/eject": "1.0.511",
20
+ "@teambit/lane-id": "0.0.312",
21
+ "@teambit/cli": "0.0.1089",
22
+ "@teambit/eject": "1.0.512",
23
23
  "@teambit/legacy.constants": "0.0.5",
24
24
  "@teambit/harmony.modules.concurrency": "0.0.6",
25
25
  "@teambit/legacy.loader": "0.0.5",
26
26
  "@teambit/legacy.logger": "0.0.7",
27
- "@teambit/legacy.scope": "0.0.18",
28
- "@teambit/scope.objects": "0.0.18",
29
- "@teambit/scope.remote-actions": "0.0.18",
30
- "@teambit/scope.remotes": "0.0.18",
27
+ "@teambit/legacy.scope": "0.0.19",
28
+ "@teambit/objects": "0.0.19",
29
+ "@teambit/scope.remote-actions": "0.0.19",
30
+ "@teambit/scope.remotes": "0.0.19",
31
31
  "@teambit/toolbox.promise.map-pool": "0.0.3",
32
- "@teambit/component.snap-distance": "0.0.19",
33
- "@teambit/dependency-resolver": "1.0.511",
32
+ "@teambit/component.snap-distance": "0.0.20",
33
+ "@teambit/dependency-resolver": "1.0.512",
34
34
  "@teambit/legacy.analytics": "0.0.65",
35
- "@teambit/legacy.bit-map": "0.0.75",
36
- "@teambit/legacy.component-list": "0.0.72",
37
- "@teambit/legacy.consumer": "0.0.18",
35
+ "@teambit/legacy.bit-map": "0.0.76",
36
+ "@teambit/legacy.component-list": "0.0.73",
37
+ "@teambit/legacy.consumer": "0.0.19",
38
38
  "@teambit/legacy.utils": "0.0.13",
39
- "@teambit/logger": "0.0.1181",
40
- "@teambit/remove": "1.0.511",
41
- "@teambit/scope.network": "0.0.18",
42
- "@teambit/scope": "1.0.511",
43
- "@teambit/workspace.modules.node-modules-linker": "0.0.246",
44
- "@teambit/workspace": "1.0.511",
45
- "@teambit/legacy.scope-api": "0.0.73"
39
+ "@teambit/logger": "0.0.1182",
40
+ "@teambit/remove": "1.0.512",
41
+ "@teambit/scope.network": "0.0.19",
42
+ "@teambit/scope": "1.0.512",
43
+ "@teambit/workspace.modules.node-modules-linker": "0.0.247",
44
+ "@teambit/workspace": "1.0.512",
45
+ "@teambit/legacy.scope-api": "0.0.74"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/lodash": "4.14.165",