@teambit/importer 0.0.405 → 0.0.407

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.
@@ -10,10 +10,11 @@ export declare class FetchCmd implements Command {
10
10
  options: CommandOptions;
11
11
  loader: boolean;
12
12
  constructor(importer: ImporterMain);
13
- report([ids]: [string[]], { lanes, components, json, fromOriginalScope, }: {
13
+ report([ids]: [string[]], { lanes, components, json, fromOriginalScope, allHistory, }: {
14
14
  lanes?: boolean;
15
15
  components?: boolean;
16
16
  json?: boolean;
17
17
  fromOriginalScope?: boolean;
18
+ allHistory?: boolean;
18
19
  }): Promise<string>;
19
20
  }
package/dist/fetch-cmd.js CHANGED
@@ -36,19 +36,20 @@ class FetchCmd {
36
36
  (0, _defineProperty2().default)(this, "extendedDescription", `for lanes, use "/" as a separator between the remote and the lane name, e.g. teambit.ui/fix-button`);
37
37
  (0, _defineProperty2().default)(this, "alias", '');
38
38
  (0, _defineProperty2().default)(this, "private", true);
39
- (0, _defineProperty2().default)(this, "options", [['l', 'lanes', 'EXPERIMENTAL. fetch component objects from lanes. note, it does not save the remote lanes objects locally, only the refs'], ['c', 'components', 'fetch components'], ['j', 'json', 'return the output as JSON'], ['', 'from-original-scopes', 'fetch indirect dependencies from their original scope as opposed to from their dependents']]);
39
+ (0, _defineProperty2().default)(this, "options", [['l', 'lanes', 'EXPERIMENTAL. fetch component objects from lanes. note, it does not save the remote lanes objects locally, only the refs'], ['c', 'components', 'fetch components'], ['', 'all-history', 'for each one of the component, fetch all its versions. by default, only the latest version is fetched'], ['j', 'json', 'return the output as JSON'], ['', 'from-original-scopes', 'fetch indirect dependencies from their original scope as opposed to from their dependents']]);
40
40
  (0, _defineProperty2().default)(this, "loader", true);
41
41
  }
42
42
  async report([ids = []], {
43
43
  lanes = false,
44
44
  components = false,
45
45
  json = false,
46
- fromOriginalScope = false
46
+ fromOriginalScope = false,
47
+ allHistory = false
47
48
  }) {
48
49
  const {
49
50
  importedIds,
50
51
  importDetails
51
- } = await this.importer.fetch(ids, lanes, components, fromOriginalScope);
52
+ } = await this.importer.fetch(ids, lanes, components, fromOriginalScope, allHistory);
52
53
  if (json) {
53
54
  return JSON.stringify({
54
55
  importDetails
@@ -1 +1 @@
1
- {"version":3,"names":["FetchCmd","constructor","importer","report","ids","lanes","components","json","fromOriginalScope","importedIds","importDetails","fetch","JSON","stringify","length","title","componentDependencies","map","id","details","find","c","toStringWithoutVersion","Error","toString","formatPlainComponentItemWithVersions","componentDependenciesOutput","chalk","green","concat","join","yellow","bitId","status","versions","usedVersion","version","getConflictMessage","filesStatus","conflictedFiles","Object","keys","filter","file","FileStatus","manual","bold","deprecated","missingDeps","red","d","cyan"],"sources":["fetch-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { FileStatus } from '@teambit/legacy/dist/consumer/versions-ops/merge-version/merge-version';\nimport { ImporterMain } from './importer.main.runtime';\nimport { ImportDetails, ImportStatus } from './import-components';\n\nexport class FetchCmd implements Command {\n name = 'fetch [ids...]';\n description = `fetch remote objects and store locally`;\n extendedDescription = `for lanes, use \"/\" as a separator between the remote and the lane name, e.g. teambit.ui/fix-button`;\n alias = '';\n private = true;\n options = [\n [\n 'l',\n 'lanes',\n 'EXPERIMENTAL. fetch component objects from lanes. note, it does not save the remote lanes objects locally, only the refs',\n ],\n ['c', 'components', 'fetch components'],\n ['j', 'json', 'return the output as JSON'],\n [\n '',\n 'from-original-scopes',\n 'fetch indirect dependencies from their original scope as opposed to from their dependents',\n ],\n ] as CommandOptions;\n loader = true;\n\n constructor(private importer: ImporterMain) {}\n\n async report(\n [ids = []]: [string[]],\n {\n lanes = false,\n components = false,\n json = false,\n fromOriginalScope = false,\n }: {\n lanes?: boolean;\n components?: boolean;\n json?: boolean;\n fromOriginalScope?: boolean;\n }\n ) {\n const { importedIds, importDetails } = await this.importer.fetch(ids, lanes, components, fromOriginalScope);\n if (json) {\n return JSON.stringify({ importDetails }, null, 4);\n }\n if (importedIds.length) {\n const title =\n importedIds.length === 1\n ? 'successfully fetched one component'\n : `successfully fetched ${importedIds.length} components`;\n const componentDependencies = importedIds.map((id) => {\n const details = importDetails.find((c) => c.id === id.toStringWithoutVersion());\n if (!details) throw new Error(`missing details of component ${id.toString()}`);\n return formatPlainComponentItemWithVersions(id, details);\n });\n const componentDependenciesOutput = [chalk.green(title)].concat(componentDependencies).join('\\n');\n\n return componentDependenciesOutput;\n }\n return chalk.yellow('nothing to import');\n }\n}\n\nfunction formatPlainComponentItemWithVersions(bitId: BitId, importDetails: ImportDetails) {\n const status: ImportStatus = importDetails.status;\n const id = bitId.toStringWithoutVersion();\n const versions = importDetails.versions.length ? `new versions: ${importDetails.versions.join(', ')}` : '';\n const usedVersion = status === 'added' ? `, currently used version ${bitId.version}` : '';\n const getConflictMessage = () => {\n if (!importDetails.filesStatus) return '';\n const conflictedFiles = Object.keys(importDetails.filesStatus) // $FlowFixMe file is set\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n .filter((file) => importDetails.filesStatus[file] === FileStatus.manual);\n if (!conflictedFiles.length) return '';\n return `(the following files were saved with conflicts ${conflictedFiles\n .map((file) => chalk.bold(file))\n .join(', ')}) `;\n };\n const deprecated = importDetails.deprecated ? chalk.yellow('deprecated') : '';\n const missingDeps = importDetails.missingDeps.length\n ? chalk.red(`missing dependencies: ${importDetails.missingDeps.map((d) => d.toString()).join(', ')}`)\n : '';\n return `- ${chalk.green(status)} ${chalk.cyan(\n id\n )} ${versions}${usedVersion} ${getConflictMessage()}${deprecated} ${missingDeps}`;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["FetchCmd","constructor","importer","report","ids","lanes","components","json","fromOriginalScope","allHistory","importedIds","importDetails","fetch","JSON","stringify","length","title","componentDependencies","map","id","details","find","c","toStringWithoutVersion","Error","toString","formatPlainComponentItemWithVersions","componentDependenciesOutput","chalk","green","concat","join","yellow","bitId","status","versions","usedVersion","version","getConflictMessage","filesStatus","conflictedFiles","Object","keys","filter","file","FileStatus","manual","bold","deprecated","missingDeps","red","d","cyan"],"sources":["fetch-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { FileStatus } from '@teambit/legacy/dist/consumer/versions-ops/merge-version/merge-version';\nimport { ImporterMain } from './importer.main.runtime';\nimport { ImportDetails, ImportStatus } from './import-components';\n\nexport class FetchCmd implements Command {\n name = 'fetch [ids...]';\n description = `fetch remote objects and store locally`;\n extendedDescription = `for lanes, use \"/\" as a separator between the remote and the lane name, e.g. teambit.ui/fix-button`;\n alias = '';\n private = true;\n options = [\n [\n 'l',\n 'lanes',\n 'EXPERIMENTAL. fetch component objects from lanes. note, it does not save the remote lanes objects locally, only the refs',\n ],\n ['c', 'components', 'fetch components'],\n [\n '',\n 'all-history',\n 'for each one of the component, fetch all its versions. by default, only the latest version is fetched',\n ],\n ['j', 'json', 'return the output as JSON'],\n [\n '',\n 'from-original-scopes',\n 'fetch indirect dependencies from their original scope as opposed to from their dependents',\n ],\n ] as CommandOptions;\n loader = true;\n\n constructor(private importer: ImporterMain) {}\n\n async report(\n [ids = []]: [string[]],\n {\n lanes = false,\n components = false,\n json = false,\n fromOriginalScope = false,\n allHistory = false,\n }: {\n lanes?: boolean;\n components?: boolean;\n json?: boolean;\n fromOriginalScope?: boolean;\n allHistory?: boolean;\n }\n ) {\n const { importedIds, importDetails } = await this.importer.fetch(\n ids,\n lanes,\n components,\n fromOriginalScope,\n allHistory\n );\n if (json) {\n return JSON.stringify({ importDetails }, null, 4);\n }\n if (importedIds.length) {\n const title =\n importedIds.length === 1\n ? 'successfully fetched one component'\n : `successfully fetched ${importedIds.length} components`;\n const componentDependencies = importedIds.map((id) => {\n const details = importDetails.find((c) => c.id === id.toStringWithoutVersion());\n if (!details) throw new Error(`missing details of component ${id.toString()}`);\n return formatPlainComponentItemWithVersions(id, details);\n });\n const componentDependenciesOutput = [chalk.green(title)].concat(componentDependencies).join('\\n');\n\n return componentDependenciesOutput;\n }\n return chalk.yellow('nothing to import');\n }\n}\n\nfunction formatPlainComponentItemWithVersions(bitId: BitId, importDetails: ImportDetails) {\n const status: ImportStatus = importDetails.status;\n const id = bitId.toStringWithoutVersion();\n const versions = importDetails.versions.length ? `new versions: ${importDetails.versions.join(', ')}` : '';\n const usedVersion = status === 'added' ? `, currently used version ${bitId.version}` : '';\n const getConflictMessage = () => {\n if (!importDetails.filesStatus) return '';\n const conflictedFiles = Object.keys(importDetails.filesStatus) // $FlowFixMe file is set\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n .filter((file) => importDetails.filesStatus[file] === FileStatus.manual);\n if (!conflictedFiles.length) return '';\n return `(the following files were saved with conflicts ${conflictedFiles\n .map((file) => chalk.bold(file))\n .join(', ')}) `;\n };\n const deprecated = importDetails.deprecated ? chalk.yellow('deprecated') : '';\n const missingDeps = importDetails.missingDeps.length\n ? chalk.red(`missing dependencies: ${importDetails.missingDeps.map((d) => d.toString()).join(', ')}`)\n : '';\n return `- ${chalk.green(status)} ${chalk.cyan(\n id\n )} ${versions}${usedVersion} ${getConflictMessage()}${deprecated} ${missingDeps}`;\n}\n"],"mappings":"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"}
@@ -58,6 +58,7 @@ export declare type ImportResult = {
58
58
  importDetails: ImportDetails[];
59
59
  cancellationMessage?: string;
60
60
  installationError?: Error;
61
+ compilationError?: Error;
61
62
  };
62
63
  export default class ImportComponents {
63
64
  private workspace;
@@ -116,13 +116,6 @@ function _hasWildcard() {
116
116
  };
117
117
  return data;
118
118
  }
119
- function _exceptions() {
120
- const data = require("@teambit/legacy/dist/consumer/exceptions");
121
- _exceptions = function () {
122
- return data;
123
- };
124
- return data;
125
- }
126
119
  function _checkoutVersion() {
127
120
  const data = require("@teambit/legacy/dist/consumer/versions-ops/checkout-version");
128
121
  _checkoutVersion = function () {
@@ -203,15 +196,15 @@ class ImportComponents {
203
196
  // don't use `scope.getDefaultLaneIdsFromLane()`. we need all components, because it's possible that a component
204
197
  // does't have "head" locally although it exits in the origin-scope. it happens when the component was created on
205
198
  // the origin-scope after a component with the same-name was created on the lane
206
- if (lane) {
207
- // @todo: optimize this maybe. currently, it imports twice.
208
- // try to make the previous `importComponentsObjectsHarmony` import the same component once from the original
209
- // scope and once from the lane-scope.
210
- const mainIdsLatest = _bitId().BitIds.fromArray(lane.toBitIds().map(m => m.changeVersion(undefined)));
211
- await this._importComponentsObjects(mainIdsLatest, {
212
- ignoreMissingHead: true
213
- });
214
- }
199
+ // if (lane) {
200
+ // // @todo: optimize this maybe. currently, it imports twice.
201
+ // // try to make the previous `importComponentsObjectsHarmony` import the same component once from the original
202
+ // // scope and once from the lane-scope.
203
+ // const mainIdsLatest = BitIds.fromArray(lane.toBitIds().map((m) => m.changeVersion(undefined)));
204
+ // await this._importComponentsObjects(mainIdsLatest, {
205
+ // ignoreMissingHead: true,
206
+ // });
207
+ // }
215
208
 
216
209
  // merge the lane objects
217
210
  const mergeAllLanesResults = await (0, _pMapSeries().default)(this.laneObjects, laneObject => this.scope.sources.mergeLane(laneObject, true));
@@ -225,7 +218,7 @@ class ImportComponents {
225
218
  };
226
219
  }
227
220
  async importSpecificComponents() {
228
- var _this$laneObjects, _componentWriterResul;
221
+ var _this$laneObjects, _componentWriterResul, _componentWriterResul2;
229
222
  _logger().default.debug(`importSpecificComponents, Ids: ${this.options.ids.join(', ')}`);
230
223
  const bitIds = await this.getBitIds();
231
224
  const beforeImportVersions = await this._getCurrentVersions(bitIds);
@@ -255,7 +248,8 @@ class ImportComponents {
255
248
  importedDeps: versionDependenciesArr.map(v => v.allDependenciesIds).flat(),
256
249
  writtenComponents,
257
250
  importDetails,
258
- installationError: (_componentWriterResul = componentWriterResults) === null || _componentWriterResul === void 0 ? void 0 : _componentWriterResul.installationError
251
+ installationError: (_componentWriterResul = componentWriterResults) === null || _componentWriterResul === void 0 ? void 0 : _componentWriterResul.installationError,
252
+ compilationError: (_componentWriterResul2 = componentWriterResults) === null || _componentWriterResul2 === void 0 ? void 0 : _componentWriterResul2.compilationError
259
253
  };
260
254
  }
261
255
  async _fetchDivergeData(componentsWithDependencies) {
@@ -304,8 +298,10 @@ class ImportComponents {
304
298
  ids,
305
299
  ignoreMissingHead,
306
300
  lanes: lane ? [lane] : undefined,
307
- preferDependencyGraph: !this.options.fetchDeps
301
+ preferDependencyGraph: !this.options.fetchDeps,
302
+ reFetchUnBuiltVersion: true // when user is running "bit import", we want to re-fetch if it wasn't built. todo: check if this can be disabled when not needed
308
303
  });
304
+
309
305
  return results;
310
306
  }
311
307
 
@@ -414,20 +410,21 @@ bit import ${idsFromRemote.map(id => id.toStringWithoutVersion()).join(' ')}`);
414
410
  return remotes.scopeGraphs(bitIds, this.consumer.scope);
415
411
  }
416
412
  async importAccordingToBitMap() {
417
- var _componentWriterResul2;
413
+ var _componentWriterResul3, _componentWriterResul4;
418
414
  this.options.objectsOnly = !this.options.merge && !this.options.override;
419
415
  const componentsIdsToImport = this.getIdsToImportFromBitmap();
416
+ const emptyResult = {
417
+ importedIds: [],
418
+ importedDeps: [],
419
+ importDetails: []
420
+ };
420
421
  if (_ramda().default.isEmpty(componentsIdsToImport)) {
421
- throw new (_exceptions().NothingToImport)();
422
+ return emptyResult;
422
423
  }
423
424
  await this._throwForModifiedOrNewComponents(componentsIdsToImport);
424
425
  const beforeImportVersions = await this._getCurrentVersions(componentsIdsToImport);
425
426
  if (!componentsIdsToImport.length) {
426
- return {
427
- importedIds: [],
428
- importedDeps: [],
429
- importDetails: []
430
- };
427
+ return emptyResult;
431
428
  }
432
429
  if (!this.options.objectsOnly) {
433
430
  throw new Error(`bit import with no ids and --merge flag was not implemented yet`);
@@ -448,7 +445,8 @@ bit import ${idsFromRemote.map(id => id.toStringWithoutVersion()).join(' ')}`);
448
445
  importedDeps: versionDependenciesArr.map(v => v.allDependenciesIds).flat(),
449
446
  writtenComponents,
450
447
  importDetails,
451
- installationError: (_componentWriterResul2 = componentWriterResults) === null || _componentWriterResul2 === void 0 ? void 0 : _componentWriterResul2.installationError
448
+ installationError: (_componentWriterResul3 = componentWriterResults) === null || _componentWriterResul3 === void 0 ? void 0 : _componentWriterResul3.installationError,
449
+ compilationError: (_componentWriterResul4 = componentWriterResults) === null || _componentWriterResul4 === void 0 ? void 0 : _componentWriterResul4.compilationError
452
450
  };
453
451
  }
454
452
  getIdsToImportFromBitmap() {
@@ -1 +1 @@
1
- {"version":3,"names":["ImportComponents","constructor","workspace","graph","componentWriter","options","consumer","scope","laneObjects","lanes","importComponents","loader","start","BEFORE_IMPORT_ACTION","saveDependenciesAsComponents","config","_saveDependenciesAsComponents","ids","length","importObjectsOnLane","importSpecificComponents","importAccordingToBitMap","objectsOnly","Error","lane","undefined","bitIds","getBitIds","logger","debug","id","toString","beforeImportVersions","_getCurrentVersions","versionDependenciesArr","_importComponentsObjects","mainIdsLatest","BitIds","fromArray","toBitIds","map","m","changeVersion","ignoreMissingHead","mergeAllLanesResults","pMapSeries","laneObject","sources","mergeLane","mergedLanes","result","Promise","all","mergedLane","saveLane","importDetails","_getImportDetails","importedIds","v","component","flat","importedDeps","allDependenciesIds","join","_throwForPotentialIssues","writtenComponents","componentWriterResults","componentsWithDependencies","multipleVersionDependenciesToConsumer","objects","_fetchDivergeData","_throwForDivergedHistory","_writeToFileSystem","_saveLaneDataIfNeeded","c","installationError","modelComponent","getModelComponent","setDivergeData","divergeData","push","merge","divergedComponents","filter","getDivergeData","isDiverged","snapsLocal","snapsOnSourceOnly","snapsRemote","snapsOnTargetOnly","ComponentsPendingMerge","fromOriginalScope","scopeComponentsImporter","ScopeComponentsImporter","getInstance","importManyDeltaWithoutDeps","fromHead","allHistory","collectParents","results","importManyFromOriginalScopes","importMany","preferDependencyGraph","fetchDeps","getBitIdsForLanes","bitIdsFromLane","flatMap","mainIds","bitMap","getAuthoredAndImportedBitIdsOfDefaultLane","mainIdsToImport","hasScope","hasWithoutVersion","idsWithWildcard","hasWildcard","idsWithoutWildcard","idsWithoutWildcardPreferFromLane","idStr","BitId","parse","fromLane","searchWithoutVersion","idsFromRemote","getRemoteBitIdsByWildcards","existingOnLanes","BitError","l","name","toStringWithoutVersion","getBitIdsForNonLanes","importDependenciesDirectly","importDependents","graphs","_getComponentsGraphs","dependenciesIds","_getDependenciesFromGraph","getGraphIds","targetCompIds","resolveMultipleComponentIds","sourceIds","listIds","findIdsFromSourcesToTargets","_legacy","uniqFromArray","dependencies","bitId","componentGraph","find","scopeName","dependenciesInfo","getDependenciesInfo","d","R","flatten","_getDependentsFromGraph","dependents","dependentsInfo","getDependentsInfo","remotes","getScopeRemotes","scopeGraphs","override","componentsIdsToImport","getIdsToImportFromBitmap","isEmpty","NothingToImport","_throwForModifiedOrNewComponents","componentWithDependencies","allIds","getAllBitIdsFromAllLanes","versionsP","getModelComponentIfExist","listVersions","versions","fromPairs","currentVersions","components","detailsP","Object","keys","ShowDoctorError","afterImportVersions","versionDifference","difference","getStatus","filesStatus","mergeStatus","deprecated","isDeprecated","removed","isRemoved","latestVersion","getHeadRegardlessOfLaneAsTagOrHash","includes","status","missingDeps","getMissingDependencies","_throwForDifferentComponentWithSameName","componentsStatuses","getManyComponentsStatuses","modifiedComponents","modified","newlyCreated","GeneralError","chalk","yellow","forEach","existingId","getParsedIdIfExist","_getMergeStatus","componentStatus","getComponentStatusById","mergeResults","componentModel","existingBitMapBitId","getBitId","ignoreVersion","fsComponent","loadComponent","currentlyUsedVersion","version","baseComponent","loadVersion","otherComponent","threeWayMerge","otherLabel","currentComponent","currentLabel","_updateComponentFilesPerMergeStrategy","componentMergeStatus","files","hasConflicts","mergeStrategy","MergeOptions","ours","file","pathNormalizeToLinux","relative","FileStatus","unchanged","updateComponentId","hasChanged","theirs","updated","modifiedFiles","applyModifiedVersion","updateAllComponentsAccordingToMergeStrategy","componentsStatusP","componentsStatus","componentWithConflict","getMergeStrategyInteractive","componentsToWrite","unchangedFiles","removeNulls","reject","isNil","_shouldSaveLaneData","isOnLane","currentLane","getCurrentLaneObject","idsFromRemoteLanes","comp","existOnRemoteLane","has","saveInLane","setComponentProp","ref","getRef","addComponent","head","manyComponentsWriterOpts","writeToPath","writeConfig","skipDependencyInstallation","installNpmPackages","verbose","throwForExistingDir","writeMany"],"sources":["import-components.ts"],"sourcesContent":["import chalk from 'chalk';\nimport R from 'ramda';\nimport { BitError } from '@teambit/bit-error';\nimport { LaneId } from '@teambit/lane-id';\nimport pMapSeries from 'p-map-series';\nimport { getRemoteBitIdsByWildcards } from '@teambit/legacy/dist/api/consumer/lib/list-scope';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { BEFORE_IMPORT_ACTION } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport ShowDoctorError from '@teambit/legacy/dist/error/show-doctor-error';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport Remotes from '@teambit/legacy/dist/remotes/remotes';\nimport { ComponentWithDependencies, Scope } from '@teambit/legacy/dist/scope';\nimport DependencyGraph from '@teambit/legacy/dist/scope/graph/scope-graph';\nimport { Lane, ModelComponent, Version } from '@teambit/legacy/dist/scope/models';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport Component from '@teambit/legacy/dist/consumer/component';\nimport { NothingToImport } from '@teambit/legacy/dist/consumer/exceptions';\nimport { applyModifiedVersion } from '@teambit/legacy/dist/consumer/versions-ops/checkout-version';\nimport {\n FileStatus,\n getMergeStrategyInteractive,\n MergeOptions,\n threeWayMerge,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { FilesStatus, MergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version/merge-version';\nimport { MergeResultsThreeWay } from '@teambit/legacy/dist/consumer/versions-ops/merge-version/three-way-merge';\nimport ComponentsPendingMerge from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-merge';\nimport ScopeComponentsImporter from '@teambit/legacy/dist/scope/component-ops/scope-components-importer';\nimport VersionDependencies, {\n multipleVersionDependenciesToConsumer,\n} from '@teambit/legacy/dist/scope/version-dependencies';\nimport { GraphMain } from '@teambit/graph';\nimport { Workspace } from '@teambit/workspace';\nimport { ComponentWriterMain, ComponentWriterResults } from '@teambit/component-writer';\n\nexport type ImportOptions = {\n ids: string[]; // array might be empty\n verbose?: boolean;\n merge?: boolean;\n mergeStrategy?: MergeStrategy;\n writeToPath?: string;\n writeConfig?: boolean;\n override?: boolean;\n installNpmPackages: boolean; // default: true\n objectsOnly?: boolean;\n saveDependenciesAsComponents?: boolean;\n importDependenciesDirectly?: boolean; // default: false, normally it imports them as packages or nested, not as imported\n importDependents?: boolean;\n fromOriginalScope?: boolean; // default: false, otherwise, it fetches flattened dependencies from their dependents\n saveInLane?: boolean; // save the imported component on the current lane (won't be available on main)\n lanes?: {\n laneIds: LaneId[];\n lanes: Lane[]; // it can be an empty array when a lane is a local lane and doesn't exist on the remote\n };\n allHistory?: boolean;\n fetchDeps?: boolean; // by default, if a component was tagged with > 0.0.900, it has the flattened-deps-graph in the object\n};\ntype ComponentMergeStatus = {\n componentWithDependencies: ComponentWithDependencies;\n mergeResults: MergeResultsThreeWay | null | undefined;\n};\ntype ImportedVersions = { [id: string]: string[] };\nexport type ImportStatus = 'added' | 'updated' | 'up to date';\nexport type ImportDetails = {\n id: string;\n versions: string[];\n latestVersion: string | null;\n status: ImportStatus;\n filesStatus: FilesStatus | null | undefined;\n missingDeps: BitId[];\n deprecated: boolean;\n removed?: boolean;\n};\nexport type ImportResult = {\n importedIds: BitId[];\n importedDeps: BitId[];\n writtenComponents?: Component[];\n importDetails: ImportDetails[];\n cancellationMessage?: string;\n installationError?: Error;\n};\n\nexport default class ImportComponents {\n consumer: Consumer;\n scope: Scope;\n mergeStatus: { [id: string]: FilesStatus };\n private laneObjects: Lane[];\n private divergeData: Array<ModelComponent> = [];\n constructor(\n private workspace: Workspace,\n private graph: GraphMain,\n private componentWriter: ComponentWriterMain,\n public options: ImportOptions\n ) {\n this.consumer = this.workspace.consumer;\n this.scope = this.consumer.scope;\n this.laneObjects = this.options.lanes ? (this.options.lanes.lanes as Lane[]) : [];\n }\n\n importComponents(): Promise<ImportResult> {\n loader.start(BEFORE_IMPORT_ACTION);\n this.options.saveDependenciesAsComponents = this.consumer.config._saveDependenciesAsComponents;\n if (this.options.lanes && !this.options.ids.length) {\n return this.importObjectsOnLane();\n }\n if (this.options.ids.length) {\n return this.importSpecificComponents();\n }\n return this.importAccordingToBitMap();\n }\n\n async importObjectsOnLane(): Promise<ImportResult> {\n if (!this.options.objectsOnly) {\n throw new Error(`importObjectsOnLane should have objectsOnly=true`);\n }\n if (this.laneObjects.length > 1) {\n throw new Error(`importObjectsOnLane does not support more than one lane`);\n }\n const lane = this.laneObjects.length ? this.laneObjects[0] : undefined;\n const bitIds: BitIds = await this.getBitIds();\n lane\n ? logger.debug(`importObjectsOnLane, Lane: ${lane.id()}, Ids: ${bitIds.toString()}`)\n : logger.debug(`importObjectsOnLane, the lane does not exist on the remote. importing only the main components`);\n const beforeImportVersions = await this._getCurrentVersions(bitIds);\n const versionDependenciesArr = await this._importComponentsObjects(bitIds, {\n lane,\n });\n\n // import lane components from their original scope, this way, it's possible to run diff/merge on them.\n // don't use `scope.getDefaultLaneIdsFromLane()`. we need all components, because it's possible that a component\n // does't have \"head\" locally although it exits in the origin-scope. it happens when the component was created on\n // the origin-scope after a component with the same-name was created on the lane\n if (lane) {\n // @todo: optimize this maybe. currently, it imports twice.\n // try to make the previous `importComponentsObjectsHarmony` import the same component once from the original\n // scope and once from the lane-scope.\n const mainIdsLatest = BitIds.fromArray(lane.toBitIds().map((m) => m.changeVersion(undefined)));\n await this._importComponentsObjects(mainIdsLatest, {\n ignoreMissingHead: true,\n });\n }\n\n // merge the lane objects\n const mergeAllLanesResults = await pMapSeries(this.laneObjects, (laneObject) =>\n this.scope.sources.mergeLane(laneObject, true)\n );\n const mergedLanes = mergeAllLanesResults.map((result) => result.mergeLane);\n await Promise.all(mergedLanes.map((mergedLane) => this.scope.lanes.saveLane(mergedLane)));\n\n const importDetails = await this._getImportDetails(beforeImportVersions, versionDependenciesArr);\n return {\n importedIds: versionDependenciesArr.map((v) => v.component.id).flat(),\n importedDeps: versionDependenciesArr.map((v) => v.allDependenciesIds).flat(),\n importDetails,\n };\n }\n\n async importSpecificComponents(): Promise<ImportResult> {\n logger.debug(`importSpecificComponents, Ids: ${this.options.ids.join(', ')}`);\n const bitIds: BitIds = await this.getBitIds();\n const beforeImportVersions = await this._getCurrentVersions(bitIds);\n await this._throwForPotentialIssues(bitIds);\n const versionDependenciesArr = await this._importComponentsObjects(bitIds, {\n lane: this.laneObjects?.[0],\n });\n if (this.laneObjects && this.options.objectsOnly) {\n // merge the lane objects\n const mergeAllLanesResults = await pMapSeries(this.laneObjects, (laneObject) =>\n this.scope.sources.mergeLane(laneObject, true)\n );\n const mergedLanes = mergeAllLanesResults.map((result) => result.mergeLane);\n await Promise.all(mergedLanes.map((mergedLane) => this.scope.lanes.saveLane(mergedLane)));\n }\n let writtenComponents: Component[] = [];\n let componentWriterResults: ComponentWriterResults | undefined;\n if (!this.options.objectsOnly) {\n const componentsWithDependencies = await multipleVersionDependenciesToConsumer(\n versionDependenciesArr,\n this.scope.objects\n );\n await this._fetchDivergeData(componentsWithDependencies);\n this._throwForDivergedHistory();\n componentWriterResults = await this._writeToFileSystem(componentsWithDependencies);\n await this._saveLaneDataIfNeeded(componentsWithDependencies);\n writtenComponents = componentsWithDependencies.map((c) => c.component);\n }\n\n const importDetails = await this._getImportDetails(beforeImportVersions, versionDependenciesArr);\n return {\n importedIds: versionDependenciesArr.map((v) => v.component.id).flat(),\n importedDeps: versionDependenciesArr.map((v) => v.allDependenciesIds).flat(),\n writtenComponents,\n importDetails,\n installationError: componentWriterResults?.installationError,\n };\n }\n\n async _fetchDivergeData(componentsWithDependencies: ComponentWithDependencies[]) {\n if (this.options.objectsOnly) {\n // no need for it when importing objects only. if it's enabled, in case when on a lane and a non-lane\n // component is in bitmap using an older version, it throws \"getDivergeData: unable to find Version X of Y\"\n return;\n }\n await Promise.all(\n componentsWithDependencies.map(async ({ component }) => {\n const modelComponent = await this.scope.getModelComponent(component.id);\n await modelComponent.setDivergeData(this.scope.objects, undefined, false);\n this.divergeData.push(modelComponent);\n })\n );\n }\n\n _throwForDivergedHistory() {\n if (this.options.merge || this.options.objectsOnly) return;\n const divergedComponents = this.divergeData.filter((modelComponent) =>\n modelComponent.getDivergeData().isDiverged()\n );\n if (divergedComponents.length) {\n const divergeData = divergedComponents.map((modelComponent) => ({\n id: modelComponent.id(),\n snapsLocal: modelComponent.getDivergeData().snapsOnSourceOnly.length,\n snapsRemote: modelComponent.getDivergeData().snapsOnTargetOnly.length,\n }));\n throw new ComponentsPendingMerge(divergeData);\n }\n }\n\n private async _importComponentsObjects(\n ids: BitIds,\n {\n fromOriginalScope = false,\n lane,\n ignoreMissingHead = false,\n }: {\n fromOriginalScope?: boolean;\n lane?: Lane;\n ignoreMissingHead?: boolean;\n }\n ): Promise<VersionDependencies[]> {\n const scopeComponentsImporter = ScopeComponentsImporter.getInstance(this.scope);\n await scopeComponentsImporter.importManyDeltaWithoutDeps({\n ids,\n fromHead: this.options.allHistory,\n collectParents: this.options.allHistory,\n lane,\n // in case a user is merging a lane into a new workspace, then, locally main has head, but remotely the head is\n // empty, until it's exported. going to the remote and asking this component will throw an error if ignoreMissingHead is false\n ignoreMissingHead: true,\n });\n loader.start(`import ${ids.length} components with their dependencies (if missing)`);\n const results = fromOriginalScope\n ? await scopeComponentsImporter.importManyFromOriginalScopes(ids)\n : await scopeComponentsImporter.importMany({\n ids,\n ignoreMissingHead,\n lanes: lane ? [lane] : undefined,\n preferDependencyGraph: !this.options.fetchDeps,\n });\n\n return results;\n }\n\n /**\n * consider the following use cases:\n * 1) no ids were provided. it should import all the lanes components objects AND main components objects\n * (otherwise, if main components are not imported and are missing, then bit-status complains about it)\n * 2) ids are provided with wildcards. we assume the user wants only the ids that are available on the lane.\n * because a user may entered \"bit import scope/*\" and this scope has many component on the lane and many not on the lane.\n * we want to bring only the components on the lane.\n * 3) ids are provided without wildcards. here, the user knows exactly what's needed and it's ok to get the ids from\n * main if not found on the lane.\n */\n private async getBitIdsForLanes(): Promise<BitId[]> {\n if (!this.options.lanes) {\n throw new Error(`getBitIdsForLanes: this.options.lanes must be set`);\n }\n const bitIdsFromLane = BitIds.fromArray(this.laneObjects.flatMap((lane) => lane.toBitIds()));\n\n if (!this.options.ids.length) {\n const mainIds = this.consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane();\n const mainIdsToImport = mainIds.filter((id) => id.hasScope() && !bitIdsFromLane.hasWithoutVersion(id));\n bitIdsFromLane.push(...mainIdsToImport);\n return bitIdsFromLane;\n }\n\n const idsWithWildcard = this.options.ids.filter((id) => hasWildcard(id));\n const idsWithoutWildcard = this.options.ids.filter((id) => !hasWildcard(id));\n const idsWithoutWildcardPreferFromLane = idsWithoutWildcard.map((idStr) => {\n const id = BitId.parse(idStr, true);\n const fromLane = bitIdsFromLane.searchWithoutVersion(id);\n return fromLane || id;\n });\n\n const bitIds: BitId[] = [...idsWithoutWildcardPreferFromLane];\n\n if (!idsWithWildcard) {\n return bitIds;\n }\n\n await pMapSeries(idsWithWildcard, async (idStr: string) => {\n const idsFromRemote = await getRemoteBitIdsByWildcards(idStr);\n const existingOnLanes = idsFromRemote.filter((id) => bitIdsFromLane.hasWithoutVersion(id));\n if (!existingOnLanes.length) {\n throw new BitError(`the id with the the wildcard \"${idStr}\" has been parsed to multiple component ids.\nhowever, none of them existing on the lane \"${this.laneObjects.map((l) => l.name).join(', ')}\"\nin case you intend to import these components from main, please run the following:\nbit import ${idsFromRemote.map((id) => id.toStringWithoutVersion()).join(' ')}`);\n }\n bitIds.push(...existingOnLanes);\n });\n\n return bitIds;\n }\n\n private async getBitIdsForNonLanes() {\n const bitIds: BitId[] = [];\n await Promise.all(\n this.options.ids.map(async (idStr: string) => {\n if (hasWildcard(idStr)) {\n const ids = await getRemoteBitIdsByWildcards(idStr);\n loader.start(BEFORE_IMPORT_ACTION); // it stops the previous loader of BEFORE_REMOTE_LIST\n bitIds.push(...ids);\n } else {\n bitIds.push(BitId.parse(idStr, true)); // we don't support importing without a scope name\n }\n })\n );\n\n return bitIds;\n }\n\n private async getBitIds(): Promise<BitIds> {\n const bitIds: BitId[] = this.options.lanes ? await this.getBitIdsForLanes() : await this.getBitIdsForNonLanes();\n if (this.options.importDependenciesDirectly || this.options.importDependents) {\n const graphs = await this._getComponentsGraphs(bitIds);\n if (this.options.importDependenciesDirectly) {\n const dependenciesIds = this._getDependenciesFromGraph(bitIds, graphs);\n bitIds.push(...dependenciesIds);\n }\n if (this.options.importDependents) {\n const graph = await this.graph.getGraphIds();\n const targetCompIds = await this.workspace.resolveMultipleComponentIds(bitIds);\n const sourceIds = await this.workspace.listIds();\n const ids = graph.findIdsFromSourcesToTargets(sourceIds, targetCompIds);\n logger.debug(\n `found ${ids.length} component for --dependents flag`,\n ids.map((id) => id.toString())\n );\n bitIds.push(...ids.map((id) => id._legacy));\n }\n }\n return BitIds.uniqFromArray(bitIds);\n }\n\n _getDependenciesFromGraph(bitIds: BitId[], graphs: DependencyGraph[]): BitId[] {\n const dependencies = bitIds.map((bitId) => {\n const componentGraph = graphs.find((graph) => graph.scopeName === bitId.scope);\n if (!componentGraph) {\n throw new Error(`unable to find a graph for ${bitId.toString()}`);\n }\n const dependenciesInfo = componentGraph.getDependenciesInfo(bitId);\n return dependenciesInfo.map((d) => d.id);\n });\n return R.flatten(dependencies);\n }\n\n _getDependentsFromGraph(bitIds: BitId[], graphs: DependencyGraph[]): BitId[] {\n const dependents = bitIds.map((bitId) => {\n const componentGraph = graphs.find((graph) => graph.scopeName === bitId.scope);\n if (!componentGraph) {\n throw new Error(`unable to find a graph for ${bitId.toString()}`);\n }\n const dependentsInfo = componentGraph.getDependentsInfo(bitId);\n return dependentsInfo.map((d) => d.id);\n });\n return R.flatten(dependents);\n }\n\n async _getComponentsGraphs(bitIds: BitId[]): Promise<DependencyGraph[]> {\n const remotes: Remotes = await getScopeRemotes(this.consumer.scope);\n return remotes.scopeGraphs(bitIds, this.consumer.scope);\n }\n\n async importAccordingToBitMap(): Promise<ImportResult> {\n this.options.objectsOnly = !this.options.merge && !this.options.override;\n const componentsIdsToImport = this.getIdsToImportFromBitmap();\n\n if (R.isEmpty(componentsIdsToImport)) {\n throw new NothingToImport();\n }\n await this._throwForModifiedOrNewComponents(componentsIdsToImport);\n const beforeImportVersions = await this._getCurrentVersions(componentsIdsToImport);\n if (!componentsIdsToImport.length) {\n return {\n importedIds: [],\n importedDeps: [],\n importDetails: [],\n };\n }\n if (!this.options.objectsOnly) {\n throw new Error(`bit import with no ids and --merge flag was not implemented yet`);\n }\n const versionDependenciesArr = await this._importComponentsObjects(componentsIdsToImport, {\n fromOriginalScope: this.options.fromOriginalScope,\n });\n let writtenComponents: Component[] = [];\n let componentWriterResults: ComponentWriterResults | undefined;\n if (!this.options.objectsOnly) {\n const componentWithDependencies = await multipleVersionDependenciesToConsumer(\n versionDependenciesArr,\n this.scope.objects\n );\n componentWriterResults = await this._writeToFileSystem(componentWithDependencies);\n writtenComponents = componentWithDependencies.map((c) => c.component);\n }\n\n const importDetails = await this._getImportDetails(beforeImportVersions, versionDependenciesArr);\n\n return {\n importedIds: versionDependenciesArr.map((v) => v.component.id).flat(),\n importedDeps: versionDependenciesArr.map((v) => v.allDependenciesIds).flat(),\n writtenComponents,\n importDetails,\n installationError: componentWriterResults?.installationError,\n };\n }\n\n private getIdsToImportFromBitmap() {\n const allIds = this.consumer.bitMap.getAllBitIdsFromAllLanes();\n return BitIds.fromArray(allIds.filter((id) => id.hasScope()));\n }\n\n async _getCurrentVersions(ids: BitIds): Promise<ImportedVersions> {\n const versionsP = ids.map(async (id) => {\n const modelComponent = await this.consumer.scope.getModelComponentIfExist(id.changeVersion(undefined));\n const idStr = id.toStringWithoutVersion();\n if (!modelComponent) return [idStr, []];\n return [idStr, modelComponent.listVersions()];\n });\n const versions = await Promise.all(versionsP);\n return R.fromPairs(versions);\n }\n\n /**\n * get import details, includes the diff between the versions array before import and after import\n */\n async _getImportDetails(\n currentVersions: ImportedVersions,\n components: VersionDependencies[]\n ): Promise<ImportDetails[]> {\n const detailsP = components.map(async (component) => {\n const id = component.component.id;\n const idStr = id.toStringWithoutVersion();\n const beforeImportVersions = currentVersions[idStr];\n if (!beforeImportVersions) {\n throw new Error(\n `_getImportDetails failed finding ${idStr} in currentVersions, which has ${Object.keys(currentVersions).join(\n ', '\n )}`\n );\n }\n const modelComponent = await this.consumer.scope.getModelComponentIfExist(id);\n if (!modelComponent) throw new ShowDoctorError(`imported component ${idStr} was not found in the model`);\n const afterImportVersions = modelComponent.listVersions();\n const versionDifference: string[] = R.difference(afterImportVersions, beforeImportVersions);\n const getStatus = (): ImportStatus => {\n if (!versionDifference.length) return 'up to date';\n if (!beforeImportVersions.length) return 'added';\n return 'updated';\n };\n const filesStatus = this.mergeStatus && this.mergeStatus[idStr] ? this.mergeStatus[idStr] : null;\n const deprecated = await modelComponent.isDeprecated(this.scope.objects);\n const removed = await component.component.component.isRemoved(this.scope.objects);\n const latestVersion = modelComponent.getHeadRegardlessOfLaneAsTagOrHash(true);\n return {\n id: idStr,\n versions: versionDifference,\n latestVersion: versionDifference.includes(latestVersion) ? latestVersion : null,\n status: getStatus(),\n filesStatus,\n missingDeps: this.options.fetchDeps ? component.getMissingDependencies() : [],\n deprecated,\n removed,\n };\n });\n return Promise.all(detailsP);\n }\n\n async _throwForPotentialIssues(ids: BitIds): Promise<void> {\n await this._throwForModifiedOrNewComponents(ids);\n this._throwForDifferentComponentWithSameName(ids);\n }\n\n async _throwForModifiedOrNewComponents(ids: BitIds): Promise<void> {\n // the typical objectsOnly option is when a user cloned a project with components tagged to the source code, but\n // doesn't have the model objects. in that case, calling getComponentStatusById() may return an error as it relies\n // on the model objects when there are dependencies\n if (this.options.override || this.options.objectsOnly || this.options.merge) return;\n const componentsStatuses = await this.consumer.getManyComponentsStatuses(ids);\n const modifiedComponents = componentsStatuses\n .filter(({ status }) => status.modified || status.newlyCreated)\n .map((c) => c.id);\n if (modifiedComponents.length) {\n throw new GeneralError(\n chalk.yellow(\n `unable to import the following components due to local changes, use --merge flag to merge your local changes or --override to override them\\n${modifiedComponents.join(\n '\\n'\n )} `\n )\n );\n }\n }\n\n /**\n * Model Component id() calculation uses id.toString() for the hash.\n * If an imported component has scopereadonly name equals to a local name, both will have the exact same\n * hash and they'll override each other.\n */\n _throwForDifferentComponentWithSameName(ids: BitIds): void {\n ids.forEach((id: BitId) => {\n const existingId = this.consumer.getParsedIdIfExist(id.toStringWithoutVersion());\n if (existingId && !existingId.hasScope()) {\n throw new GeneralError(`unable to import ${id.toString()}. the component name conflicted with your local component with the same name.\n it's fine to have components with the same name as long as their scope names are different.\n Make sure to export your component first to get a scope and then try importing again`);\n }\n });\n }\n\n async _getMergeStatus(componentWithDependencies: ComponentWithDependencies): Promise<ComponentMergeStatus> {\n const component = componentWithDependencies.component;\n const componentStatus = await this.consumer.getComponentStatusById(component.id);\n const mergeStatus: ComponentMergeStatus = { componentWithDependencies, mergeResults: null };\n if (!componentStatus.modified) return mergeStatus;\n const componentModel = await this.consumer.scope.getModelComponent(component.id);\n const existingBitMapBitId = this.consumer.bitMap.getBitId(component.id, { ignoreVersion: true });\n const fsComponent = await this.consumer.loadComponent(existingBitMapBitId);\n const currentlyUsedVersion = existingBitMapBitId.version;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const baseComponent: Version = await componentModel.loadVersion(currentlyUsedVersion, this.consumer.scope.objects);\n const otherComponent: Version = await componentModel.loadVersion(\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n component.id.version,\n this.consumer.scope.objects\n );\n const mergeResults = await threeWayMerge({\n consumer: this.consumer,\n otherComponent,\n otherLabel: component.id.version as string,\n currentComponent: fsComponent,\n currentLabel: `${currentlyUsedVersion} modified`,\n baseComponent,\n });\n mergeStatus.mergeResults = mergeResults;\n return mergeStatus;\n }\n\n /**\n * 1) when there are conflicts and the strategy is \"ours\", don't write the imported component to\n * the filesystem, only update bitmap.\n *\n * 2) when there are conflicts and the strategy is \"theirs\", override the local changes by the\n * imported component. (similar to --override)\n *\n * 3) when there is no conflict or there are conflicts and the strategy is manual, write the files\n * according to the merge result. (done by applyModifiedVersion())\n */\n _updateComponentFilesPerMergeStrategy(componentMergeStatus: ComponentMergeStatus): FilesStatus | null | undefined {\n const mergeResults = componentMergeStatus.mergeResults;\n if (!mergeResults) return null;\n const component = componentMergeStatus.componentWithDependencies.component;\n const files = component.files;\n\n if (mergeResults.hasConflicts && this.options.mergeStrategy === MergeOptions.ours) {\n const filesStatus = {};\n // don't write the files to the filesystem, only bump the bitmap version.\n files.forEach((file) => {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n filesStatus[pathNormalizeToLinux(file.relative)] = FileStatus.unchanged;\n });\n this.consumer.bitMap.updateComponentId(component.id);\n this.consumer.bitMap.hasChanged = true;\n return filesStatus;\n }\n if (mergeResults.hasConflicts && this.options.mergeStrategy === MergeOptions.theirs) {\n const filesStatus = {};\n // the local changes will be overridden (as if the user entered --override flag for this component)\n files.forEach((file) => {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n filesStatus[pathNormalizeToLinux(file.relative)] = FileStatus.updated;\n });\n return filesStatus;\n }\n const { filesStatus, modifiedFiles } = applyModifiedVersion(\n component.files,\n mergeResults,\n this.options.mergeStrategy\n );\n component.files = modifiedFiles;\n\n return filesStatus;\n }\n\n /**\n * update the component files if they are modified and there is a merge strategy.\n * returns only the components that need to be written to the filesystem\n */\n async updateAllComponentsAccordingToMergeStrategy(\n componentsWithDependencies: ComponentWithDependencies[]\n ): Promise<ComponentWithDependencies[]> {\n if (!this.options.merge) return componentsWithDependencies;\n const componentsStatusP = componentsWithDependencies.map((componentWithDependencies: ComponentWithDependencies) => {\n return this._getMergeStatus(componentWithDependencies);\n });\n const componentsStatus = await Promise.all(componentsStatusP);\n const componentWithConflict = componentsStatus.find(\n (component) => component.mergeResults && component.mergeResults.hasConflicts\n );\n if (componentWithConflict && !this.options.mergeStrategy) {\n this.options.mergeStrategy = await getMergeStrategyInteractive();\n }\n this.mergeStatus = {};\n\n const componentsToWrite = componentsStatus.map((componentStatus) => {\n const filesStatus: FilesStatus | null | undefined = this._updateComponentFilesPerMergeStrategy(componentStatus);\n const componentWithDependencies = componentStatus.componentWithDependencies;\n if (!filesStatus) return componentWithDependencies;\n this.mergeStatus[componentWithDependencies.component.id.toStringWithoutVersion()] = filesStatus;\n const unchangedFiles = Object.keys(filesStatus).filter((file) => filesStatus[file] === FileStatus.unchanged);\n if (unchangedFiles.length === Object.keys(filesStatus).length) {\n // all files are unchanged\n return null;\n }\n return componentWithDependencies;\n });\n const removeNulls = R.reject(R.isNil);\n return removeNulls(componentsToWrite);\n }\n\n _shouldSaveLaneData(): boolean {\n if (this.options.objectsOnly) {\n return false;\n }\n return this.consumer.isOnLane();\n }\n\n async _saveLaneDataIfNeeded(componentsWithDependencies: ComponentWithDependencies[]): Promise<void> {\n if (!this._shouldSaveLaneData()) {\n return;\n }\n const currentLane = await this.consumer.getCurrentLaneObject();\n if (!currentLane) {\n return; // user on main\n }\n const idsFromRemoteLanes = BitIds.fromArray(this.laneObjects.flatMap((lane) => lane.toBitIds()));\n const components = componentsWithDependencies.map((c) => c.component);\n await Promise.all(\n components.map(async (comp) => {\n const existOnRemoteLane = idsFromRemoteLanes.has(comp.id);\n if (!existOnRemoteLane && !this.options.saveInLane) {\n this.consumer.bitMap.setComponentProp(comp.id, 'onLanesOnly', false);\n return;\n }\n const modelComponent = await this.scope.getModelComponent(comp.id);\n const ref = modelComponent.getRef(comp.id.version as string);\n if (!ref) throw new Error(`_saveLaneDataIfNeeded unable to get ref for ${comp.id.toString()}`);\n currentLane.addComponent({ id: comp.id, head: ref });\n })\n );\n await this.scope.lanes.saveLane(currentLane);\n }\n\n async _writeToFileSystem(componentsWithDependencies: ComponentWithDependencies[]): Promise<ComponentWriterResults> {\n const componentsToWrite = await this.updateAllComponentsAccordingToMergeStrategy(componentsWithDependencies);\n const manyComponentsWriterOpts = {\n consumer: this.consumer,\n componentsWithDependencies: componentsToWrite,\n writeToPath: this.options.writeToPath,\n writeConfig: this.options.writeConfig,\n skipDependencyInstallation: !this.options.installNpmPackages,\n verbose: this.options.verbose,\n throwForExistingDir: !this.options.override,\n };\n return this.componentWriter.writeMany(manyComponentsWriterOpts);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ImportComponents","constructor","workspace","graph","componentWriter","options","consumer","scope","laneObjects","lanes","importComponents","loader","start","BEFORE_IMPORT_ACTION","saveDependenciesAsComponents","config","_saveDependenciesAsComponents","ids","length","importObjectsOnLane","importSpecificComponents","importAccordingToBitMap","objectsOnly","Error","lane","undefined","bitIds","getBitIds","logger","debug","id","toString","beforeImportVersions","_getCurrentVersions","versionDependenciesArr","_importComponentsObjects","mergeAllLanesResults","pMapSeries","laneObject","sources","mergeLane","mergedLanes","map","result","Promise","all","mergedLane","saveLane","importDetails","_getImportDetails","importedIds","v","component","flat","importedDeps","allDependenciesIds","join","_throwForPotentialIssues","writtenComponents","componentWriterResults","componentsWithDependencies","multipleVersionDependenciesToConsumer","objects","_fetchDivergeData","_throwForDivergedHistory","_writeToFileSystem","_saveLaneDataIfNeeded","c","installationError","compilationError","modelComponent","getModelComponent","setDivergeData","divergeData","push","merge","divergedComponents","filter","getDivergeData","isDiverged","snapsLocal","snapsOnSourceOnly","snapsRemote","snapsOnTargetOnly","ComponentsPendingMerge","fromOriginalScope","ignoreMissingHead","scopeComponentsImporter","ScopeComponentsImporter","getInstance","importManyDeltaWithoutDeps","fromHead","allHistory","collectParents","results","importManyFromOriginalScopes","importMany","preferDependencyGraph","fetchDeps","reFetchUnBuiltVersion","getBitIdsForLanes","bitIdsFromLane","BitIds","fromArray","flatMap","toBitIds","mainIds","bitMap","getAuthoredAndImportedBitIdsOfDefaultLane","mainIdsToImport","hasScope","hasWithoutVersion","idsWithWildcard","hasWildcard","idsWithoutWildcard","idsWithoutWildcardPreferFromLane","idStr","BitId","parse","fromLane","searchWithoutVersion","idsFromRemote","getRemoteBitIdsByWildcards","existingOnLanes","BitError","l","name","toStringWithoutVersion","getBitIdsForNonLanes","importDependenciesDirectly","importDependents","graphs","_getComponentsGraphs","dependenciesIds","_getDependenciesFromGraph","getGraphIds","targetCompIds","resolveMultipleComponentIds","sourceIds","listIds","findIdsFromSourcesToTargets","_legacy","uniqFromArray","dependencies","bitId","componentGraph","find","scopeName","dependenciesInfo","getDependenciesInfo","d","R","flatten","_getDependentsFromGraph","dependents","dependentsInfo","getDependentsInfo","remotes","getScopeRemotes","scopeGraphs","override","componentsIdsToImport","getIdsToImportFromBitmap","emptyResult","isEmpty","_throwForModifiedOrNewComponents","componentWithDependencies","allIds","getAllBitIdsFromAllLanes","versionsP","getModelComponentIfExist","changeVersion","listVersions","versions","fromPairs","currentVersions","components","detailsP","Object","keys","ShowDoctorError","afterImportVersions","versionDifference","difference","getStatus","filesStatus","mergeStatus","deprecated","isDeprecated","removed","isRemoved","latestVersion","getHeadRegardlessOfLaneAsTagOrHash","includes","status","missingDeps","getMissingDependencies","_throwForDifferentComponentWithSameName","componentsStatuses","getManyComponentsStatuses","modifiedComponents","modified","newlyCreated","GeneralError","chalk","yellow","forEach","existingId","getParsedIdIfExist","_getMergeStatus","componentStatus","getComponentStatusById","mergeResults","componentModel","existingBitMapBitId","getBitId","ignoreVersion","fsComponent","loadComponent","currentlyUsedVersion","version","baseComponent","loadVersion","otherComponent","threeWayMerge","otherLabel","currentComponent","currentLabel","_updateComponentFilesPerMergeStrategy","componentMergeStatus","files","hasConflicts","mergeStrategy","MergeOptions","ours","file","pathNormalizeToLinux","relative","FileStatus","unchanged","updateComponentId","hasChanged","theirs","updated","modifiedFiles","applyModifiedVersion","updateAllComponentsAccordingToMergeStrategy","componentsStatusP","componentsStatus","componentWithConflict","getMergeStrategyInteractive","componentsToWrite","unchangedFiles","removeNulls","reject","isNil","_shouldSaveLaneData","isOnLane","currentLane","getCurrentLaneObject","idsFromRemoteLanes","comp","existOnRemoteLane","has","saveInLane","setComponentProp","ref","getRef","addComponent","head","manyComponentsWriterOpts","writeToPath","writeConfig","skipDependencyInstallation","installNpmPackages","verbose","throwForExistingDir","writeMany"],"sources":["import-components.ts"],"sourcesContent":["import chalk from 'chalk';\nimport R from 'ramda';\nimport { BitError } from '@teambit/bit-error';\nimport { LaneId } from '@teambit/lane-id';\nimport pMapSeries from 'p-map-series';\nimport { getRemoteBitIdsByWildcards } from '@teambit/legacy/dist/api/consumer/lib/list-scope';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { BEFORE_IMPORT_ACTION } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport ShowDoctorError from '@teambit/legacy/dist/error/show-doctor-error';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport Remotes from '@teambit/legacy/dist/remotes/remotes';\nimport { ComponentWithDependencies, Scope } from '@teambit/legacy/dist/scope';\nimport DependencyGraph from '@teambit/legacy/dist/scope/graph/scope-graph';\nimport { Lane, ModelComponent, Version } from '@teambit/legacy/dist/scope/models';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport Component from '@teambit/legacy/dist/consumer/component';\nimport { applyModifiedVersion } from '@teambit/legacy/dist/consumer/versions-ops/checkout-version';\nimport {\n FileStatus,\n getMergeStrategyInteractive,\n MergeOptions,\n threeWayMerge,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { FilesStatus, MergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version/merge-version';\nimport { MergeResultsThreeWay } from '@teambit/legacy/dist/consumer/versions-ops/merge-version/three-way-merge';\nimport ComponentsPendingMerge from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-merge';\nimport ScopeComponentsImporter from '@teambit/legacy/dist/scope/component-ops/scope-components-importer';\nimport VersionDependencies, {\n multipleVersionDependenciesToConsumer,\n} from '@teambit/legacy/dist/scope/version-dependencies';\nimport { GraphMain } from '@teambit/graph';\nimport { Workspace } from '@teambit/workspace';\nimport { ComponentWriterMain, ComponentWriterResults } from '@teambit/component-writer';\n\nexport type ImportOptions = {\n ids: string[]; // array might be empty\n verbose?: boolean;\n merge?: boolean;\n mergeStrategy?: MergeStrategy;\n writeToPath?: string;\n writeConfig?: boolean;\n override?: boolean;\n installNpmPackages: boolean; // default: true\n objectsOnly?: boolean;\n saveDependenciesAsComponents?: boolean;\n importDependenciesDirectly?: boolean; // default: false, normally it imports them as packages or nested, not as imported\n importDependents?: boolean;\n fromOriginalScope?: boolean; // default: false, otherwise, it fetches flattened dependencies from their dependents\n saveInLane?: boolean; // save the imported component on the current lane (won't be available on main)\n lanes?: {\n laneIds: LaneId[];\n lanes: Lane[]; // it can be an empty array when a lane is a local lane and doesn't exist on the remote\n };\n allHistory?: boolean;\n fetchDeps?: boolean; // by default, if a component was tagged with > 0.0.900, it has the flattened-deps-graph in the object\n};\ntype ComponentMergeStatus = {\n componentWithDependencies: ComponentWithDependencies;\n mergeResults: MergeResultsThreeWay | null | undefined;\n};\ntype ImportedVersions = { [id: string]: string[] };\nexport type ImportStatus = 'added' | 'updated' | 'up to date';\nexport type ImportDetails = {\n id: string;\n versions: string[];\n latestVersion: string | null;\n status: ImportStatus;\n filesStatus: FilesStatus | null | undefined;\n missingDeps: BitId[];\n deprecated: boolean;\n removed?: boolean;\n};\nexport type ImportResult = {\n importedIds: BitId[];\n importedDeps: BitId[];\n writtenComponents?: Component[];\n importDetails: ImportDetails[];\n cancellationMessage?: string;\n installationError?: Error;\n compilationError?: Error;\n};\n\nexport default class ImportComponents {\n consumer: Consumer;\n scope: Scope;\n mergeStatus: { [id: string]: FilesStatus };\n private laneObjects: Lane[];\n private divergeData: Array<ModelComponent> = [];\n constructor(\n private workspace: Workspace,\n private graph: GraphMain,\n private componentWriter: ComponentWriterMain,\n public options: ImportOptions\n ) {\n this.consumer = this.workspace.consumer;\n this.scope = this.consumer.scope;\n this.laneObjects = this.options.lanes ? (this.options.lanes.lanes as Lane[]) : [];\n }\n\n importComponents(): Promise<ImportResult> {\n loader.start(BEFORE_IMPORT_ACTION);\n this.options.saveDependenciesAsComponents = this.consumer.config._saveDependenciesAsComponents;\n if (this.options.lanes && !this.options.ids.length) {\n return this.importObjectsOnLane();\n }\n if (this.options.ids.length) {\n return this.importSpecificComponents();\n }\n return this.importAccordingToBitMap();\n }\n\n async importObjectsOnLane(): Promise<ImportResult> {\n if (!this.options.objectsOnly) {\n throw new Error(`importObjectsOnLane should have objectsOnly=true`);\n }\n if (this.laneObjects.length > 1) {\n throw new Error(`importObjectsOnLane does not support more than one lane`);\n }\n const lane = this.laneObjects.length ? this.laneObjects[0] : undefined;\n const bitIds: BitIds = await this.getBitIds();\n lane\n ? logger.debug(`importObjectsOnLane, Lane: ${lane.id()}, Ids: ${bitIds.toString()}`)\n : logger.debug(`importObjectsOnLane, the lane does not exist on the remote. importing only the main components`);\n const beforeImportVersions = await this._getCurrentVersions(bitIds);\n const versionDependenciesArr = await this._importComponentsObjects(bitIds, {\n lane,\n });\n\n // import lane components from their original scope, this way, it's possible to run diff/merge on them.\n // don't use `scope.getDefaultLaneIdsFromLane()`. we need all components, because it's possible that a component\n // does't have \"head\" locally although it exits in the origin-scope. it happens when the component was created on\n // the origin-scope after a component with the same-name was created on the lane\n // if (lane) {\n // // @todo: optimize this maybe. currently, it imports twice.\n // // try to make the previous `importComponentsObjectsHarmony` import the same component once from the original\n // // scope and once from the lane-scope.\n // const mainIdsLatest = BitIds.fromArray(lane.toBitIds().map((m) => m.changeVersion(undefined)));\n // await this._importComponentsObjects(mainIdsLatest, {\n // ignoreMissingHead: true,\n // });\n // }\n\n // merge the lane objects\n const mergeAllLanesResults = await pMapSeries(this.laneObjects, (laneObject) =>\n this.scope.sources.mergeLane(laneObject, true)\n );\n const mergedLanes = mergeAllLanesResults.map((result) => result.mergeLane);\n await Promise.all(mergedLanes.map((mergedLane) => this.scope.lanes.saveLane(mergedLane)));\n\n const importDetails = await this._getImportDetails(beforeImportVersions, versionDependenciesArr);\n return {\n importedIds: versionDependenciesArr.map((v) => v.component.id).flat(),\n importedDeps: versionDependenciesArr.map((v) => v.allDependenciesIds).flat(),\n importDetails,\n };\n }\n\n async importSpecificComponents(): Promise<ImportResult> {\n logger.debug(`importSpecificComponents, Ids: ${this.options.ids.join(', ')}`);\n const bitIds: BitIds = await this.getBitIds();\n const beforeImportVersions = await this._getCurrentVersions(bitIds);\n await this._throwForPotentialIssues(bitIds);\n const versionDependenciesArr = await this._importComponentsObjects(bitIds, {\n lane: this.laneObjects?.[0],\n });\n if (this.laneObjects && this.options.objectsOnly) {\n // merge the lane objects\n const mergeAllLanesResults = await pMapSeries(this.laneObjects, (laneObject) =>\n this.scope.sources.mergeLane(laneObject, true)\n );\n const mergedLanes = mergeAllLanesResults.map((result) => result.mergeLane);\n await Promise.all(mergedLanes.map((mergedLane) => this.scope.lanes.saveLane(mergedLane)));\n }\n let writtenComponents: Component[] = [];\n let componentWriterResults: ComponentWriterResults | undefined;\n if (!this.options.objectsOnly) {\n const componentsWithDependencies = await multipleVersionDependenciesToConsumer(\n versionDependenciesArr,\n this.scope.objects\n );\n await this._fetchDivergeData(componentsWithDependencies);\n this._throwForDivergedHistory();\n componentWriterResults = await this._writeToFileSystem(componentsWithDependencies);\n await this._saveLaneDataIfNeeded(componentsWithDependencies);\n writtenComponents = componentsWithDependencies.map((c) => c.component);\n }\n\n const importDetails = await this._getImportDetails(beforeImportVersions, versionDependenciesArr);\n return {\n importedIds: versionDependenciesArr.map((v) => v.component.id).flat(),\n importedDeps: versionDependenciesArr.map((v) => v.allDependenciesIds).flat(),\n writtenComponents,\n importDetails,\n installationError: componentWriterResults?.installationError,\n compilationError: componentWriterResults?.compilationError,\n };\n }\n\n async _fetchDivergeData(componentsWithDependencies: ComponentWithDependencies[]) {\n if (this.options.objectsOnly) {\n // no need for it when importing objects only. if it's enabled, in case when on a lane and a non-lane\n // component is in bitmap using an older version, it throws \"getDivergeData: unable to find Version X of Y\"\n return;\n }\n await Promise.all(\n componentsWithDependencies.map(async ({ component }) => {\n const modelComponent = await this.scope.getModelComponent(component.id);\n await modelComponent.setDivergeData(this.scope.objects, undefined, false);\n this.divergeData.push(modelComponent);\n })\n );\n }\n\n _throwForDivergedHistory() {\n if (this.options.merge || this.options.objectsOnly) return;\n const divergedComponents = this.divergeData.filter((modelComponent) =>\n modelComponent.getDivergeData().isDiverged()\n );\n if (divergedComponents.length) {\n const divergeData = divergedComponents.map((modelComponent) => ({\n id: modelComponent.id(),\n snapsLocal: modelComponent.getDivergeData().snapsOnSourceOnly.length,\n snapsRemote: modelComponent.getDivergeData().snapsOnTargetOnly.length,\n }));\n throw new ComponentsPendingMerge(divergeData);\n }\n }\n\n private async _importComponentsObjects(\n ids: BitIds,\n {\n fromOriginalScope = false,\n lane,\n ignoreMissingHead = false,\n }: {\n fromOriginalScope?: boolean;\n lane?: Lane;\n ignoreMissingHead?: boolean;\n }\n ): Promise<VersionDependencies[]> {\n const scopeComponentsImporter = ScopeComponentsImporter.getInstance(this.scope);\n await scopeComponentsImporter.importManyDeltaWithoutDeps({\n ids,\n fromHead: this.options.allHistory,\n collectParents: this.options.allHistory,\n lane,\n // in case a user is merging a lane into a new workspace, then, locally main has head, but remotely the head is\n // empty, until it's exported. going to the remote and asking this component will throw an error if ignoreMissingHead is false\n ignoreMissingHead: true,\n });\n loader.start(`import ${ids.length} components with their dependencies (if missing)`);\n const results = fromOriginalScope\n ? await scopeComponentsImporter.importManyFromOriginalScopes(ids)\n : await scopeComponentsImporter.importMany({\n ids,\n ignoreMissingHead,\n lanes: lane ? [lane] : undefined,\n preferDependencyGraph: !this.options.fetchDeps,\n reFetchUnBuiltVersion: true, // when user is running \"bit import\", we want to re-fetch if it wasn't built. todo: check if this can be disabled when not needed\n });\n\n return results;\n }\n\n /**\n * consider the following use cases:\n * 1) no ids were provided. it should import all the lanes components objects AND main components objects\n * (otherwise, if main components are not imported and are missing, then bit-status complains about it)\n * 2) ids are provided with wildcards. we assume the user wants only the ids that are available on the lane.\n * because a user may entered \"bit import scope/*\" and this scope has many component on the lane and many not on the lane.\n * we want to bring only the components on the lane.\n * 3) ids are provided without wildcards. here, the user knows exactly what's needed and it's ok to get the ids from\n * main if not found on the lane.\n */\n private async getBitIdsForLanes(): Promise<BitId[]> {\n if (!this.options.lanes) {\n throw new Error(`getBitIdsForLanes: this.options.lanes must be set`);\n }\n const bitIdsFromLane = BitIds.fromArray(this.laneObjects.flatMap((lane) => lane.toBitIds()));\n\n if (!this.options.ids.length) {\n const mainIds = this.consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane();\n const mainIdsToImport = mainIds.filter((id) => id.hasScope() && !bitIdsFromLane.hasWithoutVersion(id));\n bitIdsFromLane.push(...mainIdsToImport);\n return bitIdsFromLane;\n }\n\n const idsWithWildcard = this.options.ids.filter((id) => hasWildcard(id));\n const idsWithoutWildcard = this.options.ids.filter((id) => !hasWildcard(id));\n const idsWithoutWildcardPreferFromLane = idsWithoutWildcard.map((idStr) => {\n const id = BitId.parse(idStr, true);\n const fromLane = bitIdsFromLane.searchWithoutVersion(id);\n return fromLane || id;\n });\n\n const bitIds: BitId[] = [...idsWithoutWildcardPreferFromLane];\n\n if (!idsWithWildcard) {\n return bitIds;\n }\n\n await pMapSeries(idsWithWildcard, async (idStr: string) => {\n const idsFromRemote = await getRemoteBitIdsByWildcards(idStr);\n const existingOnLanes = idsFromRemote.filter((id) => bitIdsFromLane.hasWithoutVersion(id));\n if (!existingOnLanes.length) {\n throw new BitError(`the id with the the wildcard \"${idStr}\" has been parsed to multiple component ids.\nhowever, none of them existing on the lane \"${this.laneObjects.map((l) => l.name).join(', ')}\"\nin case you intend to import these components from main, please run the following:\nbit import ${idsFromRemote.map((id) => id.toStringWithoutVersion()).join(' ')}`);\n }\n bitIds.push(...existingOnLanes);\n });\n\n return bitIds;\n }\n\n private async getBitIdsForNonLanes() {\n const bitIds: BitId[] = [];\n await Promise.all(\n this.options.ids.map(async (idStr: string) => {\n if (hasWildcard(idStr)) {\n const ids = await getRemoteBitIdsByWildcards(idStr);\n loader.start(BEFORE_IMPORT_ACTION); // it stops the previous loader of BEFORE_REMOTE_LIST\n bitIds.push(...ids);\n } else {\n bitIds.push(BitId.parse(idStr, true)); // we don't support importing without a scope name\n }\n })\n );\n\n return bitIds;\n }\n\n private async getBitIds(): Promise<BitIds> {\n const bitIds: BitId[] = this.options.lanes ? await this.getBitIdsForLanes() : await this.getBitIdsForNonLanes();\n if (this.options.importDependenciesDirectly || this.options.importDependents) {\n const graphs = await this._getComponentsGraphs(bitIds);\n if (this.options.importDependenciesDirectly) {\n const dependenciesIds = this._getDependenciesFromGraph(bitIds, graphs);\n bitIds.push(...dependenciesIds);\n }\n if (this.options.importDependents) {\n const graph = await this.graph.getGraphIds();\n const targetCompIds = await this.workspace.resolveMultipleComponentIds(bitIds);\n const sourceIds = await this.workspace.listIds();\n const ids = graph.findIdsFromSourcesToTargets(sourceIds, targetCompIds);\n logger.debug(\n `found ${ids.length} component for --dependents flag`,\n ids.map((id) => id.toString())\n );\n bitIds.push(...ids.map((id) => id._legacy));\n }\n }\n return BitIds.uniqFromArray(bitIds);\n }\n\n _getDependenciesFromGraph(bitIds: BitId[], graphs: DependencyGraph[]): BitId[] {\n const dependencies = bitIds.map((bitId) => {\n const componentGraph = graphs.find((graph) => graph.scopeName === bitId.scope);\n if (!componentGraph) {\n throw new Error(`unable to find a graph for ${bitId.toString()}`);\n }\n const dependenciesInfo = componentGraph.getDependenciesInfo(bitId);\n return dependenciesInfo.map((d) => d.id);\n });\n return R.flatten(dependencies);\n }\n\n _getDependentsFromGraph(bitIds: BitId[], graphs: DependencyGraph[]): BitId[] {\n const dependents = bitIds.map((bitId) => {\n const componentGraph = graphs.find((graph) => graph.scopeName === bitId.scope);\n if (!componentGraph) {\n throw new Error(`unable to find a graph for ${bitId.toString()}`);\n }\n const dependentsInfo = componentGraph.getDependentsInfo(bitId);\n return dependentsInfo.map((d) => d.id);\n });\n return R.flatten(dependents);\n }\n\n async _getComponentsGraphs(bitIds: BitId[]): Promise<DependencyGraph[]> {\n const remotes: Remotes = await getScopeRemotes(this.consumer.scope);\n return remotes.scopeGraphs(bitIds, this.consumer.scope);\n }\n\n async importAccordingToBitMap(): Promise<ImportResult> {\n this.options.objectsOnly = !this.options.merge && !this.options.override;\n const componentsIdsToImport = this.getIdsToImportFromBitmap();\n const emptyResult = {\n importedIds: [],\n importedDeps: [],\n importDetails: [],\n };\n if (R.isEmpty(componentsIdsToImport)) {\n return emptyResult;\n }\n await this._throwForModifiedOrNewComponents(componentsIdsToImport);\n const beforeImportVersions = await this._getCurrentVersions(componentsIdsToImport);\n if (!componentsIdsToImport.length) {\n return emptyResult;\n }\n if (!this.options.objectsOnly) {\n throw new Error(`bit import with no ids and --merge flag was not implemented yet`);\n }\n const versionDependenciesArr = await this._importComponentsObjects(componentsIdsToImport, {\n fromOriginalScope: this.options.fromOriginalScope,\n });\n let writtenComponents: Component[] = [];\n let componentWriterResults: ComponentWriterResults | undefined;\n if (!this.options.objectsOnly) {\n const componentWithDependencies = await multipleVersionDependenciesToConsumer(\n versionDependenciesArr,\n this.scope.objects\n );\n componentWriterResults = await this._writeToFileSystem(componentWithDependencies);\n writtenComponents = componentWithDependencies.map((c) => c.component);\n }\n\n const importDetails = await this._getImportDetails(beforeImportVersions, versionDependenciesArr);\n\n return {\n importedIds: versionDependenciesArr.map((v) => v.component.id).flat(),\n importedDeps: versionDependenciesArr.map((v) => v.allDependenciesIds).flat(),\n writtenComponents,\n importDetails,\n installationError: componentWriterResults?.installationError,\n compilationError: componentWriterResults?.compilationError,\n };\n }\n\n private getIdsToImportFromBitmap() {\n const allIds = this.consumer.bitMap.getAllBitIdsFromAllLanes();\n return BitIds.fromArray(allIds.filter((id) => id.hasScope()));\n }\n\n async _getCurrentVersions(ids: BitIds): Promise<ImportedVersions> {\n const versionsP = ids.map(async (id) => {\n const modelComponent = await this.consumer.scope.getModelComponentIfExist(id.changeVersion(undefined));\n const idStr = id.toStringWithoutVersion();\n if (!modelComponent) return [idStr, []];\n return [idStr, modelComponent.listVersions()];\n });\n const versions = await Promise.all(versionsP);\n return R.fromPairs(versions);\n }\n\n /**\n * get import details, includes the diff between the versions array before import and after import\n */\n async _getImportDetails(\n currentVersions: ImportedVersions,\n components: VersionDependencies[]\n ): Promise<ImportDetails[]> {\n const detailsP = components.map(async (component) => {\n const id = component.component.id;\n const idStr = id.toStringWithoutVersion();\n const beforeImportVersions = currentVersions[idStr];\n if (!beforeImportVersions) {\n throw new Error(\n `_getImportDetails failed finding ${idStr} in currentVersions, which has ${Object.keys(currentVersions).join(\n ', '\n )}`\n );\n }\n const modelComponent = await this.consumer.scope.getModelComponentIfExist(id);\n if (!modelComponent) throw new ShowDoctorError(`imported component ${idStr} was not found in the model`);\n const afterImportVersions = modelComponent.listVersions();\n const versionDifference: string[] = R.difference(afterImportVersions, beforeImportVersions);\n const getStatus = (): ImportStatus => {\n if (!versionDifference.length) return 'up to date';\n if (!beforeImportVersions.length) return 'added';\n return 'updated';\n };\n const filesStatus = this.mergeStatus && this.mergeStatus[idStr] ? this.mergeStatus[idStr] : null;\n const deprecated = await modelComponent.isDeprecated(this.scope.objects);\n const removed = await component.component.component.isRemoved(this.scope.objects);\n const latestVersion = modelComponent.getHeadRegardlessOfLaneAsTagOrHash(true);\n return {\n id: idStr,\n versions: versionDifference,\n latestVersion: versionDifference.includes(latestVersion) ? latestVersion : null,\n status: getStatus(),\n filesStatus,\n missingDeps: this.options.fetchDeps ? component.getMissingDependencies() : [],\n deprecated,\n removed,\n };\n });\n return Promise.all(detailsP);\n }\n\n async _throwForPotentialIssues(ids: BitIds): Promise<void> {\n await this._throwForModifiedOrNewComponents(ids);\n this._throwForDifferentComponentWithSameName(ids);\n }\n\n async _throwForModifiedOrNewComponents(ids: BitIds): Promise<void> {\n // the typical objectsOnly option is when a user cloned a project with components tagged to the source code, but\n // doesn't have the model objects. in that case, calling getComponentStatusById() may return an error as it relies\n // on the model objects when there are dependencies\n if (this.options.override || this.options.objectsOnly || this.options.merge) return;\n const componentsStatuses = await this.consumer.getManyComponentsStatuses(ids);\n const modifiedComponents = componentsStatuses\n .filter(({ status }) => status.modified || status.newlyCreated)\n .map((c) => c.id);\n if (modifiedComponents.length) {\n throw new GeneralError(\n chalk.yellow(\n `unable to import the following components due to local changes, use --merge flag to merge your local changes or --override to override them\\n${modifiedComponents.join(\n '\\n'\n )} `\n )\n );\n }\n }\n\n /**\n * Model Component id() calculation uses id.toString() for the hash.\n * If an imported component has scopereadonly name equals to a local name, both will have the exact same\n * hash and they'll override each other.\n */\n _throwForDifferentComponentWithSameName(ids: BitIds): void {\n ids.forEach((id: BitId) => {\n const existingId = this.consumer.getParsedIdIfExist(id.toStringWithoutVersion());\n if (existingId && !existingId.hasScope()) {\n throw new GeneralError(`unable to import ${id.toString()}. the component name conflicted with your local component with the same name.\n it's fine to have components with the same name as long as their scope names are different.\n Make sure to export your component first to get a scope and then try importing again`);\n }\n });\n }\n\n async _getMergeStatus(componentWithDependencies: ComponentWithDependencies): Promise<ComponentMergeStatus> {\n const component = componentWithDependencies.component;\n const componentStatus = await this.consumer.getComponentStatusById(component.id);\n const mergeStatus: ComponentMergeStatus = { componentWithDependencies, mergeResults: null };\n if (!componentStatus.modified) return mergeStatus;\n const componentModel = await this.consumer.scope.getModelComponent(component.id);\n const existingBitMapBitId = this.consumer.bitMap.getBitId(component.id, { ignoreVersion: true });\n const fsComponent = await this.consumer.loadComponent(existingBitMapBitId);\n const currentlyUsedVersion = existingBitMapBitId.version;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const baseComponent: Version = await componentModel.loadVersion(currentlyUsedVersion, this.consumer.scope.objects);\n const otherComponent: Version = await componentModel.loadVersion(\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n component.id.version,\n this.consumer.scope.objects\n );\n const mergeResults = await threeWayMerge({\n consumer: this.consumer,\n otherComponent,\n otherLabel: component.id.version as string,\n currentComponent: fsComponent,\n currentLabel: `${currentlyUsedVersion} modified`,\n baseComponent,\n });\n mergeStatus.mergeResults = mergeResults;\n return mergeStatus;\n }\n\n /**\n * 1) when there are conflicts and the strategy is \"ours\", don't write the imported component to\n * the filesystem, only update bitmap.\n *\n * 2) when there are conflicts and the strategy is \"theirs\", override the local changes by the\n * imported component. (similar to --override)\n *\n * 3) when there is no conflict or there are conflicts and the strategy is manual, write the files\n * according to the merge result. (done by applyModifiedVersion())\n */\n _updateComponentFilesPerMergeStrategy(componentMergeStatus: ComponentMergeStatus): FilesStatus | null | undefined {\n const mergeResults = componentMergeStatus.mergeResults;\n if (!mergeResults) return null;\n const component = componentMergeStatus.componentWithDependencies.component;\n const files = component.files;\n\n if (mergeResults.hasConflicts && this.options.mergeStrategy === MergeOptions.ours) {\n const filesStatus = {};\n // don't write the files to the filesystem, only bump the bitmap version.\n files.forEach((file) => {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n filesStatus[pathNormalizeToLinux(file.relative)] = FileStatus.unchanged;\n });\n this.consumer.bitMap.updateComponentId(component.id);\n this.consumer.bitMap.hasChanged = true;\n return filesStatus;\n }\n if (mergeResults.hasConflicts && this.options.mergeStrategy === MergeOptions.theirs) {\n const filesStatus = {};\n // the local changes will be overridden (as if the user entered --override flag for this component)\n files.forEach((file) => {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n filesStatus[pathNormalizeToLinux(file.relative)] = FileStatus.updated;\n });\n return filesStatus;\n }\n const { filesStatus, modifiedFiles } = applyModifiedVersion(\n component.files,\n mergeResults,\n this.options.mergeStrategy\n );\n component.files = modifiedFiles;\n\n return filesStatus;\n }\n\n /**\n * update the component files if they are modified and there is a merge strategy.\n * returns only the components that need to be written to the filesystem\n */\n async updateAllComponentsAccordingToMergeStrategy(\n componentsWithDependencies: ComponentWithDependencies[]\n ): Promise<ComponentWithDependencies[]> {\n if (!this.options.merge) return componentsWithDependencies;\n const componentsStatusP = componentsWithDependencies.map((componentWithDependencies: ComponentWithDependencies) => {\n return this._getMergeStatus(componentWithDependencies);\n });\n const componentsStatus = await Promise.all(componentsStatusP);\n const componentWithConflict = componentsStatus.find(\n (component) => component.mergeResults && component.mergeResults.hasConflicts\n );\n if (componentWithConflict && !this.options.mergeStrategy) {\n this.options.mergeStrategy = await getMergeStrategyInteractive();\n }\n this.mergeStatus = {};\n\n const componentsToWrite = componentsStatus.map((componentStatus) => {\n const filesStatus: FilesStatus | null | undefined = this._updateComponentFilesPerMergeStrategy(componentStatus);\n const componentWithDependencies = componentStatus.componentWithDependencies;\n if (!filesStatus) return componentWithDependencies;\n this.mergeStatus[componentWithDependencies.component.id.toStringWithoutVersion()] = filesStatus;\n const unchangedFiles = Object.keys(filesStatus).filter((file) => filesStatus[file] === FileStatus.unchanged);\n if (unchangedFiles.length === Object.keys(filesStatus).length) {\n // all files are unchanged\n return null;\n }\n return componentWithDependencies;\n });\n const removeNulls = R.reject(R.isNil);\n return removeNulls(componentsToWrite);\n }\n\n _shouldSaveLaneData(): boolean {\n if (this.options.objectsOnly) {\n return false;\n }\n return this.consumer.isOnLane();\n }\n\n async _saveLaneDataIfNeeded(componentsWithDependencies: ComponentWithDependencies[]): Promise<void> {\n if (!this._shouldSaveLaneData()) {\n return;\n }\n const currentLane = await this.consumer.getCurrentLaneObject();\n if (!currentLane) {\n return; // user on main\n }\n const idsFromRemoteLanes = BitIds.fromArray(this.laneObjects.flatMap((lane) => lane.toBitIds()));\n const components = componentsWithDependencies.map((c) => c.component);\n await Promise.all(\n components.map(async (comp) => {\n const existOnRemoteLane = idsFromRemoteLanes.has(comp.id);\n if (!existOnRemoteLane && !this.options.saveInLane) {\n this.consumer.bitMap.setComponentProp(comp.id, 'onLanesOnly', false);\n return;\n }\n const modelComponent = await this.scope.getModelComponent(comp.id);\n const ref = modelComponent.getRef(comp.id.version as string);\n if (!ref) throw new Error(`_saveLaneDataIfNeeded unable to get ref for ${comp.id.toString()}`);\n currentLane.addComponent({ id: comp.id, head: ref });\n })\n );\n await this.scope.lanes.saveLane(currentLane);\n }\n\n async _writeToFileSystem(componentsWithDependencies: ComponentWithDependencies[]): Promise<ComponentWriterResults> {\n const componentsToWrite = await this.updateAllComponentsAccordingToMergeStrategy(componentsWithDependencies);\n const manyComponentsWriterOpts = {\n consumer: this.consumer,\n componentsWithDependencies: componentsToWrite,\n writeToPath: this.options.writeToPath,\n writeConfig: this.options.writeConfig,\n skipDependencyInstallation: !this.options.installNpmPackages,\n verbose: this.options.verbose,\n throwForExistingDir: !this.options.override,\n };\n return this.componentWriter.writeMany(manyComponentsWriterOpts);\n }\n}\n"],"mappings":"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"}
@@ -166,7 +166,8 @@ ${(0, _constants().WILDCARD_HELP)('import')}`;
166
166
  importDetails,
167
167
  importedIds,
168
168
  importedDeps,
169
- installationError
169
+ installationError,
170
+ compilationError
170
171
  } = importResults;
171
172
  if (json) {
172
173
  return JSON.stringify({
@@ -191,7 +192,7 @@ ${(0, _constants().WILDCARD_HELP)('import')}`;
191
192
  const summary = `${summaryPrefix}${upToDateStr}`;
192
193
  const importOutput = [...(0, _lodash().compact)(importedComponents), _chalk().default.green(summary)].join('\n');
193
194
  const importedDepsOutput = displayDependencies && importedDeps.length ? (0, _utils().immutableUnshift)(_ramda().default.uniq(importedDeps.map(_chalkBox().formatPlainComponentItem)), _chalk().default.green(`\n\nsuccessfully imported ${importedDeps.length} component dependencies`)).join('\n') : '';
194
- const output = importOutput + importedDepsOutput + (0, _merging().installationErrorOutput)(installationError);
195
+ const output = importOutput + importedDepsOutput + (0, _merging().installationErrorOutput)(installationError) + (0, _merging().compilationErrorOutput)(compilationError);
195
196
  return output;
196
197
  }
197
198
  }
@@ -1 +1 @@
1
- {"version":3,"names":["ImportCmd","constructor","importer","docsDomain","name","description","extendedDescription","WILDCARD_HELP","report","ids","path","objects","displayDependencies","override","verbose","json","conf","skipNpmInstall","skipDependencyInstallation","merge","saveInLane","dependencies","dependents","allHistory","fetchDeps","GeneralError","length","console","log","chalk","yellow","mergeStrategy","R","is","String","options","Object","keys","MergeOptions","includes","join","importOptions","Boolean","writeToPath","objectsOnly","writeConfig","installNpmPackages","importDependenciesDirectly","importDependents","importResults","import","_packageManagerArgs","importDetails","importedIds","importedDeps","installationError","JSON","stringify","cancellationMessage","summaryPrefix","upToDateCount","importedComponents","map","bitId","details","find","c","id","toStringWithoutVersion","Error","toString","status","formatPlainComponentItemWithVersions","upToDateStr","summary","importOutput","compact","green","importedDepsOutput","immutableUnshift","uniq","formatPlainComponentItem","output","installationErrorOutput","getVersionsOutput","versions","latestVersion","usedVersion","version","getConflictMessage","filesStatus","conflictedFiles","filter","file","FileStatus","manual","bold","conflictMessage","deprecated","removed","red","missingDeps","d","undefined","dim","cyan"],"sources":["import.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { compact } from 'lodash';\nimport R from 'ramda';\nimport { installationErrorOutput } from '@teambit/merging';\nimport { WILDCARD_HELP } from '@teambit/legacy/dist/constants';\nimport {\n FileStatus,\n MergeOptions,\n MergeStrategy,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version/merge-version';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport { immutableUnshift } from '@teambit/legacy/dist/utils';\nimport { formatPlainComponentItem } from '@teambit/legacy/dist/cli/chalk-box';\nimport { ImporterMain } from './importer.main.runtime';\nimport { ImportOptions, ImportDetails, ImportStatus } from './import-components';\n\nexport class ImportCmd implements Command {\n name = 'import [component-patterns...]';\n description = 'import components from their remote scopes to the local workspace';\n helpUrl = 'docs/components/importing-components';\n arguments = [\n {\n name: 'component-patterns...',\n description:\n 'component IDs or component patterns (separated by space). Use patterns to import groups of components using a common scope or namespace. E.g., \"utils/*\" (wrap with double quotes)',\n },\n ];\n extendedDescription: string;\n group = 'collaborate';\n alias = '';\n options = [\n ['p', 'path <path>', 'import components into a specific directory (a relative path in the workspace)'],\n [\n 'o',\n 'objects',\n 'import components objects to the local scope without checkout (without writing them to the file system). This is a default behavior for import with no id argument',\n ],\n ['d', 'display-dependencies', 'display the imported dependencies'],\n ['O', 'override', 'override local changes'],\n ['v', 'verbose', 'show verbose output for inspection'],\n ['j', 'json', 'return the output as JSON'],\n // ['', 'conf', 'write the configuration file (component.json) of the component'], // not working. need to fix once ComponentWriter is moved to Harmony\n ['', 'skip-npm-install', 'DEPRECATED. use \"--skip-dependency-installation\" instead'],\n ['', 'skip-dependency-installation', 'do not install packages of the imported components'],\n [\n 'm',\n 'merge [strategy]',\n 'merge local changes with the imported version. strategy should be \"theirs\", \"ours\" or \"manual\"',\n ],\n ['', 'dependencies', 'EXPERIMENTAL. import all dependencies and write them to the workspace'],\n [\n '',\n 'dependents',\n 'EXPERIMENTAL. import components found while traversing from the given ids upwards to the workspace components',\n ],\n [\n '',\n 'save-in-lane',\n 'EXPERIMENTAL. when checked out to a lane and the component is not on the remote-lane, save it in the lane (default to save on main)',\n ],\n [\n '',\n 'all-history',\n 'relevant for fetching all components objects. avoid optimizations, fetch all history versions, always',\n ],\n ['', 'fetch-deps', 'fetch dependencies objects'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n remoteOp = true;\n _packageManagerArgs: string[]; // gets populated by yargs-adapter.handler().\n\n constructor(private importer: ImporterMain, private docsDomain: string) {\n this.extendedDescription = `https://${docsDomain}/components/importing-components\n${WILDCARD_HELP('import')}`;\n }\n\n async report(\n [ids = []]: [string[]],\n {\n path,\n objects = false,\n displayDependencies = false,\n override = false,\n verbose = false,\n json = false,\n conf,\n skipNpmInstall = false,\n skipDependencyInstallation = false,\n merge,\n saveInLane = false,\n dependencies = false,\n dependents = false,\n allHistory = false,\n fetchDeps = false,\n }: {\n path?: string;\n objects?: boolean;\n displayDependencies?: boolean;\n override?: boolean;\n verbose?: boolean;\n json?: boolean;\n conf?: string;\n skipNpmInstall?: boolean;\n skipDependencyInstallation?: boolean;\n merge?: MergeStrategy;\n saveInLane?: boolean;\n dependencies?: boolean;\n dependents?: boolean;\n allHistory?: boolean;\n fetchDeps?: boolean;\n }\n ): Promise<any> {\n if (objects && merge) {\n throw new GeneralError('you cant use --objects and --merge flags combined');\n }\n if (override && merge) {\n throw new GeneralError('you cant use --override and --merge flags combined');\n }\n if (!ids.length && dependencies) {\n throw new GeneralError('you have to specify ids to use \"--dependencies\" flag');\n }\n if (!ids.length && dependents) {\n throw new GeneralError('you have to specify ids to use \"--dependents\" flag');\n }\n if (skipNpmInstall) {\n // eslint-disable-next-line no-console\n console.log(\n chalk.yellow(`\"--skip-npm-install\" has been deprecated, please use \"--skip-dependency-installation\" instead`)\n );\n skipDependencyInstallation = true;\n }\n let mergeStrategy;\n if (merge && R.is(String, merge)) {\n const options = Object.keys(MergeOptions);\n if (!options.includes(merge)) {\n throw new GeneralError(`merge must be one of the following: ${options.join(', ')}`);\n }\n mergeStrategy = merge;\n }\n\n const importOptions: ImportOptions = {\n ids,\n verbose,\n merge: Boolean(merge),\n mergeStrategy,\n writeToPath: path,\n objectsOnly: objects,\n override,\n writeConfig: Boolean(conf),\n installNpmPackages: !skipDependencyInstallation,\n saveInLane,\n importDependenciesDirectly: dependencies,\n importDependents: dependents,\n allHistory,\n fetchDeps,\n };\n const importResults = await this.importer.import(importOptions, this._packageManagerArgs);\n const { importDetails, importedIds, importedDeps, installationError } = importResults;\n\n if (json) {\n return JSON.stringify({ importDetails, installationError }, null, 4);\n }\n\n if (!importedIds.length) {\n return chalk.yellow(importResults.cancellationMessage || 'nothing to import');\n }\n\n const summaryPrefix =\n importedIds.length === 1\n ? 'successfully imported one component'\n : `successfully imported ${importedIds.length} components`;\n\n let upToDateCount = 0;\n const importedComponents = importedIds.map((bitId) => {\n const details = importDetails.find((c) => c.id === bitId.toStringWithoutVersion());\n if (!details) throw new Error(`missing details of component ${bitId.toString()}`);\n if (details.status === 'up to date') {\n upToDateCount += 1;\n }\n return formatPlainComponentItemWithVersions(bitId, details);\n });\n const upToDateStr = upToDateCount === 0 ? '' : `, ${upToDateCount} components are up to date`;\n const summary = `${summaryPrefix}${upToDateStr}`;\n const importOutput = [...compact(importedComponents), chalk.green(summary)].join('\\n');\n const importedDepsOutput =\n displayDependencies && importedDeps.length\n ? immutableUnshift(\n R.uniq(importedDeps.map(formatPlainComponentItem)),\n chalk.green(`\\n\\nsuccessfully imported ${importedDeps.length} component dependencies`)\n ).join('\\n')\n : '';\n\n const output = importOutput + importedDepsOutput + installationErrorOutput(installationError);\n\n return output;\n }\n}\n\nfunction formatPlainComponentItemWithVersions(bitId: BitId, importDetails: ImportDetails) {\n const status: ImportStatus = importDetails.status;\n const id = bitId.toStringWithoutVersion();\n const getVersionsOutput = () => {\n if (!importDetails.versions.length) return '';\n if (importDetails.latestVersion) {\n return `${importDetails.versions.length} new version(s) available, latest ${importDetails.latestVersion}`;\n }\n return `new versions: ${importDetails.versions.join(', ')}`;\n };\n const versions = getVersionsOutput();\n const usedVersion = status === 'added' ? `, currently used version ${bitId.version}` : '';\n const getConflictMessage = () => {\n if (!importDetails.filesStatus) return '';\n const conflictedFiles = Object.keys(importDetails.filesStatus)\n // @ts-ignore file is set\n .filter((file) => importDetails.filesStatus[file] === FileStatus.manual);\n if (!conflictedFiles.length) return '';\n return `(the following files were saved with conflicts ${conflictedFiles\n .map((file) => chalk.bold(file))\n .join(', ')}) `;\n };\n const conflictMessage = getConflictMessage();\n const deprecated = importDetails.deprecated && !importDetails.removed ? chalk.yellow('deprecated') : '';\n const removed = importDetails.removed ? chalk.red('removed') : '';\n const missingDeps = importDetails.missingDeps.length\n ? chalk.red(`missing dependencies: ${importDetails.missingDeps.map((d) => d.toString()).join(', ')}`)\n : '';\n if (status === 'up to date' && !missingDeps && !deprecated && !conflictMessage && !removed) {\n return undefined;\n }\n return chalk.dim(\n `- ${chalk.green(status)} ${chalk.cyan(\n id\n )} ${versions}${usedVersion} ${conflictMessage}${deprecated}${removed} ${missingDeps}`\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ImportCmd","constructor","importer","docsDomain","name","description","extendedDescription","WILDCARD_HELP","report","ids","path","objects","displayDependencies","override","verbose","json","conf","skipNpmInstall","skipDependencyInstallation","merge","saveInLane","dependencies","dependents","allHistory","fetchDeps","GeneralError","length","console","log","chalk","yellow","mergeStrategy","R","is","String","options","Object","keys","MergeOptions","includes","join","importOptions","Boolean","writeToPath","objectsOnly","writeConfig","installNpmPackages","importDependenciesDirectly","importDependents","importResults","import","_packageManagerArgs","importDetails","importedIds","importedDeps","installationError","compilationError","JSON","stringify","cancellationMessage","summaryPrefix","upToDateCount","importedComponents","map","bitId","details","find","c","id","toStringWithoutVersion","Error","toString","status","formatPlainComponentItemWithVersions","upToDateStr","summary","importOutput","compact","green","importedDepsOutput","immutableUnshift","uniq","formatPlainComponentItem","output","installationErrorOutput","compilationErrorOutput","getVersionsOutput","versions","latestVersion","usedVersion","version","getConflictMessage","filesStatus","conflictedFiles","filter","file","FileStatus","manual","bold","conflictMessage","deprecated","removed","red","missingDeps","d","undefined","dim","cyan"],"sources":["import.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { compact } from 'lodash';\nimport R from 'ramda';\nimport { installationErrorOutput, compilationErrorOutput } from '@teambit/merging';\nimport { WILDCARD_HELP } from '@teambit/legacy/dist/constants';\nimport {\n FileStatus,\n MergeOptions,\n MergeStrategy,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version/merge-version';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport { immutableUnshift } from '@teambit/legacy/dist/utils';\nimport { formatPlainComponentItem } from '@teambit/legacy/dist/cli/chalk-box';\nimport { ImporterMain } from './importer.main.runtime';\nimport { ImportOptions, ImportDetails, ImportStatus } from './import-components';\n\nexport class ImportCmd implements Command {\n name = 'import [component-patterns...]';\n description = 'import components from their remote scopes to the local workspace';\n helpUrl = 'docs/components/importing-components';\n arguments = [\n {\n name: 'component-patterns...',\n description:\n 'component IDs or component patterns (separated by space). Use patterns to import groups of components using a common scope or namespace. E.g., \"utils/*\" (wrap with double quotes)',\n },\n ];\n extendedDescription: string;\n group = 'collaborate';\n alias = '';\n options = [\n ['p', 'path <path>', 'import components into a specific directory (a relative path in the workspace)'],\n [\n 'o',\n 'objects',\n 'import components objects to the local scope without checkout (without writing them to the file system). This is a default behavior for import with no id argument',\n ],\n ['d', 'display-dependencies', 'display the imported dependencies'],\n ['O', 'override', 'override local changes'],\n ['v', 'verbose', 'show verbose output for inspection'],\n ['j', 'json', 'return the output as JSON'],\n // ['', 'conf', 'write the configuration file (component.json) of the component'], // not working. need to fix once ComponentWriter is moved to Harmony\n ['', 'skip-npm-install', 'DEPRECATED. use \"--skip-dependency-installation\" instead'],\n ['', 'skip-dependency-installation', 'do not install packages of the imported components'],\n [\n 'm',\n 'merge [strategy]',\n 'merge local changes with the imported version. strategy should be \"theirs\", \"ours\" or \"manual\"',\n ],\n ['', 'dependencies', 'EXPERIMENTAL. import all dependencies and write them to the workspace'],\n [\n '',\n 'dependents',\n 'EXPERIMENTAL. import components found while traversing from the given ids upwards to the workspace components',\n ],\n [\n '',\n 'save-in-lane',\n 'EXPERIMENTAL. when checked out to a lane and the component is not on the remote-lane, save it in the lane (default to save on main)',\n ],\n [\n '',\n 'all-history',\n 'relevant for fetching all components objects. avoid optimizations, fetch all history versions, always',\n ],\n ['', 'fetch-deps', 'fetch dependencies objects'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n remoteOp = true;\n _packageManagerArgs: string[]; // gets populated by yargs-adapter.handler().\n\n constructor(private importer: ImporterMain, private docsDomain: string) {\n this.extendedDescription = `https://${docsDomain}/components/importing-components\n${WILDCARD_HELP('import')}`;\n }\n\n async report(\n [ids = []]: [string[]],\n {\n path,\n objects = false,\n displayDependencies = false,\n override = false,\n verbose = false,\n json = false,\n conf,\n skipNpmInstall = false,\n skipDependencyInstallation = false,\n merge,\n saveInLane = false,\n dependencies = false,\n dependents = false,\n allHistory = false,\n fetchDeps = false,\n }: {\n path?: string;\n objects?: boolean;\n displayDependencies?: boolean;\n override?: boolean;\n verbose?: boolean;\n json?: boolean;\n conf?: string;\n skipNpmInstall?: boolean;\n skipDependencyInstallation?: boolean;\n merge?: MergeStrategy;\n saveInLane?: boolean;\n dependencies?: boolean;\n dependents?: boolean;\n allHistory?: boolean;\n fetchDeps?: boolean;\n }\n ): Promise<any> {\n if (objects && merge) {\n throw new GeneralError('you cant use --objects and --merge flags combined');\n }\n if (override && merge) {\n throw new GeneralError('you cant use --override and --merge flags combined');\n }\n if (!ids.length && dependencies) {\n throw new GeneralError('you have to specify ids to use \"--dependencies\" flag');\n }\n if (!ids.length && dependents) {\n throw new GeneralError('you have to specify ids to use \"--dependents\" flag');\n }\n if (skipNpmInstall) {\n // eslint-disable-next-line no-console\n console.log(\n chalk.yellow(`\"--skip-npm-install\" has been deprecated, please use \"--skip-dependency-installation\" instead`)\n );\n skipDependencyInstallation = true;\n }\n let mergeStrategy;\n if (merge && R.is(String, merge)) {\n const options = Object.keys(MergeOptions);\n if (!options.includes(merge)) {\n throw new GeneralError(`merge must be one of the following: ${options.join(', ')}`);\n }\n mergeStrategy = merge;\n }\n\n const importOptions: ImportOptions = {\n ids,\n verbose,\n merge: Boolean(merge),\n mergeStrategy,\n writeToPath: path,\n objectsOnly: objects,\n override,\n writeConfig: Boolean(conf),\n installNpmPackages: !skipDependencyInstallation,\n saveInLane,\n importDependenciesDirectly: dependencies,\n importDependents: dependents,\n allHistory,\n fetchDeps,\n };\n const importResults = await this.importer.import(importOptions, this._packageManagerArgs);\n const { importDetails, importedIds, importedDeps, installationError, compilationError } = importResults;\n\n if (json) {\n return JSON.stringify({ importDetails, installationError }, null, 4);\n }\n\n if (!importedIds.length) {\n return chalk.yellow(importResults.cancellationMessage || 'nothing to import');\n }\n\n const summaryPrefix =\n importedIds.length === 1\n ? 'successfully imported one component'\n : `successfully imported ${importedIds.length} components`;\n\n let upToDateCount = 0;\n const importedComponents = importedIds.map((bitId) => {\n const details = importDetails.find((c) => c.id === bitId.toStringWithoutVersion());\n if (!details) throw new Error(`missing details of component ${bitId.toString()}`);\n if (details.status === 'up to date') {\n upToDateCount += 1;\n }\n return formatPlainComponentItemWithVersions(bitId, details);\n });\n const upToDateStr = upToDateCount === 0 ? '' : `, ${upToDateCount} components are up to date`;\n const summary = `${summaryPrefix}${upToDateStr}`;\n const importOutput = [...compact(importedComponents), chalk.green(summary)].join('\\n');\n const importedDepsOutput =\n displayDependencies && importedDeps.length\n ? immutableUnshift(\n R.uniq(importedDeps.map(formatPlainComponentItem)),\n chalk.green(`\\n\\nsuccessfully imported ${importedDeps.length} component dependencies`)\n ).join('\\n')\n : '';\n\n const output =\n importOutput +\n importedDepsOutput +\n installationErrorOutput(installationError) +\n compilationErrorOutput(compilationError);\n\n return output;\n }\n}\n\nfunction formatPlainComponentItemWithVersions(bitId: BitId, importDetails: ImportDetails) {\n const status: ImportStatus = importDetails.status;\n const id = bitId.toStringWithoutVersion();\n const getVersionsOutput = () => {\n if (!importDetails.versions.length) return '';\n if (importDetails.latestVersion) {\n return `${importDetails.versions.length} new version(s) available, latest ${importDetails.latestVersion}`;\n }\n return `new versions: ${importDetails.versions.join(', ')}`;\n };\n const versions = getVersionsOutput();\n const usedVersion = status === 'added' ? `, currently used version ${bitId.version}` : '';\n const getConflictMessage = () => {\n if (!importDetails.filesStatus) return '';\n const conflictedFiles = Object.keys(importDetails.filesStatus)\n // @ts-ignore file is set\n .filter((file) => importDetails.filesStatus[file] === FileStatus.manual);\n if (!conflictedFiles.length) return '';\n return `(the following files were saved with conflicts ${conflictedFiles\n .map((file) => chalk.bold(file))\n .join(', ')}) `;\n };\n const conflictMessage = getConflictMessage();\n const deprecated = importDetails.deprecated && !importDetails.removed ? chalk.yellow('deprecated') : '';\n const removed = importDetails.removed ? chalk.red('removed') : '';\n const missingDeps = importDetails.missingDeps.length\n ? chalk.red(`missing dependencies: ${importDetails.missingDeps.map((d) => d.toString()).join(', ')}`)\n : '';\n if (status === 'up to date' && !missingDeps && !deprecated && !conflictMessage && !removed) {\n return undefined;\n }\n return chalk.dim(\n `- ${chalk.green(status)} ${chalk.cyan(\n id\n )} ${versions}${usedVersion} ${conflictMessage}${deprecated}${removed} ${missingDeps}`\n );\n}\n"],"mappings":"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"}
@@ -2,6 +2,7 @@ import { CLIMain } from '@teambit/cli';
2
2
  import { DependencyResolverMain } from '@teambit/dependency-resolver';
3
3
  import { Workspace } from '@teambit/workspace';
4
4
  import type { CommunityMain } from '@teambit/community';
5
+ import { BitId } from '@teambit/legacy-bit-id';
5
6
  import { ComponentWriterMain } from '@teambit/component-writer';
6
7
  import { Logger, LoggerMain } from '@teambit/logger';
7
8
  import { ScopeMain } from '@teambit/scope';
@@ -19,13 +20,14 @@ export declare class ImporterMain {
19
20
  private logger;
20
21
  constructor(workspace: Workspace, depResolver: DependencyResolverMain, graph: GraphMain, scope: ScopeMain, componentWriter: ComponentWriterMain, logger: Logger);
21
22
  import(importOptions: ImportOptions, packageManagerArgs: string[]): Promise<ImportResult>;
22
- importObjects(): Promise<void>;
23
- fetchLaneWithComponents(lane: Lane): Promise<ImportResult>;
24
- fetch(ids: string[], lanes: boolean, components: boolean, fromOriginalScope: boolean): Promise<ImportResult | {
23
+ importObjects(options?: Partial<ImportOptions>): Promise<ImportResult>;
24
+ importObjectsFromMainIfExist(ids: BitId[]): Promise<void>;
25
+ fetchLaneWithComponents(lane: Lane, options?: Partial<ImportOptions>): Promise<ImportResult>;
26
+ fetch(ids: string[], lanes: boolean, components: boolean, fromOriginalScope: boolean, allHistory?: boolean): Promise<ImportResult | {
25
27
  importedIds: import("@teambit/legacy/dist/bit-id").BitId[];
26
28
  importDetails: import("./import-components").ImportDetails[];
27
29
  }>;
28
- fetchMultipleLanes(lanes: Lane[]): Promise<ImportResult>;
30
+ fetchLanes(lanes: Lane[], shouldFetchFromMain?: boolean, options?: Partial<ImportOptions>): Promise<ImportResult>;
29
31
  /**
30
32
  * get a Lane object from the remote.
31
33
  * `persistIfNotExists` saves the object in the local scope only if the lane is not there yet.
@@ -119,9 +119,9 @@ function _loader() {
119
119
  };
120
120
  return data;
121
121
  }
122
- function _exceptions() {
123
- const data = require("@teambit/legacy/dist/consumer/exceptions");
124
- _exceptions = function () {
122
+ function _bitId() {
123
+ const data = require("@teambit/legacy/dist/bit-id");
124
+ _bitId = function () {
125
125
  return data;
126
126
  };
127
127
  return data;
@@ -184,6 +184,8 @@ function _importComponents() {
184
184
  }
185
185
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
186
186
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
187
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
188
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
187
189
  class ImporterMain {
188
190
  constructor(workspace, depResolver, graph, scope, componentWriter, logger) {
189
191
  this.workspace = workspace;
@@ -227,61 +229,53 @@ class ImporterMain {
227
229
  await consumer.onDestroy();
228
230
  return results;
229
231
  }
230
- async importObjects() {
231
- try {
232
- await this.import({
233
- ids: [],
234
- objectsOnly: true,
235
- installNpmPackages: false
236
- }, []);
237
- } catch (err) {
238
- // TODO: this is a hack since the legacy throw an error, we should provide a way to not throw this error from the legacy
239
- if (err instanceof _exceptions().NothingToImport) {
240
- // Do not write nothing to import warning
241
- return;
242
- }
243
- throw err;
244
- }
245
- }
246
- async fetchLaneWithComponents(lane) {
247
- const importOptions = {
248
- ids: [],
232
+ async importObjects(options = {}) {
233
+ const importOptions = _objectSpread(_objectSpread({}, options), {}, {
249
234
  objectsOnly: true,
250
- verbose: false,
251
- writeConfig: false,
252
- override: false,
253
- installNpmPackages: false,
254
- lanes: {
255
- laneIds: [lane.toLaneId()],
256
- lanes: [lane]
257
- }
258
- };
235
+ ids: options.ids || [],
236
+ installNpmPackages: false
237
+ });
259
238
  const importComponents = new (_importComponents().default)(this.workspace, this.graph, this.componentWriter, importOptions);
260
239
  return importComponents.importComponents();
261
240
  }
262
- async fetch(ids, lanes, components, fromOriginalScope) {
241
+ async importObjectsFromMainIfExist(ids) {
242
+ await this.scope.legacyScope.scopeImporter.importWithoutDeps(_bitId().BitIds.fromArray(ids), {
243
+ cache: false,
244
+ includeVersionHistory: true,
245
+ ignoreMissingHead: true
246
+ });
247
+ }
248
+ async fetchLaneWithComponents(lane, options = {}) {
249
+ options.lanes = {
250
+ laneIds: [lane.toLaneId()],
251
+ lanes: [lane]
252
+ };
253
+ return this.importObjects(options);
254
+ }
255
+ async fetch(ids, lanes, components, fromOriginalScope, allHistory = false) {
263
256
  if (!lanes && !components) {
264
257
  throw new (_bitError().BitError)(`please provide the type of objects you would like to pull, the options are --components and --lanes`);
265
258
  }
266
259
  _loader().default.start('fetching objects...');
267
260
  if (!this.workspace) throw new (_workspace().OutsideWorkspaceError)();
268
261
  const consumer = this.workspace.consumer;
262
+ if (lanes) {
263
+ const lanesToFetch = await getLanes(this.logger);
264
+ const shouldFetchFromMain = !ids.length || ids.includes(_laneId().DEFAULT_LANE);
265
+ return this.fetchLanes(lanesToFetch, shouldFetchFromMain, {
266
+ allHistory
267
+ });
268
+ }
269
269
  const importOptions = {
270
270
  ids,
271
271
  objectsOnly: true,
272
+ allHistory,
272
273
  verbose: false,
273
274
  writeConfig: false,
274
275
  override: false,
275
276
  installNpmPackages: false,
276
277
  fromOriginalScope
277
278
  };
278
- if (lanes) {
279
- importOptions.lanes = await getLanes(this.logger);
280
- importOptions.ids = [];
281
- if (importOptions.lanes.lanes.length > 1) {
282
- return this.fetchMultipleLanes(importOptions.lanes.lanes);
283
- }
284
- }
285
279
  const importComponents = new (_importComponents().default)(this.workspace, this.graph, this.componentWriter, importOptions);
286
280
  const {
287
281
  importedIds,
@@ -294,13 +288,9 @@ class ImporterMain {
294
288
  importDetails
295
289
  };
296
290
  async function getLanes(logger) {
297
- const result = {
298
- laneIds: [],
299
- lanes: []
300
- };
301
291
  let remoteLaneIds = [];
302
292
  if (ids.length) {
303
- remoteLaneIds = ids.map(id => {
293
+ remoteLaneIds = ids.filter(id => id !== _laneId().DEFAULT_LANE).map(id => {
304
294
  const trackLane = consumer.scope.lanes.getRemoteTrackedDataByLocalLane(id);
305
295
  if (trackLane) return _laneId().LaneId.from(trackLane.remoteLane, trackLane.remoteScope);
306
296
  return _laneId().LaneId.parse(id);
@@ -310,9 +300,7 @@ class ImporterMain {
310
300
  }
311
301
  const scopeComponentImporter = _scopeComponentsImporter().default.getInstance(consumer.scope);
312
302
  try {
313
- const remoteLanes = await scopeComponentImporter.importLanes(remoteLaneIds);
314
- result.laneIds.push(...remoteLaneIds);
315
- result.lanes.push(...remoteLanes);
303
+ return await scopeComponentImporter.importLanes(remoteLaneIds);
316
304
  } catch (err) {
317
305
  if (err instanceof _legacyBitId().InvalidScopeName || err instanceof _scopeNotFoundOrDenied().ScopeNotFoundOrDenied || err instanceof _laneNotFound().LaneNotFound || err instanceof _legacyBitId().InvalidScopeNameFromRemote) {
318
306
  // the lane could be a local lane so no need to throw an error in such case
@@ -322,20 +310,26 @@ class ImporterMain {
322
310
  throw err;
323
311
  }
324
312
  }
325
- return result;
313
+ return [];
326
314
  }
327
315
  }
328
- async fetchMultipleLanes(lanes) {
316
+ async fetchLanes(lanes, shouldFetchFromMain, options = {}) {
329
317
  // workaround for an issue where we have the current-lane object at hand but not its components, the sources.get
330
318
  // throws an error about missing the Version object in the filesystem. to reproduce, comment the following line and
331
319
  // run the e2e-test "import objects for multiple lanes".
332
320
  await this.importObjects();
321
+ const resultFromMain = shouldFetchFromMain ? await this.importObjects(options) : {
322
+ importedIds: [],
323
+ importDetails: [],
324
+ importedDeps: []
325
+ };
333
326
  const resultsPerLane = await (0, _pMapSeries().default)(lanes, async lane => {
334
327
  this.logger.setStatusLine(`fetching lane ${lane.name}`);
335
- const results = await this.fetchLaneWithComponents(lane);
328
+ const results = await this.fetchLaneWithComponents(lane, options);
336
329
  this.logger.consoleSuccess();
337
330
  return results;
338
331
  });
332
+ resultsPerLane.push(resultFromMain);
339
333
  const results = resultsPerLane.reduce((acc, curr) => {
340
334
  acc.importedIds.push(...curr.importedIds);
341
335
  acc.importDetails.push(...curr.importDetails);
@@ -1 +1 @@
1
- {"version":3,"names":["ImporterMain","constructor","workspace","depResolver","graph","scope","componentWriter","logger","import","importOptions","packageManagerArgs","OutsideWorkspaceError","consumer","ids","length","objectsOnly","isOnLane","currentRemoteLane","getCurrentRemoteLane","lanes","laneIds","toLaneId","currentLaneId","getCurrentLaneId","importComponents","ImportComponents","results","Analytics","setExtraData","importedIds","writtenComponents","removeFromWorkspaceConfig","onDestroy","importObjects","installNpmPackages","err","NothingToImport","fetchLaneWithComponents","lane","verbose","writeConfig","override","fetch","components","fromOriginalScope","BitError","loader","start","getLanes","fetchMultipleLanes","importDetails","result","remoteLaneIds","map","id","trackLane","getRemoteTrackedDataByLocalLane","LaneId","from","remoteLane","remoteScope","parse","objects","remoteLanes","getAllRemoteLaneIds","scopeComponentImporter","ScopeComponentsImporter","getInstance","importLanes","push","InvalidScopeName","ScopeNotFoundOrDenied","LaneNotFound","InvalidScopeNameFromRemote","stop","console","message","resultsPerLane","pMapSeries","setStatusLine","name","consoleSuccess","reduce","acc","curr","importLaneObject","laneId","persistIfNotExists","legacyScope","scopeImporter","laneObject","exists","loadLane","saveLane","component","importedPackageNames","getImportedPackagesNames","removeFromRootPolicy","persistConfig","path","componentIdToPackageName","provider","cli","community","install","loggerMain","createLogger","ImporterAspect","importerMain","registerPreInstall","opts","registerPreLink","fetchObject","register","ImportCmd","getDocsDomain","FetchCmd","CLIAspect","WorkspaceAspect","DependencyResolverAspect","CommunityAspect","GraphAspect","ScopeAspect","ComponentWriterAspect","InstallAspect","LoggerAspect","MainRuntime","addRuntime"],"sources":["importer.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { InvalidScopeName, InvalidScopeNameFromRemote } from '@teambit/legacy-bit-id';\nimport pMapSeries from 'p-map-series';\nimport ComponentWriterAspect, { ComponentWriterMain } from '@teambit/component-writer';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport ScopeAspect, { ScopeMain } from '@teambit/scope';\nimport { LaneId } from '@teambit/lane-id';\nimport ScopeComponentsImporter from '@teambit/legacy/dist/scope/component-ops/scope-components-importer';\nimport InstallAspect, { InstallMain } from '@teambit/install';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { NothingToImport } from '@teambit/legacy/dist/consumer/exceptions';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { ScopeNotFoundOrDenied } from '@teambit/legacy/dist/remotes/exceptions/scope-not-found-or-denied';\nimport GraphAspect, { GraphMain } from '@teambit/graph';\nimport { LaneNotFound } from '@teambit/legacy/dist/api/scope/lib/exceptions/lane-not-found';\nimport { BitError } from '@teambit/bit-error';\nimport { ImportCmd } from './import.cmd';\nimport { ImporterAspect } from './importer.aspect';\nimport { FetchCmd } from './fetch-cmd';\nimport ImportComponents, { ImportOptions, ImportResult } from './import-components';\n\nexport class ImporterMain {\n constructor(\n private workspace: Workspace,\n private depResolver: DependencyResolverMain,\n private graph: GraphMain,\n private scope: ScopeMain,\n private componentWriter: ComponentWriterMain,\n private logger: Logger\n ) {}\n\n async import(importOptions: ImportOptions, packageManagerArgs: string[]): Promise<ImportResult> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n consumer.packageManagerArgs = packageManagerArgs;\n if (!importOptions.ids.length) {\n importOptions.objectsOnly = true;\n }\n if (this.workspace.consumer.isOnLane()) {\n const currentRemoteLane = await this.workspace.getCurrentRemoteLane();\n if (currentRemoteLane) {\n importOptions.lanes = { laneIds: [currentRemoteLane.toLaneId()], lanes: [currentRemoteLane] };\n } else if (!importOptions.ids.length) {\n // this is probably a local lane that was never exported.\n // although no need to fetch from the lane, still, the import is needed for main (which are available on this\n // local lane)\n const currentLaneId = this.workspace.getCurrentLaneId();\n importOptions.lanes = { laneIds: [currentLaneId], lanes: [] };\n }\n }\n const importComponents = new ImportComponents(this.workspace, this.graph, this.componentWriter, importOptions);\n const results = await importComponents.importComponents();\n Analytics.setExtraData('num_components', results.importedIds.length);\n if (results.writtenComponents && results.writtenComponents.length) {\n await this.removeFromWorkspaceConfig(results.writtenComponents);\n }\n await consumer.onDestroy();\n return results;\n }\n\n async importObjects() {\n try {\n await this.import(\n {\n ids: [],\n objectsOnly: true,\n installNpmPackages: false,\n },\n []\n );\n } catch (err: any) {\n // TODO: this is a hack since the legacy throw an error, we should provide a way to not throw this error from the legacy\n if (err instanceof NothingToImport) {\n // Do not write nothing to import warning\n return;\n }\n throw err;\n }\n }\n\n async fetchLaneWithComponents(lane: Lane): Promise<ImportResult> {\n const importOptions: ImportOptions = {\n ids: [],\n objectsOnly: true,\n verbose: false,\n writeConfig: false,\n override: false,\n installNpmPackages: false,\n lanes: { laneIds: [lane.toLaneId()], lanes: [lane] },\n };\n const importComponents = new ImportComponents(this.workspace, this.graph, this.componentWriter, importOptions);\n return importComponents.importComponents();\n }\n\n async fetch(ids: string[], lanes: boolean, components: boolean, fromOriginalScope: boolean) {\n if (!lanes && !components) {\n throw new BitError(\n `please provide the type of objects you would like to pull, the options are --components and --lanes`\n );\n }\n loader.start('fetching objects...');\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n const importOptions: ImportOptions = {\n ids,\n objectsOnly: true,\n verbose: false,\n writeConfig: false,\n override: false,\n installNpmPackages: false,\n fromOriginalScope,\n };\n if (lanes) {\n importOptions.lanes = await getLanes(this.logger);\n importOptions.ids = [];\n if (importOptions.lanes.lanes.length > 1) {\n return this.fetchMultipleLanes(importOptions.lanes.lanes);\n }\n }\n\n const importComponents = new ImportComponents(this.workspace, this.graph, this.componentWriter, importOptions);\n const { importedIds, importDetails } = await importComponents.importComponents();\n Analytics.setExtraData('num_components', importedIds.length);\n await consumer.onDestroy();\n return { importedIds, importDetails };\n\n async function getLanes(logger: Logger): Promise<{ laneIds: LaneId[]; lanes: Lane[] }> {\n const result: { laneIds: LaneId[]; lanes: Lane[] } = { laneIds: [], lanes: [] };\n let remoteLaneIds: LaneId[] = [];\n if (ids.length) {\n remoteLaneIds = ids.map((id) => {\n const trackLane = consumer.scope.lanes.getRemoteTrackedDataByLocalLane(id);\n if (trackLane) return LaneId.from(trackLane.remoteLane, trackLane.remoteScope);\n return LaneId.parse(id);\n });\n } else {\n remoteLaneIds = await consumer.scope.objects.remoteLanes.getAllRemoteLaneIds();\n }\n const scopeComponentImporter = ScopeComponentsImporter.getInstance(consumer.scope);\n try {\n const remoteLanes = await scopeComponentImporter.importLanes(remoteLaneIds);\n result.laneIds.push(...remoteLaneIds);\n result.lanes.push(...remoteLanes);\n } catch (err) {\n if (\n err instanceof InvalidScopeName ||\n err instanceof ScopeNotFoundOrDenied ||\n err instanceof LaneNotFound ||\n err instanceof InvalidScopeNameFromRemote\n ) {\n // the lane could be a local lane so no need to throw an error in such case\n loader.stop();\n logger.console(`unable to get lane's data from a remote due to an error:\\n${err.message}`, 'warn', 'yellow');\n } else {\n throw err;\n }\n }\n\n return result;\n }\n }\n\n async fetchMultipleLanes(lanes: Lane[]) {\n // workaround for an issue where we have the current-lane object at hand but not its components, the sources.get\n // throws an error about missing the Version object in the filesystem. to reproduce, comment the following line and\n // run the e2e-test \"import objects for multiple lanes\".\n await this.importObjects();\n\n const resultsPerLane = await pMapSeries(lanes, async (lane) => {\n this.logger.setStatusLine(`fetching lane ${lane.name}`);\n const results = await this.fetchLaneWithComponents(lane);\n this.logger.consoleSuccess();\n return results;\n });\n const results = resultsPerLane.reduce((acc, curr) => {\n acc.importedIds.push(...curr.importedIds);\n acc.importDetails.push(...curr.importDetails);\n return acc;\n });\n return results;\n }\n\n /**\n * get a Lane object from the remote.\n * `persistIfNotExists` saves the object in the local scope only if the lane is not there yet.\n * otherwise, it needs some merging mechanism, which is done differently whether it's export or import.\n * see `sources.mergeLane()` for export and `import-components._saveLaneDataIfNeeded()` for import.\n * in this case, because we only bring the lane object and not the components, it's not easy to do the merge.\n */\n async importLaneObject(laneId: LaneId, persistIfNotExists = true): Promise<Lane> {\n const legacyScope = this.scope.legacyScope;\n const results = await legacyScope.scopeImporter.importLanes([laneId]);\n const laneObject = results[0];\n if (!laneObject) throw new LaneNotFound(laneId.scope, laneId.name);\n\n if (persistIfNotExists) {\n const exists = await legacyScope.loadLane(laneId);\n if (!exists) {\n await legacyScope.lanes.saveLane(laneObject);\n }\n }\n\n return laneObject;\n }\n\n private async removeFromWorkspaceConfig(component: ConsumerComponent[]) {\n const importedPackageNames = this.getImportedPackagesNames(component);\n this.depResolver.removeFromRootPolicy(importedPackageNames);\n await this.depResolver.persistConfig(this.workspace.path);\n }\n\n private getImportedPackagesNames(components: ConsumerComponent[]): string[] {\n return components.map((component) => componentIdToPackageName(component));\n }\n\n static slots = [];\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n DependencyResolverAspect,\n CommunityAspect,\n GraphAspect,\n ScopeAspect,\n ComponentWriterAspect,\n InstallAspect,\n LoggerAspect,\n ];\n static runtime = MainRuntime;\n static async provider([cli, workspace, depResolver, community, graph, scope, componentWriter, install, loggerMain]: [\n CLIMain,\n Workspace,\n DependencyResolverMain,\n CommunityMain,\n GraphMain,\n ScopeMain,\n ComponentWriterMain,\n InstallMain,\n LoggerMain\n ]) {\n const logger = loggerMain.createLogger(ImporterAspect.id);\n const importerMain = new ImporterMain(workspace, depResolver, graph, scope, componentWriter, logger);\n install.registerPreInstall(async (opts) => {\n if (!opts?.import) return;\n logger.setStatusLine('importing missing objects');\n await importerMain.importObjects();\n logger.consoleSuccess();\n });\n install.registerPreLink(async (opts) => {\n if (opts?.fetchObject) await importerMain.importObjects();\n });\n cli.register(new ImportCmd(importerMain, community.getDocsDomain()), new FetchCmd(importerMain));\n return importerMain;\n }\n}\n\nImporterAspect.addRuntime(ImporterMain);\n"],"mappings":"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"}
1
+ {"version":3,"names":["ImporterMain","constructor","workspace","depResolver","graph","scope","componentWriter","logger","import","importOptions","packageManagerArgs","OutsideWorkspaceError","consumer","ids","length","objectsOnly","isOnLane","currentRemoteLane","getCurrentRemoteLane","lanes","laneIds","toLaneId","currentLaneId","getCurrentLaneId","importComponents","ImportComponents","results","Analytics","setExtraData","importedIds","writtenComponents","removeFromWorkspaceConfig","onDestroy","importObjects","options","installNpmPackages","importObjectsFromMainIfExist","legacyScope","scopeImporter","importWithoutDeps","BitIds","fromArray","cache","includeVersionHistory","ignoreMissingHead","fetchLaneWithComponents","lane","fetch","components","fromOriginalScope","allHistory","BitError","loader","start","lanesToFetch","getLanes","shouldFetchFromMain","includes","DEFAULT_LANE","fetchLanes","verbose","writeConfig","override","importDetails","remoteLaneIds","filter","id","map","trackLane","getRemoteTrackedDataByLocalLane","LaneId","from","remoteLane","remoteScope","parse","objects","remoteLanes","getAllRemoteLaneIds","scopeComponentImporter","ScopeComponentsImporter","getInstance","importLanes","err","InvalidScopeName","ScopeNotFoundOrDenied","LaneNotFound","InvalidScopeNameFromRemote","stop","console","message","resultFromMain","importedDeps","resultsPerLane","pMapSeries","setStatusLine","name","consoleSuccess","push","reduce","acc","curr","importLaneObject","laneId","persistIfNotExists","laneObject","exists","loadLane","saveLane","component","importedPackageNames","getImportedPackagesNames","removeFromRootPolicy","persistConfig","path","componentIdToPackageName","provider","cli","community","install","loggerMain","createLogger","ImporterAspect","importerMain","registerPreInstall","opts","registerPreLink","fetchObject","register","ImportCmd","getDocsDomain","FetchCmd","CLIAspect","WorkspaceAspect","DependencyResolverAspect","CommunityAspect","GraphAspect","ScopeAspect","ComponentWriterAspect","InstallAspect","LoggerAspect","MainRuntime","addRuntime"],"sources":["importer.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { BitId, InvalidScopeName, InvalidScopeNameFromRemote } from '@teambit/legacy-bit-id';\nimport pMapSeries from 'p-map-series';\nimport ComponentWriterAspect, { ComponentWriterMain } from '@teambit/component-writer';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport ScopeAspect, { ScopeMain } from '@teambit/scope';\nimport { DEFAULT_LANE, LaneId } from '@teambit/lane-id';\nimport ScopeComponentsImporter from '@teambit/legacy/dist/scope/component-ops/scope-components-importer';\nimport InstallAspect, { InstallMain } from '@teambit/install';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { ScopeNotFoundOrDenied } from '@teambit/legacy/dist/remotes/exceptions/scope-not-found-or-denied';\nimport GraphAspect, { GraphMain } from '@teambit/graph';\nimport { LaneNotFound } from '@teambit/legacy/dist/api/scope/lib/exceptions/lane-not-found';\nimport { BitError } from '@teambit/bit-error';\nimport { ImportCmd } from './import.cmd';\nimport { ImporterAspect } from './importer.aspect';\nimport { FetchCmd } from './fetch-cmd';\nimport ImportComponents, { ImportOptions, ImportResult } from './import-components';\n\nexport class ImporterMain {\n constructor(\n private workspace: Workspace,\n private depResolver: DependencyResolverMain,\n private graph: GraphMain,\n private scope: ScopeMain,\n private componentWriter: ComponentWriterMain,\n private logger: Logger\n ) {}\n\n async import(importOptions: ImportOptions, packageManagerArgs: string[]): Promise<ImportResult> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n consumer.packageManagerArgs = packageManagerArgs;\n if (!importOptions.ids.length) {\n importOptions.objectsOnly = true;\n }\n if (this.workspace.consumer.isOnLane()) {\n const currentRemoteLane = await this.workspace.getCurrentRemoteLane();\n if (currentRemoteLane) {\n importOptions.lanes = { laneIds: [currentRemoteLane.toLaneId()], lanes: [currentRemoteLane] };\n } else if (!importOptions.ids.length) {\n // this is probably a local lane that was never exported.\n // although no need to fetch from the lane, still, the import is needed for main (which are available on this\n // local lane)\n const currentLaneId = this.workspace.getCurrentLaneId();\n importOptions.lanes = { laneIds: [currentLaneId], lanes: [] };\n }\n }\n const importComponents = new ImportComponents(this.workspace, this.graph, this.componentWriter, importOptions);\n const results = await importComponents.importComponents();\n Analytics.setExtraData('num_components', results.importedIds.length);\n if (results.writtenComponents && results.writtenComponents.length) {\n await this.removeFromWorkspaceConfig(results.writtenComponents);\n }\n await consumer.onDestroy();\n return results;\n }\n\n async importObjects(options: Partial<ImportOptions> = {}): Promise<ImportResult> {\n const importOptions: ImportOptions = {\n ...options,\n objectsOnly: true,\n ids: options.ids || [],\n installNpmPackages: false,\n };\n const importComponents = new ImportComponents(this.workspace, this.graph, this.componentWriter, importOptions);\n return importComponents.importComponents();\n }\n\n async importObjectsFromMainIfExist(ids: BitId[]) {\n await this.scope.legacyScope.scopeImporter.importWithoutDeps(BitIds.fromArray(ids), {\n cache: false,\n includeVersionHistory: true,\n ignoreMissingHead: true,\n });\n }\n\n async fetchLaneWithComponents(lane: Lane, options: Partial<ImportOptions> = {}): Promise<ImportResult> {\n options.lanes = { laneIds: [lane.toLaneId()], lanes: [lane] };\n return this.importObjects(options);\n }\n\n async fetch(ids: string[], lanes: boolean, components: boolean, fromOriginalScope: boolean, allHistory = false) {\n if (!lanes && !components) {\n throw new BitError(\n `please provide the type of objects you would like to pull, the options are --components and --lanes`\n );\n }\n loader.start('fetching objects...');\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n\n if (lanes) {\n const lanesToFetch = await getLanes(this.logger);\n const shouldFetchFromMain = !ids.length || ids.includes(DEFAULT_LANE);\n return this.fetchLanes(lanesToFetch, shouldFetchFromMain, { allHistory });\n }\n\n const importOptions: ImportOptions = {\n ids,\n objectsOnly: true,\n allHistory,\n verbose: false,\n writeConfig: false,\n override: false,\n installNpmPackages: false,\n fromOriginalScope,\n };\n\n const importComponents = new ImportComponents(this.workspace, this.graph, this.componentWriter, importOptions);\n const { importedIds, importDetails } = await importComponents.importComponents();\n Analytics.setExtraData('num_components', importedIds.length);\n await consumer.onDestroy();\n return { importedIds, importDetails };\n\n async function getLanes(logger: Logger): Promise<Lane[]> {\n let remoteLaneIds: LaneId[] = [];\n if (ids.length) {\n remoteLaneIds = ids\n .filter((id) => id !== DEFAULT_LANE)\n .map((id) => {\n const trackLane = consumer.scope.lanes.getRemoteTrackedDataByLocalLane(id);\n if (trackLane) return LaneId.from(trackLane.remoteLane, trackLane.remoteScope);\n return LaneId.parse(id);\n });\n } else {\n remoteLaneIds = await consumer.scope.objects.remoteLanes.getAllRemoteLaneIds();\n }\n const scopeComponentImporter = ScopeComponentsImporter.getInstance(consumer.scope);\n try {\n return await scopeComponentImporter.importLanes(remoteLaneIds);\n } catch (err) {\n if (\n err instanceof InvalidScopeName ||\n err instanceof ScopeNotFoundOrDenied ||\n err instanceof LaneNotFound ||\n err instanceof InvalidScopeNameFromRemote\n ) {\n // the lane could be a local lane so no need to throw an error in such case\n loader.stop();\n logger.console(`unable to get lane's data from a remote due to an error:\\n${err.message}`, 'warn', 'yellow');\n } else {\n throw err;\n }\n }\n\n return [];\n }\n }\n\n async fetchLanes(\n lanes: Lane[],\n shouldFetchFromMain?: boolean,\n options: Partial<ImportOptions> = {}\n ): Promise<ImportResult> {\n // workaround for an issue where we have the current-lane object at hand but not its components, the sources.get\n // throws an error about missing the Version object in the filesystem. to reproduce, comment the following line and\n // run the e2e-test \"import objects for multiple lanes\".\n await this.importObjects();\n\n const resultFromMain = shouldFetchFromMain\n ? await this.importObjects(options)\n : { importedIds: [], importDetails: [], importedDeps: [] };\n const resultsPerLane = await pMapSeries(lanes, async (lane) => {\n this.logger.setStatusLine(`fetching lane ${lane.name}`);\n const results = await this.fetchLaneWithComponents(lane, options);\n this.logger.consoleSuccess();\n return results;\n });\n resultsPerLane.push(resultFromMain);\n const results = resultsPerLane.reduce((acc, curr) => {\n acc.importedIds.push(...curr.importedIds);\n acc.importDetails.push(...curr.importDetails);\n return acc;\n });\n return results;\n }\n\n /**\n * get a Lane object from the remote.\n * `persistIfNotExists` saves the object in the local scope only if the lane is not there yet.\n * otherwise, it needs some merging mechanism, which is done differently whether it's export or import.\n * see `sources.mergeLane()` for export and `import-components._saveLaneDataIfNeeded()` for import.\n * in this case, because we only bring the lane object and not the components, it's not easy to do the merge.\n */\n async importLaneObject(laneId: LaneId, persistIfNotExists = true): Promise<Lane> {\n const legacyScope = this.scope.legacyScope;\n const results = await legacyScope.scopeImporter.importLanes([laneId]);\n const laneObject = results[0];\n if (!laneObject) throw new LaneNotFound(laneId.scope, laneId.name);\n\n if (persistIfNotExists) {\n const exists = await legacyScope.loadLane(laneId);\n if (!exists) {\n await legacyScope.lanes.saveLane(laneObject);\n }\n }\n\n return laneObject;\n }\n\n private async removeFromWorkspaceConfig(component: ConsumerComponent[]) {\n const importedPackageNames = this.getImportedPackagesNames(component);\n this.depResolver.removeFromRootPolicy(importedPackageNames);\n await this.depResolver.persistConfig(this.workspace.path);\n }\n\n private getImportedPackagesNames(components: ConsumerComponent[]): string[] {\n return components.map((component) => componentIdToPackageName(component));\n }\n\n static slots = [];\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n DependencyResolverAspect,\n CommunityAspect,\n GraphAspect,\n ScopeAspect,\n ComponentWriterAspect,\n InstallAspect,\n LoggerAspect,\n ];\n static runtime = MainRuntime;\n static async provider([cli, workspace, depResolver, community, graph, scope, componentWriter, install, loggerMain]: [\n CLIMain,\n Workspace,\n DependencyResolverMain,\n CommunityMain,\n GraphMain,\n ScopeMain,\n ComponentWriterMain,\n InstallMain,\n LoggerMain\n ]) {\n const logger = loggerMain.createLogger(ImporterAspect.id);\n const importerMain = new ImporterMain(workspace, depResolver, graph, scope, componentWriter, logger);\n install.registerPreInstall(async (opts) => {\n if (!opts?.import) return;\n logger.setStatusLine('importing missing objects');\n await importerMain.importObjects();\n logger.consoleSuccess();\n });\n install.registerPreLink(async (opts) => {\n if (opts?.fetchObject) await importerMain.importObjects();\n });\n cli.register(new ImportCmd(importerMain, community.getDocsDomain()), new FetchCmd(importerMain));\n return importerMain;\n }\n}\n\nImporterAspect.addRuntime(ImporterMain);\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAoF;AAAA;AAAA;AAAA;AAE7E,MAAMA,YAAY,CAAC;EACxBC,WAAW,CACDC,SAAoB,EACpBC,WAAmC,EACnCC,KAAgB,EAChBC,KAAgB,EAChBC,eAAoC,EACpCC,MAAc,EACtB;IAAA,KANQL,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,WAAmC,GAAnCA,WAAmC;IAAA,KACnCC,KAAgB,GAAhBA,KAAgB;IAAA,KAChBC,KAAgB,GAAhBA,KAAgB;IAAA,KAChBC,eAAoC,GAApCA,eAAoC;IAAA,KACpCC,MAAc,GAAdA,MAAc;EACrB;EAEH,MAAMC,MAAM,CAACC,aAA4B,EAAEC,kBAA4B,EAAyB;IAC9F,IAAI,CAAC,IAAI,CAACR,SAAS,EAAE,MAAM,KAAIS,kCAAqB,GAAE;IACtD,MAAMC,QAAQ,GAAG,IAAI,CAACV,SAAS,CAACU,QAAQ;IACxCA,QAAQ,CAACF,kBAAkB,GAAGA,kBAAkB;IAChD,IAAI,CAACD,aAAa,CAACI,GAAG,CAACC,MAAM,EAAE;MAC7BL,aAAa,CAACM,WAAW,GAAG,IAAI;IAClC;IACA,IAAI,IAAI,CAACb,SAAS,CAACU,QAAQ,CAACI,QAAQ,EAAE,EAAE;MACtC,MAAMC,iBAAiB,GAAG,MAAM,IAAI,CAACf,SAAS,CAACgB,oBAAoB,EAAE;MACrE,IAAID,iBAAiB,EAAE;QACrBR,aAAa,CAACU,KAAK,GAAG;UAAEC,OAAO,EAAE,CAACH,iBAAiB,CAACI,QAAQ,EAAE,CAAC;UAAEF,KAAK,EAAE,CAACF,iBAAiB;QAAE,CAAC;MAC/F,CAAC,MAAM,IAAI,CAACR,aAAa,CAACI,GAAG,CAACC,MAAM,EAAE;QACpC;QACA;QACA;QACA,MAAMQ,aAAa,GAAG,IAAI,CAACpB,SAAS,CAACqB,gBAAgB,EAAE;QACvDd,aAAa,CAACU,KAAK,GAAG;UAAEC,OAAO,EAAE,CAACE,aAAa,CAAC;UAAEH,KAAK,EAAE;QAAG,CAAC;MAC/D;IACF;IACA,MAAMK,gBAAgB,GAAG,KAAIC,2BAAgB,EAAC,IAAI,CAACvB,SAAS,EAAE,IAAI,CAACE,KAAK,EAAE,IAAI,CAACE,eAAe,EAAEG,aAAa,CAAC;IAC9G,MAAMiB,OAAO,GAAG,MAAMF,gBAAgB,CAACA,gBAAgB,EAAE;IACzDG,sBAAS,CAACC,YAAY,CAAC,gBAAgB,EAAEF,OAAO,CAACG,WAAW,CAACf,MAAM,CAAC;IACpE,IAAIY,OAAO,CAACI,iBAAiB,IAAIJ,OAAO,CAACI,iBAAiB,CAAChB,MAAM,EAAE;MACjE,MAAM,IAAI,CAACiB,yBAAyB,CAACL,OAAO,CAACI,iBAAiB,CAAC;IACjE;IACA,MAAMlB,QAAQ,CAACoB,SAAS,EAAE;IAC1B,OAAON,OAAO;EAChB;EAEA,MAAMO,aAAa,CAACC,OAA+B,GAAG,CAAC,CAAC,EAAyB;IAC/E,MAAMzB,aAA4B,mCAC7ByB,OAAO;MACVnB,WAAW,EAAE,IAAI;MACjBF,GAAG,EAAEqB,OAAO,CAACrB,GAAG,IAAI,EAAE;MACtBsB,kBAAkB,EAAE;IAAK,EAC1B;IACD,MAAMX,gBAAgB,GAAG,KAAIC,2BAAgB,EAAC,IAAI,CAACvB,SAAS,EAAE,IAAI,CAACE,KAAK,EAAE,IAAI,CAACE,eAAe,EAAEG,aAAa,CAAC;IAC9G,OAAOe,gBAAgB,CAACA,gBAAgB,EAAE;EAC5C;EAEA,MAAMY,4BAA4B,CAACvB,GAAY,EAAE;IAC/C,MAAM,IAAI,CAACR,KAAK,CAACgC,WAAW,CAACC,aAAa,CAACC,iBAAiB,CAACC,eAAM,CAACC,SAAS,CAAC5B,GAAG,CAAC,EAAE;MAClF6B,KAAK,EAAE,KAAK;MACZC,qBAAqB,EAAE,IAAI;MAC3BC,iBAAiB,EAAE;IACrB,CAAC,CAAC;EACJ;EAEA,MAAMC,uBAAuB,CAACC,IAAU,EAAEZ,OAA+B,GAAG,CAAC,CAAC,EAAyB;IACrGA,OAAO,CAACf,KAAK,GAAG;MAAEC,OAAO,EAAE,CAAC0B,IAAI,CAACzB,QAAQ,EAAE,CAAC;MAAEF,KAAK,EAAE,CAAC2B,IAAI;IAAE,CAAC;IAC7D,OAAO,IAAI,CAACb,aAAa,CAACC,OAAO,CAAC;EACpC;EAEA,MAAMa,KAAK,CAAClC,GAAa,EAAEM,KAAc,EAAE6B,UAAmB,EAAEC,iBAA0B,EAAEC,UAAU,GAAG,KAAK,EAAE;IAC9G,IAAI,CAAC/B,KAAK,IAAI,CAAC6B,UAAU,EAAE;MACzB,MAAM,KAAIG,oBAAQ,EACf,qGAAoG,CACtG;IACH;IACAC,iBAAM,CAACC,KAAK,CAAC,qBAAqB,CAAC;IACnC,IAAI,CAAC,IAAI,CAACnD,SAAS,EAAE,MAAM,KAAIS,kCAAqB,GAAE;IACtD,MAAMC,QAAQ,GAAG,IAAI,CAACV,SAAS,CAACU,QAAQ;IAExC,IAAIO,KAAK,EAAE;MACT,MAAMmC,YAAY,GAAG,MAAMC,QAAQ,CAAC,IAAI,CAAChD,MAAM,CAAC;MAChD,MAAMiD,mBAAmB,GAAG,CAAC3C,GAAG,CAACC,MAAM,IAAID,GAAG,CAAC4C,QAAQ,CAACC,sBAAY,CAAC;MACrE,OAAO,IAAI,CAACC,UAAU,CAACL,YAAY,EAAEE,mBAAmB,EAAE;QAAEN;MAAW,CAAC,CAAC;IAC3E;IAEA,MAAMzC,aAA4B,GAAG;MACnCI,GAAG;MACHE,WAAW,EAAE,IAAI;MACjBmC,UAAU;MACVU,OAAO,EAAE,KAAK;MACdC,WAAW,EAAE,KAAK;MAClBC,QAAQ,EAAE,KAAK;MACf3B,kBAAkB,EAAE,KAAK;MACzBc;IACF,CAAC;IAED,MAAMzB,gBAAgB,GAAG,KAAIC,2BAAgB,EAAC,IAAI,CAACvB,SAAS,EAAE,IAAI,CAACE,KAAK,EAAE,IAAI,CAACE,eAAe,EAAEG,aAAa,CAAC;IAC9G,MAAM;MAAEoB,WAAW;MAAEkC;IAAc,CAAC,GAAG,MAAMvC,gBAAgB,CAACA,gBAAgB,EAAE;IAChFG,sBAAS,CAACC,YAAY,CAAC,gBAAgB,EAAEC,WAAW,CAACf,MAAM,CAAC;IAC5D,MAAMF,QAAQ,CAACoB,SAAS,EAAE;IAC1B,OAAO;MAAEH,WAAW;MAAEkC;IAAc,CAAC;IAErC,eAAeR,QAAQ,CAAChD,MAAc,EAAmB;MACvD,IAAIyD,aAAuB,GAAG,EAAE;MAChC,IAAInD,GAAG,CAACC,MAAM,EAAE;QACdkD,aAAa,GAAGnD,GAAG,CAChBoD,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKR,sBAAY,CAAC,CACnCS,GAAG,CAAED,EAAE,IAAK;UACX,MAAME,SAAS,GAAGxD,QAAQ,CAACP,KAAK,CAACc,KAAK,CAACkD,+BAA+B,CAACH,EAAE,CAAC;UAC1E,IAAIE,SAAS,EAAE,OAAOE,gBAAM,CAACC,IAAI,CAACH,SAAS,CAACI,UAAU,EAAEJ,SAAS,CAACK,WAAW,CAAC;UAC9E,OAAOH,gBAAM,CAACI,KAAK,CAACR,EAAE,CAAC;QACzB,CAAC,CAAC;MACN,CAAC,MAAM;QACLF,aAAa,GAAG,MAAMpD,QAAQ,CAACP,KAAK,CAACsE,OAAO,CAACC,WAAW,CAACC,mBAAmB,EAAE;MAChF;MACA,MAAMC,sBAAsB,GAAGC,kCAAuB,CAACC,WAAW,CAACpE,QAAQ,CAACP,KAAK,CAAC;MAClF,IAAI;QACF,OAAO,MAAMyE,sBAAsB,CAACG,WAAW,CAACjB,aAAa,CAAC;MAChE,CAAC,CAAC,OAAOkB,GAAG,EAAE;QACZ,IACEA,GAAG,YAAYC,+BAAgB,IAC/BD,GAAG,YAAYE,8CAAqB,IACpCF,GAAG,YAAYG,4BAAY,IAC3BH,GAAG,YAAYI,yCAA0B,EACzC;UACA;UACAlC,iBAAM,CAACmC,IAAI,EAAE;UACbhF,MAAM,CAACiF,OAAO,CAAE,6DAA4DN,GAAG,CAACO,OAAQ,EAAC,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC9G,CAAC,MAAM;UACL,MAAMP,GAAG;QACX;MACF;MAEA,OAAO,EAAE;IACX;EACF;EAEA,MAAMvB,UAAU,CACdxC,KAAa,EACbqC,mBAA6B,EAC7BtB,OAA+B,GAAG,CAAC,CAAC,EACb;IACvB;IACA;IACA;IACA,MAAM,IAAI,CAACD,aAAa,EAAE;IAE1B,MAAMyD,cAAc,GAAGlC,mBAAmB,GACtC,MAAM,IAAI,CAACvB,aAAa,CAACC,OAAO,CAAC,GACjC;MAAEL,WAAW,EAAE,EAAE;MAAEkC,aAAa,EAAE,EAAE;MAAE4B,YAAY,EAAE;IAAG,CAAC;IAC5D,MAAMC,cAAc,GAAG,MAAM,IAAAC,qBAAU,EAAC1E,KAAK,EAAE,MAAO2B,IAAI,IAAK;MAC7D,IAAI,CAACvC,MAAM,CAACuF,aAAa,CAAE,iBAAgBhD,IAAI,CAACiD,IAAK,EAAC,CAAC;MACvD,MAAMrE,OAAO,GAAG,MAAM,IAAI,CAACmB,uBAAuB,CAACC,IAAI,EAAEZ,OAAO,CAAC;MACjE,IAAI,CAAC3B,MAAM,CAACyF,cAAc,EAAE;MAC5B,OAAOtE,OAAO;IAChB,CAAC,CAAC;IACFkE,cAAc,CAACK,IAAI,CAACP,cAAc,CAAC;IACnC,MAAMhE,OAAO,GAAGkE,cAAc,CAACM,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;MACnDD,GAAG,CAACtE,WAAW,CAACoE,IAAI,CAAC,GAAGG,IAAI,CAACvE,WAAW,CAAC;MACzCsE,GAAG,CAACpC,aAAa,CAACkC,IAAI,CAAC,GAAGG,IAAI,CAACrC,aAAa,CAAC;MAC7C,OAAOoC,GAAG;IACZ,CAAC,CAAC;IACF,OAAOzE,OAAO;EAChB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAM2E,gBAAgB,CAACC,MAAc,EAAEC,kBAAkB,GAAG,IAAI,EAAiB;IAC/E,MAAMlE,WAAW,GAAG,IAAI,CAAChC,KAAK,CAACgC,WAAW;IAC1C,MAAMX,OAAO,GAAG,MAAMW,WAAW,CAACC,aAAa,CAAC2C,WAAW,CAAC,CAACqB,MAAM,CAAC,CAAC;IACrE,MAAME,UAAU,GAAG9E,OAAO,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC8E,UAAU,EAAE,MAAM,KAAInB,4BAAY,EAACiB,MAAM,CAACjG,KAAK,EAAEiG,MAAM,CAACP,IAAI,CAAC;IAElE,IAAIQ,kBAAkB,EAAE;MACtB,MAAME,MAAM,GAAG,MAAMpE,WAAW,CAACqE,QAAQ,CAACJ,MAAM,CAAC;MACjD,IAAI,CAACG,MAAM,EAAE;QACX,MAAMpE,WAAW,CAAClB,KAAK,CAACwF,QAAQ,CAACH,UAAU,CAAC;MAC9C;IACF;IAEA,OAAOA,UAAU;EACnB;EAEA,MAAczE,yBAAyB,CAAC6E,SAA8B,EAAE;IACtE,MAAMC,oBAAoB,GAAG,IAAI,CAACC,wBAAwB,CAACF,SAAS,CAAC;IACrE,IAAI,CAACzG,WAAW,CAAC4G,oBAAoB,CAACF,oBAAoB,CAAC;IAC3D,MAAM,IAAI,CAAC1G,WAAW,CAAC6G,aAAa,CAAC,IAAI,CAAC9G,SAAS,CAAC+G,IAAI,CAAC;EAC3D;EAEQH,wBAAwB,CAAC9D,UAA+B,EAAY;IAC1E,OAAOA,UAAU,CAACmB,GAAG,CAAEyC,SAAS,IAAK,IAAAM,mCAAwB,EAACN,SAAS,CAAC,CAAC;EAC3E;EAeA,aAAaO,QAAQ,CAAC,CAACC,GAAG,EAAElH,SAAS,EAAEC,WAAW,EAAEkH,SAAS,EAAEjH,KAAK,EAAEC,KAAK,EAAEC,eAAe,EAAEgH,OAAO,EAAEC,UAAU,CAUhH,EAAE;IACD,MAAMhH,MAAM,GAAGgH,UAAU,CAACC,YAAY,CAACC,0BAAc,CAACvD,EAAE,CAAC;IACzD,MAAMwD,YAAY,GAAG,IAAI1H,YAAY,CAACE,SAAS,EAAEC,WAAW,EAAEC,KAAK,EAAEC,KAAK,EAAEC,eAAe,EAAEC,MAAM,CAAC;IACpG+G,OAAO,CAACK,kBAAkB,CAAC,MAAOC,IAAI,IAAK;MACzC,IAAI,EAACA,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEpH,MAAM,GAAE;MACnBD,MAAM,CAACuF,aAAa,CAAC,2BAA2B,CAAC;MACjD,MAAM4B,YAAY,CAACzF,aAAa,EAAE;MAClC1B,MAAM,CAACyF,cAAc,EAAE;IACzB,CAAC,CAAC;IACFsB,OAAO,CAACO,eAAe,CAAC,MAAOD,IAAI,IAAK;MACtC,IAAIA,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEE,WAAW,EAAE,MAAMJ,YAAY,CAACzF,aAAa,EAAE;IAC3D,CAAC,CAAC;IACFmF,GAAG,CAACW,QAAQ,CAAC,KAAIC,mBAAS,EAACN,YAAY,EAAEL,SAAS,CAACY,aAAa,EAAE,CAAC,EAAE,KAAIC,oBAAQ,EAACR,YAAY,CAAC,CAAC;IAChG,OAAOA,YAAY;EACrB;AACF;AAAC;AAAA,gCAtOY1H,YAAY,WAgMR,EAAE;AAAA,gCAhMNA,YAAY,kBAiMD,CACpBmI,gBAAS,EACTC,oBAAe,EACfC,8CAAwB,EACxBC,4BAAe,EACfC,gBAAW,EACXC,gBAAW,EACXC,0BAAqB,EACrBC,kBAAa,EACbC,sBAAY,CACb;AAAA,gCA3MU3I,YAAY,aA4MN4I,kBAAW;AA4B9BnB,0BAAc,CAACoB,UAAU,CAAC7I,YAAY,CAAC"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_importer@0.0.405/dist/importer.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_importer@0.0.405/dist/importer.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_importer@0.0.407/dist/importer.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_importer@0.0.407/dist/importer.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/importer",
3
- "version": "0.0.405",
3
+ "version": "0.0.407",
4
4
  "homepage": "https://bit.dev/teambit/scope/importer",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.scope",
8
8
  "name": "importer",
9
- "version": "0.0.405"
9
+ "version": "0.0.407"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -16,19 +16,19 @@
16
16
  "core-js": "^3.0.0",
17
17
  "@babel/runtime": "7.20.0",
18
18
  "@teambit/harmony": "0.4.6",
19
- "@teambit/cli": "0.0.656",
19
+ "@teambit/cli": "0.0.657",
20
20
  "@teambit/legacy-bit-id": "0.0.421",
21
21
  "@teambit/bit-error": "0.0.402",
22
- "@teambit/component-writer": "0.0.12",
23
- "@teambit/graph": "0.0.976",
24
- "@teambit/lane-id": "0.0.173",
25
- "@teambit/workspace": "0.0.976",
26
- "@teambit/merging": "0.0.291",
27
- "@teambit/community": "0.0.204",
28
- "@teambit/dependency-resolver": "0.0.976",
29
- "@teambit/install": "0.0.103",
30
- "@teambit/logger": "0.0.749",
31
- "@teambit/scope": "0.0.976"
22
+ "@teambit/component-writer": "0.0.14",
23
+ "@teambit/graph": "0.0.978",
24
+ "@teambit/lane-id": "0.0.174",
25
+ "@teambit/workspace": "0.0.978",
26
+ "@teambit/merging": "0.0.293",
27
+ "@teambit/community": "0.0.205",
28
+ "@teambit/dependency-resolver": "0.0.978",
29
+ "@teambit/install": "0.0.104",
30
+ "@teambit/logger": "0.0.750",
31
+ "@teambit/scope": "0.0.978"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/lodash": "4.14.165",
@@ -40,7 +40,7 @@
40
40
  "@types/testing-library__jest-dom": "5.9.5"
41
41
  },
42
42
  "peerDependencies": {
43
- "@teambit/legacy": "1.0.438",
43
+ "@teambit/legacy": "1.0.439",
44
44
  "react": "^16.8.0 || ^17.0.0",
45
45
  "react-dom": "^16.8.0 || ^17.0.0"
46
46
  },