@teambit/issues 0.0.189 → 0.0.190

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/index.js CHANGED
@@ -10,19 +10,14 @@ Object.defineProperty(exports, "IssuesAspect", {
10
10
  }
11
11
  });
12
12
  exports.default = void 0;
13
-
14
13
  function _issues() {
15
14
  const data = require("./issues.aspect");
16
-
17
15
  _issues = function () {
18
16
  return data;
19
17
  };
20
-
21
18
  return data;
22
19
  }
23
-
24
20
  var _default = _issues().IssuesAspect;
25
-
26
21
  exports.default = _default;
27
22
 
28
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["IssuesAspect"],"sources":["index.ts"],"sourcesContent":["import { IssuesAspect } from './issues.aspect';\n\nexport type { IssuesMain } from './issues.main.runtime';\nexport default IssuesAspect;\nexport { IssuesAspect };\n"],"mappings":";;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAGeA,sB"}
1
+ {"version":3,"names":["IssuesAspect"],"sources":["index.ts"],"sourcesContent":["import { IssuesAspect } from './issues.aspect';\n\nexport type { IssuesMain } from './issues.main.runtime';\nexport default IssuesAspect;\nexport { IssuesAspect };\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAA+C,eAGhCA,sBAAY;AAAA"}
@@ -1,36 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.symbol.description.js");
6
-
7
5
  require("core-js/modules/es.promise.js");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
9
  exports.ComponentIssuesCmd = void 0;
13
-
14
10
  function _defineProperty2() {
15
11
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
12
  _defineProperty2 = function () {
18
13
  return data;
19
14
  };
20
-
21
15
  return data;
22
16
  }
23
-
24
17
  function _chalk() {
25
18
  const data = _interopRequireDefault(require("chalk"));
26
-
27
19
  _chalk = function () {
28
20
  return data;
29
21
  };
30
-
31
22
  return data;
32
23
  }
33
-
34
24
  class ComponentIssuesCmd {
35
25
  constructor(issues) {
36
26
  this.issues = issues;
@@ -41,7 +31,6 @@ class ComponentIssuesCmd {
41
31
  (0, _defineProperty2().default)(this, "options", [['j', 'json', 'json format']]);
42
32
  (0, _defineProperty2().default)(this, "loader", true);
43
33
  }
44
-
45
34
  async report() {
46
35
  const results = await this.json();
47
36
  return results.map(result => `${_chalk().default.bold(result.name)}
@@ -50,13 +39,10 @@ Possible solution: ${result.solution}
50
39
  Is Tag/Snap blocker: ${result.isTagBlocker ? 'yes' : 'no'}
51
40
  `).join('\n');
52
41
  }
53
-
54
42
  async json() {
55
43
  return this.issues.listIssues();
56
44
  }
57
-
58
45
  }
59
-
60
46
  exports.ComponentIssuesCmd = ComponentIssuesCmd;
61
47
 
62
48
  //# sourceMappingURL=issues-cmd.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ComponentIssuesCmd","constructor","issues","report","results","json","map","result","chalk","bold","name","description","solution","isTagBlocker","join","listIssues"],"sources":["issues-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { IssuesMain } from './issues.main.runtime';\n\nexport class ComponentIssuesCmd implements Command {\n name = 'component-issues';\n description = 'list available component-issues';\n alias = '';\n group = 'development';\n options = [['j', 'json', 'json format']] as CommandOptions;\n loader = true;\n\n constructor(private issues: IssuesMain) {}\n\n async report() {\n const results = await this.json();\n return results\n .map(\n (result) => `${chalk.bold(result.name)}\n${result.description}\nPossible solution: ${result.solution}\nIs Tag/Snap blocker: ${result.isTagBlocker ? 'yes' : 'no'}\n`\n )\n .join('\\n');\n }\n\n async json() {\n return this.issues.listIssues();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAIO,MAAMA,kBAAN,CAA4C;EAQjDC,WAAW,CAASC,MAAT,EAA6B;IAAA,KAApBA,MAAoB,GAApBA,MAAoB;IAAA,8CAPjC,kBAOiC;IAAA,qDAN1B,iCAM0B;IAAA,+CALhC,EAKgC;IAAA,+CAJhC,aAIgC;IAAA,iDAH9B,CAAC,CAAC,GAAD,EAAM,MAAN,EAAc,aAAd,CAAD,CAG8B;IAAA,gDAF/B,IAE+B;EAAE;;EAE9B,MAANC,MAAM,GAAG;IACb,MAAMC,OAAO,GAAG,MAAM,KAAKC,IAAL,EAAtB;IACA,OAAOD,OAAO,CACXE,GADI,CAEFC,MAAD,IAAa,GAAEC,gBAAA,CAAMC,IAAN,CAAWF,MAAM,CAACG,IAAlB,CAAwB;AAC/C,EAAEH,MAAM,CAACI,WAAY;AACrB,qBAAqBJ,MAAM,CAACK,QAAS;AACrC,uBAAuBL,MAAM,CAACM,YAAP,GAAsB,KAAtB,GAA8B,IAAK;AAC1D,CANW,EAQJC,IARI,CAQC,IARD,CAAP;EASD;;EAES,MAAJT,IAAI,GAAG;IACX,OAAO,KAAKH,MAAL,CAAYa,UAAZ,EAAP;EACD;;AAzBgD"}
1
+ {"version":3,"names":["ComponentIssuesCmd","constructor","issues","report","results","json","map","result","chalk","bold","name","description","solution","isTagBlocker","join","listIssues"],"sources":["issues-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { IssuesMain } from './issues.main.runtime';\n\nexport class ComponentIssuesCmd implements Command {\n name = 'component-issues';\n description = 'list available component-issues';\n alias = '';\n group = 'development';\n options = [['j', 'json', 'json format']] as CommandOptions;\n loader = true;\n\n constructor(private issues: IssuesMain) {}\n\n async report() {\n const results = await this.json();\n return results\n .map(\n (result) => `${chalk.bold(result.name)}\n${result.description}\nPossible solution: ${result.solution}\nIs Tag/Snap blocker: ${result.isTagBlocker ? 'yes' : 'no'}\n`\n )\n .join('\\n');\n }\n\n async json() {\n return this.issues.listIssues();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIO,MAAMA,kBAAkB,CAAoB;EAQjDC,WAAW,CAASC,MAAkB,EAAE;IAAA,KAApBA,MAAkB,GAAlBA,MAAkB;IAAA,8CAP/B,kBAAkB;IAAA,qDACX,iCAAiC;IAAA,+CACvC,EAAE;IAAA,+CACF,aAAa;IAAA,iDACX,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAAA,gDAC/B,IAAI;EAE4B;EAEzC,MAAMC,MAAM,GAAG;IACb,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACC,IAAI,EAAE;IACjC,OAAOD,OAAO,CACXE,GAAG,CACDC,MAAM,IAAM,GAAEC,gBAAK,CAACC,IAAI,CAACF,MAAM,CAACG,IAAI,CAAE;AAC/C,EAAEH,MAAM,CAACI,WAAY;AACrB,qBAAqBJ,MAAM,CAACK,QAAS;AACrC,uBAAuBL,MAAM,CAACM,YAAY,GAAG,KAAK,GAAG,IAAK;AAC1D,CAAC,CACM,CACAC,IAAI,CAAC,IAAI,CAAC;EACf;EAEA,MAAMT,IAAI,GAAG;IACX,OAAO,IAAI,CAACH,MAAM,CAACa,UAAU,EAAE;EACjC;AACF;AAAC"}
@@ -4,21 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.IssuesAspect = void 0;
7
-
8
7
  function _harmony() {
9
8
  const data = require("@teambit/harmony");
10
-
11
9
  _harmony = function () {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  const IssuesAspect = _harmony().Aspect.create({
19
15
  id: 'teambit.component/issues'
20
16
  });
21
-
22
17
  exports.IssuesAspect = IssuesAspect;
23
18
 
24
19
  //# sourceMappingURL=issues.aspect.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["IssuesAspect","Aspect","create","id"],"sources":["issues.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const IssuesAspect = Aspect.create({\n id: 'teambit.component/issues',\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,YAAY,GAAGC,iBAAA,CAAOC,MAAP,CAAc;EACxCC,EAAE,EAAE;AADoC,CAAd,CAArB"}
1
+ {"version":3,"names":["IssuesAspect","Aspect","create","id"],"sources":["issues.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const IssuesAspect = Aspect.create({\n id: 'teambit.component/issues',\n});\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,YAAY,GAAGC,iBAAM,CAACC,MAAM,CAAC;EACxCC,EAAE,EAAE;AACN,CAAC,CAAC;AAAC"}
@@ -1,119 +1,86 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.symbol.description.js");
6
-
7
5
  require("core-js/modules/es.array.iterator.js");
8
-
9
6
  require("core-js/modules/es.promise.js");
10
-
11
7
  Object.defineProperty(exports, "__esModule", {
12
8
  value: true
13
9
  });
14
10
  exports.IssuesMain = void 0;
15
-
16
11
  function _defineProperty2() {
17
12
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
-
19
13
  _defineProperty2 = function () {
20
14
  return data;
21
15
  };
22
-
23
16
  return data;
24
17
  }
25
-
26
18
  function _cli() {
27
19
  const data = require("@teambit/cli");
28
-
29
20
  _cli = function () {
30
21
  return data;
31
22
  };
32
-
33
23
  return data;
34
24
  }
35
-
36
25
  function _componentIssues() {
37
26
  const data = require("@teambit/component-issues");
38
-
39
27
  _componentIssues = function () {
40
28
  return data;
41
29
  };
42
-
43
30
  return data;
44
31
  }
45
-
46
32
  function _harmony() {
47
33
  const data = require("@teambit/harmony");
48
-
49
34
  _harmony = function () {
50
35
  return data;
51
36
  };
52
-
53
37
  return data;
54
38
  }
55
-
56
39
  function _pMapSeries() {
57
40
  const data = _interopRequireDefault(require("p-map-series"));
58
-
59
41
  _pMapSeries = function () {
60
42
  return data;
61
43
  };
62
-
63
44
  return data;
64
45
  }
65
-
66
46
  function _issuesCmd() {
67
47
  const data = require("./issues-cmd");
68
-
69
48
  _issuesCmd = function () {
70
49
  return data;
71
50
  };
72
-
73
51
  return data;
74
52
  }
75
-
76
53
  function _issues() {
77
54
  const data = require("./issues.aspect");
78
-
79
55
  _issues = function () {
80
56
  return data;
81
57
  };
82
-
83
58
  return data;
84
59
  }
85
-
86
60
  function _nonExistIssueError() {
87
61
  const data = require("./non-exist-issue-error");
88
-
89
62
  _nonExistIssueError = function () {
90
63
  return data;
91
64
  };
92
-
93
65
  return data;
94
66
  }
95
-
96
67
  class IssuesMain {
97
68
  constructor(config, addComponentsIssuesSlot) {
98
69
  this.config = config;
99
70
  this.addComponentsIssuesSlot = addComponentsIssuesSlot;
100
71
  }
101
-
102
72
  getIssuesToIgnoreGlobally() {
103
73
  const issuesToIgnore = this.config.ignoreIssues || [];
104
74
  this.validateIssueNames(issuesToIgnore);
105
75
  return issuesToIgnore;
106
76
  }
107
-
108
77
  getIssuesToIgnorePerComponent(component) {
109
78
  var _component$state$aspe;
110
-
111
79
  const issuesToIgnore = (_component$state$aspe = component.state.aspects.get(_issues().IssuesAspect.id)) === null || _component$state$aspe === void 0 ? void 0 : _component$state$aspe.config.ignoreIssues;
112
80
  if (!issuesToIgnore) return [];
113
81
  this.validateIssueNames(issuesToIgnore);
114
82
  return issuesToIgnore;
115
83
  }
116
-
117
84
  validateIssueNames(issues) {
118
85
  const allIssues = this.listIssues().map(issue => issue.name);
119
86
  issues.forEach(issue => {
@@ -122,7 +89,6 @@ class IssuesMain {
122
89
  }
123
90
  });
124
91
  }
125
-
126
92
  listIssues() {
127
93
  const instances = Object.keys(_componentIssues().IssuesClasses).map(issueClass => new (_componentIssues().IssuesClasses[issueClass])());
128
94
  const issuesList = new (_componentIssues().IssuesList)(instances);
@@ -136,7 +102,6 @@ class IssuesMain {
136
102
  };
137
103
  });
138
104
  }
139
-
140
105
  removeIgnoredIssuesFromComponents(components) {
141
106
  const issuesToIgnoreGlobally = this.getIssuesToIgnoreGlobally();
142
107
  components.forEach(component => {
@@ -147,31 +112,26 @@ class IssuesMain {
147
112
  });
148
113
  });
149
114
  }
115
+
150
116
  /**
151
117
  * register to this slot in order to add a component-issue in bit-status and bit-snap/tag.
152
118
  * your function gets all components in one param and the issuesToIgnore as a second param, you don't need to check
153
119
  * for issuesToIgnore. if the issue you added is configured to be ignored, it'll be ignored later in the process.
154
120
  * this is useful for optimization, if you don't want to calculate the component issue when it's ignored.
155
121
  */
156
-
157
-
158
122
  registerAddComponentsIssues(addComponentsIssues) {
159
123
  this.addComponentsIssuesSlot.register(addComponentsIssues);
160
124
  }
161
-
162
125
  async triggerAddComponentIssues(components, issuesToIgnore) {
163
126
  const allFunctions = this.addComponentsIssuesSlot.values();
164
127
  await (0, _pMapSeries().default)(allFunctions, func => func(components, issuesToIgnore));
165
128
  }
166
-
167
129
  static async provider([cli], config, [addComponentsIssuesSlot]) {
168
130
  const issuesMain = new IssuesMain(config, addComponentsIssuesSlot);
169
131
  cli.register(new (_issuesCmd().ComponentIssuesCmd)(issuesMain));
170
132
  return issuesMain;
171
133
  }
172
-
173
134
  }
174
-
175
135
  exports.IssuesMain = IssuesMain;
176
136
  (0, _defineProperty2().default)(IssuesMain, "slots", [_harmony().Slot.withType()]);
177
137
  (0, _defineProperty2().default)(IssuesMain, "dependencies", [_cli().CLIAspect]);
@@ -179,7 +139,6 @@ exports.IssuesMain = IssuesMain;
179
139
  ignoreIssues: []
180
140
  });
181
141
  (0, _defineProperty2().default)(IssuesMain, "runtime", _cli().MainRuntime);
182
-
183
142
  _issues().IssuesAspect.addRuntime(IssuesMain);
184
143
 
185
144
  //# sourceMappingURL=issues.main.runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["IssuesMain","constructor","config","addComponentsIssuesSlot","getIssuesToIgnoreGlobally","issuesToIgnore","ignoreIssues","validateIssueNames","getIssuesToIgnorePerComponent","component","state","aspects","get","IssuesAspect","id","issues","allIssues","listIssues","map","issue","name","forEach","includes","NonExistIssueError","instances","Object","keys","IssuesClasses","issueClass","issuesList","IssuesList","getAllIssues","issueInstance","description","solution","isTagBlocker","removeIgnoredIssuesFromComponents","components","issuesToIgnoreGlobally","issuesToIgnoreForThisComp","issueToIgnore","delete","registerAddComponentsIssues","addComponentsIssues","register","triggerAddComponentIssues","allFunctions","values","pMapSeries","func","provider","cli","issuesMain","ComponentIssuesCmd","Slot","withType","CLIAspect","MainRuntime","addRuntime"],"sources":["issues.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component } from '@teambit/component';\nimport { IssuesClasses, IssuesList } from '@teambit/component-issues';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport pMapSeries from 'p-map-series';\nimport { ComponentIssuesCmd } from './issues-cmd';\nimport { IssuesAspect } from './issues.aspect';\nimport { NonExistIssueError } from './non-exist-issue-error';\n\nexport type IssuesConfig = {\n ignoreIssues: string[];\n};\n\nexport type AddComponentsIssues = (components: Component[], issuesToIgnore: string[]) => Promise<void>;\n\nexport type AddComponentsIssuesSlot = SlotRegistry<AddComponentsIssues>;\n\nexport class IssuesMain {\n constructor(private config: IssuesConfig, private addComponentsIssuesSlot: AddComponentsIssuesSlot) {}\n\n getIssuesToIgnoreGlobally(): string[] {\n const issuesToIgnore = this.config.ignoreIssues || [];\n this.validateIssueNames(issuesToIgnore);\n return issuesToIgnore;\n }\n\n getIssuesToIgnorePerComponent(component: Component): string[] {\n const issuesToIgnore = component.state.aspects.get(IssuesAspect.id)?.config.ignoreIssues;\n if (!issuesToIgnore) return [];\n this.validateIssueNames(issuesToIgnore);\n return issuesToIgnore;\n }\n\n private validateIssueNames(issues: string[]) {\n const allIssues = this.listIssues().map((issue) => issue.name);\n issues.forEach((issue) => {\n if (!allIssues.includes(issue)) {\n throw new NonExistIssueError(issue);\n }\n });\n }\n\n listIssues() {\n const instances = Object.keys(IssuesClasses).map((issueClass) => new IssuesClasses[issueClass]());\n const issuesList = new IssuesList(instances);\n const allIssues = issuesList.getAllIssues();\n return allIssues.map((issueInstance) => {\n return {\n name: issueInstance.constructor.name,\n description: issueInstance.description,\n solution: issueInstance.solution,\n isTagBlocker: issueInstance.isTagBlocker,\n };\n });\n }\n\n removeIgnoredIssuesFromComponents(components: Component[]) {\n const issuesToIgnoreGlobally = this.getIssuesToIgnoreGlobally();\n components.forEach((component) => {\n const issuesToIgnoreForThisComp = this.getIssuesToIgnorePerComponent(component);\n const issuesToIgnore = [...issuesToIgnoreGlobally, ...issuesToIgnoreForThisComp];\n issuesToIgnore.forEach((issueToIgnore) => {\n component.state.issues.delete(IssuesClasses[issueToIgnore]);\n });\n });\n }\n\n /**\n * register to this slot in order to add a component-issue in bit-status and bit-snap/tag.\n * your function gets all components in one param and the issuesToIgnore as a second param, you don't need to check\n * for issuesToIgnore. if the issue you added is configured to be ignored, it'll be ignored later in the process.\n * this is useful for optimization, if you don't want to calculate the component issue when it's ignored.\n */\n registerAddComponentsIssues(addComponentsIssues: AddComponentsIssues) {\n this.addComponentsIssuesSlot.register(addComponentsIssues);\n }\n\n async triggerAddComponentIssues(components: Component[], issuesToIgnore: string[]) {\n const allFunctions = this.addComponentsIssuesSlot.values();\n await pMapSeries(allFunctions, (func) => func(components, issuesToIgnore));\n }\n\n static slots = [Slot.withType<AddComponentsIssues>()];\n static dependencies = [CLIAspect];\n static defaultConfig = {\n ignoreIssues: [],\n };\n static runtime = MainRuntime;\n static async provider([cli]: [CLIMain], config: IssuesConfig, [addComponentsIssuesSlot]: [AddComponentsIssuesSlot]) {\n const issuesMain = new IssuesMain(config, addComponentsIssuesSlot);\n cli.register(new ComponentIssuesCmd(issuesMain));\n return issuesMain;\n }\n}\n\nIssuesAspect.addRuntime(IssuesMain);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAUO,MAAMA,UAAN,CAAiB;EACtBC,WAAW,CAASC,MAAT,EAAuCC,uBAAvC,EAAyF;IAAA,KAAhFD,MAAgF,GAAhFA,MAAgF;IAAA,KAAlDC,uBAAkD,GAAlDA,uBAAkD;EAAE;;EAEtGC,yBAAyB,GAAa;IACpC,MAAMC,cAAc,GAAG,KAAKH,MAAL,CAAYI,YAAZ,IAA4B,EAAnD;IACA,KAAKC,kBAAL,CAAwBF,cAAxB;IACA,OAAOA,cAAP;EACD;;EAEDG,6BAA6B,CAACC,SAAD,EAAiC;IAAA;;IAC5D,MAAMJ,cAAc,4BAAGI,SAAS,CAACC,KAAV,CAAgBC,OAAhB,CAAwBC,GAAxB,CAA4BC,sBAAA,CAAaC,EAAzC,CAAH,0DAAG,sBAA8CZ,MAA9C,CAAqDI,YAA5E;IACA,IAAI,CAACD,cAAL,EAAqB,OAAO,EAAP;IACrB,KAAKE,kBAAL,CAAwBF,cAAxB;IACA,OAAOA,cAAP;EACD;;EAEOE,kBAAkB,CAACQ,MAAD,EAAmB;IAC3C,MAAMC,SAAS,GAAG,KAAKC,UAAL,GAAkBC,GAAlB,CAAuBC,KAAD,IAAWA,KAAK,CAACC,IAAvC,CAAlB;IACAL,MAAM,CAACM,OAAP,CAAgBF,KAAD,IAAW;MACxB,IAAI,CAACH,SAAS,CAACM,QAAV,CAAmBH,KAAnB,CAAL,EAAgC;QAC9B,MAAM,KAAII,wCAAJ,EAAuBJ,KAAvB,CAAN;MACD;IACF,CAJD;EAKD;;EAEDF,UAAU,GAAG;IACX,MAAMO,SAAS,GAAGC,MAAM,CAACC,IAAP,CAAYC,gCAAZ,EAA2BT,GAA3B,CAAgCU,UAAD,IAAgB,KAAID,gCAAA,CAAcC,UAAd,CAAJ,GAA/C,CAAlB;IACA,MAAMC,UAAU,GAAG,KAAIC,6BAAJ,EAAeN,SAAf,CAAnB;IACA,MAAMR,SAAS,GAAGa,UAAU,CAACE,YAAX,EAAlB;IACA,OAAOf,SAAS,CAACE,GAAV,CAAec,aAAD,IAAmB;MACtC,OAAO;QACLZ,IAAI,EAAEY,aAAa,CAAC/B,WAAd,CAA0BmB,IAD3B;QAELa,WAAW,EAAED,aAAa,CAACC,WAFtB;QAGLC,QAAQ,EAAEF,aAAa,CAACE,QAHnB;QAILC,YAAY,EAAEH,aAAa,CAACG;MAJvB,CAAP;IAMD,CAPM,CAAP;EAQD;;EAEDC,iCAAiC,CAACC,UAAD,EAA0B;IACzD,MAAMC,sBAAsB,GAAG,KAAKlC,yBAAL,EAA/B;IACAiC,UAAU,CAAChB,OAAX,CAAoBZ,SAAD,IAAe;MAChC,MAAM8B,yBAAyB,GAAG,KAAK/B,6BAAL,CAAmCC,SAAnC,CAAlC;MACA,MAAMJ,cAAc,GAAG,CAAC,GAAGiC,sBAAJ,EAA4B,GAAGC,yBAA/B,CAAvB;MACAlC,cAAc,CAACgB,OAAf,CAAwBmB,aAAD,IAAmB;QACxC/B,SAAS,CAACC,KAAV,CAAgBK,MAAhB,CAAuB0B,MAAvB,CAA8Bd,gCAAA,CAAca,aAAd,CAA9B;MACD,CAFD;IAGD,CAND;EAOD;EAED;AACF;AACA;AACA;AACA;AACA;;;EACEE,2BAA2B,CAACC,mBAAD,EAA2C;IACpE,KAAKxC,uBAAL,CAA6ByC,QAA7B,CAAsCD,mBAAtC;EACD;;EAE8B,MAAzBE,yBAAyB,CAACR,UAAD,EAA0BhC,cAA1B,EAAoD;IACjF,MAAMyC,YAAY,GAAG,KAAK3C,uBAAL,CAA6B4C,MAA7B,EAArB;IACA,MAAM,IAAAC,qBAAA,EAAWF,YAAX,EAA0BG,IAAD,IAAUA,IAAI,CAACZ,UAAD,EAAahC,cAAb,CAAvC,CAAN;EACD;;EAQoB,aAAR6C,QAAQ,CAAC,CAACC,GAAD,CAAD,EAAmBjD,MAAnB,EAAyC,CAACC,uBAAD,CAAzC,EAA+F;IAClH,MAAMiD,UAAU,GAAG,IAAIpD,UAAJ,CAAeE,MAAf,EAAuBC,uBAAvB,CAAnB;IACAgD,GAAG,CAACP,QAAJ,CAAa,KAAIS,+BAAJ,EAAuBD,UAAvB,CAAb;IACA,OAAOA,UAAP;EACD;;AA3EqB;;;gCAAXpD,U,WAiEI,CAACsD,eAAA,CAAKC,QAAL,EAAD,C;gCAjEJvD,U,kBAkEW,CAACwD,gBAAD,C;gCAlEXxD,U,mBAmEY;EACrBM,YAAY,EAAE;AADO,C;gCAnEZN,U,aAsEMyD,kB;;AAQnB5C,sBAAA,CAAa6C,UAAb,CAAwB1D,UAAxB"}
1
+ {"version":3,"names":["IssuesMain","constructor","config","addComponentsIssuesSlot","getIssuesToIgnoreGlobally","issuesToIgnore","ignoreIssues","validateIssueNames","getIssuesToIgnorePerComponent","component","state","aspects","get","IssuesAspect","id","issues","allIssues","listIssues","map","issue","name","forEach","includes","NonExistIssueError","instances","Object","keys","IssuesClasses","issueClass","issuesList","IssuesList","getAllIssues","issueInstance","description","solution","isTagBlocker","removeIgnoredIssuesFromComponents","components","issuesToIgnoreGlobally","issuesToIgnoreForThisComp","issueToIgnore","delete","registerAddComponentsIssues","addComponentsIssues","register","triggerAddComponentIssues","allFunctions","values","pMapSeries","func","provider","cli","issuesMain","ComponentIssuesCmd","Slot","withType","CLIAspect","MainRuntime","addRuntime"],"sources":["issues.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component } from '@teambit/component';\nimport { IssuesClasses, IssuesList } from '@teambit/component-issues';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport pMapSeries from 'p-map-series';\nimport { ComponentIssuesCmd } from './issues-cmd';\nimport { IssuesAspect } from './issues.aspect';\nimport { NonExistIssueError } from './non-exist-issue-error';\n\nexport type IssuesConfig = {\n ignoreIssues: string[];\n};\n\nexport type AddComponentsIssues = (components: Component[], issuesToIgnore: string[]) => Promise<void>;\n\nexport type AddComponentsIssuesSlot = SlotRegistry<AddComponentsIssues>;\n\nexport class IssuesMain {\n constructor(private config: IssuesConfig, private addComponentsIssuesSlot: AddComponentsIssuesSlot) {}\n\n getIssuesToIgnoreGlobally(): string[] {\n const issuesToIgnore = this.config.ignoreIssues || [];\n this.validateIssueNames(issuesToIgnore);\n return issuesToIgnore;\n }\n\n getIssuesToIgnorePerComponent(component: Component): string[] {\n const issuesToIgnore = component.state.aspects.get(IssuesAspect.id)?.config.ignoreIssues;\n if (!issuesToIgnore) return [];\n this.validateIssueNames(issuesToIgnore);\n return issuesToIgnore;\n }\n\n private validateIssueNames(issues: string[]) {\n const allIssues = this.listIssues().map((issue) => issue.name);\n issues.forEach((issue) => {\n if (!allIssues.includes(issue)) {\n throw new NonExistIssueError(issue);\n }\n });\n }\n\n listIssues() {\n const instances = Object.keys(IssuesClasses).map((issueClass) => new IssuesClasses[issueClass]());\n const issuesList = new IssuesList(instances);\n const allIssues = issuesList.getAllIssues();\n return allIssues.map((issueInstance) => {\n return {\n name: issueInstance.constructor.name,\n description: issueInstance.description,\n solution: issueInstance.solution,\n isTagBlocker: issueInstance.isTagBlocker,\n };\n });\n }\n\n removeIgnoredIssuesFromComponents(components: Component[]) {\n const issuesToIgnoreGlobally = this.getIssuesToIgnoreGlobally();\n components.forEach((component) => {\n const issuesToIgnoreForThisComp = this.getIssuesToIgnorePerComponent(component);\n const issuesToIgnore = [...issuesToIgnoreGlobally, ...issuesToIgnoreForThisComp];\n issuesToIgnore.forEach((issueToIgnore) => {\n component.state.issues.delete(IssuesClasses[issueToIgnore]);\n });\n });\n }\n\n /**\n * register to this slot in order to add a component-issue in bit-status and bit-snap/tag.\n * your function gets all components in one param and the issuesToIgnore as a second param, you don't need to check\n * for issuesToIgnore. if the issue you added is configured to be ignored, it'll be ignored later in the process.\n * this is useful for optimization, if you don't want to calculate the component issue when it's ignored.\n */\n registerAddComponentsIssues(addComponentsIssues: AddComponentsIssues) {\n this.addComponentsIssuesSlot.register(addComponentsIssues);\n }\n\n async triggerAddComponentIssues(components: Component[], issuesToIgnore: string[]) {\n const allFunctions = this.addComponentsIssuesSlot.values();\n await pMapSeries(allFunctions, (func) => func(components, issuesToIgnore));\n }\n\n static slots = [Slot.withType<AddComponentsIssues>()];\n static dependencies = [CLIAspect];\n static defaultConfig = {\n ignoreIssues: [],\n };\n static runtime = MainRuntime;\n static async provider([cli]: [CLIMain], config: IssuesConfig, [addComponentsIssuesSlot]: [AddComponentsIssuesSlot]) {\n const issuesMain = new IssuesMain(config, addComponentsIssuesSlot);\n cli.register(new ComponentIssuesCmd(issuesMain));\n return issuesMain;\n }\n}\n\nIssuesAspect.addRuntime(IssuesMain);\n"],"mappings":"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"}
@@ -4,35 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.NonExistIssueError = void 0;
7
-
8
7
  function _bitError() {
9
8
  const data = require("@teambit/bit-error");
10
-
11
9
  _bitError = function () {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  function _issues() {
19
15
  const data = require("./issues.aspect");
20
-
21
16
  _issues = function () {
22
17
  return data;
23
18
  };
24
-
25
19
  return data;
26
20
  }
27
-
28
21
  class NonExistIssueError extends _bitError().BitError {
29
22
  constructor(issueToIgnore) {
30
23
  super(`fatal: a non-existing component-issue "${issueToIgnore}" was configured for ${_issues().IssuesAspect.id} aspect.
31
24
  to get the list of component-issues, please run "bit component-issues"`);
32
25
  }
33
-
34
26
  }
35
-
36
27
  exports.NonExistIssueError = NonExistIssueError;
37
28
 
38
29
  //# sourceMappingURL=non-exist-issue-error.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NonExistIssueError","BitError","constructor","issueToIgnore","IssuesAspect","id"],"sources":["non-exist-issue-error.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { IssuesAspect } from './issues.aspect';\n\nexport class NonExistIssueError extends BitError {\n constructor(issueToIgnore: string) {\n super(`fatal: a non-existing component-issue \"${issueToIgnore}\" was configured for ${IssuesAspect.id} aspect.\nto get the list of component-issues, please run \"bit component-issues\"`);\n }\n}\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,kBAAN,SAAiCC,oBAAjC,CAA0C;EAC/CC,WAAW,CAACC,aAAD,EAAwB;IACjC,MAAO,0CAAyCA,aAAc,wBAAuBC,sBAAA,CAAaC,EAAG;AACzG,uEADI;EAED;;AAJ8C"}
1
+ {"version":3,"names":["NonExistIssueError","BitError","constructor","issueToIgnore","IssuesAspect","id"],"sources":["non-exist-issue-error.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { IssuesAspect } from './issues.aspect';\n\nexport class NonExistIssueError extends BitError {\n constructor(issueToIgnore: string) {\n super(`fatal: a non-existing component-issue \"${issueToIgnore}\" was configured for ${IssuesAspect.id} aspect.\nto get the list of component-issues, please run \"bit component-issues\"`);\n }\n}\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,kBAAkB,SAASC,oBAAQ,CAAC;EAC/CC,WAAW,CAACC,aAAqB,EAAE;IACjC,KAAK,CAAE,0CAAyCA,aAAc,wBAAuBC,sBAAY,CAACC,EAAG;AACzG,uEAAuE,CAAC;EACtE;AACF;AAAC"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/issues",
3
- "version": "0.0.189",
3
+ "version": "0.0.190",
4
4
  "homepage": "https://bit.dev/teambit/component/issues",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "issues",
9
- "version": "0.0.189"
9
+ "version": "0.0.190"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -16,7 +16,7 @@
16
16
  "@teambit/harmony": "0.3.3",
17
17
  "@teambit/cli": "0.0.591",
18
18
  "@teambit/component-issues": "0.0.73",
19
- "@teambit/component": "0.0.881",
19
+ "@teambit/component": "0.0.882",
20
20
  "@teambit/bit-error": "0.0.400"
21
21
  },
22
22
  "devDependencies": {