@teambit/issues 0.0.187 → 0.0.189
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/issues.main.runtime.d.ts +15 -3
- package/dist/issues.main.runtime.js +41 -4
- package/dist/issues.main.runtime.js.map +1 -1
- package/package-tar/teambit-issues-0.0.189.tgz +0 -0
- package/package.json +7 -6
- /package/{preview-1665805128745.js → preview-1666409808293.js} +0 -0
- package/package-tar/teambit-issues-0.0.187.tgz +0 -0
@@ -1,11 +1,15 @@
|
|
1
1
|
import { CLIMain } from '@teambit/cli';
|
2
2
|
import { Component } from '@teambit/component';
|
3
|
+
import { SlotRegistry } from '@teambit/harmony';
|
3
4
|
export declare type IssuesConfig = {
|
4
5
|
ignoreIssues: string[];
|
5
6
|
};
|
7
|
+
export declare type AddComponentsIssues = (components: Component[], issuesToIgnore: string[]) => Promise<void>;
|
8
|
+
export declare type AddComponentsIssuesSlot = SlotRegistry<AddComponentsIssues>;
|
6
9
|
export declare class IssuesMain {
|
7
10
|
private config;
|
8
|
-
|
11
|
+
private addComponentsIssuesSlot;
|
12
|
+
constructor(config: IssuesConfig, addComponentsIssuesSlot: AddComponentsIssuesSlot);
|
9
13
|
getIssuesToIgnoreGlobally(): string[];
|
10
14
|
getIssuesToIgnorePerComponent(component: Component): string[];
|
11
15
|
private validateIssueNames;
|
@@ -16,11 +20,19 @@ export declare class IssuesMain {
|
|
16
20
|
isTagBlocker: boolean;
|
17
21
|
}[];
|
18
22
|
removeIgnoredIssuesFromComponents(components: Component[]): void;
|
19
|
-
|
23
|
+
/**
|
24
|
+
* register to this slot in order to add a component-issue in bit-status and bit-snap/tag.
|
25
|
+
* your function gets all components in one param and the issuesToIgnore as a second param, you don't need to check
|
26
|
+
* for issuesToIgnore. if the issue you added is configured to be ignored, it'll be ignored later in the process.
|
27
|
+
* this is useful for optimization, if you don't want to calculate the component issue when it's ignored.
|
28
|
+
*/
|
29
|
+
registerAddComponentsIssues(addComponentsIssues: AddComponentsIssues): void;
|
30
|
+
triggerAddComponentIssues(components: Component[], issuesToIgnore: string[]): Promise<void>;
|
31
|
+
static slots: ((registerFn: () => string) => SlotRegistry<AddComponentsIssues>)[];
|
20
32
|
static dependencies: import("@teambit/harmony").Aspect[];
|
21
33
|
static defaultConfig: {
|
22
34
|
ignoreIssues: never[];
|
23
35
|
};
|
24
36
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
25
|
-
static provider([cli]: [CLIMain], config: IssuesConfig): Promise<IssuesMain>;
|
37
|
+
static provider([cli]: [CLIMain], config: IssuesConfig, [addComponentsIssuesSlot]: [AddComponentsIssuesSlot]): Promise<IssuesMain>;
|
26
38
|
}
|
@@ -43,6 +43,26 @@ function _componentIssues() {
|
|
43
43
|
return data;
|
44
44
|
}
|
45
45
|
|
46
|
+
function _harmony() {
|
47
|
+
const data = require("@teambit/harmony");
|
48
|
+
|
49
|
+
_harmony = function () {
|
50
|
+
return data;
|
51
|
+
};
|
52
|
+
|
53
|
+
return data;
|
54
|
+
}
|
55
|
+
|
56
|
+
function _pMapSeries() {
|
57
|
+
const data = _interopRequireDefault(require("p-map-series"));
|
58
|
+
|
59
|
+
_pMapSeries = function () {
|
60
|
+
return data;
|
61
|
+
};
|
62
|
+
|
63
|
+
return data;
|
64
|
+
}
|
65
|
+
|
46
66
|
function _issuesCmd() {
|
47
67
|
const data = require("./issues-cmd");
|
48
68
|
|
@@ -74,8 +94,9 @@ function _nonExistIssueError() {
|
|
74
94
|
}
|
75
95
|
|
76
96
|
class IssuesMain {
|
77
|
-
constructor(config) {
|
97
|
+
constructor(config, addComponentsIssuesSlot) {
|
78
98
|
this.config = config;
|
99
|
+
this.addComponentsIssuesSlot = addComponentsIssuesSlot;
|
79
100
|
}
|
80
101
|
|
81
102
|
getIssuesToIgnoreGlobally() {
|
@@ -126,9 +147,25 @@ class IssuesMain {
|
|
126
147
|
});
|
127
148
|
});
|
128
149
|
}
|
150
|
+
/**
|
151
|
+
* register to this slot in order to add a component-issue in bit-status and bit-snap/tag.
|
152
|
+
* your function gets all components in one param and the issuesToIgnore as a second param, you don't need to check
|
153
|
+
* for issuesToIgnore. if the issue you added is configured to be ignored, it'll be ignored later in the process.
|
154
|
+
* this is useful for optimization, if you don't want to calculate the component issue when it's ignored.
|
155
|
+
*/
|
156
|
+
|
157
|
+
|
158
|
+
registerAddComponentsIssues(addComponentsIssues) {
|
159
|
+
this.addComponentsIssuesSlot.register(addComponentsIssues);
|
160
|
+
}
|
161
|
+
|
162
|
+
async triggerAddComponentIssues(components, issuesToIgnore) {
|
163
|
+
const allFunctions = this.addComponentsIssuesSlot.values();
|
164
|
+
await (0, _pMapSeries().default)(allFunctions, func => func(components, issuesToIgnore));
|
165
|
+
}
|
129
166
|
|
130
|
-
static async provider([cli], config) {
|
131
|
-
const issuesMain = new IssuesMain(config);
|
167
|
+
static async provider([cli], config, [addComponentsIssuesSlot]) {
|
168
|
+
const issuesMain = new IssuesMain(config, addComponentsIssuesSlot);
|
132
169
|
cli.register(new (_issuesCmd().ComponentIssuesCmd)(issuesMain));
|
133
170
|
return issuesMain;
|
134
171
|
}
|
@@ -136,7 +173,7 @@ class IssuesMain {
|
|
136
173
|
}
|
137
174
|
|
138
175
|
exports.IssuesMain = IssuesMain;
|
139
|
-
(0, _defineProperty2().default)(IssuesMain, "slots", []);
|
176
|
+
(0, _defineProperty2().default)(IssuesMain, "slots", [_harmony().Slot.withType()]);
|
140
177
|
(0, _defineProperty2().default)(IssuesMain, "dependencies", [_cli().CLIAspect]);
|
141
178
|
(0, _defineProperty2().default)(IssuesMain, "defaultConfig", {
|
142
179
|
ignoreIssues: []
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["IssuesMain","constructor","config","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","provider","cli","issuesMain","
|
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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"}
|
Binary file
|
package/package.json
CHANGED
@@ -1,21 +1,22 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/issues",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.189",
|
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.
|
9
|
+
"version": "0.0.189"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"chalk": "2.4.2",
|
13
|
+
"p-map-series": "2.1.0",
|
13
14
|
"@babel/runtime": "7.12.18",
|
14
15
|
"core-js": "^3.0.0",
|
15
16
|
"@teambit/harmony": "0.3.3",
|
16
|
-
"@teambit/cli": "0.0.
|
17
|
-
"@teambit/component-issues": "0.0.
|
18
|
-
"@teambit/component": "0.0.
|
17
|
+
"@teambit/cli": "0.0.591",
|
18
|
+
"@teambit/component-issues": "0.0.73",
|
19
|
+
"@teambit/component": "0.0.881",
|
19
20
|
"@teambit/bit-error": "0.0.400"
|
20
21
|
},
|
21
22
|
"devDependencies": {
|
@@ -27,7 +28,7 @@
|
|
27
28
|
"@types/node": "12.20.4"
|
28
29
|
},
|
29
30
|
"peerDependencies": {
|
30
|
-
"@teambit/legacy": "1.0.
|
31
|
+
"@teambit/legacy": "1.0.374",
|
31
32
|
"react-dom": "^16.8.0 || ^17.0.0",
|
32
33
|
"react": "^16.8.0 || ^17.0.0"
|
33
34
|
},
|
File without changes
|
Binary file
|