@teambit/importer 1.0.139 → 1.0.141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/preview/teambit_scope_importer-preview.js +1 -1
- package/dist/import-components.d.ts +5 -1
- package/dist/import-components.js +44 -70
- package/dist/import-components.js.map +1 -1
- package/dist/import.cmd.d.ts +1 -0
- package/dist/import.cmd.js +8 -17
- package/dist/import.cmd.js.map +1 -1
- package/dist/importer.main.runtime.d.ts +1 -0
- package/dist/importer.main.runtime.js +7 -4
- package/dist/importer.main.runtime.js.map +1 -1
- package/dist/{preview-1705577037962.js → preview-1705720522529.js} +2 -2
- package/package.json +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.scope/importer-preview"]=t():e["teambit.scope/importer-preview"]=t()}(self,(()=>(()=>{"use strict";var e={
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.scope/importer-preview"]=t():e["teambit.scope/importer-preview"]=t()}(self,(()=>(()=>{"use strict";var e={27188:(e,t,o)=>{var r={id:"teambit.scope/importer@1.0.141",homepage:"https://bit.cloud/teambit/scope/importer",exported:!0};function n(){const e=i(o(87363));return n=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,n.__bit_component=r,i.__bit_component=r;const p=()=>n().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},n().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/import.svg"}));p.__bit_component=r,t.Logo=p},87363:e=>{e.exports=React}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{o.r(r),o.d(r,{compositions:()=>u,compositions_metadata:()=>l,overview:()=>f});var e={};o.r(e),o.d(e,{default:()=>d});var t=o(27188);o(87363);const n=MdxJsReact,i=TeambitMdxUiMdxScopeContext;var p=["components"];function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},c.apply(this,arguments)}var s={},a="wrapper";function d(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(e,p);return(0,n.mdx)(a,c({},s,o,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)(i.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"}))}d.isMDXComponent=!0;const u=[t],f=[e],l={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),r})()));
|
|
@@ -13,6 +13,7 @@ import { ComponentWriterMain, ComponentWriterResults } from '@teambit/component-
|
|
|
13
13
|
import { EnvsMain } from '@teambit/envs';
|
|
14
14
|
import { FilesStatus } from '@teambit/merging';
|
|
15
15
|
import { WorkspaceConfigUpdateResult } from '@teambit/config-merger';
|
|
16
|
+
import { Logger } from '@teambit/logger';
|
|
16
17
|
export type ImportOptions = {
|
|
17
18
|
ids: string[];
|
|
18
19
|
verbose?: boolean;
|
|
@@ -27,6 +28,7 @@ export type ImportOptions = {
|
|
|
27
28
|
objectsOnly?: boolean;
|
|
28
29
|
importDependenciesDirectly?: boolean;
|
|
29
30
|
importDependents?: boolean;
|
|
31
|
+
dependentsDryRun?: boolean;
|
|
30
32
|
fromOriginalScope?: boolean;
|
|
31
33
|
saveInLane?: boolean;
|
|
32
34
|
lanes?: {
|
|
@@ -74,6 +76,7 @@ export default class ImportComponents {
|
|
|
74
76
|
private graph;
|
|
75
77
|
private componentWriter;
|
|
76
78
|
private envs;
|
|
79
|
+
private logger;
|
|
77
80
|
options: ImportOptions;
|
|
78
81
|
consumer: Consumer;
|
|
79
82
|
scope: Scope;
|
|
@@ -82,7 +85,7 @@ export default class ImportComponents {
|
|
|
82
85
|
};
|
|
83
86
|
private remoteLane;
|
|
84
87
|
private divergeData;
|
|
85
|
-
constructor(workspace: Workspace, graph: GraphMain, componentWriter: ComponentWriterMain, envs: EnvsMain, options: ImportOptions);
|
|
88
|
+
constructor(workspace: Workspace, graph: GraphMain, componentWriter: ComponentWriterMain, envs: EnvsMain, logger: Logger, options: ImportOptions);
|
|
86
89
|
importComponents(): Promise<ImportResult>;
|
|
87
90
|
importObjectsOnLane(): Promise<ImportResult>;
|
|
88
91
|
private returnCompleteResults;
|
|
@@ -104,6 +107,7 @@ export default class ImportComponents {
|
|
|
104
107
|
* main if not found on the lane.
|
|
105
108
|
*/
|
|
106
109
|
private getBitIdsForLanes;
|
|
110
|
+
private getIdFromStr;
|
|
107
111
|
private getBitIdsForNonLanes;
|
|
108
112
|
private getBitIds;
|
|
109
113
|
private getFlattenedDepsUnique;
|
|
@@ -4,44 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
function
|
|
8
|
-
const data = _interopRequireDefault(require("
|
|
9
|
-
|
|
10
|
-
return data;
|
|
11
|
-
};
|
|
12
|
-
return data;
|
|
13
|
-
}
|
|
14
|
-
function _reject2() {
|
|
15
|
-
const data = _interopRequireDefault(require("ramda/src/reject"));
|
|
16
|
-
_reject2 = function () {
|
|
17
|
-
return data;
|
|
18
|
-
};
|
|
19
|
-
return data;
|
|
20
|
-
}
|
|
21
|
-
function _difference2() {
|
|
22
|
-
const data = _interopRequireDefault(require("ramda/src/difference"));
|
|
23
|
-
_difference2 = function () {
|
|
24
|
-
return data;
|
|
25
|
-
};
|
|
26
|
-
return data;
|
|
27
|
-
}
|
|
28
|
-
function _fromPairs2() {
|
|
29
|
-
const data = _interopRequireDefault(require("ramda/src/fromPairs"));
|
|
30
|
-
_fromPairs2 = function () {
|
|
31
|
-
return data;
|
|
32
|
-
};
|
|
33
|
-
return data;
|
|
34
|
-
}
|
|
35
|
-
function _isEmpty2() {
|
|
36
|
-
const data = _interopRequireDefault(require("ramda/src/isEmpty"));
|
|
37
|
-
_isEmpty2 = function () {
|
|
7
|
+
function _chalk() {
|
|
8
|
+
const data = _interopRequireDefault(require("chalk"));
|
|
9
|
+
_chalk = function () {
|
|
38
10
|
return data;
|
|
39
11
|
};
|
|
40
12
|
return data;
|
|
41
13
|
}
|
|
42
|
-
function
|
|
43
|
-
const data = _interopRequireDefault(require("
|
|
44
|
-
|
|
14
|
+
function _yesno() {
|
|
15
|
+
const data = _interopRequireDefault(require("yesno"));
|
|
16
|
+
_yesno = function () {
|
|
45
17
|
return data;
|
|
46
18
|
};
|
|
47
19
|
return data;
|
|
@@ -74,13 +46,6 @@ function _componentId() {
|
|
|
74
46
|
};
|
|
75
47
|
return data;
|
|
76
48
|
}
|
|
77
|
-
function _loader() {
|
|
78
|
-
const data = _interopRequireDefault(require("@teambit/legacy/dist/cli/loader"));
|
|
79
|
-
_loader = function () {
|
|
80
|
-
return data;
|
|
81
|
-
};
|
|
82
|
-
return data;
|
|
83
|
-
}
|
|
84
49
|
function _loaderMessages() {
|
|
85
50
|
const data = require("@teambit/legacy/dist/cli/loader/loader-messages");
|
|
86
51
|
_loaderMessages = function () {
|
|
@@ -95,13 +60,6 @@ function _generalError() {
|
|
|
95
60
|
};
|
|
96
61
|
return data;
|
|
97
62
|
}
|
|
98
|
-
function _logger() {
|
|
99
|
-
const data = _interopRequireDefault(require("@teambit/legacy/dist/logger/logger"));
|
|
100
|
-
_logger = function () {
|
|
101
|
-
return data;
|
|
102
|
-
};
|
|
103
|
-
return data;
|
|
104
|
-
}
|
|
105
63
|
function _utils() {
|
|
106
64
|
const data = require("@teambit/legacy/dist/utils");
|
|
107
65
|
_utils = function () {
|
|
@@ -177,11 +135,12 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
177
135
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
178
136
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
179
137
|
class ImportComponents {
|
|
180
|
-
constructor(workspace, graph, componentWriter, envs, options) {
|
|
138
|
+
constructor(workspace, graph, componentWriter, envs, logger, options) {
|
|
181
139
|
this.workspace = workspace;
|
|
182
140
|
this.graph = graph;
|
|
183
141
|
this.componentWriter = componentWriter;
|
|
184
142
|
this.envs = envs;
|
|
143
|
+
this.logger = logger;
|
|
185
144
|
this.options = options;
|
|
186
145
|
_defineProperty(this, "consumer", void 0);
|
|
187
146
|
_defineProperty(this, "scope", void 0);
|
|
@@ -194,20 +153,20 @@ class ImportComponents {
|
|
|
194
153
|
}
|
|
195
154
|
async importComponents() {
|
|
196
155
|
let result;
|
|
197
|
-
|
|
156
|
+
this.logger.setStatusLine(_loaderMessages().BEFORE_IMPORT_ACTION);
|
|
198
157
|
const startTime = process.hrtime();
|
|
199
158
|
if (this.options.lanes && !this.options.ids.length) {
|
|
200
159
|
result = await this.importObjectsOnLane();
|
|
201
|
-
|
|
160
|
+
this.logger.consoleSuccess(_loaderMessages().BEFORE_IMPORT_ACTION, startTime);
|
|
202
161
|
return result;
|
|
203
162
|
}
|
|
204
163
|
if (this.options.ids.length) {
|
|
205
164
|
result = await this.importSpecificComponents();
|
|
206
|
-
|
|
165
|
+
this.logger.consoleSuccess(_loaderMessages().BEFORE_IMPORT_ACTION, startTime);
|
|
207
166
|
return result;
|
|
208
167
|
}
|
|
209
168
|
result = await this.importAccordingToBitMap();
|
|
210
|
-
|
|
169
|
+
this.logger.consoleSuccess(_loaderMessages().BEFORE_IMPORT_ACTION, startTime);
|
|
211
170
|
return result;
|
|
212
171
|
}
|
|
213
172
|
async importObjectsOnLane() {
|
|
@@ -216,7 +175,7 @@ class ImportComponents {
|
|
|
216
175
|
}
|
|
217
176
|
const lane = this.remoteLane;
|
|
218
177
|
const bitIds = await this.getBitIds();
|
|
219
|
-
lane ?
|
|
178
|
+
lane ? this.logger.debug(`importObjectsOnLane, Lane: ${lane.id()}, Ids: ${bitIds.toString()}`) : this.logger.debug(`importObjectsOnLane, the lane does not exist on the remote. importing only the main components`);
|
|
220
179
|
const beforeImportVersions = await this._getCurrentVersions(bitIds);
|
|
221
180
|
const versionDependenciesArr = await this._importComponentsObjects(bitIds, {
|
|
222
181
|
lane
|
|
@@ -249,7 +208,7 @@ class ImportComponents {
|
|
|
249
208
|
};
|
|
250
209
|
}
|
|
251
210
|
async importSpecificComponents() {
|
|
252
|
-
|
|
211
|
+
this.logger.debug(`importSpecificComponents, Ids: ${this.options.ids.join(', ')}`);
|
|
253
212
|
const bitIds = await this.getBitIds();
|
|
254
213
|
const beforeImportVersions = await this._getCurrentVersions(bitIds);
|
|
255
214
|
await this._throwForPotentialIssues(bitIds);
|
|
@@ -367,7 +326,7 @@ if you need this specific snap, find the lane this snap is belong to, then run "
|
|
|
367
326
|
includeUnexported: this.options.isLaneFromRemote,
|
|
368
327
|
reason: `of their latest on ${lane ? `lane ${lane.id()}` : 'main'}`
|
|
369
328
|
});
|
|
370
|
-
|
|
329
|
+
this.logger.setStatusLine(`import ${ids.length} components with their dependencies (if missing)`);
|
|
371
330
|
const results = fromOriginalScope ? await scopeComponentsImporter.importManyFromOriginalScopes(ids) : await scopeComponentsImporter.importMany({
|
|
372
331
|
ids,
|
|
373
332
|
ignoreMissingHead,
|
|
@@ -406,11 +365,11 @@ if you need this specific snap, find the lane this snap is belong to, then run "
|
|
|
406
365
|
}
|
|
407
366
|
const idsWithWildcard = this.options.ids.filter(id => (0, _hasWildcard().default)(id));
|
|
408
367
|
const idsWithoutWildcard = this.options.ids.filter(id => !(0, _hasWildcard().default)(id));
|
|
409
|
-
const idsWithoutWildcardPreferFromLane = idsWithoutWildcard.map(idStr => {
|
|
410
|
-
const id =
|
|
368
|
+
const idsWithoutWildcardPreferFromLane = await Promise.all(idsWithoutWildcard.map(async idStr => {
|
|
369
|
+
const id = await this.getIdFromStr(idStr);
|
|
411
370
|
const fromLane = bitIdsFromLane.searchWithoutVersion(id);
|
|
412
371
|
return fromLane && !id.hasVersion() ? fromLane : id;
|
|
413
|
-
});
|
|
372
|
+
}));
|
|
414
373
|
const bitIds = [...idsWithoutWildcardPreferFromLane];
|
|
415
374
|
if (!idsWithWildcard) {
|
|
416
375
|
return bitIds;
|
|
@@ -428,33 +387,49 @@ bit import ${idsFromRemote.map(id => id.toStringWithoutVersion()).join(' ')}`);
|
|
|
428
387
|
});
|
|
429
388
|
return bitIds;
|
|
430
389
|
}
|
|
390
|
+
async getIdFromStr(id) {
|
|
391
|
+
if (id.startsWith('@')) return this.workspace.resolveComponentIdFromPackageName(id);
|
|
392
|
+
return _componentId().ComponentID.fromString(id); // we don't support importing without a scope name
|
|
393
|
+
}
|
|
431
394
|
async getBitIdsForNonLanes() {
|
|
432
395
|
const bitIds = [];
|
|
433
396
|
await Promise.all(this.options.ids.map(async idStr => {
|
|
434
397
|
if ((0, _hasWildcard().default)(idStr)) {
|
|
435
398
|
const ids = await (0, _listScope().getRemoteBitIdsByWildcards)(idStr, this.options.includeDeprecated);
|
|
436
|
-
|
|
399
|
+
this.logger.setStatusLine(_loaderMessages().BEFORE_IMPORT_ACTION); // it stops the previous loader of BEFORE_REMOTE_LIST
|
|
437
400
|
bitIds.push(...ids);
|
|
438
401
|
} else {
|
|
439
|
-
|
|
402
|
+
const id = await this.getIdFromStr(idStr);
|
|
403
|
+
bitIds.push(id);
|
|
440
404
|
}
|
|
441
405
|
}));
|
|
442
406
|
return bitIds;
|
|
443
407
|
}
|
|
444
408
|
async getBitIds() {
|
|
445
409
|
const bitIds = this.options.lanes ? await this.getBitIdsForLanes() : await this.getBitIdsForNonLanes();
|
|
446
|
-
if (this.options.importDependenciesDirectly || this.options.importDependents) {
|
|
410
|
+
if (this.options.importDependenciesDirectly || this.options.importDependents || this.options.dependentsDryRun) {
|
|
447
411
|
if (this.options.importDependenciesDirectly) {
|
|
448
412
|
const dependenciesIds = await this.getFlattenedDepsUnique(bitIds);
|
|
449
413
|
bitIds.push(...dependenciesIds);
|
|
450
414
|
}
|
|
451
|
-
if (this.options.importDependents) {
|
|
415
|
+
if (this.options.importDependents || this.options.dependentsDryRun) {
|
|
416
|
+
this.logger.setStatusLine('finding dependents');
|
|
452
417
|
const graph = await this.graph.getGraphIds();
|
|
453
418
|
const targetCompIds = await this.workspace.resolveMultipleComponentIds(bitIds);
|
|
454
419
|
const sourceIds = await this.workspace.listIds();
|
|
455
420
|
const ids = graph.findIdsFromSourcesToTargets(sourceIds, targetCompIds);
|
|
456
|
-
|
|
457
|
-
|
|
421
|
+
const idsStr = ids.map(id => id.toString());
|
|
422
|
+
this.logger.debug(`found ${ids.length} component for --dependents flag`, idsStr);
|
|
423
|
+
if (this.options.dependentsDryRun) {
|
|
424
|
+
this.logger.clearStatusLine();
|
|
425
|
+
const ok = await (0, _yesno().default)({
|
|
426
|
+
question: `found the following ${ids.length} components for --dependents flag:\n${idsStr.join('\n')}\nWould you like to continue with the import?`
|
|
427
|
+
});
|
|
428
|
+
if (!ok) {
|
|
429
|
+
throw new (_bitError().BitError)('import was aborted');
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
bitIds.push(...ids);
|
|
458
433
|
}
|
|
459
434
|
}
|
|
460
435
|
return _componentId().ComponentIdList.uniqFromArray(bitIds);
|
|
@@ -489,7 +464,7 @@ bit import ${idsFromRemote.map(id => id.toStringWithoutVersion()).join(' ')}`);
|
|
|
489
464
|
importedDeps: [],
|
|
490
465
|
importDetails: []
|
|
491
466
|
};
|
|
492
|
-
if (
|
|
467
|
+
if (!componentsIdsToImport.length) {
|
|
493
468
|
return emptyResult;
|
|
494
469
|
}
|
|
495
470
|
await this._throwForModifiedOrNewComponents(componentsIdsToImport);
|
|
@@ -524,7 +499,7 @@ bit import ${idsFromRemote.map(id => id.toStringWithoutVersion()).join(' ')}`);
|
|
|
524
499
|
return [idStr, modelComponent.listVersions()];
|
|
525
500
|
});
|
|
526
501
|
const versions = await Promise.all(versionsP);
|
|
527
|
-
return (0,
|
|
502
|
+
return (0, _lodash().fromPairs)(versions);
|
|
528
503
|
}
|
|
529
504
|
|
|
530
505
|
/**
|
|
@@ -541,7 +516,7 @@ bit import ${idsFromRemote.map(id => id.toStringWithoutVersion()).join(' ')}`);
|
|
|
541
516
|
const modelComponent = await this.consumer.scope.getModelComponentIfExist(id);
|
|
542
517
|
if (!modelComponent) throw new (_bitError().BitError)(`imported component ${idStr} was not found in the model`);
|
|
543
518
|
const afterImportVersions = modelComponent.listVersions();
|
|
544
|
-
const versionDifference = (0,
|
|
519
|
+
const versionDifference = (0, _lodash().difference)(afterImportVersions, beforeImportVersions);
|
|
545
520
|
const getStatus = () => {
|
|
546
521
|
if (!versionDifference.length) return 'up to date';
|
|
547
522
|
if (!beforeImportVersions.length) return 'added';
|
|
@@ -698,8 +673,7 @@ bit import ${idsFromRemote.map(id => id.toStringWithoutVersion()).join(' ')}`);
|
|
|
698
673
|
}
|
|
699
674
|
return component;
|
|
700
675
|
});
|
|
701
|
-
|
|
702
|
-
return removeNulls(componentsToWrite);
|
|
676
|
+
return (0, _lodash().compact)(componentsToWrite);
|
|
703
677
|
}
|
|
704
678
|
_shouldSaveLaneData() {
|
|
705
679
|
if (this.options.objectsOnly) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_bitError","_pMapSeries","_listScope","_componentId","_loader","_loaderMessages","_generalError","_logger","_utils","_hasWildcard","_checkout","_mergeVersion","_componentsPendingMerge","_scopeComponentsImporter","_versionDependencies","_featureToggle","_componentVersion","_lodash","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ImportComponents","constructor","workspace","graph","componentWriter","envs","options","consumer","scope","remoteLane","lanes","importComponents","result","loader","start","BEFORE_IMPORT_ACTION","startTime","process","hrtime","ids","length","importObjectsOnLane","succeed","importSpecificComponents","importAccordingToBitMap","objectsOnly","Error","lane","bitIds","getBitIds","logger","debug","id","toString","beforeImportVersions","_getCurrentVersions","versionDependenciesArr","_importComponentsObjects","mergeAndSaveLaneObject","returnCompleteResults","writtenComponents","componentWriterResults","importDetails","_getImportDetails","missingIds","keys","importedComps","map","c","component","toStringWithoutVersion","forEach","compIdStr","found","includes","push","importedIds","v","flat","importedDeps","allDependenciesIds","installationError","compilationError","workspaceConfigUpdateResult","join","_throwForPotentialIssues","components","multipleVersionDependenciesToConsumer","objects","_fetchDivergeData","_throwForDivergedHistory","throwForComponentsFromAnotherLane","filteredComponents","_filterComponentsByFilters","_writeToFileSystem","_saveLaneDataIfNeeded","mergeLaneResults","sources","mergeLane","mergedLane","isRemoteLaneEqualsToMergedLane","isEqual","saveLane","saveLaneHistory","laneHistoryMsg","filterEnvs","filteredP","currentEnv","calculateEnvIdFromExtensions","extensions","currentEnvWithoutVersion","split","undefined","filtered","compact","Promise","all","modelComponent","getModelComponent","setDivergeData","divergeData","merge","divergedComponents","filter","getDivergeData","isDiverged","snapsLocal","snapsOnSourceOnly","snapsRemote","snapsOnTargetOnly","ComponentsPendingMerge","currentLaneId","getCurrentLaneId","currentRemoteLane","toLaneId","currentLane","getCurrentLaneObject","idsFromAnotherLane","bitId","isOnCurrentLane","isPartOfLaneHistory","isPartOfMainHistory","isIdOnMain","BitError","fromOriginalScope","ignoreMissingHead","scopeComponentsImporter","ScopeComponentsImporter","getInstance","importWithoutDeps","toVersionLatest","cache","includeVersionHistory","fetchHeadIfLocalIsBehind","allHistory","collectParents","includeUnexported","isLaneFromRemote","reason","results","importManyFromOriginalScopes","importMany","preferDependencyGraph","fetchDeps","reFetchUnBuiltVersion","throwForSeederNotFound","getBitIdsForLanes","bitIdsFromLane","toComponentIds","ComponentIdList","bitMapIds","bitMap","getAllBitIds","bitMapIdsToImport","hasScope","has","idsWithWildcard","hasWildcard","idsWithoutWildcard","idsWithoutWildcardPreferFromLane","idStr","ComponentID","fromString","fromLane","searchWithoutVersion","hasVersion","pMapSeries","idsFromRemote","getRemoteBitIdsByWildcards","includeDeprecated","existingOnLanes","hasWithoutVersion","getBitIdsForNonLanes","importDependenciesDirectly","importDependents","dependenciesIds","getFlattenedDepsUnique","getGraphIds","targetCompIds","resolveMultipleComponentIds","sourceIds","listIds","findIdsFromSourcesToTargets","uniqFromArray","remoteComps","scopeImporter","getManyRemoteComponents","versions","getVersions","getFlattened","flattenedDependencies","flattenedDeps","flattened","withLatest","removeMultipleVersionsKeepLatest","grouped","toGroupByIdWithoutVersion","latestVersions","latest","getLatestVersionNumber","changeVersion","LATEST_VERSION","override","componentsIdsToImport","getIdsToImportFromBitmap","emptyResult","_isEmpty2","_throwForModifiedOrNewComponents","allIds","getAllBitIdsFromAllLanes","fromArray","versionsP","getModelComponentIfExist","listVersions","_fromPairs2","currentVersions","detailsP","afterImportVersions","versionDifference","_difference2","getStatus","filesStatus","mergeStatus","deprecated","isDeprecated","removed","isRemoved","latestVersion","getHeadRegardlessOfLaneAsTagOrHash","status","missingDeps","getMissingDependencies","_throwForDifferentComponentWithSameName","trackOnly","componentsStatuses","getManyComponentsStatuses","modifiedComponents","modified","newlyCreated","GeneralError","chalk","yellow","existingId","getParsedIdIfExist","_getMergeStatus","componentStatus","getComponentStatusById","mergeResults","componentModel","existingBitMapBitId","getComponentId","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","find","getMergeStrategyInteractive","componentsToWrite","unchangedFiles","removeNulls","_reject2","_isNil2","_shouldSaveLaneData","isOnLane","idsFromRemoteLanes","comp","existOnRemoteLane","saveInLane","setOnLanesOnly","ref","getRef","addComponent","head","manyComponentsWriterOpts","writeToPath","writeConfig","skipDependencyInstallation","installNpmPackages","skipWriteConfigFiles","writeConfigFiles","verbose","throwForExistingDir","skipWritingToFs","shouldUpdateWorkspaceConfig","isFeatureEnabled","UPDATE_DEPS_ON_IMPORT","reasonForBitmapChange","writeMany","exports"],"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 { ComponentID, ComponentIdList } from '@teambit/component-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 logger from '@teambit/legacy/dist/logger/logger';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { Lane, ModelComponent, Version } from '@teambit/legacy/dist/scope/models';\nimport { getLatestVersionNumber, 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/checkout';\nimport {\n FileStatus,\n getMergeStrategyInteractive,\n MergeOptions,\n threeWayMerge,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { 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 { UPDATE_DEPS_ON_IMPORT, isFeatureEnabled } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { Workspace } from '@teambit/workspace';\nimport { ComponentWriterMain, ComponentWriterResults, ManyComponentsWriterParams } from '@teambit/component-writer';\nimport { LATEST_VERSION } from '@teambit/component-version';\nimport { EnvsMain } from '@teambit/envs';\nimport { compact } from 'lodash';\nimport { FilesStatus } from '@teambit/merging';\nimport { WorkspaceConfigUpdateResult } from '@teambit/config-merger';\n\nexport type ImportOptions = {\n ids: string[]; // array might be empty\n verbose?: boolean;\n merge?: boolean;\n mergeStrategy?: MergeStrategy;\n filterEnvs?: string[];\n writeToPath?: string;\n writeConfig?: boolean;\n override?: boolean;\n installNpmPackages: boolean; // default: true\n writeConfigFiles: boolean; // default: true\n objectsOnly?: boolean;\n importDependenciesDirectly?: boolean; // default: false, normally it imports them as packages, 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 laneId: LaneId;\n remoteLane?: 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 trackOnly?: boolean;\n includeDeprecated?: boolean;\n isLaneFromRemote?: boolean; // whether the `lanes.lane` object is coming directly from the remote.\n};\ntype ComponentMergeStatus = {\n component: Component;\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: ComponentID[];\n deprecated: boolean;\n removed?: boolean;\n};\nexport type ImportResult = {\n importedIds: ComponentID[];\n importedDeps: ComponentID[];\n writtenComponents?: Component[];\n importDetails: ImportDetails[];\n cancellationMessage?: string;\n installationError?: Error;\n compilationError?: Error;\n workspaceConfigUpdateResult?: WorkspaceConfigUpdateResult;\n missingIds?: string[]; // in case the import is configured to not throw when missing\n lane?: Lane;\n};\n\nexport default class ImportComponents {\n consumer: Consumer;\n scope: Scope;\n mergeStatus: { [id: string]: FilesStatus };\n private remoteLane: Lane | undefined;\n private divergeData: Array<ModelComponent> = [];\n constructor(\n private workspace: Workspace,\n private graph: GraphMain,\n private componentWriter: ComponentWriterMain,\n private envs: EnvsMain,\n public options: ImportOptions\n ) {\n this.consumer = this.workspace.consumer;\n this.scope = this.consumer.scope;\n this.remoteLane = this.options.lanes?.remoteLane;\n }\n\n async importComponents(): Promise<ImportResult> {\n let result;\n loader.start(BEFORE_IMPORT_ACTION);\n const startTime = process.hrtime();\n if (this.options.lanes && !this.options.ids.length) {\n result = await this.importObjectsOnLane();\n loader.succeed(BEFORE_IMPORT_ACTION, startTime);\n return result;\n }\n if (this.options.ids.length) {\n result = await this.importSpecificComponents();\n loader.succeed(BEFORE_IMPORT_ACTION, startTime);\n return result;\n }\n result = await this.importAccordingToBitMap();\n loader.succeed(BEFORE_IMPORT_ACTION, startTime);\n return result;\n }\n\n async importObjectsOnLane(): Promise<ImportResult> {\n if (!this.options.objectsOnly) {\n throw new Error(`importObjectsOnLane should have objectsOnly=true`);\n }\n const lane = this.remoteLane;\n const bitIds: ComponentIdList = 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 if (lane) {\n await this.mergeAndSaveLaneObject(lane);\n }\n\n return this.returnCompleteResults(beforeImportVersions, versionDependenciesArr);\n }\n\n private async returnCompleteResults(\n beforeImportVersions: ImportedVersions,\n versionDependenciesArr: VersionDependencies[],\n writtenComponents?: Component[],\n componentWriterResults?: ComponentWriterResults\n ): Promise<ImportResult> {\n const importDetails = await this._getImportDetails(beforeImportVersions, versionDependenciesArr);\n const missingIds: string[] = [];\n if (Object.keys(beforeImportVersions).length > versionDependenciesArr.length) {\n const importedComps = versionDependenciesArr.map((c) => c.component.id.toStringWithoutVersion());\n Object.keys(beforeImportVersions).forEach((compIdStr) => {\n const found = importedComps.includes(compIdStr);\n if (!found) missingIds.push(compIdStr);\n });\n }\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 workspaceConfigUpdateResult: componentWriterResults?.workspaceConfigUpdateResult,\n missingIds,\n lane: this.remoteLane,\n };\n }\n\n async importSpecificComponents(): Promise<ImportResult> {\n logger.debug(`importSpecificComponents, Ids: ${this.options.ids.join(', ')}`);\n const bitIds: ComponentIdList = 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.remoteLane,\n });\n if (this.remoteLane && this.options.objectsOnly) {\n await this.mergeAndSaveLaneObject(this.remoteLane);\n }\n let writtenComponents: Component[] = [];\n let componentWriterResults: ComponentWriterResults | undefined;\n if (!this.options.objectsOnly) {\n const components = await multipleVersionDependenciesToConsumer(versionDependenciesArr, this.scope.objects);\n await this._fetchDivergeData(components);\n this._throwForDivergedHistory();\n await this.throwForComponentsFromAnotherLane(components.map((c) => c.id));\n const filteredComponents = await this._filterComponentsByFilters(components);\n componentWriterResults = await this._writeToFileSystem(filteredComponents);\n await this._saveLaneDataIfNeeded(filteredComponents);\n writtenComponents = filteredComponents;\n }\n\n return this.returnCompleteResults(\n beforeImportVersions,\n versionDependenciesArr,\n writtenComponents,\n componentWriterResults\n );\n }\n\n private async mergeAndSaveLaneObject(lane: Lane) {\n const mergeLaneResults = await this.scope.sources.mergeLane(lane, true);\n const mergedLane = mergeLaneResults.mergeLane;\n const isRemoteLaneEqualsToMergedLane = lane.isEqual(mergedLane);\n await this.scope.lanes.saveLane(mergedLane, {\n saveLaneHistory: !isRemoteLaneEqualsToMergedLane,\n laneHistoryMsg: 'import (merge from remote)',\n });\n }\n\n private async _filterComponentsByFilters(components: Component[]): Promise<Component[]> {\n if (!this.options.filterEnvs) return components;\n const filteredP = components.map(async (component) => {\n // If the id was requested explicitly, we don't want to filter it out\n if (this.options.ids) {\n if (\n this.options.ids.includes(component.id.toStringWithoutVersion()) ||\n this.options.ids.includes(component.id.toString())\n ) {\n return component;\n }\n }\n const currentEnv = await this.envs.calculateEnvIdFromExtensions(component.extensions);\n const currentEnvWithoutVersion = currentEnv.split('@')[0];\n if (\n this.options.filterEnvs?.includes(currentEnv) ||\n this.options.filterEnvs?.includes(currentEnvWithoutVersion)\n ) {\n return component;\n }\n return undefined;\n });\n const filtered = compact(await Promise.all(filteredP));\n return filtered;\n }\n\n async _fetchDivergeData(components: Component[]) {\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 components.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 throwForComponentsFromAnotherLane(bitIds: ComponentID[]) {\n if (this.options.objectsOnly) return;\n const currentLaneId = this.workspace.getCurrentLaneId();\n const currentRemoteLane = this.remoteLane?.toLaneId().isEqual(currentLaneId) ? this.remoteLane : undefined;\n const currentLane = await this.workspace.getCurrentLaneObject();\n const idsFromAnotherLane: ComponentID[] = [];\n if (currentRemoteLane) {\n await Promise.all(\n bitIds.map(async (bitId) => {\n const isOnCurrentLane =\n (await this.scope.isPartOfLaneHistory(bitId, currentRemoteLane)) ||\n (currentLane && (await this.scope.isPartOfLaneHistory(bitId, currentLane))) ||\n (await this.scope.isPartOfMainHistory(bitId));\n if (!isOnCurrentLane) idsFromAnotherLane.push(bitId);\n })\n );\n } else {\n await Promise.all(\n bitIds.map(async (bitId) => {\n const isIdOnMain = await this.scope.isPartOfMainHistory(bitId);\n if (!isIdOnMain) idsFromAnotherLane.push(bitId);\n })\n );\n }\n if (idsFromAnotherLane.length) {\n throw new BitError(`unable to import the following component(s) as they belong to other lane(s):\n${idsFromAnotherLane.map((id) => id.toString()).join(', ')}\nif you need this specific snap, find the lane this snap is belong to, then run \"bit lane merge <lane-id> [component-id]\" to merge this component from the lane.\n`);\n }\n }\n\n private async _importComponentsObjects(\n ids: ComponentIdList,\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.importWithoutDeps(ids.toVersionLatest(), {\n cache: false,\n lane,\n includeVersionHistory: true,\n fetchHeadIfLocalIsBehind: !this.options.allHistory,\n collectParents: this.options.allHistory,\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 includeUnexported: this.options.isLaneFromRemote,\n reason: `of their latest on ${lane ? `lane ${lane.id()}` : 'main'}`,\n });\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 lane,\n preferDependencyGraph: !this.options.fetchDeps,\n // 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 reFetchUnBuiltVersion: true,\n // it's possible that .bitmap is not in sync and has local tags that don't exist on the remote. later, we\n // add them to \"missingIds\" of \"importResult\" and show them to the user\n throwForSeederNotFound: false,\n reason: this.options.fetchDeps\n ? 'for getting all dependencies'\n : `for getting dependencies of components that don't have dependency-graph`,\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<ComponentID[]> {\n if (!this.options.lanes) {\n throw new Error(`getBitIdsForLanes: this.options.lanes must be set`);\n }\n const bitIdsFromLane = this.remoteLane?.toComponentIds() || new ComponentIdList();\n\n if (!this.options.ids.length) {\n const bitMapIds = this.consumer.bitMap.getAllBitIds();\n const bitMapIdsToImport = bitMapIds.filter((id) => id.hasScope() && !bitIdsFromLane.has(id));\n bitIdsFromLane.push(...bitMapIdsToImport);\n\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 = ComponentID.fromString(idStr);\n const fromLane = bitIdsFromLane.searchWithoutVersion(id);\n return fromLane && !id.hasVersion() ? fromLane : id;\n });\n\n const bitIds: ComponentID[] = [...idsWithoutWildcardPreferFromLane];\n\n if (!idsWithWildcard) {\n return bitIds;\n }\n\n await pMapSeries(idsWithWildcard, async (idStr: string) => {\n const idsFromRemote = await getRemoteBitIdsByWildcards(idStr, this.options.includeDeprecated);\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.remoteLane?.id()}\".\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: ComponentID[] = [];\n await Promise.all(\n this.options.ids.map(async (idStr: string) => {\n if (hasWildcard(idStr)) {\n const ids = await getRemoteBitIdsByWildcards(idStr, this.options.includeDeprecated);\n loader.start(BEFORE_IMPORT_ACTION); // it stops the previous loader of BEFORE_REMOTE_LIST\n bitIds.push(...ids);\n } else {\n bitIds.push(ComponentID.fromString(idStr)); // we don't support importing without a scope name\n }\n })\n );\n\n return bitIds;\n }\n\n private async getBitIds(): Promise<ComponentIdList> {\n const bitIds: ComponentID[] = this.options.lanes\n ? await this.getBitIdsForLanes()\n : await this.getBitIdsForNonLanes();\n if (this.options.importDependenciesDirectly || this.options.importDependents) {\n if (this.options.importDependenciesDirectly) {\n const dependenciesIds = await this.getFlattenedDepsUnique(bitIds);\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));\n }\n }\n return ComponentIdList.uniqFromArray(bitIds);\n }\n\n private async getFlattenedDepsUnique(bitIds: ComponentID[]): Promise<ComponentID[]> {\n const remoteComps = await this.scope.scopeImporter.getManyRemoteComponents(bitIds);\n const versions = remoteComps.getVersions();\n const getFlattened = (): ComponentIdList => {\n if (versions.length === 1) return versions[0].flattenedDependencies;\n const flattenedDeps = versions.map((v) => v.flattenedDependencies).flat();\n return ComponentIdList.uniqFromArray(flattenedDeps);\n };\n const flattened = getFlattened();\n const withLatest = this.removeMultipleVersionsKeepLatest(flattened);\n return withLatest;\n }\n\n private removeMultipleVersionsKeepLatest(flattened: ComponentIdList): ComponentID[] {\n const grouped = flattened.toGroupByIdWithoutVersion();\n const latestVersions = Object.keys(grouped).map((key) => {\n const ids = grouped[key];\n if (ids.length === 1) return ids[0];\n const latest = getLatestVersionNumber(ids, ids[0].changeVersion(LATEST_VERSION));\n return latest;\n });\n\n return latestVersions;\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 components = await multipleVersionDependenciesToConsumer(versionDependenciesArr, this.scope.objects);\n componentWriterResults = await this._writeToFileSystem(components);\n writtenComponents = components;\n }\n\n return this.returnCompleteResults(\n beforeImportVersions,\n versionDependenciesArr,\n writtenComponents,\n componentWriterResults\n );\n }\n\n private getIdsToImportFromBitmap() {\n const allIds = this.consumer.bitMap.getAllBitIdsFromAllLanes();\n return ComponentIdList.fromArray(allIds.filter((id) => id.hasScope()));\n }\n\n async _getCurrentVersions(ids: ComponentIdList): 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 BitError(`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 const importDetails: ImportDetails[] = await Promise.all(detailsP);\n\n return importDetails;\n }\n\n async _throwForPotentialIssues(ids: ComponentIdList): Promise<void> {\n await this._throwForModifiedOrNewComponents(ids);\n this._throwForDifferentComponentWithSameName(ids);\n }\n\n async _throwForModifiedOrNewComponents(ids: ComponentIdList): 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 || this.options.trackOnly) return;\n const componentsStatuses = await this.workspace.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: ComponentIdList): void {\n ids.forEach((id: ComponentID) => {\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(component: Component): Promise<ComponentMergeStatus> {\n const componentStatus = await this.workspace.getComponentStatusById(component.id);\n const mergeStatus: ComponentMergeStatus = { component, mergeResults: null };\n if (!componentStatus.modified) return mergeStatus;\n const componentModel = await this.consumer.scope.getModelComponent(component.id);\n const existingBitMapBitId = this.consumer.bitMap.getComponentId(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.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(components: Component[]): Promise<Component[]> {\n if (!this.options.merge) return components;\n const componentsStatusP = components.map((component: Component) => {\n return this._getMergeStatus(component);\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 component = componentStatus.component;\n if (!filesStatus) return component;\n this.mergeStatus[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 component;\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(components: Component[]): 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 = this.remoteLane?.toComponentIds() || new ComponentIdList();\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.setOnLanesOnly(comp.id, 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, { laneHistoryMsg: 'import components' });\n }\n\n async _writeToFileSystem(components: Component[]): Promise<ComponentWriterResults> {\n const componentsToWrite = await this.updateAllComponentsAccordingToMergeStrategy(components);\n const manyComponentsWriterOpts: ManyComponentsWriterParams = {\n components: componentsToWrite,\n writeToPath: this.options.writeToPath,\n writeConfig: this.options.writeConfig,\n skipDependencyInstallation: !this.options.installNpmPackages,\n skipWriteConfigFiles: !this.options.writeConfigFiles,\n verbose: this.options.verbose,\n throwForExistingDir: !this.options.override,\n skipWritingToFs: this.options.trackOnly,\n shouldUpdateWorkspaceConfig: isFeatureEnabled(UPDATE_DEPS_ON_IMPORT),\n reasonForBitmapChange: 'import',\n };\n return this.componentWriter.writeMany(manyComponentsWriterOpts);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_yesno","_bitError","_pMapSeries","_listScope","_componentId","_loaderMessages","_generalError","_utils","_hasWildcard","_checkout","_mergeVersion","_componentsPendingMerge","_scopeComponentsImporter","_versionDependencies","_featureToggle","_componentVersion","_lodash","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ImportComponents","constructor","workspace","graph","componentWriter","envs","logger","options","consumer","scope","remoteLane","lanes","importComponents","result","setStatusLine","BEFORE_IMPORT_ACTION","startTime","process","hrtime","ids","length","importObjectsOnLane","consoleSuccess","importSpecificComponents","importAccordingToBitMap","objectsOnly","Error","lane","bitIds","getBitIds","debug","id","toString","beforeImportVersions","_getCurrentVersions","versionDependenciesArr","_importComponentsObjects","mergeAndSaveLaneObject","returnCompleteResults","writtenComponents","componentWriterResults","importDetails","_getImportDetails","missingIds","keys","importedComps","map","c","component","toStringWithoutVersion","forEach","compIdStr","found","includes","push","importedIds","v","flat","importedDeps","allDependenciesIds","installationError","compilationError","workspaceConfigUpdateResult","join","_throwForPotentialIssues","components","multipleVersionDependenciesToConsumer","objects","_fetchDivergeData","_throwForDivergedHistory","throwForComponentsFromAnotherLane","filteredComponents","_filterComponentsByFilters","_writeToFileSystem","_saveLaneDataIfNeeded","mergeLaneResults","sources","mergeLane","mergedLane","isRemoteLaneEqualsToMergedLane","isEqual","saveLane","saveLaneHistory","laneHistoryMsg","filterEnvs","filteredP","currentEnv","calculateEnvIdFromExtensions","extensions","currentEnvWithoutVersion","split","undefined","filtered","compact","Promise","all","modelComponent","getModelComponent","setDivergeData","divergeData","merge","divergedComponents","filter","getDivergeData","isDiverged","snapsLocal","snapsOnSourceOnly","snapsRemote","snapsOnTargetOnly","ComponentsPendingMerge","currentLaneId","getCurrentLaneId","currentRemoteLane","toLaneId","currentLane","getCurrentLaneObject","idsFromAnotherLane","bitId","isOnCurrentLane","isPartOfLaneHistory","isPartOfMainHistory","isIdOnMain","BitError","fromOriginalScope","ignoreMissingHead","scopeComponentsImporter","ScopeComponentsImporter","getInstance","importWithoutDeps","toVersionLatest","cache","includeVersionHistory","fetchHeadIfLocalIsBehind","allHistory","collectParents","includeUnexported","isLaneFromRemote","reason","results","importManyFromOriginalScopes","importMany","preferDependencyGraph","fetchDeps","reFetchUnBuiltVersion","throwForSeederNotFound","getBitIdsForLanes","bitIdsFromLane","toComponentIds","ComponentIdList","bitMapIds","bitMap","getAllBitIds","bitMapIdsToImport","hasScope","has","idsWithWildcard","hasWildcard","idsWithoutWildcard","idsWithoutWildcardPreferFromLane","idStr","getIdFromStr","fromLane","searchWithoutVersion","hasVersion","pMapSeries","idsFromRemote","getRemoteBitIdsByWildcards","includeDeprecated","existingOnLanes","hasWithoutVersion","startsWith","resolveComponentIdFromPackageName","ComponentID","fromString","getBitIdsForNonLanes","importDependenciesDirectly","importDependents","dependentsDryRun","dependenciesIds","getFlattenedDepsUnique","getGraphIds","targetCompIds","resolveMultipleComponentIds","sourceIds","listIds","findIdsFromSourcesToTargets","idsStr","clearStatusLine","ok","yesno","question","uniqFromArray","remoteComps","scopeImporter","getManyRemoteComponents","versions","getVersions","getFlattened","flattenedDependencies","flattenedDeps","flattened","withLatest","removeMultipleVersionsKeepLatest","grouped","toGroupByIdWithoutVersion","latestVersions","latest","getLatestVersionNumber","changeVersion","LATEST_VERSION","override","componentsIdsToImport","getIdsToImportFromBitmap","emptyResult","_throwForModifiedOrNewComponents","allIds","getAllBitIdsFromAllLanes","fromArray","versionsP","getModelComponentIfExist","listVersions","fromPairs","currentVersions","detailsP","afterImportVersions","versionDifference","difference","getStatus","filesStatus","mergeStatus","deprecated","isDeprecated","removed","isRemoved","latestVersion","getHeadRegardlessOfLaneAsTagOrHash","status","missingDeps","getMissingDependencies","_throwForDifferentComponentWithSameName","trackOnly","componentsStatuses","getManyComponentsStatuses","modifiedComponents","modified","newlyCreated","GeneralError","chalk","yellow","existingId","getParsedIdIfExist","_getMergeStatus","componentStatus","getComponentStatusById","mergeResults","componentModel","existingBitMapBitId","getComponentId","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","find","getMergeStrategyInteractive","componentsToWrite","unchangedFiles","_shouldSaveLaneData","isOnLane","idsFromRemoteLanes","comp","existOnRemoteLane","saveInLane","setOnLanesOnly","ref","getRef","addComponent","head","manyComponentsWriterOpts","writeToPath","writeConfig","skipDependencyInstallation","installNpmPackages","skipWriteConfigFiles","writeConfigFiles","verbose","throwForExistingDir","skipWritingToFs","shouldUpdateWorkspaceConfig","isFeatureEnabled","UPDATE_DEPS_ON_IMPORT","reasonForBitmapChange","writeMany","exports"],"sources":["import-components.ts"],"sourcesContent":["import chalk from 'chalk';\nimport yesno from 'yesno';\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 { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { BEFORE_IMPORT_ACTION } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { Lane, ModelComponent, Version } from '@teambit/legacy/dist/scope/models';\nimport { getLatestVersionNumber, 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/checkout';\nimport {\n FileStatus,\n getMergeStrategyInteractive,\n MergeOptions,\n threeWayMerge,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { 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 { UPDATE_DEPS_ON_IMPORT, isFeatureEnabled } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { Workspace } from '@teambit/workspace';\nimport { ComponentWriterMain, ComponentWriterResults, ManyComponentsWriterParams } from '@teambit/component-writer';\nimport { LATEST_VERSION } from '@teambit/component-version';\nimport { EnvsMain } from '@teambit/envs';\nimport { compact, difference, fromPairs } from 'lodash';\nimport { FilesStatus } from '@teambit/merging';\nimport { WorkspaceConfigUpdateResult } from '@teambit/config-merger';\nimport { Logger } from '@teambit/logger';\n\nexport type ImportOptions = {\n ids: string[]; // array might be empty\n verbose?: boolean;\n merge?: boolean;\n mergeStrategy?: MergeStrategy;\n filterEnvs?: string[];\n writeToPath?: string;\n writeConfig?: boolean;\n override?: boolean;\n installNpmPackages: boolean; // default: true\n writeConfigFiles: boolean; // default: true\n objectsOnly?: boolean;\n importDependenciesDirectly?: boolean; // default: false, normally it imports them as packages, not as imported\n importDependents?: boolean;\n dependentsDryRun?: 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 laneId: LaneId;\n remoteLane?: 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 trackOnly?: boolean;\n includeDeprecated?: boolean;\n isLaneFromRemote?: boolean; // whether the `lanes.lane` object is coming directly from the remote.\n};\ntype ComponentMergeStatus = {\n component: Component;\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: ComponentID[];\n deprecated: boolean;\n removed?: boolean;\n};\nexport type ImportResult = {\n importedIds: ComponentID[];\n importedDeps: ComponentID[];\n writtenComponents?: Component[];\n importDetails: ImportDetails[];\n cancellationMessage?: string;\n installationError?: Error;\n compilationError?: Error;\n workspaceConfigUpdateResult?: WorkspaceConfigUpdateResult;\n missingIds?: string[]; // in case the import is configured to not throw when missing\n lane?: Lane;\n};\n\nexport default class ImportComponents {\n consumer: Consumer;\n scope: Scope;\n mergeStatus: { [id: string]: FilesStatus };\n private remoteLane: Lane | undefined;\n private divergeData: Array<ModelComponent> = [];\n constructor(\n private workspace: Workspace,\n private graph: GraphMain,\n private componentWriter: ComponentWriterMain,\n private envs: EnvsMain,\n private logger: Logger,\n public options: ImportOptions\n ) {\n this.consumer = this.workspace.consumer;\n this.scope = this.consumer.scope;\n this.remoteLane = this.options.lanes?.remoteLane;\n }\n\n async importComponents(): Promise<ImportResult> {\n let result;\n this.logger.setStatusLine(BEFORE_IMPORT_ACTION);\n const startTime = process.hrtime();\n if (this.options.lanes && !this.options.ids.length) {\n result = await this.importObjectsOnLane();\n this.logger.consoleSuccess(BEFORE_IMPORT_ACTION, startTime);\n return result;\n }\n if (this.options.ids.length) {\n result = await this.importSpecificComponents();\n this.logger.consoleSuccess(BEFORE_IMPORT_ACTION, startTime);\n return result;\n }\n result = await this.importAccordingToBitMap();\n this.logger.consoleSuccess(BEFORE_IMPORT_ACTION, startTime);\n return result;\n }\n\n async importObjectsOnLane(): Promise<ImportResult> {\n if (!this.options.objectsOnly) {\n throw new Error(`importObjectsOnLane should have objectsOnly=true`);\n }\n const lane = this.remoteLane;\n const bitIds: ComponentIdList = await this.getBitIds();\n lane\n ? this.logger.debug(`importObjectsOnLane, Lane: ${lane.id()}, Ids: ${bitIds.toString()}`)\n : this.logger.debug(\n `importObjectsOnLane, the lane does not exist on the remote. importing only the main components`\n );\n const beforeImportVersions = await this._getCurrentVersions(bitIds);\n const versionDependenciesArr = await this._importComponentsObjects(bitIds, {\n lane,\n });\n\n if (lane) {\n await this.mergeAndSaveLaneObject(lane);\n }\n\n return this.returnCompleteResults(beforeImportVersions, versionDependenciesArr);\n }\n\n private async returnCompleteResults(\n beforeImportVersions: ImportedVersions,\n versionDependenciesArr: VersionDependencies[],\n writtenComponents?: Component[],\n componentWriterResults?: ComponentWriterResults\n ): Promise<ImportResult> {\n const importDetails = await this._getImportDetails(beforeImportVersions, versionDependenciesArr);\n const missingIds: string[] = [];\n if (Object.keys(beforeImportVersions).length > versionDependenciesArr.length) {\n const importedComps = versionDependenciesArr.map((c) => c.component.id.toStringWithoutVersion());\n Object.keys(beforeImportVersions).forEach((compIdStr) => {\n const found = importedComps.includes(compIdStr);\n if (!found) missingIds.push(compIdStr);\n });\n }\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 workspaceConfigUpdateResult: componentWriterResults?.workspaceConfigUpdateResult,\n missingIds,\n lane: this.remoteLane,\n };\n }\n\n async importSpecificComponents(): Promise<ImportResult> {\n this.logger.debug(`importSpecificComponents, Ids: ${this.options.ids.join(', ')}`);\n const bitIds: ComponentIdList = 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.remoteLane,\n });\n if (this.remoteLane && this.options.objectsOnly) {\n await this.mergeAndSaveLaneObject(this.remoteLane);\n }\n let writtenComponents: Component[] = [];\n let componentWriterResults: ComponentWriterResults | undefined;\n if (!this.options.objectsOnly) {\n const components = await multipleVersionDependenciesToConsumer(versionDependenciesArr, this.scope.objects);\n await this._fetchDivergeData(components);\n this._throwForDivergedHistory();\n await this.throwForComponentsFromAnotherLane(components.map((c) => c.id));\n const filteredComponents = await this._filterComponentsByFilters(components);\n componentWriterResults = await this._writeToFileSystem(filteredComponents);\n await this._saveLaneDataIfNeeded(filteredComponents);\n writtenComponents = filteredComponents;\n }\n\n return this.returnCompleteResults(\n beforeImportVersions,\n versionDependenciesArr,\n writtenComponents,\n componentWriterResults\n );\n }\n\n private async mergeAndSaveLaneObject(lane: Lane) {\n const mergeLaneResults = await this.scope.sources.mergeLane(lane, true);\n const mergedLane = mergeLaneResults.mergeLane;\n const isRemoteLaneEqualsToMergedLane = lane.isEqual(mergedLane);\n await this.scope.lanes.saveLane(mergedLane, {\n saveLaneHistory: !isRemoteLaneEqualsToMergedLane,\n laneHistoryMsg: 'import (merge from remote)',\n });\n }\n\n private async _filterComponentsByFilters(components: Component[]): Promise<Component[]> {\n if (!this.options.filterEnvs) return components;\n const filteredP = components.map(async (component) => {\n // If the id was requested explicitly, we don't want to filter it out\n if (this.options.ids) {\n if (\n this.options.ids.includes(component.id.toStringWithoutVersion()) ||\n this.options.ids.includes(component.id.toString())\n ) {\n return component;\n }\n }\n const currentEnv = await this.envs.calculateEnvIdFromExtensions(component.extensions);\n const currentEnvWithoutVersion = currentEnv.split('@')[0];\n if (\n this.options.filterEnvs?.includes(currentEnv) ||\n this.options.filterEnvs?.includes(currentEnvWithoutVersion)\n ) {\n return component;\n }\n return undefined;\n });\n const filtered = compact(await Promise.all(filteredP));\n return filtered;\n }\n\n async _fetchDivergeData(components: Component[]) {\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 components.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 throwForComponentsFromAnotherLane(bitIds: ComponentID[]) {\n if (this.options.objectsOnly) return;\n const currentLaneId = this.workspace.getCurrentLaneId();\n const currentRemoteLane = this.remoteLane?.toLaneId().isEqual(currentLaneId) ? this.remoteLane : undefined;\n const currentLane = await this.workspace.getCurrentLaneObject();\n const idsFromAnotherLane: ComponentID[] = [];\n if (currentRemoteLane) {\n await Promise.all(\n bitIds.map(async (bitId) => {\n const isOnCurrentLane =\n (await this.scope.isPartOfLaneHistory(bitId, currentRemoteLane)) ||\n (currentLane && (await this.scope.isPartOfLaneHistory(bitId, currentLane))) ||\n (await this.scope.isPartOfMainHistory(bitId));\n if (!isOnCurrentLane) idsFromAnotherLane.push(bitId);\n })\n );\n } else {\n await Promise.all(\n bitIds.map(async (bitId) => {\n const isIdOnMain = await this.scope.isPartOfMainHistory(bitId);\n if (!isIdOnMain) idsFromAnotherLane.push(bitId);\n })\n );\n }\n if (idsFromAnotherLane.length) {\n throw new BitError(`unable to import the following component(s) as they belong to other lane(s):\n${idsFromAnotherLane.map((id) => id.toString()).join(', ')}\nif you need this specific snap, find the lane this snap is belong to, then run \"bit lane merge <lane-id> [component-id]\" to merge this component from the lane.\n`);\n }\n }\n\n private async _importComponentsObjects(\n ids: ComponentIdList,\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.importWithoutDeps(ids.toVersionLatest(), {\n cache: false,\n lane,\n includeVersionHistory: true,\n fetchHeadIfLocalIsBehind: !this.options.allHistory,\n collectParents: this.options.allHistory,\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 includeUnexported: this.options.isLaneFromRemote,\n reason: `of their latest on ${lane ? `lane ${lane.id()}` : 'main'}`,\n });\n\n this.logger.setStatusLine(`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 lane,\n preferDependencyGraph: !this.options.fetchDeps,\n // 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 reFetchUnBuiltVersion: true,\n // it's possible that .bitmap is not in sync and has local tags that don't exist on the remote. later, we\n // add them to \"missingIds\" of \"importResult\" and show them to the user\n throwForSeederNotFound: false,\n reason: this.options.fetchDeps\n ? 'for getting all dependencies'\n : `for getting dependencies of components that don't have dependency-graph`,\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<ComponentID[]> {\n if (!this.options.lanes) {\n throw new Error(`getBitIdsForLanes: this.options.lanes must be set`);\n }\n const bitIdsFromLane = this.remoteLane?.toComponentIds() || new ComponentIdList();\n\n if (!this.options.ids.length) {\n const bitMapIds = this.consumer.bitMap.getAllBitIds();\n const bitMapIdsToImport = bitMapIds.filter((id) => id.hasScope() && !bitIdsFromLane.has(id));\n bitIdsFromLane.push(...bitMapIdsToImport);\n\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 = await Promise.all(\n idsWithoutWildcard.map(async (idStr) => {\n const id = await this.getIdFromStr(idStr);\n const fromLane = bitIdsFromLane.searchWithoutVersion(id);\n return fromLane && !id.hasVersion() ? fromLane : id;\n })\n );\n\n const bitIds: ComponentID[] = [...idsWithoutWildcardPreferFromLane];\n\n if (!idsWithWildcard) {\n return bitIds;\n }\n\n await pMapSeries(idsWithWildcard, async (idStr: string) => {\n const idsFromRemote = await getRemoteBitIdsByWildcards(idStr, this.options.includeDeprecated);\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.remoteLane?.id()}\".\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 getIdFromStr(id: string): Promise<ComponentID> {\n if (id.startsWith('@')) return this.workspace.resolveComponentIdFromPackageName(id);\n return ComponentID.fromString(id); // we don't support importing without a scope name\n }\n\n private async getBitIdsForNonLanes() {\n const bitIds: ComponentID[] = [];\n await Promise.all(\n this.options.ids.map(async (idStr: string) => {\n if (hasWildcard(idStr)) {\n const ids = await getRemoteBitIdsByWildcards(idStr, this.options.includeDeprecated);\n this.logger.setStatusLine(BEFORE_IMPORT_ACTION); // it stops the previous loader of BEFORE_REMOTE_LIST\n bitIds.push(...ids);\n } else {\n const id = await this.getIdFromStr(idStr);\n bitIds.push(id);\n }\n })\n );\n\n return bitIds;\n }\n\n private async getBitIds(): Promise<ComponentIdList> {\n const bitIds: ComponentID[] = this.options.lanes\n ? await this.getBitIdsForLanes()\n : await this.getBitIdsForNonLanes();\n if (this.options.importDependenciesDirectly || this.options.importDependents || this.options.dependentsDryRun) {\n if (this.options.importDependenciesDirectly) {\n const dependenciesIds = await this.getFlattenedDepsUnique(bitIds);\n bitIds.push(...dependenciesIds);\n }\n if (this.options.importDependents || this.options.dependentsDryRun) {\n this.logger.setStatusLine('finding dependents');\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 const idsStr = ids.map((id) => id.toString());\n this.logger.debug(`found ${ids.length} component for --dependents flag`, idsStr);\n if (this.options.dependentsDryRun) {\n this.logger.clearStatusLine();\n const ok = await yesno({\n question: `found the following ${ids.length} components for --dependents flag:\\n${idsStr.join(\n '\\n'\n )}\\nWould you like to continue with the import?`,\n });\n if (!ok) {\n throw new BitError('import was aborted');\n }\n }\n\n bitIds.push(...ids);\n }\n }\n return ComponentIdList.uniqFromArray(bitIds);\n }\n\n private async getFlattenedDepsUnique(bitIds: ComponentID[]): Promise<ComponentID[]> {\n const remoteComps = await this.scope.scopeImporter.getManyRemoteComponents(bitIds);\n const versions = remoteComps.getVersions();\n const getFlattened = (): ComponentIdList => {\n if (versions.length === 1) return versions[0].flattenedDependencies;\n const flattenedDeps = versions.map((v) => v.flattenedDependencies).flat();\n return ComponentIdList.uniqFromArray(flattenedDeps);\n };\n const flattened = getFlattened();\n const withLatest = this.removeMultipleVersionsKeepLatest(flattened);\n return withLatest;\n }\n\n private removeMultipleVersionsKeepLatest(flattened: ComponentIdList): ComponentID[] {\n const grouped = flattened.toGroupByIdWithoutVersion();\n const latestVersions = Object.keys(grouped).map((key) => {\n const ids = grouped[key];\n if (ids.length === 1) return ids[0];\n const latest = getLatestVersionNumber(ids, ids[0].changeVersion(LATEST_VERSION));\n return latest;\n });\n\n return latestVersions;\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 (!componentsIdsToImport.length) {\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 components = await multipleVersionDependenciesToConsumer(versionDependenciesArr, this.scope.objects);\n componentWriterResults = await this._writeToFileSystem(components);\n writtenComponents = components;\n }\n\n return this.returnCompleteResults(\n beforeImportVersions,\n versionDependenciesArr,\n writtenComponents,\n componentWriterResults\n );\n }\n\n private getIdsToImportFromBitmap() {\n const allIds = this.consumer.bitMap.getAllBitIdsFromAllLanes();\n return ComponentIdList.fromArray(allIds.filter((id) => id.hasScope()));\n }\n\n async _getCurrentVersions(ids: ComponentIdList): 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 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 BitError(`imported component ${idStr} was not found in the model`);\n const afterImportVersions = modelComponent.listVersions();\n const versionDifference: string[] = 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 const importDetails: ImportDetails[] = await Promise.all(detailsP);\n\n return importDetails;\n }\n\n async _throwForPotentialIssues(ids: ComponentIdList): Promise<void> {\n await this._throwForModifiedOrNewComponents(ids);\n this._throwForDifferentComponentWithSameName(ids);\n }\n\n async _throwForModifiedOrNewComponents(ids: ComponentIdList): 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 || this.options.trackOnly) return;\n const componentsStatuses = await this.workspace.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: ComponentIdList): void {\n ids.forEach((id: ComponentID) => {\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(component: Component): Promise<ComponentMergeStatus> {\n const componentStatus = await this.workspace.getComponentStatusById(component.id);\n const mergeStatus: ComponentMergeStatus = { component, mergeResults: null };\n if (!componentStatus.modified) return mergeStatus;\n const componentModel = await this.consumer.scope.getModelComponent(component.id);\n const existingBitMapBitId = this.consumer.bitMap.getComponentId(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.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(components: Component[]): Promise<Component[]> {\n if (!this.options.merge) return components;\n const componentsStatusP = components.map((component: Component) => {\n return this._getMergeStatus(component);\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 component = componentStatus.component;\n if (!filesStatus) return component;\n this.mergeStatus[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 component;\n });\n return compact(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(components: Component[]): 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 = this.remoteLane?.toComponentIds() || new ComponentIdList();\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.setOnLanesOnly(comp.id, 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, { laneHistoryMsg: 'import components' });\n }\n\n async _writeToFileSystem(components: Component[]): Promise<ComponentWriterResults> {\n const componentsToWrite = await this.updateAllComponentsAccordingToMergeStrategy(components);\n const manyComponentsWriterOpts: ManyComponentsWriterParams = {\n components: componentsToWrite,\n writeToPath: this.options.writeToPath,\n writeConfig: this.options.writeConfig,\n skipDependencyInstallation: !this.options.installNpmPackages,\n skipWriteConfigFiles: !this.options.writeConfigFiles,\n verbose: this.options.verbose,\n throwForExistingDir: !this.options.override,\n skipWritingToFs: this.options.trackOnly,\n shouldUpdateWorkspaceConfig: isFeatureEnabled(UPDATE_DEPS_ON_IMPORT),\n reasonForBitmapChange: 'import',\n };\n return this.componentWriter.writeMany(manyComponentsWriterOpts);\n }\n}\n"],"mappings":"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"}
|
package/dist/import.cmd.d.ts
CHANGED
package/dist/import.cmd.js
CHANGED
|
@@ -4,20 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ImportCmd = void 0;
|
|
7
|
-
function _is2() {
|
|
8
|
-
const data = _interopRequireDefault(require("ramda/src/is"));
|
|
9
|
-
_is2 = function () {
|
|
10
|
-
return data;
|
|
11
|
-
};
|
|
12
|
-
return data;
|
|
13
|
-
}
|
|
14
|
-
function _uniq2() {
|
|
15
|
-
const data = _interopRequireDefault(require("ramda/src/uniq"));
|
|
16
|
-
_uniq2 = function () {
|
|
17
|
-
return data;
|
|
18
|
-
};
|
|
19
|
-
return data;
|
|
20
|
-
}
|
|
21
7
|
function _chalk() {
|
|
22
8
|
const data = _interopRequireDefault(require("chalk"));
|
|
23
9
|
_chalk = function () {
|
|
@@ -95,7 +81,7 @@ class ImportCmd {
|
|
|
95
81
|
_defineProperty(this, "alias", '');
|
|
96
82
|
_defineProperty(this, "options", [['p', 'path <path>', 'import components into a specific directory (a relative path in the workspace)'], ['o', 'objects', 'import components objects to the local scope without checkout (without writing them to the file system). This is the default behavior for import with no id argument'], ['O', 'override', 'override local changes'], ['v', 'verbose', 'show verbose output for inspection'], ['j', 'json', 'return the output as JSON'],
|
|
97
83
|
// ['', 'conf', 'write the configuration file (component.json) of the component'], // not working. need to fix once ComponentWriter is moved to Harmony
|
|
98
|
-
['x', 'skip-dependency-installation', 'do not auto-install dependencies of the imported components'], ['', 'skip-write-config-files', 'do not write config files (such as eslint, tsconfig, prettier, etc...)'], ['m', 'merge [strategy]', 'merge local changes with the imported version. strategy should be "theirs", "ours" or "manual"'], ['', 'dependencies', 'import all dependencies (bit components only) of imported components and write them to the workspace'], ['', 'dependents', 'import components found while traversing from the imported components upwards to the workspace components'], ['', 'filter-envs <envs>', 'only import components that have the specified environment (e.g., "teambit.react/react-env")'], ['', 'save-in-lane', 'when checked out to a lane and the component is not on the remote-lane, save it in the lane (defaults to save on main)'], ['', 'all-history', 'relevant for fetching all components objects. avoid optimizations, fetch all history versions, always'], ['', 'fetch-deps', 'fetch dependencies (bit components) objects to the local scope, but dont add to the workspace. Useful to resolve errors about missing dependency data'], ['', 'track-only', 'do not write any component files, just create .bitmap entries of the imported components. Useful when the files already exist and just want to re-add the component to the bitmap'], ['', 'include-deprecated', 'when importing with patterns, include deprecated components (default to exclude them)']]);
|
|
84
|
+
['x', 'skip-dependency-installation', 'do not auto-install dependencies of the imported components'], ['', 'skip-write-config-files', 'do not write config files (such as eslint, tsconfig, prettier, etc...)'], ['m', 'merge [strategy]', 'merge local changes with the imported version. strategy should be "theirs", "ours" or "manual"'], ['', 'dependencies', 'import all dependencies (bit components only) of imported components and write them to the workspace'], ['', 'dependents', 'import components found while traversing from the imported components upwards to the workspace components'], ['', 'dependents-dry-run', 'same as --dependents, except it prints the found dependents and wait for confirmation before importing them'], ['', 'filter-envs <envs>', 'only import components that have the specified environment (e.g., "teambit.react/react-env")'], ['', 'save-in-lane', 'when checked out to a lane and the component is not on the remote-lane, save it in the lane (defaults to save on main)'], ['', 'all-history', 'relevant for fetching all components objects. avoid optimizations, fetch all history versions, always'], ['', 'fetch-deps', 'fetch dependencies (bit components) objects to the local scope, but dont add to the workspace. Useful to resolve errors about missing dependency data'], ['', 'track-only', 'do not write any component files, just create .bitmap entries of the imported components. Useful when the files already exist and just want to re-add the component to the bitmap'], ['', 'include-deprecated', 'when importing with patterns, include deprecated components (default to exclude them)']]);
|
|
99
85
|
_defineProperty(this, "loader", true);
|
|
100
86
|
_defineProperty(this, "remoteOp", true);
|
|
101
87
|
_defineProperty(this, "_packageManagerArgs", void 0);
|
|
@@ -138,7 +124,7 @@ class ImportCmd {
|
|
|
138
124
|
const upToDateStr = upToDateCount === 0 ? '' : `, ${upToDateCount} components are up to date${upToDateSuffix}`;
|
|
139
125
|
const summary = `${summaryPrefix}${upToDateStr}`;
|
|
140
126
|
const importOutput = (0, _lodash().compact)(importedComponents).join('\n');
|
|
141
|
-
const importedDepsOutput = importFlags.displayDependencies && importedDeps.length ? (0, _utils().immutableUnshift)((0,
|
|
127
|
+
const importedDepsOutput = importFlags.displayDependencies && importedDeps.length ? (0, _utils().immutableUnshift)((0, _lodash().uniq)(importedDeps.map(_chalkBox().formatPlainComponentItem)), _chalk().default.green(`\n\nsuccessfully imported ${importedDeps.length} component dependencies`)).join('\n') : '';
|
|
142
128
|
const output = (0, _lodash().compact)([getWsConfigUpdateLogs(), importOutput, importedDepsOutput, formatMissingComponents(missingIds), (0, _merging().getWorkspaceConfigUpdateOutput)(workspaceConfigUpdateResult), (0, _merging().installationErrorOutput)(installationError), (0, _merging().compilationErrorOutput)(compilationError), _chalk().default.green(summary)]).join('\n\n');
|
|
143
129
|
return output;
|
|
144
130
|
}
|
|
@@ -167,6 +153,7 @@ class ImportCmd {
|
|
|
167
153
|
saveInLane = false,
|
|
168
154
|
dependencies = false,
|
|
169
155
|
dependents = false,
|
|
156
|
+
dependentsDryRun = false,
|
|
170
157
|
allHistory = false,
|
|
171
158
|
fetchDeps = false,
|
|
172
159
|
trackOnly = false,
|
|
@@ -184,11 +171,14 @@ class ImportCmd {
|
|
|
184
171
|
if (!ids.length && dependents) {
|
|
185
172
|
throw new (_generalError().default)('you have to specify ids to use "--dependents" flag');
|
|
186
173
|
}
|
|
174
|
+
if (!ids.length && dependentsDryRun) {
|
|
175
|
+
throw new (_generalError().default)('you have to specify ids to use "--dependents-dry-run" flag');
|
|
176
|
+
}
|
|
187
177
|
if (!ids.length && trackOnly) {
|
|
188
178
|
throw new (_generalError().default)('you have to specify ids to use "--track-only" flag');
|
|
189
179
|
}
|
|
190
180
|
let mergeStrategy;
|
|
191
|
-
if (merge &&
|
|
181
|
+
if (merge && typeof merge === 'string') {
|
|
192
182
|
const options = Object.keys(_mergeVersion().MergeOptions);
|
|
193
183
|
if (!options.includes(merge)) {
|
|
194
184
|
throw new (_generalError().default)(`merge must be one of the following: ${options.join(', ')}`);
|
|
@@ -211,6 +201,7 @@ class ImportCmd {
|
|
|
211
201
|
saveInLane,
|
|
212
202
|
importDependenciesDirectly: dependencies,
|
|
213
203
|
importDependents: dependents,
|
|
204
|
+
dependentsDryRun,
|
|
214
205
|
allHistory,
|
|
215
206
|
fetchDeps,
|
|
216
207
|
trackOnly,
|
package/dist/import.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_lodash","_merging","_mergeVersion","_componentId","_generalError","_utils","_chalkBox","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ImportCmd","constructor","importer","name","description","report","ids","importFlags","importDetails","importedIds","importedDeps","installationError","compilationError","workspaceConfigUpdateResult","missingIds","cancellationMessage","lane","getImportResults","length","chalk","yellow","importedIdsUniqNoVersion","ComponentIdList","fromArray","toVersionLatest","summaryPrefix","upToDateCount","importedComponents","map","bitId","details","find","c","id","toStringWithoutVersion","Error","toString","status","formatPlainComponentItemWithVersions","getWsConfigUpdateLogs","logs","logsStr","join","underline","upToDateSuffix","upToDateStr","summary","importOutput","compact","importedDepsOutput","displayDependencies","immutableUnshift","_uniq2","formatPlainComponentItem","green","output","formatMissingComponents","getWorkspaceConfigUpdateOutput","installationErrorOutput","compilationErrorOutput","json","path","objects","override","verbose","conf","skipDependencyInstallation","skipWriteConfigFiles","merge","filterEnvs","saveInLane","dependencies","dependents","allHistory","fetchDeps","trackOnly","includeDeprecated","GeneralError","mergeStrategy","_is2","options","keys","MergeOptions","includes","envsToFilter","split","p","trim","undefined","importOptions","Boolean","writeToPath","objectsOnly","writeConfig","installNpmPackages","writeConfigFiles","importDependenciesDirectly","importDependents","import","_packageManagerArgs","exports","missing","title","subTitle","body","red","getVersionsOutput","versions","latestVersion","usedVersion","version","getConflictMessage","filesStatus","conflictedFiles","filter","file","FileStatus","manual","bold","conflictMessage","deprecated","removed","missingDeps","d","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, getWorkspaceConfigUpdateOutput } from '@teambit/merging';\nimport {\n FileStatus,\n MergeOptions,\n MergeStrategy,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version/merge-version';\nimport { ComponentIdList, ComponentID } from '@teambit/component-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, ImportResult } from './import-components';\n\ntype ImportFlags = {\n path?: string;\n objects?: boolean;\n displayDependencies?: boolean;\n override?: boolean;\n verbose?: boolean;\n json?: boolean;\n conf?: string;\n skipDependencyInstallation?: boolean;\n skipWriteConfigFiles?: boolean;\n merge?: MergeStrategy;\n filterEnvs?: string;\n saveInLane?: boolean;\n dependencies?: boolean;\n dependents?: boolean;\n allHistory?: boolean;\n fetchDeps?: boolean;\n trackOnly?: boolean;\n includeDeprecated?: boolean;\n};\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 = 'reference/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 the default behavior for import with no id argument',\n ],\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 ['x', 'skip-dependency-installation', 'do not auto-install dependencies of the imported components'],\n ['', 'skip-write-config-files', 'do not write config files (such as eslint, tsconfig, prettier, etc...)'],\n [\n 'm',\n 'merge [strategy]',\n 'merge local changes with the imported version. strategy should be \"theirs\", \"ours\" or \"manual\"',\n ],\n [\n '',\n 'dependencies',\n 'import all dependencies (bit components only) of imported components and write them to the workspace',\n ],\n [\n '',\n 'dependents',\n 'import components found while traversing from the imported components upwards to the workspace components',\n ],\n [\n '',\n 'filter-envs <envs>',\n 'only import components that have the specified environment (e.g., \"teambit.react/react-env\")',\n ],\n [\n '',\n 'save-in-lane',\n 'when checked out to a lane and the component is not on the remote-lane, save it in the lane (defaults 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 [\n '',\n 'fetch-deps',\n 'fetch dependencies (bit components) objects to the local scope, but dont add to the workspace. Useful to resolve errors about missing dependency data',\n ],\n [\n '',\n 'track-only',\n 'do not write any component files, just create .bitmap entries of the imported components. Useful when the files already exist and just want to re-add the component to the bitmap',\n ],\n ['', 'include-deprecated', 'when importing with patterns, include deprecated components (default to exclude them)'],\n ] as CommandOptions;\n loader = true;\n remoteOp = true;\n _packageManagerArgs: string[]; // gets populated by yargs-adapter.handler().\n\n constructor(private importer: ImporterMain) {}\n\n async report([ids = []]: [string[]], importFlags: ImportFlags): Promise<any> {\n const {\n importDetails,\n importedIds,\n importedDeps,\n installationError,\n compilationError,\n workspaceConfigUpdateResult,\n missingIds,\n cancellationMessage,\n lane,\n } = await this.getImportResults(ids, importFlags);\n if (!importedIds.length && !missingIds?.length) {\n return chalk.yellow(cancellationMessage || 'nothing to import');\n }\n const importedIdsUniqNoVersion = ComponentIdList.fromArray(importedIds).toVersionLatest();\n const summaryPrefix =\n importedIdsUniqNoVersion.length === 1\n ? 'successfully imported one component'\n : `successfully imported ${importedIdsUniqNoVersion.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 for component ${bitId.toString()}`);\n if (details.status === 'up to date') {\n upToDateCount += 1;\n }\n return formatPlainComponentItemWithVersions(bitId, details);\n });\n const getWsConfigUpdateLogs = () => {\n // @TODO: uncomment the line below once UPDATE_DEPS_ON_IMPORT is enabled by default\n // if (!importFlags.verbose) return '';\n const logs = workspaceConfigUpdateResult?.logs;\n if (!logs || !logs.length) return '';\n const logsStr = logs.join('\\n');\n return `${chalk.underline(\n 'verbose logs of workspace config update'\n )}\\n(this is temporarily. once this feature is enabled, use --verbose to see these logs)\\n${logsStr}`;\n };\n const upToDateSuffix = lane ? ' on the lane' : '';\n const upToDateStr = upToDateCount === 0 ? '' : `, ${upToDateCount} components are up to date${upToDateSuffix}`;\n const summary = `${summaryPrefix}${upToDateStr}`;\n const importOutput = compact(importedComponents).join('\\n');\n const importedDepsOutput =\n importFlags.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 = compact([\n getWsConfigUpdateLogs(),\n importOutput,\n importedDepsOutput,\n formatMissingComponents(missingIds),\n getWorkspaceConfigUpdateOutput(workspaceConfigUpdateResult),\n installationErrorOutput(installationError),\n compilationErrorOutput(compilationError),\n chalk.green(summary),\n ]).join('\\n\\n');\n\n return output;\n }\n\n async json([ids]: [string[]], importFlags: ImportFlags) {\n const { importDetails, installationError, missingIds } = await this.getImportResults(ids, importFlags);\n\n return { importDetails, installationError, missingIds };\n }\n\n private async getImportResults(\n ids: string[],\n {\n path,\n objects = false,\n override = false,\n verbose = false,\n conf,\n skipDependencyInstallation = false,\n skipWriteConfigFiles = false,\n merge,\n filterEnvs,\n saveInLane = false,\n dependencies = false,\n dependents = false,\n allHistory = false,\n fetchDeps = false,\n trackOnly = false,\n includeDeprecated = false,\n }: ImportFlags\n ): Promise<ImportResult> {\n if (objects && merge) {\n throw new GeneralError(' --objects and --merge flags cannot be used together');\n }\n if (override && merge) {\n throw new GeneralError('--override and --merge cannot be used together');\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 (!ids.length && trackOnly) {\n throw new GeneralError('you have to specify ids to use \"--track-only\" flag');\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 envsToFilter = filterEnvs ? filterEnvs.split(',').map((p) => p.trim()) : undefined;\n\n const importOptions: ImportOptions = {\n ids,\n verbose,\n merge: Boolean(merge),\n filterEnvs: envsToFilter,\n mergeStrategy,\n writeToPath: path,\n objectsOnly: objects,\n override,\n writeConfig: Boolean(conf),\n installNpmPackages: !skipDependencyInstallation,\n writeConfigFiles: !skipWriteConfigFiles,\n saveInLane,\n importDependenciesDirectly: dependencies,\n importDependents: dependents,\n allHistory,\n fetchDeps,\n trackOnly,\n includeDeprecated,\n };\n return this.importer.import(importOptions, this._packageManagerArgs);\n }\n}\n\nfunction formatMissingComponents(missing?: string[]) {\n if (!missing?.length) return '';\n const title = chalk.underline('Missing Components');\n const subTitle = `The following components are missing from the remote in the requested version, try running \"bit status\" to re-sync your .bitmap file\nAlso, check that the requested version exists on main or the checked out lane`;\n const body = chalk.red(missing.join('\\n'));\n return `${title}\\n${subTitle}\\n${body}`;\n}\n\nfunction formatPlainComponentItemWithVersions(bitId: ComponentID, 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":["_chalk","data","_interopRequireDefault","require","_lodash","_merging","_mergeVersion","_componentId","_generalError","_utils","_chalkBox","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ImportCmd","constructor","importer","name","description","report","ids","importFlags","importDetails","importedIds","importedDeps","installationError","compilationError","workspaceConfigUpdateResult","missingIds","cancellationMessage","lane","getImportResults","length","chalk","yellow","importedIdsUniqNoVersion","ComponentIdList","fromArray","toVersionLatest","summaryPrefix","upToDateCount","importedComponents","map","bitId","details","find","c","id","toStringWithoutVersion","Error","toString","status","formatPlainComponentItemWithVersions","getWsConfigUpdateLogs","logs","logsStr","join","underline","upToDateSuffix","upToDateStr","summary","importOutput","compact","importedDepsOutput","displayDependencies","immutableUnshift","uniq","formatPlainComponentItem","green","output","formatMissingComponents","getWorkspaceConfigUpdateOutput","installationErrorOutput","compilationErrorOutput","json","path","objects","override","verbose","conf","skipDependencyInstallation","skipWriteConfigFiles","merge","filterEnvs","saveInLane","dependencies","dependents","dependentsDryRun","allHistory","fetchDeps","trackOnly","includeDeprecated","GeneralError","mergeStrategy","options","keys","MergeOptions","includes","envsToFilter","split","p","trim","undefined","importOptions","Boolean","writeToPath","objectsOnly","writeConfig","installNpmPackages","writeConfigFiles","importDependenciesDirectly","importDependents","import","_packageManagerArgs","exports","missing","title","subTitle","body","red","getVersionsOutput","versions","latestVersion","usedVersion","version","getConflictMessage","filesStatus","conflictedFiles","filter","file","FileStatus","manual","bold","conflictMessage","deprecated","removed","missingDeps","d","dim","cyan"],"sources":["import.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { compact, uniq } from 'lodash';\nimport { installationErrorOutput, compilationErrorOutput, getWorkspaceConfigUpdateOutput } from '@teambit/merging';\nimport {\n FileStatus,\n MergeOptions,\n MergeStrategy,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version/merge-version';\nimport { ComponentIdList, ComponentID } from '@teambit/component-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, ImportResult } from './import-components';\n\ntype ImportFlags = {\n path?: string;\n objects?: boolean;\n displayDependencies?: boolean;\n override?: boolean;\n verbose?: boolean;\n json?: boolean;\n conf?: string;\n skipDependencyInstallation?: boolean;\n skipWriteConfigFiles?: boolean;\n merge?: MergeStrategy;\n filterEnvs?: string;\n saveInLane?: boolean;\n dependencies?: boolean;\n dependents?: boolean;\n dependentsDryRun?: boolean;\n allHistory?: boolean;\n fetchDeps?: boolean;\n trackOnly?: boolean;\n includeDeprecated?: boolean;\n};\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 = 'reference/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 the default behavior for import with no id argument',\n ],\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 ['x', 'skip-dependency-installation', 'do not auto-install dependencies of the imported components'],\n ['', 'skip-write-config-files', 'do not write config files (such as eslint, tsconfig, prettier, etc...)'],\n [\n 'm',\n 'merge [strategy]',\n 'merge local changes with the imported version. strategy should be \"theirs\", \"ours\" or \"manual\"',\n ],\n [\n '',\n 'dependencies',\n 'import all dependencies (bit components only) of imported components and write them to the workspace',\n ],\n [\n '',\n 'dependents',\n 'import components found while traversing from the imported components upwards to the workspace components',\n ],\n [\n '',\n 'dependents-dry-run',\n 'same as --dependents, except it prints the found dependents and wait for confirmation before importing them',\n ],\n [\n '',\n 'filter-envs <envs>',\n 'only import components that have the specified environment (e.g., \"teambit.react/react-env\")',\n ],\n [\n '',\n 'save-in-lane',\n 'when checked out to a lane and the component is not on the remote-lane, save it in the lane (defaults 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 [\n '',\n 'fetch-deps',\n 'fetch dependencies (bit components) objects to the local scope, but dont add to the workspace. Useful to resolve errors about missing dependency data',\n ],\n [\n '',\n 'track-only',\n 'do not write any component files, just create .bitmap entries of the imported components. Useful when the files already exist and just want to re-add the component to the bitmap',\n ],\n ['', 'include-deprecated', 'when importing with patterns, include deprecated components (default to exclude them)'],\n ] as CommandOptions;\n loader = true;\n remoteOp = true;\n _packageManagerArgs: string[]; // gets populated by yargs-adapter.handler().\n\n constructor(private importer: ImporterMain) {}\n\n async report([ids = []]: [string[]], importFlags: ImportFlags): Promise<any> {\n const {\n importDetails,\n importedIds,\n importedDeps,\n installationError,\n compilationError,\n workspaceConfigUpdateResult,\n missingIds,\n cancellationMessage,\n lane,\n } = await this.getImportResults(ids, importFlags);\n if (!importedIds.length && !missingIds?.length) {\n return chalk.yellow(cancellationMessage || 'nothing to import');\n }\n const importedIdsUniqNoVersion = ComponentIdList.fromArray(importedIds).toVersionLatest();\n const summaryPrefix =\n importedIdsUniqNoVersion.length === 1\n ? 'successfully imported one component'\n : `successfully imported ${importedIdsUniqNoVersion.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 for component ${bitId.toString()}`);\n if (details.status === 'up to date') {\n upToDateCount += 1;\n }\n return formatPlainComponentItemWithVersions(bitId, details);\n });\n const getWsConfigUpdateLogs = () => {\n // @TODO: uncomment the line below once UPDATE_DEPS_ON_IMPORT is enabled by default\n // if (!importFlags.verbose) return '';\n const logs = workspaceConfigUpdateResult?.logs;\n if (!logs || !logs.length) return '';\n const logsStr = logs.join('\\n');\n return `${chalk.underline(\n 'verbose logs of workspace config update'\n )}\\n(this is temporarily. once this feature is enabled, use --verbose to see these logs)\\n${logsStr}`;\n };\n const upToDateSuffix = lane ? ' on the lane' : '';\n const upToDateStr = upToDateCount === 0 ? '' : `, ${upToDateCount} components are up to date${upToDateSuffix}`;\n const summary = `${summaryPrefix}${upToDateStr}`;\n const importOutput = compact(importedComponents).join('\\n');\n const importedDepsOutput =\n importFlags.displayDependencies && importedDeps.length\n ? immutableUnshift(\n uniq(importedDeps.map(formatPlainComponentItem)),\n chalk.green(`\\n\\nsuccessfully imported ${importedDeps.length} component dependencies`)\n ).join('\\n')\n : '';\n\n const output = compact([\n getWsConfigUpdateLogs(),\n importOutput,\n importedDepsOutput,\n formatMissingComponents(missingIds),\n getWorkspaceConfigUpdateOutput(workspaceConfigUpdateResult),\n installationErrorOutput(installationError),\n compilationErrorOutput(compilationError),\n chalk.green(summary),\n ]).join('\\n\\n');\n\n return output;\n }\n\n async json([ids]: [string[]], importFlags: ImportFlags) {\n const { importDetails, installationError, missingIds } = await this.getImportResults(ids, importFlags);\n\n return { importDetails, installationError, missingIds };\n }\n\n private async getImportResults(\n ids: string[],\n {\n path,\n objects = false,\n override = false,\n verbose = false,\n conf,\n skipDependencyInstallation = false,\n skipWriteConfigFiles = false,\n merge,\n filterEnvs,\n saveInLane = false,\n dependencies = false,\n dependents = false,\n dependentsDryRun = false,\n allHistory = false,\n fetchDeps = false,\n trackOnly = false,\n includeDeprecated = false,\n }: ImportFlags\n ): Promise<ImportResult> {\n if (objects && merge) {\n throw new GeneralError(' --objects and --merge flags cannot be used together');\n }\n if (override && merge) {\n throw new GeneralError('--override and --merge cannot be used together');\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 (!ids.length && dependentsDryRun) {\n throw new GeneralError('you have to specify ids to use \"--dependents-dry-run\" flag');\n }\n if (!ids.length && trackOnly) {\n throw new GeneralError('you have to specify ids to use \"--track-only\" flag');\n }\n let mergeStrategy;\n if (merge && typeof merge === 'string') {\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 envsToFilter = filterEnvs ? filterEnvs.split(',').map((p) => p.trim()) : undefined;\n\n const importOptions: ImportOptions = {\n ids,\n verbose,\n merge: Boolean(merge),\n filterEnvs: envsToFilter,\n mergeStrategy,\n writeToPath: path,\n objectsOnly: objects,\n override,\n writeConfig: Boolean(conf),\n installNpmPackages: !skipDependencyInstallation,\n writeConfigFiles: !skipWriteConfigFiles,\n saveInLane,\n importDependenciesDirectly: dependencies,\n importDependents: dependents,\n dependentsDryRun,\n allHistory,\n fetchDeps,\n trackOnly,\n includeDeprecated,\n };\n return this.importer.import(importOptions, this._packageManagerArgs);\n }\n}\n\nfunction formatMissingComponents(missing?: string[]) {\n if (!missing?.length) return '';\n const title = chalk.underline('Missing Components');\n const subTitle = `The following components are missing from the remote in the requested version, try running \"bit status\" to re-sync your .bitmap file\nAlso, check that the requested version exists on main or the checked out lane`;\n const body = chalk.red(missing.join('\\n'));\n return `${title}\\n${subTitle}\\n${body}`;\n}\n\nfunction formatPlainComponentItemWithVersions(bitId: ComponentID, 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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"}
|
|
@@ -45,6 +45,7 @@ export declare class ImporterMain {
|
|
|
45
45
|
importedIds: ComponentID[];
|
|
46
46
|
importDetails: import("./import-components").ImportDetails[];
|
|
47
47
|
}>;
|
|
48
|
+
private createImportComponents;
|
|
48
49
|
fetchLanes(lanes: Lane[], shouldFetchFromMain?: boolean, options?: Partial<ImportOptions>): Promise<ImportResult>;
|
|
49
50
|
/**
|
|
50
51
|
* get a Lane object from the remote.
|
|
@@ -221,7 +221,7 @@ class ImporterMain {
|
|
|
221
221
|
};
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
|
-
const importComponents =
|
|
224
|
+
const importComponents = this.createImportComponents(importOptions);
|
|
225
225
|
const results = await importComponents.importComponents();
|
|
226
226
|
_analytics().Analytics.setExtraData('num_components', results.importedIds.length);
|
|
227
227
|
if (results.writtenComponents && results.writtenComponents.length) {
|
|
@@ -242,7 +242,7 @@ class ImporterMain {
|
|
|
242
242
|
installNpmPackages: false,
|
|
243
243
|
writeConfigFiles: false
|
|
244
244
|
});
|
|
245
|
-
const importComponents =
|
|
245
|
+
const importComponents = this.createImportComponents(importOptions);
|
|
246
246
|
return importComponents.importComponents();
|
|
247
247
|
}
|
|
248
248
|
|
|
@@ -278,7 +278,7 @@ class ImporterMain {
|
|
|
278
278
|
remoteLane: currentRemoteLane
|
|
279
279
|
};
|
|
280
280
|
}
|
|
281
|
-
const importComponents =
|
|
281
|
+
const importComponents = this.createImportComponents(importOptions);
|
|
282
282
|
return importComponents.importComponents();
|
|
283
283
|
}
|
|
284
284
|
async importObjectsFromMainIfExist(ids) {
|
|
@@ -334,7 +334,7 @@ class ImporterMain {
|
|
|
334
334
|
writeConfigFiles: false,
|
|
335
335
|
fromOriginalScope
|
|
336
336
|
};
|
|
337
|
-
const importComponents =
|
|
337
|
+
const importComponents = this.createImportComponents(importOptions);
|
|
338
338
|
const {
|
|
339
339
|
importedIds,
|
|
340
340
|
importDetails
|
|
@@ -371,6 +371,9 @@ class ImporterMain {
|
|
|
371
371
|
return [];
|
|
372
372
|
}
|
|
373
373
|
}
|
|
374
|
+
createImportComponents(importOptions) {
|
|
375
|
+
return new (_importComponents().default)(this.workspace, this.graph, this.componentWriter, this.envs, this.logger, importOptions);
|
|
376
|
+
}
|
|
374
377
|
async fetchLanes(lanes, shouldFetchFromMain, options = {}) {
|
|
375
378
|
const resultFromMain = shouldFetchFromMain ? await this.importObjects(options) : {
|
|
376
379
|
importedIds: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_dependencyResolver","_workspace","_interopRequireWildcard","_analytics","_componentIdToPackageName","_interopRequireDefault","_legacyBitId","_pMapSeries","_envs","_componentWriter","_logger","_scope","_laneId","_scopeComponentsImporter","_artifactFiles","_install","_loader","_componentId","_scopeNotFoundOrDenied","_graph","_laneNotFound","_bitError","_import","_importer","_fetchCmd","_importComponents","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","ImporterMain","constructor","workspace","depResolver","graph","scope","componentWriter","envs","logger","import","importOptions","packageManagerArgs","OutsideWorkspaceError","consumer","ids","objectsOnly","isOnLane","currentRemoteLane","getCurrentRemoteLane","lanes","laneId","toLaneId","remoteLane","currentLaneId","getCurrentLaneId","importComponents","ImportComponents","results","Analytics","setExtraData","importedIds","writtenComponents","removeFromWorkspaceConfig","onDestroy","importObjects","options","installNpmPackages","writeConfigFiles","importHeadArtifactsFromLane","lane","toComponentIds","throwIfMissing","laneComps","legacyScope","getManyConsumerComponents","importAllArtifacts","err","error","id","toString","importCurrentObjects","importObjectsFromMainIfExist","scopeImporter","importWithoutDeps","ComponentIdList","fromArray","cache","includeVersionHistory","ignoreMissingHead","fetchLaneComponents","importMany","reason","mergeLane","sources","isRemoteLaneEqualsToMergedLane","isEqual","saveLane","saveLaneHistory","laneHistoryMsg","fetch","components","fromOriginalScope","allHistory","BitError","loader","start","lanesToFetch","getLanes","shouldFetchFromMain","includes","DEFAULT_LANE","fetchLanes","verbose","writeConfig","override","importDetails","remoteLaneIds","map","trackLane","getRemoteTrackedDataByLocalLane","LaneId","from","remoteScope","parse","objects","remoteLanes","getAllRemoteLaneIds","scopeComponentImporter","ScopeComponentsImporter","getInstance","importLanes","InvalidScopeName","ScopeNotFoundOrDenied","LaneNotFound","InvalidScopeNameFromRemote","stop","console","message","resultFromMain","importedDeps","resultsPerLane","pMapSeries","setStatusLine","name","isLaneFromRemote","consoleSuccess","reduce","acc","curr","importLaneObject","persistIfNotExists","includeLaneHistory","laneObject","exists","loadLane","hasChanged","importObjectsByHashes","hashes","groupByScope","importManyObjects","component","importedPackageNames","getImportedPackagesNames","isRemoved","removeFromRootPolicy","persistConfig","componentIdToPackageName","provider","cli","install","loggerMain","createLogger","ImporterAspect","importerMain","registerPreInstall","opts","registerPreLink","fetchObject","register","ImportCmd","FetchCmd","exports","CLIAspect","WorkspaceAspect","DependencyResolverAspect","GraphAspect","ScopeAspect","ComponentWriterAspect","InstallAspect","EnvsAspect","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 { 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 EnvsAspect, { EnvsMain } from '@teambit/envs';\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 { importAllArtifacts } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport InstallAspect, { InstallMain } from '@teambit/install';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { ComponentIdList, ComponentID } from '@teambit/component-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 envs: EnvsMain,\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 = { laneId: currentRemoteLane.toLaneId(), remoteLane: 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 = { laneId: currentLaneId };\n }\n }\n const importComponents = new ImportComponents(\n this.workspace,\n this.graph,\n this.componentWriter,\n this.envs,\n importOptions\n );\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('import');\n return results;\n }\n\n /**\n * fetch objects according to the criteria set by `options` param.\n * to fetch current objects according to the current lane or main, use `this.importCurrentObjects()`.\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 writeConfigFiles: false,\n };\n const importComponents = new ImportComponents(\n this.workspace,\n this.graph,\n this.componentWriter,\n this.envs,\n importOptions\n );\n return importComponents.importComponents();\n }\n\n /**\n * given a lane object, load all components by their head on the lane, find the artifacts refs and import them from\n * the lane scope\n */\n async importHeadArtifactsFromLane(lane: Lane, ids: ComponentID[] = lane.toComponentIds(), throwIfMissing = false) {\n const laneComps = await this.scope.legacyScope.getManyConsumerComponents(ids);\n try {\n await importAllArtifacts(this.scope.legacyScope, laneComps, lane);\n } catch (err) {\n this.logger.error(`failed fetching artifacts for lane ${lane.id.toString()}`, err);\n if (throwIfMissing) throw err;\n }\n }\n\n /**\n * if on main, fetch main objects, if on lane, fetch lane objects.\n */\n async importCurrentObjects(): Promise<ImportResult> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const importOptions: ImportOptions = {\n ids: [],\n objectsOnly: true,\n installNpmPackages: false,\n writeConfigFiles: false,\n };\n const currentRemoteLane = await this.workspace.getCurrentRemoteLane();\n if (currentRemoteLane) {\n importOptions.lanes = { laneId: currentRemoteLane.toLaneId(), remoteLane: currentRemoteLane };\n }\n const importComponents = new ImportComponents(\n this.workspace,\n this.graph,\n this.componentWriter,\n this.envs,\n importOptions\n );\n return importComponents.importComponents();\n }\n\n async importObjectsFromMainIfExist(ids: ComponentID[]) {\n await this.scope.legacyScope.scopeImporter.importWithoutDeps(ComponentIdList.fromArray(ids), {\n cache: false,\n includeVersionHistory: true,\n ignoreMissingHead: true,\n });\n }\n\n /**\n * fetch lane's components and save them in the local scope.\n * once done, merge the lane object and save it as well.\n */\n async fetchLaneComponents(lane: Lane) {\n const ids = lane.toComponentIds();\n await this.scope.legacyScope.scopeImporter.importMany({\n ids,\n lane,\n reason: `for fetching lane ${lane.id()}`,\n });\n const { mergeLane } = await this.scope.legacyScope.sources.mergeLane(lane, true);\n const isRemoteLaneEqualsToMergedLane = lane.isEqual(mergeLane);\n await this.scope.legacyScope.lanes.saveLane(mergeLane, {\n saveLaneHistory: !isRemoteLaneEqualsToMergedLane,\n laneHistoryMsg: 'fetch (merge from remote)',\n });\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 writeConfigFiles: false,\n fromOriginalScope,\n };\n\n const importComponents = new ImportComponents(\n this.workspace,\n this.graph,\n this.componentWriter,\n this.envs,\n importOptions\n );\n const { importedIds, importDetails } = await importComponents.importComponents();\n Analytics.setExtraData('num_components', importedIds.length);\n await consumer.onDestroy('import');\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: any) {\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 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 options.lanes = { laneId: lane.toLaneId(), remoteLane: lane };\n options.isLaneFromRemote = true;\n const results = await this.importObjects(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, includeLaneHistory = false): Promise<Lane> {\n const legacyScope = this.scope.legacyScope;\n const results = await legacyScope.scopeImporter.importLanes([laneId], includeLaneHistory);\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 laneObject.hasChanged = true;\n await legacyScope.lanes.saveLane(laneObject, { saveLaneHistory: false });\n }\n }\n\n return laneObject;\n }\n\n async importObjectsByHashes(hashes: string[], scope: string, reason?: string) {\n const groupByScope = { [scope]: hashes };\n const results = await this.scope.legacyScope.scopeImporter.importManyObjects(groupByScope, reason);\n return results;\n }\n\n private async removeFromWorkspaceConfig(component: ConsumerComponent[]) {\n const importedPackageNames = this.getImportedPackagesNames(component);\n const isRemoved = this.depResolver.removeFromRootPolicy(importedPackageNames);\n if (isRemoved) await this.depResolver.persistConfig('import (remove package)');\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 GraphAspect,\n ScopeAspect,\n ComponentWriterAspect,\n InstallAspect,\n EnvsAspect,\n LoggerAspect,\n ];\n static runtime = MainRuntime;\n static async provider([cli, workspace, depResolver, graph, scope, componentWriter, install, envs, loggerMain]: [\n CLIMain,\n Workspace,\n DependencyResolverMain,\n GraphMain,\n ScopeMain,\n ComponentWriterMain,\n InstallMain,\n EnvsMain,\n LoggerMain\n ]) {\n const logger = loggerMain.createLogger(ImporterAspect.id);\n const importerMain = new ImporterMain(workspace, depResolver, graph, scope, componentWriter, envs, logger);\n install.registerPreInstall(async (opts) => {\n if (!opts?.import) return;\n logger.setStatusLine('importing missing objects');\n await importerMain.importCurrentObjects();\n // logger.consoleSuccess();\n });\n install.registerPreLink(async (opts) => {\n if (opts?.fetchObject) await importerMain.importCurrentObjects();\n });\n cli.register(new ImportCmd(importerMain), new FetchCmd(importerMain));\n return importerMain;\n }\n}\n\nImporterAspect.addRuntime(ImporterMain);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_dependencyResolver","_workspace","_interopRequireWildcard","_analytics","_componentIdToPackageName","_interopRequireDefault","_legacyBitId","_pMapSeries","_envs","_componentWriter","_logger","_scope","_laneId","_scopeComponentsImporter","_artifactFiles","_install","_loader","_componentId","_scopeNotFoundOrDenied","_graph","_laneNotFound","_bitError","_import","_importer","_fetchCmd","_importComponents","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","ImporterMain","constructor","workspace","depResolver","graph","scope","componentWriter","envs","logger","import","importOptions","packageManagerArgs","OutsideWorkspaceError","consumer","ids","objectsOnly","isOnLane","currentRemoteLane","getCurrentRemoteLane","lanes","laneId","toLaneId","remoteLane","currentLaneId","getCurrentLaneId","importComponents","createImportComponents","results","Analytics","setExtraData","importedIds","writtenComponents","removeFromWorkspaceConfig","onDestroy","importObjects","options","installNpmPackages","writeConfigFiles","importHeadArtifactsFromLane","lane","toComponentIds","throwIfMissing","laneComps","legacyScope","getManyConsumerComponents","importAllArtifacts","err","error","id","toString","importCurrentObjects","importObjectsFromMainIfExist","scopeImporter","importWithoutDeps","ComponentIdList","fromArray","cache","includeVersionHistory","ignoreMissingHead","fetchLaneComponents","importMany","reason","mergeLane","sources","isRemoteLaneEqualsToMergedLane","isEqual","saveLane","saveLaneHistory","laneHistoryMsg","fetch","components","fromOriginalScope","allHistory","BitError","loader","start","lanesToFetch","getLanes","shouldFetchFromMain","includes","DEFAULT_LANE","fetchLanes","verbose","writeConfig","override","importDetails","remoteLaneIds","map","trackLane","getRemoteTrackedDataByLocalLane","LaneId","from","remoteScope","parse","objects","remoteLanes","getAllRemoteLaneIds","scopeComponentImporter","ScopeComponentsImporter","getInstance","importLanes","InvalidScopeName","ScopeNotFoundOrDenied","LaneNotFound","InvalidScopeNameFromRemote","stop","console","message","ImportComponents","resultFromMain","importedDeps","resultsPerLane","pMapSeries","setStatusLine","name","isLaneFromRemote","consoleSuccess","reduce","acc","curr","importLaneObject","persistIfNotExists","includeLaneHistory","laneObject","exists","loadLane","hasChanged","importObjectsByHashes","hashes","groupByScope","importManyObjects","component","importedPackageNames","getImportedPackagesNames","isRemoved","removeFromRootPolicy","persistConfig","componentIdToPackageName","provider","cli","install","loggerMain","createLogger","ImporterAspect","importerMain","registerPreInstall","opts","registerPreLink","fetchObject","register","ImportCmd","FetchCmd","exports","CLIAspect","WorkspaceAspect","DependencyResolverAspect","GraphAspect","ScopeAspect","ComponentWriterAspect","InstallAspect","EnvsAspect","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 { 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 EnvsAspect, { EnvsMain } from '@teambit/envs';\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 { importAllArtifacts } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport InstallAspect, { InstallMain } from '@teambit/install';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { ComponentIdList, ComponentID } from '@teambit/component-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 envs: EnvsMain,\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 = { laneId: currentRemoteLane.toLaneId(), remoteLane: 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 = { laneId: currentLaneId };\n }\n }\n const importComponents = this.createImportComponents(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('import');\n return results;\n }\n\n /**\n * fetch objects according to the criteria set by `options` param.\n * to fetch current objects according to the current lane or main, use `this.importCurrentObjects()`.\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 writeConfigFiles: false,\n };\n const importComponents = this.createImportComponents(importOptions);\n return importComponents.importComponents();\n }\n\n /**\n * given a lane object, load all components by their head on the lane, find the artifacts refs and import them from\n * the lane scope\n */\n async importHeadArtifactsFromLane(lane: Lane, ids: ComponentID[] = lane.toComponentIds(), throwIfMissing = false) {\n const laneComps = await this.scope.legacyScope.getManyConsumerComponents(ids);\n try {\n await importAllArtifacts(this.scope.legacyScope, laneComps, lane);\n } catch (err) {\n this.logger.error(`failed fetching artifacts for lane ${lane.id.toString()}`, err);\n if (throwIfMissing) throw err;\n }\n }\n\n /**\n * if on main, fetch main objects, if on lane, fetch lane objects.\n */\n async importCurrentObjects(): Promise<ImportResult> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const importOptions: ImportOptions = {\n ids: [],\n objectsOnly: true,\n installNpmPackages: false,\n writeConfigFiles: false,\n };\n const currentRemoteLane = await this.workspace.getCurrentRemoteLane();\n if (currentRemoteLane) {\n importOptions.lanes = { laneId: currentRemoteLane.toLaneId(), remoteLane: currentRemoteLane };\n }\n const importComponents = this.createImportComponents(importOptions);\n return importComponents.importComponents();\n }\n\n async importObjectsFromMainIfExist(ids: ComponentID[]) {\n await this.scope.legacyScope.scopeImporter.importWithoutDeps(ComponentIdList.fromArray(ids), {\n cache: false,\n includeVersionHistory: true,\n ignoreMissingHead: true,\n });\n }\n\n /**\n * fetch lane's components and save them in the local scope.\n * once done, merge the lane object and save it as well.\n */\n async fetchLaneComponents(lane: Lane) {\n const ids = lane.toComponentIds();\n await this.scope.legacyScope.scopeImporter.importMany({\n ids,\n lane,\n reason: `for fetching lane ${lane.id()}`,\n });\n const { mergeLane } = await this.scope.legacyScope.sources.mergeLane(lane, true);\n const isRemoteLaneEqualsToMergedLane = lane.isEqual(mergeLane);\n await this.scope.legacyScope.lanes.saveLane(mergeLane, {\n saveLaneHistory: !isRemoteLaneEqualsToMergedLane,\n laneHistoryMsg: 'fetch (merge from remote)',\n });\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 writeConfigFiles: false,\n fromOriginalScope,\n };\n\n const importComponents = this.createImportComponents(importOptions);\n const { importedIds, importDetails } = await importComponents.importComponents();\n Analytics.setExtraData('num_components', importedIds.length);\n await consumer.onDestroy('import');\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: any) {\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 private createImportComponents(importOptions: ImportOptions) {\n return new ImportComponents(\n this.workspace,\n this.graph,\n this.componentWriter,\n this.envs,\n this.logger,\n importOptions\n );\n }\n\n async fetchLanes(\n lanes: Lane[],\n shouldFetchFromMain?: boolean,\n options: Partial<ImportOptions> = {}\n ): Promise<ImportResult> {\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 options.lanes = { laneId: lane.toLaneId(), remoteLane: lane };\n options.isLaneFromRemote = true;\n const results = await this.importObjects(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, includeLaneHistory = false): Promise<Lane> {\n const legacyScope = this.scope.legacyScope;\n const results = await legacyScope.scopeImporter.importLanes([laneId], includeLaneHistory);\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 laneObject.hasChanged = true;\n await legacyScope.lanes.saveLane(laneObject, { saveLaneHistory: false });\n }\n }\n\n return laneObject;\n }\n\n async importObjectsByHashes(hashes: string[], scope: string, reason?: string) {\n const groupByScope = { [scope]: hashes };\n const results = await this.scope.legacyScope.scopeImporter.importManyObjects(groupByScope, reason);\n return results;\n }\n\n private async removeFromWorkspaceConfig(component: ConsumerComponent[]) {\n const importedPackageNames = this.getImportedPackagesNames(component);\n const isRemoved = this.depResolver.removeFromRootPolicy(importedPackageNames);\n if (isRemoved) await this.depResolver.persistConfig('import (remove package)');\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 GraphAspect,\n ScopeAspect,\n ComponentWriterAspect,\n InstallAspect,\n EnvsAspect,\n LoggerAspect,\n ];\n static runtime = MainRuntime;\n static async provider([cli, workspace, depResolver, graph, scope, componentWriter, install, envs, loggerMain]: [\n CLIMain,\n Workspace,\n DependencyResolverMain,\n GraphMain,\n ScopeMain,\n ComponentWriterMain,\n InstallMain,\n EnvsMain,\n LoggerMain\n ]) {\n const logger = loggerMain.createLogger(ImporterAspect.id);\n const importerMain = new ImporterMain(workspace, depResolver, graph, scope, componentWriter, envs, logger);\n install.registerPreInstall(async (opts) => {\n if (!opts?.import) return;\n logger.setStatusLine('importing missing objects');\n await importerMain.importCurrentObjects();\n // logger.consoleSuccess();\n });\n install.registerPreLink(async (opts) => {\n if (opts?.fetchObject) await importerMain.importCurrentObjects();\n });\n cli.register(new ImportCmd(importerMain), new FetchCmd(importerMain));\n return importerMain;\n }\n}\n\nImporterAspect.addRuntime(ImporterMain);\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_importer@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_importer@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_importer@1.0.141/dist/importer.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_importer@1.0.141/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,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/importer",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.141",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/scope/importer",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.scope",
|
|
8
8
|
"name": "importer",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.141"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
13
13
|
"lodash": "4.17.21",
|
|
14
14
|
"p-map-series": "2.1.0",
|
|
15
|
-
"
|
|
15
|
+
"yesno": "0.4.0",
|
|
16
16
|
"@teambit/component-id": "1.2.0",
|
|
17
17
|
"@teambit/bit-error": "0.0.404",
|
|
18
18
|
"@teambit/component-version": "1.0.3",
|
|
@@ -20,17 +20,17 @@
|
|
|
20
20
|
"@teambit/harmony": "0.4.6",
|
|
21
21
|
"@teambit/legacy-bit-id": "1.1.0",
|
|
22
22
|
"@teambit/cli": "0.0.848",
|
|
23
|
-
"@teambit/checkout": "1.0.
|
|
24
|
-
"@teambit/component-writer": "1.0.
|
|
25
|
-
"@teambit/config-merger": "0.0.
|
|
26
|
-
"@teambit/envs": "1.0.
|
|
27
|
-
"@teambit/graph": "1.0.
|
|
28
|
-
"@teambit/merging": "1.0.139",
|
|
29
|
-
"@teambit/workspace": "1.0.139",
|
|
30
|
-
"@teambit/dependency-resolver": "1.0.139",
|
|
31
|
-
"@teambit/install": "1.0.139",
|
|
23
|
+
"@teambit/checkout": "1.0.141",
|
|
24
|
+
"@teambit/component-writer": "1.0.141",
|
|
25
|
+
"@teambit/config-merger": "0.0.8",
|
|
26
|
+
"@teambit/envs": "1.0.141",
|
|
27
|
+
"@teambit/graph": "1.0.141",
|
|
32
28
|
"@teambit/logger": "0.0.941",
|
|
33
|
-
"@teambit/
|
|
29
|
+
"@teambit/merging": "1.0.141",
|
|
30
|
+
"@teambit/workspace": "1.0.141",
|
|
31
|
+
"@teambit/dependency-resolver": "1.0.141",
|
|
32
|
+
"@teambit/install": "1.0.141",
|
|
33
|
+
"@teambit/scope": "1.0.141"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/lodash": "4.14.165",
|