@teambit/snapping 0.0.6 → 0.0.9
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/dist/components-have-issues.js +41 -4
- package/dist/components-have-issues.js.map +1 -1
- package/dist/snapping.main.runtime.d.ts +7 -3
- package/dist/snapping.main.runtime.js +74 -10
- package/dist/snapping.main.runtime.js.map +1 -1
- package/package-tar/teambit-snapping-0.0.9.tgz +0 -0
- package/package.json +14 -12
- /package/{preview-1648386827284.js → preview-1648659683881.js} +0 -0
- package/package-tar/teambit-snapping-0.0.6.tgz +0 -0
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
require("core-js/modules/es.array.flat.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.array.unscopables.flat.js");
|
|
8
|
+
|
|
5
9
|
Object.defineProperty(exports, "__esModule", {
|
|
6
10
|
value: true
|
|
7
11
|
});
|
|
@@ -28,7 +32,7 @@ function _issues() {
|
|
|
28
32
|
}
|
|
29
33
|
|
|
30
34
|
function _componentIssuesTemplate() {
|
|
31
|
-
const data =
|
|
35
|
+
const data = require("@teambit/legacy/dist/cli/templates/component-issues-template");
|
|
32
36
|
|
|
33
37
|
_componentIssuesTemplate = function () {
|
|
34
38
|
return data;
|
|
@@ -37,19 +41,43 @@ function _componentIssuesTemplate() {
|
|
|
37
41
|
return data;
|
|
38
42
|
}
|
|
39
43
|
|
|
44
|
+
function _chalk() {
|
|
45
|
+
const data = _interopRequireDefault(require("chalk"));
|
|
46
|
+
|
|
47
|
+
_chalk = function () {
|
|
48
|
+
return data;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
return data;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function _lodash() {
|
|
55
|
+
const data = require("lodash");
|
|
56
|
+
|
|
57
|
+
_lodash = function () {
|
|
58
|
+
return data;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
return data;
|
|
62
|
+
}
|
|
63
|
+
|
|
40
64
|
class ComponentsHaveIssues extends _bitError().BitError {
|
|
41
65
|
constructor(components) {
|
|
42
|
-
|
|
66
|
+
components.forEach(component => {
|
|
67
|
+
component.issues = component.issues.filterNonTagBlocking();
|
|
68
|
+
});
|
|
69
|
+
const allIssueNames = (0, _lodash().uniq)(components.map(comp => comp.issues.getAllIssueNames()).flat());
|
|
70
|
+
const issuesColored = componentIssuesTemplate(components);
|
|
43
71
|
super(`error: issues found with the following components
|
|
44
72
|
${issuesColored}
|
|
45
73
|
|
|
46
74
|
to get the list of component-issues names and suggestions how to resolve them, run "bit component-issues".
|
|
47
75
|
|
|
48
76
|
while highly not recommended, it's possible to ignore issues in two ways:
|
|
49
|
-
1) temporarily ignore for this tag/snap command by entering "--ignore-issues" flag, e.g. \`bit tag --ignore-issues "
|
|
77
|
+
1) temporarily ignore for this tag/snap command by entering "--ignore-issues" flag, e.g. \`bit tag --ignore-issues "${allIssueNames.join(', ')}" \`
|
|
50
78
|
2) ignore the issue completely by configuring it in the workspace.jsonc file. e.g:
|
|
51
79
|
"${_issues().default.id}": {
|
|
52
|
-
"ignoreIssues": ["
|
|
80
|
+
"ignoreIssues": [${allIssueNames.map(issue => `"${issue}"`).join(', ')}]
|
|
53
81
|
}
|
|
54
82
|
`);
|
|
55
83
|
}
|
|
@@ -58,4 +86,13 @@ while highly not recommended, it's possible to ignore issues in two ways:
|
|
|
58
86
|
|
|
59
87
|
exports.ComponentsHaveIssues = ComponentsHaveIssues;
|
|
60
88
|
|
|
89
|
+
function componentIssuesTemplate(components) {
|
|
90
|
+
function format(component) {
|
|
91
|
+
return `${_chalk().default.underline(_chalk().default.cyan(component.id.toString()))}\n${(0, _componentIssuesTemplate().formatIssues)(component)}`;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const result = `\n${components.map(format).join('\n')}`;
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
97
|
+
|
|
61
98
|
//# sourceMappingURL=components-have-issues.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components-have-issues.ts"],"names":["ComponentsHaveIssues","BitError","constructor","components","issuesColored","IssuesAspect","id"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["components-have-issues.ts"],"names":["ComponentsHaveIssues","BitError","constructor","components","forEach","component","issues","filterNonTagBlocking","allIssueNames","map","comp","getAllIssueNames","flat","issuesColored","componentIssuesTemplate","join","IssuesAspect","id","issue","format","chalk","underline","cyan","toString","result"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,oBAAN,SAAmCC,oBAAnC,CAA4C;AACjDC,EAAAA,WAAW,CAACC,UAAD,EAAkC;AAC3CA,IAAAA,UAAU,CAACC,OAAX,CAAoBC,SAAD,IAAe;AAChCA,MAAAA,SAAS,CAACC,MAAV,GAAmBD,SAAS,CAACC,MAAV,CAAiBC,oBAAjB,EAAnB;AACD,KAFD;AAGA,UAAMC,aAAa,GAAG,oBAAKL,UAAU,CAACM,GAAX,CAAgBC,IAAD,IAAUA,IAAI,CAACJ,MAAL,CAAYK,gBAAZ,EAAzB,EAAyDC,IAAzD,EAAL,CAAtB;AACA,UAAMC,aAAa,GAAGC,uBAAuB,CAACX,UAAD,CAA7C;AACA,UAAO;AACX,EAAEU,aAAc;AAChB;AACA;AACA;AACA;AACA,sHAAsHL,aAAa,CAACO,IAAd,CAChH,IADgH,CAEhH;AACN;AACA,GAAGC,kBAAaC,EAAG;AACnB,qBAAqBT,aAAa,CAACC,GAAd,CAAmBS,KAAD,IAAY,IAAGA,KAAM,GAAvC,EAA2CH,IAA3C,CAAgD,IAAhD,CAAsD;AAC3E;AACA,CAbI;AAcD;;AArBgD;;;;AAwBnD,SAASD,uBAAT,CAAiCX,UAAjC,EAAkE;AAChE,WAASgB,MAAT,CAAgBd,SAAhB,EAA8C;AAC5C,WAAQ,GAAEe,iBAAMC,SAAN,CAAgBD,iBAAME,IAAN,CAAWjB,SAAS,CAACY,EAAV,CAAaM,QAAb,EAAX,CAAhB,CAAqD,KAAI,6CAAalB,SAAb,CAAwB,EAA3F;AACD;;AAED,QAAMmB,MAAM,GAAI,KAAIrB,UAAU,CAACM,GAAX,CAAeU,MAAf,EAAuBJ,IAAvB,CAA4B,IAA5B,CAAkC,EAAtD;AACA,SAAOS,MAAP;AACD","sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport IssuesAspect from '@teambit/issues';\nimport { formatIssues } from '@teambit/legacy/dist/cli/templates/component-issues-template';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport chalk from 'chalk';\nimport { uniq } from 'lodash';\n\nexport class ComponentsHaveIssues extends BitError {\n constructor(components: ConsumerComponent[]) {\n components.forEach((component) => {\n component.issues = component.issues.filterNonTagBlocking();\n });\n const allIssueNames = uniq(components.map((comp) => comp.issues.getAllIssueNames()).flat());\n const issuesColored = componentIssuesTemplate(components);\n super(`error: issues found with the following components\n${issuesColored}\n\nto get the list of component-issues names and suggestions how to resolve them, run \"bit component-issues\".\n\nwhile highly not recommended, it's possible to ignore issues in two ways:\n1) temporarily ignore for this tag/snap command by entering \"--ignore-issues\" flag, e.g. \\`bit tag --ignore-issues \"${allIssueNames.join(\n ', '\n )}\" \\`\n2) ignore the issue completely by configuring it in the workspace.jsonc file. e.g:\n\"${IssuesAspect.id}\": {\n \"ignoreIssues\": [${allIssueNames.map((issue) => `\"${issue}\"`).join(', ')}]\n}\n`);\n }\n}\n\nfunction componentIssuesTemplate(components: ConsumerComponent[]) {\n function format(component: ConsumerComponent) {\n return `${chalk.underline(chalk.cyan(component.id.toString()))}\\n${formatIssues(component)}`;\n }\n\n const result = `\\n${components.map(format).join('\\n')}`;\n return result;\n}\n"]}
|
|
@@ -5,12 +5,14 @@ import { BitIds } from '@teambit/legacy/dist/bit-id';
|
|
|
5
5
|
import { TagResults, BasicTagParams } from '@teambit/legacy/dist/api/consumer/lib/tag';
|
|
6
6
|
import { SnapResults } from '@teambit/legacy/dist/api/consumer/lib/snap';
|
|
7
7
|
import { Logger, LoggerMain } from '@teambit/logger';
|
|
8
|
+
import { InsightsMain } from '@teambit/insights';
|
|
8
9
|
import { IssuesMain } from '@teambit/issues';
|
|
9
10
|
export declare class SnappingMain {
|
|
10
11
|
private workspace;
|
|
11
12
|
private logger;
|
|
12
13
|
private issues;
|
|
13
|
-
|
|
14
|
+
private insights;
|
|
15
|
+
constructor(workspace: Workspace, logger: Logger, issues: IssuesMain, insights: InsightsMain);
|
|
14
16
|
/**
|
|
15
17
|
* tag the given component ids or all modified/new components if "all" param is set.
|
|
16
18
|
* tag is a similar operation as a snap, which saves the changes into the local scope, but it also creates an alias
|
|
@@ -51,16 +53,18 @@ export declare class SnappingMain {
|
|
|
51
53
|
}): Promise<SnapResults | null>;
|
|
52
54
|
private loadComponentsForTag;
|
|
53
55
|
private throwForComponentIssues;
|
|
56
|
+
private throwForLegacyDependenciesInsideHarmony;
|
|
54
57
|
private getComponentsToTag;
|
|
55
58
|
static slots: never[];
|
|
56
59
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
57
60
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
58
|
-
static provider([workspace, cli, community, loggerMain, issues]: [
|
|
61
|
+
static provider([workspace, cli, community, loggerMain, issues, insights]: [
|
|
59
62
|
Workspace,
|
|
60
63
|
CLIMain,
|
|
61
64
|
CommunityMain,
|
|
62
65
|
LoggerMain,
|
|
63
|
-
IssuesMain
|
|
66
|
+
IssuesMain,
|
|
67
|
+
InsightsMain
|
|
64
68
|
]): Promise<SnappingMain>;
|
|
65
69
|
}
|
|
66
70
|
export default SnappingMain;
|
|
@@ -261,6 +261,36 @@ function _bitError() {
|
|
|
261
261
|
return data;
|
|
262
262
|
}
|
|
263
263
|
|
|
264
|
+
function _pMap() {
|
|
265
|
+
const data = _interopRequireDefault(require("p-map"));
|
|
266
|
+
|
|
267
|
+
_pMap = function () {
|
|
268
|
+
return data;
|
|
269
|
+
};
|
|
270
|
+
|
|
271
|
+
return data;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
function _insights() {
|
|
275
|
+
const data = require("@teambit/insights");
|
|
276
|
+
|
|
277
|
+
_insights = function () {
|
|
278
|
+
return data;
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
return data;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
function _concurrency() {
|
|
285
|
+
const data = require("@teambit/legacy/dist/utils/concurrency");
|
|
286
|
+
|
|
287
|
+
_concurrency = function () {
|
|
288
|
+
return data;
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
return data;
|
|
292
|
+
}
|
|
293
|
+
|
|
264
294
|
function _failedLoadForTag() {
|
|
265
295
|
const data = require("@teambit/legacy/dist/consumer/component/exceptions/failed-load-for-tag");
|
|
266
296
|
|
|
@@ -324,10 +354,11 @@ function _componentsHaveIssues() {
|
|
|
324
354
|
const HooksManagerInstance = _hooks().default.getInstance();
|
|
325
355
|
|
|
326
356
|
class SnappingMain {
|
|
327
|
-
constructor(workspace, logger, issues) {
|
|
357
|
+
constructor(workspace, logger, issues, insights) {
|
|
328
358
|
this.workspace = workspace;
|
|
329
359
|
this.logger = logger;
|
|
330
360
|
this.issues = issues;
|
|
361
|
+
this.insights = insights;
|
|
331
362
|
}
|
|
332
363
|
/**
|
|
333
364
|
* tag the given component ids or all modified/new components if "all" param is set.
|
|
@@ -442,7 +473,8 @@ class SnappingMain {
|
|
|
442
473
|
}
|
|
443
474
|
|
|
444
475
|
const components = await this.loadComponentsForTag(legacyBitIds);
|
|
445
|
-
this.
|
|
476
|
+
await this.throwForLegacyDependenciesInsideHarmony(components);
|
|
477
|
+
await this.throwForComponentIssues(components, ignoreIssues);
|
|
446
478
|
const areComponentsMissingFromScope = components.some(c => !c.componentFromModel && c.id.hasScope());
|
|
447
479
|
|
|
448
480
|
if (areComponentsMissingFromScope) {
|
|
@@ -529,7 +561,8 @@ class SnappingMain {
|
|
|
529
561
|
this.logger.debug(`snapping the following components: ${ids.toString()}`);
|
|
530
562
|
await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();
|
|
531
563
|
const components = await this.loadComponentsForTag(ids);
|
|
532
|
-
this.
|
|
564
|
+
await this.throwForLegacyDependenciesInsideHarmony(components);
|
|
565
|
+
await this.throwForComponentIssues(components, ignoreIssues);
|
|
533
566
|
const areComponentsMissingFromScope = components.some(c => !c.componentFromModel && c.id.hasScope());
|
|
534
567
|
|
|
535
568
|
if (areComponentsMissingFromScope) {
|
|
@@ -644,8 +677,8 @@ class SnappingMain {
|
|
|
644
677
|
return reloadedComponents;
|
|
645
678
|
}
|
|
646
679
|
|
|
647
|
-
throwForComponentIssues(
|
|
648
|
-
|
|
680
|
+
async throwForComponentIssues(legacyComponents, ignoreIssues) {
|
|
681
|
+
legacyComponents.forEach(component => {
|
|
649
682
|
if (this.workspace.isLegacy && component.issues) {
|
|
650
683
|
component.issues.delete(_componentIssues().IssuesClasses.RelativeComponentsAuthored);
|
|
651
684
|
}
|
|
@@ -659,6 +692,12 @@ class SnappingMain {
|
|
|
659
692
|
const issuesToIgnoreFromFlag = (ignoreIssues === null || ignoreIssues === void 0 ? void 0 : ignoreIssues.split(',').map(issue => issue.trim())) || [];
|
|
660
693
|
const issuesToIgnoreFromConfig = this.issues.getIssuesToIgnore();
|
|
661
694
|
const issuesToIgnore = [...issuesToIgnoreFromFlag, ...issuesToIgnoreFromConfig];
|
|
695
|
+
|
|
696
|
+
if (!this.workspace.isLegacy && !issuesToIgnore.includes(_componentIssues().IssuesClasses.CircularDependencies.name)) {
|
|
697
|
+
const components = await this.workspace.getManyByLegacy(legacyComponents);
|
|
698
|
+
await this.insights.addInsightsAsComponentIssues(components);
|
|
699
|
+
}
|
|
700
|
+
|
|
662
701
|
issuesToIgnore.forEach(issue => {
|
|
663
702
|
const issueClass = _componentIssues().IssuesClasses[issue];
|
|
664
703
|
|
|
@@ -666,11 +705,11 @@ class SnappingMain {
|
|
|
666
705
|
throw new Error(`unrecognized component-issue "${issue}". please specify one of the following:\n${Object.keys(_componentIssues().IssuesClasses).join('\n')}`);
|
|
667
706
|
}
|
|
668
707
|
|
|
669
|
-
|
|
708
|
+
legacyComponents.forEach(component => {
|
|
670
709
|
component.issues.delete(issueClass);
|
|
671
710
|
});
|
|
672
711
|
});
|
|
673
|
-
const componentsWithBlockingIssues =
|
|
712
|
+
const componentsWithBlockingIssues = legacyComponents.filter(component => {
|
|
674
713
|
var _component$issues3;
|
|
675
714
|
|
|
676
715
|
return (_component$issues3 = component.issues) === null || _component$issues3 === void 0 ? void 0 : _component$issues3.shouldBlockTagging();
|
|
@@ -681,6 +720,31 @@ class SnappingMain {
|
|
|
681
720
|
}
|
|
682
721
|
}
|
|
683
722
|
|
|
723
|
+
async throwForLegacyDependenciesInsideHarmony(components) {
|
|
724
|
+
if (this.workspace.isLegacy) {
|
|
725
|
+
return;
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
const throwForComponent = async component => {
|
|
729
|
+
const dependenciesIds = component.getAllDependenciesIds();
|
|
730
|
+
const legacyScope = this.workspace.scope.legacyScope;
|
|
731
|
+
await Promise.all(dependenciesIds.map(async depId => {
|
|
732
|
+
if (!depId.hasVersion()) return;
|
|
733
|
+
const modelComp = await legacyScope.getModelComponentIfExist(depId);
|
|
734
|
+
if (!modelComp) return;
|
|
735
|
+
const version = await modelComp.loadVersion(depId.version, legacyScope.objects);
|
|
736
|
+
|
|
737
|
+
if (version.isLegacy) {
|
|
738
|
+
throw new Error(`unable tagging "${component.id.toString()}", its dependency "${depId.toString()}" is legacy`);
|
|
739
|
+
}
|
|
740
|
+
}));
|
|
741
|
+
};
|
|
742
|
+
|
|
743
|
+
await (0, _pMap().default)(components, component => throwForComponent(component), {
|
|
744
|
+
concurrency: (0, _concurrency().concurrentComponentsLimit)()
|
|
745
|
+
});
|
|
746
|
+
}
|
|
747
|
+
|
|
684
748
|
async getComponentsToTag(isAllScope, exactVersion, includeImported, persist, force, ids, snapped) {
|
|
685
749
|
const warnings = [];
|
|
686
750
|
const componentsList = new (_componentsList().default)(this.workspace.consumer);
|
|
@@ -747,9 +811,9 @@ class SnappingMain {
|
|
|
747
811
|
};
|
|
748
812
|
}
|
|
749
813
|
|
|
750
|
-
static async provider([workspace, cli, community, loggerMain, issues]) {
|
|
814
|
+
static async provider([workspace, cli, community, loggerMain, issues, insights]) {
|
|
751
815
|
const logger = loggerMain.createLogger(_snapping().SnappingAspect.id);
|
|
752
|
-
const snapping = new SnappingMain(workspace, logger, issues);
|
|
816
|
+
const snapping = new SnappingMain(workspace, logger, issues, insights);
|
|
753
817
|
const snapCmd = new (_snapCmd().SnapCmd)(community.getBaseDomain(), snapping);
|
|
754
818
|
const tagCmd = new (_tagCmd().TagCmd)(community.getBaseDomain(), snapping);
|
|
755
819
|
cli.register(tagCmd, snapCmd);
|
|
@@ -760,7 +824,7 @@ class SnappingMain {
|
|
|
760
824
|
|
|
761
825
|
exports.SnappingMain = SnappingMain;
|
|
762
826
|
(0, _defineProperty2().default)(SnappingMain, "slots", []);
|
|
763
|
-
(0, _defineProperty2().default)(SnappingMain, "dependencies", [_workspace().default, _cli().CLIAspect, _community().default, _logger().LoggerAspect, _issues().default]);
|
|
827
|
+
(0, _defineProperty2().default)(SnappingMain, "dependencies", [_workspace().default, _cli().CLIAspect, _community().default, _logger().LoggerAspect, _issues().default, _insights().InsightsAspect]);
|
|
764
828
|
(0, _defineProperty2().default)(SnappingMain, "runtime", _cli().MainRuntime);
|
|
765
829
|
|
|
766
830
|
_snapping().SnappingAspect.addRuntime(SnappingMain);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["snapping.main.runtime.ts"],"names":["HooksManagerInstance","HooksManager","getInstance","SnappingMain","constructor","workspace","logger","issues","tag","ids","message","ver","all","editor","snapped","patch","minor","major","preRelease","force","verbose","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","scope","build","soft","persist","forceDeploy","incrementBy","disableTagAndSnapPipelines","BUILD_ON_CI","Boolean","getVersion","length","BitError","releaseFlags","filter","x","releaseType","DEFAULT_BIT_RELEASE_TYPE","includeImported","exactVersion","ConsumerNotFound","idsHasWildcard","isAll","validExactVersion","consumer","componentsList","ComponentsList","loader","start","newComponents","listNewComponents","bitIds","warnings","getComponentsToTag","R","isEmpty","legacyBitIds","BitIds","fromArray","isLegacy","debug","toString","Analytics","addBreadCrumb","hashData","componentFsCache","deleteAllDependenciesDataCache","components","loadComponentsForTag","throwForComponentIssues","areComponentsMissingFromScope","some","c","componentFromModel","id","hasScope","ComponentsPendingImport","taggedComponents","autoTaggedResults","publishedPackages","consumerComponents","legacyScope","resolveUnmerged","tagResults","isSoftTag","postHook","POST_TAG_ALL_HOOK","POST_TAG_HOOK","triggerHook","setExtraData","concat","onDestroy","snap","skipAutoSnap","Error","LanesIsDisabled","getIdsToSnap","isSnap","snapResults","snappedComponents","autoSnappedResults","currentLane","getCurrentLaneId","laneName","isDefault","name","idHasWildcard","bitId","getParsedId","componentStatus","getComponentStatusById","modified","tagPendingComponents","listTagPendingComponents","filterComponentsByWildcard","loadComponents","toVersionLatest","shouldReloadComponents","componentsWithRelativePaths","componentsWithFilesNotDir","componentsWithCustomModuleResolution","forEach","component","componentMap","rootDir","hasRelativePaths","getIssue","IssuesClasses","RelativeComponentsAuthored","hasCustomModuleResolutions","MissingCustomModuleResolutionLinks","trackDir","changeRootDirAndUpdateFilesAccordingly","push","toStringWithoutVersion","FailedLoadForTag","sort","clearCache","reloadedComponents","delete","issuesToIgnoreFromFlag","split","map","issue","trim","issuesToIgnoreFromConfig","getIssuesToIgnore","issuesToIgnore","issueClass","Object","keys","join","componentsWithBlockingIssues","shouldBlockTagging","ComponentsHaveIssues","isAllScope","softTaggedComponents","listSoftTaggedComponents","listTagPendingOfAllScope","listSnappedComponentsOnMain","snappedComponentsIds","toBitId","Promise","idWithoutVer","version","allIds","changeVersion","flat","tagPendingComponentsLatest","latestVersions","componentId","semver","valid","gt","undefined","provider","cli","community","loggerMain","createLogger","SnappingAspect","snapping","snapCmd","SnapCmd","getBaseDomain","tagCmd","TagCmd","register","WorkspaceAspect","CLIAspect","CommunityAspect","LoggerAspect","IssuesAspect","MainRuntime","addRuntime"],"mappings":"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","sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { isString } from '@teambit/legacy/dist/utils';\nimport { isFeatureEnabled, BUILD_ON_CI } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport CommunityAspect, { CommunityMain } from '@teambit/community';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport R from 'ramda';\nimport semver, { ReleaseType } from 'semver';\nimport { compact } from 'lodash';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport { POST_TAG_ALL_HOOK, POST_TAG_HOOK, DEFAULT_BIT_RELEASE_TYPE } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport HooksManager from '@teambit/legacy/dist/hooks';\nimport { TagResults, BasicTagParams } from '@teambit/legacy/dist/api/consumer/lib/tag';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { validateVersion } from '@teambit/legacy/dist/utils/semver-helper';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport tagModelComponent from '@teambit/legacy/dist/scope/component-ops/tag-model-component';\nimport { LanesIsDisabled } from '@teambit/legacy/dist/consumer/lanes/exceptions/lanes-is-disabled';\nimport { SnapResults } from '@teambit/legacy/dist/api/consumer/lib/snap';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport { FailedLoadForTag } from '@teambit/legacy/dist/consumer/component/exceptions/failed-load-for-tag';\nimport IssuesAspect, { IssuesMain } from '@teambit/issues';\nimport { SnapCmd } from './snap-cmd';\nimport { SnappingAspect } from './snapping.aspect';\nimport { TagCmd } from './tag-cmd';\nimport { ComponentsHaveIssues } from './components-have-issues';\n\nconst HooksManagerInstance = HooksManager.getInstance();\n\nexport class SnappingMain {\n constructor(private workspace: Workspace, private logger: Logger, private issues: IssuesMain) {}\n\n /**\n * tag the given component ids or all modified/new components if \"all\" param is set.\n * tag is a similar operation as a snap, which saves the changes into the local scope, but it also creates an alias\n * with a valid semver to that version.\n * tag can be done only on main, not on a lane.\n */\n // eslint-disable-next-line complexity\n async tag({\n ids = [],\n message = '',\n ver,\n all = false,\n editor = '',\n snapped = false,\n patch,\n minor,\n major,\n preRelease,\n force = false,\n verbose = false,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag = false,\n scope,\n build,\n soft = false,\n persist = false,\n forceDeploy = false,\n incrementBy = 1,\n disableTagAndSnapPipelines = false,\n }: {\n ids?: string[];\n all?: boolean | string;\n snapped?: boolean | string;\n ver?: string;\n patch?: boolean;\n minor?: boolean;\n major?: boolean;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n } & Partial<BasicTagParams>): Promise<TagResults | null> {\n build = isFeatureEnabled(BUILD_ON_CI) ? Boolean(build) : true;\n if (soft) build = false;\n function getVersion(): string | undefined {\n if (scope && isString(scope)) return scope;\n if (all && isString(all)) return all;\n if (snapped && isString(snapped)) return snapped;\n return ver;\n }\n\n if (!ids.length && !all && !snapped && !scope && !persist) {\n throw new BitError('missing [id]. to tag all components, please use --all flag');\n }\n if (ids.length && all) {\n throw new BitError(\n 'you can use either a specific component [id] to tag a particular component or --all flag to tag them all'\n );\n }\n if (disableTagAndSnapPipelines && forceDeploy) {\n throw new BitError('you can use either force-deploy or disable-tag-pipeline, but not both');\n }\n if (all && persist) {\n throw new BitError('you can use either --all or --persist, but not both');\n }\n if (editor && persist) {\n throw new BitError('you can use either --editor or --persist, but not both');\n }\n if (editor && message) {\n throw new BitError('you can use either --editor or --message, but not both');\n }\n\n const releaseFlags = [patch, minor, major, preRelease].filter((x) => x);\n if (releaseFlags.length > 1) {\n throw new BitError('you can use only one of the following - patch, minor, major, pre-release');\n }\n\n let releaseType: ReleaseType = DEFAULT_BIT_RELEASE_TYPE;\n const includeImported = Boolean(scope && all);\n\n if (major) releaseType = 'major';\n else if (minor) releaseType = 'minor';\n else if (patch) releaseType = 'patch';\n else if (preRelease) releaseType = 'prerelease';\n\n const exactVersion = getVersion();\n all = Boolean(all);\n snapped = Boolean(snapped);\n preRelease = typeof preRelease === 'string' ? preRelease : '';\n\n if (!this.workspace) throw new ConsumerNotFound();\n const idsHasWildcard = hasWildcard(ids);\n const isAll = Boolean(all || scope || idsHasWildcard);\n const validExactVersion = validateVersion(exactVersion);\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n loader.start('determine components to tag...');\n const newComponents = await componentsList.listNewComponents();\n const { bitIds, warnings } = await this.getComponentsToTag(\n Boolean(scope),\n exactVersion,\n includeImported,\n persist,\n force,\n ids,\n snapped\n );\n if (R.isEmpty(bitIds)) return null;\n\n const legacyBitIds = BitIds.fromArray(bitIds);\n\n if (this.workspace.isLegacy) {\n persist = true;\n }\n this.logger.debug(`tagging the following components: ${legacyBitIds.toString()}`);\n Analytics.addBreadCrumb('tag', `tagging the following components: ${Analytics.hashData(legacyBitIds)}`);\n if (!soft) {\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n }\n const components = await this.loadComponentsForTag(legacyBitIds);\n this.throwForComponentIssues(components, ignoreIssues);\n const areComponentsMissingFromScope = components.some((c) => !c.componentFromModel && c.id.hasScope());\n if (areComponentsMissingFromScope) {\n throw new ComponentsPendingImport();\n }\n\n const { taggedComponents, autoTaggedResults, publishedPackages } = await tagModelComponent({\n consumerComponents: components,\n ids: legacyBitIds,\n scope: this.workspace.scope.legacyScope,\n message,\n editor,\n exactVersion: validExactVersion,\n releaseType,\n preRelease,\n force,\n consumer: this.workspace.consumer,\n ignoreNewestVersion,\n skipTests,\n verbose,\n skipAutoTag,\n soft,\n build,\n persist,\n resolveUnmerged: false,\n disableTagAndSnapPipelines,\n forceDeploy,\n incrementBy,\n });\n\n const tagResults = { taggedComponents, autoTaggedResults, isSoftTag: soft, publishedPackages };\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n tagResults.warnings = warnings;\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n tagResults.newComponents = newComponents;\n const postHook = isAll ? POST_TAG_ALL_HOOK : POST_TAG_HOOK;\n HooksManagerInstance?.triggerHook(postHook, tagResults);\n Analytics.setExtraData(\n 'num_components',\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n R.concat(tagResults.taggedComponents, tagResults.autoTaggedResults, tagResults.newComponents).length\n );\n await consumer.onDestroy();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return tagResults;\n }\n\n /**\n * save the local changes of a component(s) into the scope. snap can be done on main or on a lane.\n * once a component is snapped on a lane, it becomes part of it.\n */\n async snap({\n id, // @todo: rename to \"patterns\"\n legacyBitIds, // @todo: change to ComponentID[]. pass only if have the ids already parsed.\n resolveUnmerged = false,\n message = '',\n force = false,\n verbose = false,\n ignoreIssues,\n skipTests = false,\n skipAutoSnap = false,\n build,\n disableTagAndSnapPipelines = false,\n forceDeploy = false,\n }: {\n id?: string;\n legacyBitIds?: BitIds;\n resolveUnmerged?: boolean;\n message?: string;\n force?: boolean;\n verbose?: boolean;\n ignoreIssues?: string;\n build: boolean;\n skipTests?: boolean;\n skipAutoSnap?: boolean;\n disableTagAndSnapPipelines?: boolean;\n forceDeploy?: boolean;\n }): Promise<SnapResults | null> {\n if (!this.workspace) throw new ConsumerNotFound();\n if (id && legacyBitIds) throw new Error(`please pass either id or legacyBitIds, not both`);\n const consumer: Consumer = this.workspace.consumer;\n if (consumer.isLegacy) throw new LanesIsDisabled();\n const componentsList = new ComponentsList(consumer);\n const newComponents = (await componentsList.listNewComponents()) as BitIds;\n const ids = legacyBitIds || (await getIdsToSnap());\n if (!ids) return null;\n this.logger.debug(`snapping the following components: ${ids.toString()}`);\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n const components = await this.loadComponentsForTag(ids);\n this.throwForComponentIssues(components, ignoreIssues);\n const areComponentsMissingFromScope = components.some((c) => !c.componentFromModel && c.id.hasScope());\n if (areComponentsMissingFromScope) {\n throw new ComponentsPendingImport();\n }\n\n const { taggedComponents, autoTaggedResults } = await tagModelComponent({\n consumerComponents: components,\n ids,\n ignoreNewestVersion: false,\n scope: this.workspace.scope.legacyScope,\n message,\n force,\n consumer: this.workspace.consumer,\n skipTests,\n verbose,\n skipAutoTag: skipAutoSnap,\n persist: true,\n soft: false,\n build,\n resolveUnmerged,\n isSnap: true,\n disableTagAndSnapPipelines,\n forceDeploy,\n });\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const snapResults: SnapResults = { snappedComponents: taggedComponents, autoSnappedResults: autoTaggedResults };\n\n snapResults.newComponents = newComponents;\n const currentLane = consumer.getCurrentLaneId();\n snapResults.laneName = currentLane.isDefault() ? null : currentLane.name;\n await consumer.onDestroy();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return snapResults;\n\n async function getIdsToSnap(): Promise<BitIds> {\n const idHasWildcard = id && hasWildcard(id);\n if (id && !idHasWildcard) {\n const bitId = consumer.getParsedId(id);\n if (!force) {\n const componentStatus = await consumer.getComponentStatusById(bitId);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (componentStatus.modified === false) return null;\n }\n return new BitIds(bitId);\n }\n const tagPendingComponents = await componentsList.listTagPendingComponents();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (R.isEmpty(tagPendingComponents)) return null;\n return idHasWildcard ? ComponentsList.filterComponentsByWildcard(tagPendingComponents, id) : tagPendingComponents;\n }\n }\n\n private async loadComponentsForTag(ids: BitIds): Promise<Component[]> {\n const { components } = await this.workspace.consumer.loadComponents(ids.toVersionLatest());\n if (this.workspace.isLegacy) {\n return components;\n }\n let shouldReloadComponents = false;\n const componentsWithRelativePaths: string[] = [];\n const componentsWithFilesNotDir: string[] = [];\n const componentsWithCustomModuleResolution: string[] = [];\n components.forEach((component) => {\n const componentMap = component.componentMap as ComponentMap;\n if (componentMap.rootDir) return;\n const hasRelativePaths = component.issues?.getIssue(IssuesClasses.RelativeComponentsAuthored);\n const hasCustomModuleResolutions = component.issues?.getIssue(IssuesClasses.MissingCustomModuleResolutionLinks);\n // leaving this because it can be helpful for users upgrade from legacy\n if (componentMap.trackDir && !hasRelativePaths) {\n componentMap.changeRootDirAndUpdateFilesAccordingly(componentMap.trackDir);\n shouldReloadComponents = true;\n return;\n }\n if (hasRelativePaths) {\n componentsWithRelativePaths.push(component.id.toStringWithoutVersion());\n }\n if (!componentMap.trackDir) {\n componentsWithFilesNotDir.push(component.id.toStringWithoutVersion());\n }\n if (hasCustomModuleResolutions) {\n componentsWithCustomModuleResolution.push(component.id.toStringWithoutVersion());\n }\n });\n if (componentsWithRelativePaths.length || componentsWithFilesNotDir.length) {\n throw new FailedLoadForTag(\n componentsWithRelativePaths.sort(),\n componentsWithFilesNotDir.sort(),\n componentsWithCustomModuleResolution.sort()\n );\n }\n if (!shouldReloadComponents) return components;\n this.workspace.clearCache();\n const { components: reloadedComponents } = await this.workspace.consumer.loadComponents(ids);\n return reloadedComponents;\n }\n\n private throwForComponentIssues(components: Component[], ignoreIssues?: string) {\n components.forEach((component) => {\n if (this.workspace.isLegacy && component.issues) {\n component.issues.delete(IssuesClasses.RelativeComponentsAuthored);\n }\n });\n if (ignoreIssues === '*') {\n // ignore all issues\n return;\n }\n const issuesToIgnoreFromFlag = ignoreIssues?.split(',').map((issue) => issue.trim()) || [];\n const issuesToIgnoreFromConfig = this.issues.getIssuesToIgnore();\n const issuesToIgnore = [...issuesToIgnoreFromFlag, ...issuesToIgnoreFromConfig];\n issuesToIgnore.forEach((issue) => {\n const issueClass = IssuesClasses[issue];\n if (!issueClass) {\n throw new Error(\n `unrecognized component-issue \"${issue}\". please specify one of the following:\\n${Object.keys(\n IssuesClasses\n ).join('\\n')}`\n );\n }\n components.forEach((component) => {\n component.issues.delete(issueClass);\n });\n });\n const componentsWithBlockingIssues = components.filter((component) => component.issues?.shouldBlockTagging());\n if (!R.isEmpty(componentsWithBlockingIssues)) {\n throw new ComponentsHaveIssues(componentsWithBlockingIssues);\n }\n }\n\n private async getComponentsToTag(\n isAllScope: boolean,\n exactVersion: string | undefined,\n includeImported: boolean,\n persist: boolean,\n force: boolean,\n ids: string[],\n snapped: boolean\n ): Promise<{ bitIds: BitId[]; warnings: string[] }> {\n const warnings: string[] = [];\n const componentsList = new ComponentsList(this.workspace.consumer);\n if (persist) {\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n return { bitIds: softTaggedComponents, warnings: [] };\n }\n\n const tagPendingComponents = isAllScope\n ? await componentsList.listTagPendingOfAllScope(includeImported)\n : await componentsList.listTagPendingComponents();\n\n const snappedComponents = await componentsList.listSnappedComponentsOnMain();\n const snappedComponentsIds = snappedComponents.map((c) => c.toBitId());\n\n if (ids.length) {\n const bitIds = await Promise.all(\n ids.map(async (id) => {\n const [idWithoutVer, version] = id.split('@');\n const idHasWildcard = hasWildcard(id);\n if (idHasWildcard) {\n const allIds = ComponentsList.filterComponentsByWildcard(tagPendingComponents, idWithoutVer);\n return allIds.map((bitId) => bitId.changeVersion(version));\n }\n const bitId = this.workspace.consumer.getParsedId(idWithoutVer);\n if (!force) {\n const componentStatus = await this.workspace.consumer.getComponentStatusById(bitId);\n if (componentStatus.modified === false) return null;\n }\n return bitId.changeVersion(version);\n })\n );\n\n return { bitIds: compact(bitIds.flat()), warnings };\n }\n\n if (snapped) {\n return { bitIds: snappedComponentsIds, warnings };\n }\n\n tagPendingComponents.push(...snappedComponentsIds);\n\n if (isAllScope && exactVersion) {\n const tagPendingComponentsLatest = await this.workspace.scope.legacyScope.latestVersions(\n tagPendingComponents,\n false\n );\n tagPendingComponentsLatest.forEach((componentId) => {\n if (componentId.version && semver.valid(componentId.version) && semver.gt(componentId.version, exactVersion)) {\n warnings.push(`warning: ${componentId.toString()} has a version greater than ${exactVersion}`);\n }\n });\n }\n\n return { bitIds: tagPendingComponents.map((id) => id.changeVersion(undefined)), warnings };\n }\n\n static slots = [];\n static dependencies = [WorkspaceAspect, CLIAspect, CommunityAspect, LoggerAspect, IssuesAspect];\n static runtime = MainRuntime;\n static async provider([workspace, cli, community, loggerMain, issues]: [\n Workspace,\n CLIMain,\n CommunityMain,\n LoggerMain,\n IssuesMain\n ]) {\n const logger = loggerMain.createLogger(SnappingAspect.id);\n const snapping = new SnappingMain(workspace, logger, issues);\n const snapCmd = new SnapCmd(community.getBaseDomain(), snapping);\n const tagCmd = new TagCmd(community.getBaseDomain(), snapping);\n cli.register(tagCmd, snapCmd);\n return snapping;\n }\n}\n\nSnappingAspect.addRuntime(SnappingMain);\n\nexport default SnappingMain;\n"]}
|
|
1
|
+
{"version":3,"sources":["snapping.main.runtime.ts"],"names":["HooksManagerInstance","HooksManager","getInstance","SnappingMain","constructor","workspace","logger","issues","insights","tag","ids","message","ver","all","editor","snapped","patch","minor","major","preRelease","force","verbose","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","scope","build","soft","persist","forceDeploy","incrementBy","disableTagAndSnapPipelines","BUILD_ON_CI","Boolean","getVersion","length","BitError","releaseFlags","filter","x","releaseType","DEFAULT_BIT_RELEASE_TYPE","includeImported","exactVersion","ConsumerNotFound","idsHasWildcard","isAll","validExactVersion","consumer","componentsList","ComponentsList","loader","start","newComponents","listNewComponents","bitIds","warnings","getComponentsToTag","R","isEmpty","legacyBitIds","BitIds","fromArray","isLegacy","debug","toString","Analytics","addBreadCrumb","hashData","componentFsCache","deleteAllDependenciesDataCache","components","loadComponentsForTag","throwForLegacyDependenciesInsideHarmony","throwForComponentIssues","areComponentsMissingFromScope","some","c","componentFromModel","id","hasScope","ComponentsPendingImport","taggedComponents","autoTaggedResults","publishedPackages","consumerComponents","legacyScope","resolveUnmerged","tagResults","isSoftTag","postHook","POST_TAG_ALL_HOOK","POST_TAG_HOOK","triggerHook","setExtraData","concat","onDestroy","snap","skipAutoSnap","Error","LanesIsDisabled","getIdsToSnap","isSnap","snapResults","snappedComponents","autoSnappedResults","currentLane","getCurrentLaneId","laneName","isDefault","name","idHasWildcard","bitId","getParsedId","componentStatus","getComponentStatusById","modified","tagPendingComponents","listTagPendingComponents","filterComponentsByWildcard","loadComponents","toVersionLatest","shouldReloadComponents","componentsWithRelativePaths","componentsWithFilesNotDir","componentsWithCustomModuleResolution","forEach","component","componentMap","rootDir","hasRelativePaths","getIssue","IssuesClasses","RelativeComponentsAuthored","hasCustomModuleResolutions","MissingCustomModuleResolutionLinks","trackDir","changeRootDirAndUpdateFilesAccordingly","push","toStringWithoutVersion","FailedLoadForTag","sort","clearCache","reloadedComponents","legacyComponents","delete","issuesToIgnoreFromFlag","split","map","issue","trim","issuesToIgnoreFromConfig","getIssuesToIgnore","issuesToIgnore","includes","CircularDependencies","getManyByLegacy","addInsightsAsComponentIssues","issueClass","Object","keys","join","componentsWithBlockingIssues","shouldBlockTagging","ComponentsHaveIssues","throwForComponent","dependenciesIds","getAllDependenciesIds","Promise","depId","hasVersion","modelComp","getModelComponentIfExist","version","loadVersion","objects","concurrency","isAllScope","softTaggedComponents","listSoftTaggedComponents","listTagPendingOfAllScope","listSnappedComponentsOnMain","snappedComponentsIds","toBitId","idWithoutVer","allIds","changeVersion","flat","tagPendingComponentsLatest","latestVersions","componentId","semver","valid","gt","undefined","provider","cli","community","loggerMain","createLogger","SnappingAspect","snapping","snapCmd","SnapCmd","getBaseDomain","tagCmd","TagCmd","register","WorkspaceAspect","CLIAspect","CommunityAspect","LoggerAspect","IssuesAspect","InsightsAspect","MainRuntime","addRuntime"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;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","sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { isString } from '@teambit/legacy/dist/utils';\nimport { isFeatureEnabled, BUILD_ON_CI } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport CommunityAspect, { CommunityMain } from '@teambit/community';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport R from 'ramda';\nimport semver, { ReleaseType } from 'semver';\nimport { compact } from 'lodash';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport { POST_TAG_ALL_HOOK, POST_TAG_HOOK, DEFAULT_BIT_RELEASE_TYPE } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport HooksManager from '@teambit/legacy/dist/hooks';\nimport { TagResults, BasicTagParams } from '@teambit/legacy/dist/api/consumer/lib/tag';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { validateVersion } from '@teambit/legacy/dist/utils/semver-helper';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport tagModelComponent from '@teambit/legacy/dist/scope/component-ops/tag-model-component';\nimport { LanesIsDisabled } from '@teambit/legacy/dist/consumer/lanes/exceptions/lanes-is-disabled';\nimport { SnapResults } from '@teambit/legacy/dist/api/consumer/lib/snap';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport pMap from 'p-map';\nimport { InsightsAspect, InsightsMain } from '@teambit/insights';\nimport { concurrentComponentsLimit } from '@teambit/legacy/dist/utils/concurrency';\nimport { FailedLoadForTag } from '@teambit/legacy/dist/consumer/component/exceptions/failed-load-for-tag';\nimport IssuesAspect, { IssuesMain } from '@teambit/issues';\nimport { SnapCmd } from './snap-cmd';\nimport { SnappingAspect } from './snapping.aspect';\nimport { TagCmd } from './tag-cmd';\nimport { ComponentsHaveIssues } from './components-have-issues';\n\nconst HooksManagerInstance = HooksManager.getInstance();\n\nexport class SnappingMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private issues: IssuesMain,\n private insights: InsightsMain\n ) {}\n\n /**\n * tag the given component ids or all modified/new components if \"all\" param is set.\n * tag is a similar operation as a snap, which saves the changes into the local scope, but it also creates an alias\n * with a valid semver to that version.\n * tag can be done only on main, not on a lane.\n */\n // eslint-disable-next-line complexity\n async tag({\n ids = [],\n message = '',\n ver,\n all = false,\n editor = '',\n snapped = false,\n patch,\n minor,\n major,\n preRelease,\n force = false,\n verbose = false,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag = false,\n scope,\n build,\n soft = false,\n persist = false,\n forceDeploy = false,\n incrementBy = 1,\n disableTagAndSnapPipelines = false,\n }: {\n ids?: string[];\n all?: boolean | string;\n snapped?: boolean | string;\n ver?: string;\n patch?: boolean;\n minor?: boolean;\n major?: boolean;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n } & Partial<BasicTagParams>): Promise<TagResults | null> {\n build = isFeatureEnabled(BUILD_ON_CI) ? Boolean(build) : true;\n if (soft) build = false;\n function getVersion(): string | undefined {\n if (scope && isString(scope)) return scope;\n if (all && isString(all)) return all;\n if (snapped && isString(snapped)) return snapped;\n return ver;\n }\n\n if (!ids.length && !all && !snapped && !scope && !persist) {\n throw new BitError('missing [id]. to tag all components, please use --all flag');\n }\n if (ids.length && all) {\n throw new BitError(\n 'you can use either a specific component [id] to tag a particular component or --all flag to tag them all'\n );\n }\n if (disableTagAndSnapPipelines && forceDeploy) {\n throw new BitError('you can use either force-deploy or disable-tag-pipeline, but not both');\n }\n if (all && persist) {\n throw new BitError('you can use either --all or --persist, but not both');\n }\n if (editor && persist) {\n throw new BitError('you can use either --editor or --persist, but not both');\n }\n if (editor && message) {\n throw new BitError('you can use either --editor or --message, but not both');\n }\n\n const releaseFlags = [patch, minor, major, preRelease].filter((x) => x);\n if (releaseFlags.length > 1) {\n throw new BitError('you can use only one of the following - patch, minor, major, pre-release');\n }\n\n let releaseType: ReleaseType = DEFAULT_BIT_RELEASE_TYPE;\n const includeImported = Boolean(scope && all);\n\n if (major) releaseType = 'major';\n else if (minor) releaseType = 'minor';\n else if (patch) releaseType = 'patch';\n else if (preRelease) releaseType = 'prerelease';\n\n const exactVersion = getVersion();\n all = Boolean(all);\n snapped = Boolean(snapped);\n preRelease = typeof preRelease === 'string' ? preRelease : '';\n\n if (!this.workspace) throw new ConsumerNotFound();\n const idsHasWildcard = hasWildcard(ids);\n const isAll = Boolean(all || scope || idsHasWildcard);\n const validExactVersion = validateVersion(exactVersion);\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n loader.start('determine components to tag...');\n const newComponents = await componentsList.listNewComponents();\n const { bitIds, warnings } = await this.getComponentsToTag(\n Boolean(scope),\n exactVersion,\n includeImported,\n persist,\n force,\n ids,\n snapped\n );\n if (R.isEmpty(bitIds)) return null;\n\n const legacyBitIds = BitIds.fromArray(bitIds);\n\n if (this.workspace.isLegacy) {\n persist = true;\n }\n this.logger.debug(`tagging the following components: ${legacyBitIds.toString()}`);\n Analytics.addBreadCrumb('tag', `tagging the following components: ${Analytics.hashData(legacyBitIds)}`);\n if (!soft) {\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n }\n const components = await this.loadComponentsForTag(legacyBitIds);\n await this.throwForLegacyDependenciesInsideHarmony(components);\n await this.throwForComponentIssues(components, ignoreIssues);\n const areComponentsMissingFromScope = components.some((c) => !c.componentFromModel && c.id.hasScope());\n if (areComponentsMissingFromScope) {\n throw new ComponentsPendingImport();\n }\n\n const { taggedComponents, autoTaggedResults, publishedPackages } = await tagModelComponent({\n consumerComponents: components,\n ids: legacyBitIds,\n scope: this.workspace.scope.legacyScope,\n message,\n editor,\n exactVersion: validExactVersion,\n releaseType,\n preRelease,\n force,\n consumer: this.workspace.consumer,\n ignoreNewestVersion,\n skipTests,\n verbose,\n skipAutoTag,\n soft,\n build,\n persist,\n resolveUnmerged: false,\n disableTagAndSnapPipelines,\n forceDeploy,\n incrementBy,\n });\n\n const tagResults = { taggedComponents, autoTaggedResults, isSoftTag: soft, publishedPackages };\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n tagResults.warnings = warnings;\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n tagResults.newComponents = newComponents;\n const postHook = isAll ? POST_TAG_ALL_HOOK : POST_TAG_HOOK;\n HooksManagerInstance?.triggerHook(postHook, tagResults);\n Analytics.setExtraData(\n 'num_components',\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n R.concat(tagResults.taggedComponents, tagResults.autoTaggedResults, tagResults.newComponents).length\n );\n await consumer.onDestroy();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return tagResults;\n }\n\n /**\n * save the local changes of a component(s) into the scope. snap can be done on main or on a lane.\n * once a component is snapped on a lane, it becomes part of it.\n */\n async snap({\n id, // @todo: rename to \"patterns\"\n legacyBitIds, // @todo: change to ComponentID[]. pass only if have the ids already parsed.\n resolveUnmerged = false,\n message = '',\n force = false,\n verbose = false,\n ignoreIssues,\n skipTests = false,\n skipAutoSnap = false,\n build,\n disableTagAndSnapPipelines = false,\n forceDeploy = false,\n }: {\n id?: string;\n legacyBitIds?: BitIds;\n resolveUnmerged?: boolean;\n message?: string;\n force?: boolean;\n verbose?: boolean;\n ignoreIssues?: string;\n build: boolean;\n skipTests?: boolean;\n skipAutoSnap?: boolean;\n disableTagAndSnapPipelines?: boolean;\n forceDeploy?: boolean;\n }): Promise<SnapResults | null> {\n if (!this.workspace) throw new ConsumerNotFound();\n if (id && legacyBitIds) throw new Error(`please pass either id or legacyBitIds, not both`);\n const consumer: Consumer = this.workspace.consumer;\n if (consumer.isLegacy) throw new LanesIsDisabled();\n const componentsList = new ComponentsList(consumer);\n const newComponents = (await componentsList.listNewComponents()) as BitIds;\n const ids = legacyBitIds || (await getIdsToSnap());\n if (!ids) return null;\n this.logger.debug(`snapping the following components: ${ids.toString()}`);\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n const components = await this.loadComponentsForTag(ids);\n await this.throwForLegacyDependenciesInsideHarmony(components);\n await this.throwForComponentIssues(components, ignoreIssues);\n const areComponentsMissingFromScope = components.some((c) => !c.componentFromModel && c.id.hasScope());\n if (areComponentsMissingFromScope) {\n throw new ComponentsPendingImport();\n }\n\n const { taggedComponents, autoTaggedResults } = await tagModelComponent({\n consumerComponents: components,\n ids,\n ignoreNewestVersion: false,\n scope: this.workspace.scope.legacyScope,\n message,\n force,\n consumer: this.workspace.consumer,\n skipTests,\n verbose,\n skipAutoTag: skipAutoSnap,\n persist: true,\n soft: false,\n build,\n resolveUnmerged,\n isSnap: true,\n disableTagAndSnapPipelines,\n forceDeploy,\n });\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const snapResults: SnapResults = { snappedComponents: taggedComponents, autoSnappedResults: autoTaggedResults };\n\n snapResults.newComponents = newComponents;\n const currentLane = consumer.getCurrentLaneId();\n snapResults.laneName = currentLane.isDefault() ? null : currentLane.name;\n await consumer.onDestroy();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return snapResults;\n\n async function getIdsToSnap(): Promise<BitIds> {\n const idHasWildcard = id && hasWildcard(id);\n if (id && !idHasWildcard) {\n const bitId = consumer.getParsedId(id);\n if (!force) {\n const componentStatus = await consumer.getComponentStatusById(bitId);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (componentStatus.modified === false) return null;\n }\n return new BitIds(bitId);\n }\n const tagPendingComponents = await componentsList.listTagPendingComponents();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (R.isEmpty(tagPendingComponents)) return null;\n return idHasWildcard ? ComponentsList.filterComponentsByWildcard(tagPendingComponents, id) : tagPendingComponents;\n }\n }\n\n private async loadComponentsForTag(ids: BitIds): Promise<ConsumerComponent[]> {\n const { components } = await this.workspace.consumer.loadComponents(ids.toVersionLatest());\n if (this.workspace.isLegacy) {\n return components;\n }\n let shouldReloadComponents = false;\n const componentsWithRelativePaths: string[] = [];\n const componentsWithFilesNotDir: string[] = [];\n const componentsWithCustomModuleResolution: string[] = [];\n components.forEach((component) => {\n const componentMap = component.componentMap as ComponentMap;\n if (componentMap.rootDir) return;\n const hasRelativePaths = component.issues?.getIssue(IssuesClasses.RelativeComponentsAuthored);\n const hasCustomModuleResolutions = component.issues?.getIssue(IssuesClasses.MissingCustomModuleResolutionLinks);\n // leaving this because it can be helpful for users upgrade from legacy\n if (componentMap.trackDir && !hasRelativePaths) {\n componentMap.changeRootDirAndUpdateFilesAccordingly(componentMap.trackDir);\n shouldReloadComponents = true;\n return;\n }\n if (hasRelativePaths) {\n componentsWithRelativePaths.push(component.id.toStringWithoutVersion());\n }\n if (!componentMap.trackDir) {\n componentsWithFilesNotDir.push(component.id.toStringWithoutVersion());\n }\n if (hasCustomModuleResolutions) {\n componentsWithCustomModuleResolution.push(component.id.toStringWithoutVersion());\n }\n });\n if (componentsWithRelativePaths.length || componentsWithFilesNotDir.length) {\n throw new FailedLoadForTag(\n componentsWithRelativePaths.sort(),\n componentsWithFilesNotDir.sort(),\n componentsWithCustomModuleResolution.sort()\n );\n }\n if (!shouldReloadComponents) return components;\n this.workspace.clearCache();\n const { components: reloadedComponents } = await this.workspace.consumer.loadComponents(ids);\n return reloadedComponents;\n }\n\n private async throwForComponentIssues(legacyComponents: ConsumerComponent[], ignoreIssues?: string) {\n legacyComponents.forEach((component) => {\n if (this.workspace.isLegacy && component.issues) {\n component.issues.delete(IssuesClasses.RelativeComponentsAuthored);\n }\n });\n if (ignoreIssues === '*') {\n // ignore all issues\n return;\n }\n const issuesToIgnoreFromFlag = ignoreIssues?.split(',').map((issue) => issue.trim()) || [];\n const issuesToIgnoreFromConfig = this.issues.getIssuesToIgnore();\n const issuesToIgnore = [...issuesToIgnoreFromFlag, ...issuesToIgnoreFromConfig];\n if (!this.workspace.isLegacy && !issuesToIgnore.includes(IssuesClasses.CircularDependencies.name)) {\n const components = await this.workspace.getManyByLegacy(legacyComponents);\n await this.insights.addInsightsAsComponentIssues(components);\n }\n issuesToIgnore.forEach((issue) => {\n const issueClass = IssuesClasses[issue];\n if (!issueClass) {\n throw new Error(\n `unrecognized component-issue \"${issue}\". please specify one of the following:\\n${Object.keys(\n IssuesClasses\n ).join('\\n')}`\n );\n }\n legacyComponents.forEach((component) => {\n component.issues.delete(issueClass);\n });\n });\n const componentsWithBlockingIssues = legacyComponents.filter((component) => component.issues?.shouldBlockTagging());\n if (!R.isEmpty(componentsWithBlockingIssues)) {\n throw new ComponentsHaveIssues(componentsWithBlockingIssues);\n }\n }\n\n private async throwForLegacyDependenciesInsideHarmony(components: ConsumerComponent[]) {\n if (this.workspace.isLegacy) {\n return;\n }\n const throwForComponent = async (component: ConsumerComponent) => {\n const dependenciesIds = component.getAllDependenciesIds();\n const legacyScope = this.workspace.scope.legacyScope;\n await Promise.all(\n dependenciesIds.map(async (depId) => {\n if (!depId.hasVersion()) return;\n const modelComp = await legacyScope.getModelComponentIfExist(depId);\n if (!modelComp) return;\n const version = await modelComp.loadVersion(depId.version as string, legacyScope.objects);\n if (version.isLegacy) {\n throw new Error(\n `unable tagging \"${component.id.toString()}\", its dependency \"${depId.toString()}\" is legacy`\n );\n }\n })\n );\n };\n await pMap(components, (component) => throwForComponent(component), { concurrency: concurrentComponentsLimit() });\n }\n\n private async getComponentsToTag(\n isAllScope: boolean,\n exactVersion: string | undefined,\n includeImported: boolean,\n persist: boolean,\n force: boolean,\n ids: string[],\n snapped: boolean\n ): Promise<{ bitIds: BitId[]; warnings: string[] }> {\n const warnings: string[] = [];\n const componentsList = new ComponentsList(this.workspace.consumer);\n if (persist) {\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n return { bitIds: softTaggedComponents, warnings: [] };\n }\n\n const tagPendingComponents = isAllScope\n ? await componentsList.listTagPendingOfAllScope(includeImported)\n : await componentsList.listTagPendingComponents();\n\n const snappedComponents = await componentsList.listSnappedComponentsOnMain();\n const snappedComponentsIds = snappedComponents.map((c) => c.toBitId());\n\n if (ids.length) {\n const bitIds = await Promise.all(\n ids.map(async (id) => {\n const [idWithoutVer, version] = id.split('@');\n const idHasWildcard = hasWildcard(id);\n if (idHasWildcard) {\n const allIds = ComponentsList.filterComponentsByWildcard(tagPendingComponents, idWithoutVer);\n return allIds.map((bitId) => bitId.changeVersion(version));\n }\n const bitId = this.workspace.consumer.getParsedId(idWithoutVer);\n if (!force) {\n const componentStatus = await this.workspace.consumer.getComponentStatusById(bitId);\n if (componentStatus.modified === false) return null;\n }\n return bitId.changeVersion(version);\n })\n );\n\n return { bitIds: compact(bitIds.flat()), warnings };\n }\n\n if (snapped) {\n return { bitIds: snappedComponentsIds, warnings };\n }\n\n tagPendingComponents.push(...snappedComponentsIds);\n\n if (isAllScope && exactVersion) {\n const tagPendingComponentsLatest = await this.workspace.scope.legacyScope.latestVersions(\n tagPendingComponents,\n false\n );\n tagPendingComponentsLatest.forEach((componentId) => {\n if (componentId.version && semver.valid(componentId.version) && semver.gt(componentId.version, exactVersion)) {\n warnings.push(`warning: ${componentId.toString()} has a version greater than ${exactVersion}`);\n }\n });\n }\n\n return { bitIds: tagPendingComponents.map((id) => id.changeVersion(undefined)), warnings };\n }\n\n static slots = [];\n static dependencies = [WorkspaceAspect, CLIAspect, CommunityAspect, LoggerAspect, IssuesAspect, InsightsAspect];\n static runtime = MainRuntime;\n static async provider([workspace, cli, community, loggerMain, issues, insights]: [\n Workspace,\n CLIMain,\n CommunityMain,\n LoggerMain,\n IssuesMain,\n InsightsMain\n ]) {\n const logger = loggerMain.createLogger(SnappingAspect.id);\n const snapping = new SnappingMain(workspace, logger, issues, insights);\n const snapCmd = new SnapCmd(community.getBaseDomain(), snapping);\n const tagCmd = new TagCmd(community.getBaseDomain(), snapping);\n cli.register(tagCmd, snapCmd);\n return snapping;\n }\n}\n\nSnappingAspect.addRuntime(SnappingMain);\n\nexport default SnappingMain;\n"]}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,28 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/snapping",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/component/snapping",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.component",
|
|
8
8
|
"name": "snapping",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.9"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
13
|
-
"@teambit/harmony": "0.2.11",
|
|
14
13
|
"lodash": "4.17.21",
|
|
14
|
+
"@teambit/harmony": "0.2.11",
|
|
15
|
+
"p-map": "4.0.0",
|
|
15
16
|
"ramda": "0.27.1",
|
|
16
17
|
"semver": "7.3.4",
|
|
17
18
|
"@babel/runtime": "7.12.18",
|
|
18
19
|
"core-js": "^3.0.0",
|
|
19
20
|
"@teambit/bit-error": "0.0.394",
|
|
20
|
-
"@teambit/issues": "0.0.
|
|
21
|
-
"@teambit/cli": "0.0.
|
|
22
|
-
"@teambit/component-issues": "0.0.
|
|
23
|
-
"@teambit/community": "0.0.
|
|
24
|
-
"@teambit/
|
|
25
|
-
"@teambit/
|
|
21
|
+
"@teambit/issues": "0.0.3",
|
|
22
|
+
"@teambit/cli": "0.0.464",
|
|
23
|
+
"@teambit/component-issues": "0.0.49",
|
|
24
|
+
"@teambit/community": "0.0.12",
|
|
25
|
+
"@teambit/insights": "0.0.694",
|
|
26
|
+
"@teambit/logger": "0.0.556",
|
|
27
|
+
"@teambit/workspace": "0.0.694"
|
|
26
28
|
},
|
|
27
29
|
"devDependencies": {
|
|
28
30
|
"@types/lodash": "4.14.165",
|
|
@@ -35,13 +37,13 @@
|
|
|
35
37
|
"@types/react-dom": "^17.0.5",
|
|
36
38
|
"@types/react": "^17.0.8",
|
|
37
39
|
"@types/node": "12.20.4",
|
|
38
|
-
"@teambit/compiler": "0.0.
|
|
40
|
+
"@teambit/compiler": "0.0.694",
|
|
39
41
|
"@teambit/component.testing.mock-components": "0.0.4",
|
|
40
42
|
"@teambit/harmony.testing.load-aspect": "0.0.4",
|
|
41
43
|
"@teambit/workspace.testing.mock-workspace": "0.0.4"
|
|
42
44
|
},
|
|
43
45
|
"peerDependencies": {
|
|
44
|
-
"@teambit/legacy": "1.0.
|
|
46
|
+
"@teambit/legacy": "1.0.242",
|
|
45
47
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
46
48
|
"react": "^16.8.0 || ^17.0.0"
|
|
47
49
|
},
|
|
@@ -69,7 +71,7 @@
|
|
|
69
71
|
"react": "-"
|
|
70
72
|
},
|
|
71
73
|
"peerDependencies": {
|
|
72
|
-
"@teambit/legacy": "1.0.
|
|
74
|
+
"@teambit/legacy": "1.0.242",
|
|
73
75
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
74
76
|
"react": "^16.8.0 || ^17.0.0"
|
|
75
77
|
}
|
|
File without changes
|
|
Binary file
|