playwright-slack-report 1.1.57 → 1.1.60
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/README.md +25 -20
- package/dist/src/LayoutGenerator.js +2 -2
- package/dist/src/LayoutGenerator.js.map +1 -1
- package/dist/src/ResultsParser.d.ts +1 -1
- package/dist/src/ResultsParser.js +15 -17
- package/dist/src/ResultsParser.js.map +1 -1
- package/dist/src/SlackReporter.d.ts +2 -1
- package/dist/src/SlackReporter.js +27 -7
- package/dist/src/SlackReporter.js.map +1 -1
- package/dist/src/cli/cli_pre_checks.js +6 -0
- package/dist/src/cli/cli_pre_checks.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -190,7 +190,26 @@ Both the `-c` and `-j` options are required. The `-c` option is the path to you
|
|
|
190
190
|
### Additional notes
|
|
191
191
|
* The CLI currently does not support custom layouts 👎🥺
|
|
192
192
|
* The config file for the cli app is stand-alone, which means you no longer need to define the Playwright slack reporter in your `playwright.config.ts` file
|
|
193
|
-
* In order to handle dynamic meta data e.g. environment variables storing your build id, branch name etc, you can use the `meta` option in the config file and use the format: `
|
|
193
|
+
* In order to handle dynamic meta data e.g. environment variables storing your build id, branch name etc, you can use the `meta` option in the config file and use the format: `__ENV_VARIABLE_NAME` as its value. This will be replaced with the actual value of the environment variable at runtime. See example below:
|
|
194
|
+
|
|
195
|
+
```json
|
|
196
|
+
{
|
|
197
|
+
"sendResults": "always",
|
|
198
|
+
"slackLogLevel": "error",
|
|
199
|
+
"sendUsingBot": {
|
|
200
|
+
"channels": ["demo"]
|
|
201
|
+
},
|
|
202
|
+
"showInThread": true,
|
|
203
|
+
"meta": [
|
|
204
|
+
{ "key": "build", "value" : "__ENV_BUILD_ID"},
|
|
205
|
+
{ "key": "branch", "value" : "__ENV_BRANCH_NAME"},
|
|
206
|
+
{ "key": "commit", "value" : "__ENV_COMMIT_ID"},
|
|
207
|
+
{ "key": "results", "value" : "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"}
|
|
208
|
+
],
|
|
209
|
+
"maxNumberOfFailures": 4,
|
|
210
|
+
"disableUnfurl": true
|
|
211
|
+
}
|
|
212
|
+
```
|
|
194
213
|
|
|
195
214
|
In your `cli_config.json` file:
|
|
196
215
|
|
|
@@ -242,26 +261,8 @@ You will encounter the following error if the environment variable is not define
|
|
|
242
261
|
...
|
|
243
262
|
```
|
|
244
263
|
|
|
245
|
-
```json
|
|
246
|
-
{
|
|
247
|
-
"sendResults": "always",
|
|
248
|
-
"slackLogLevel": "error",
|
|
249
|
-
"sendUsingBot": {
|
|
250
|
-
"channels": ["demo"]
|
|
251
|
-
},
|
|
252
|
-
"showInThread": true,
|
|
253
|
-
"meta": [
|
|
254
|
-
{ "key": "build", "value" : "{__ENV_BUILD_ID}"},
|
|
255
|
-
{ "key": "branch", "value" : "{__ENV_BRANCH_NAME}"},
|
|
256
|
-
{ "key": "commit", "value" : "{__ENV_COMMIT_ID}"},
|
|
257
|
-
{ "key": "results", "value" : "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"}
|
|
258
|
-
],
|
|
259
|
-
"maxNumberOfFailures": 4,
|
|
260
|
-
"disableUnfurl": true
|
|
261
|
-
}
|
|
262
|
-
```
|
|
263
264
|
|
|
264
|
-
# ⚙️ Configuration
|
|
265
|
+
# ⚙️ Configuration (applicable for Option A and Option B)
|
|
265
266
|
|
|
266
267
|
An example advanced configuration is shown below:
|
|
267
268
|
|
|
@@ -305,6 +306,10 @@ An example advanced configuration is shown below:
|
|
|
305
306
|
|
|
306
307
|
### **channels**
|
|
307
308
|
An array of Slack channels to post to, at least one channel is required
|
|
309
|
+
### **onSuccessChannels**
|
|
310
|
+
(Optional) An array of Slack channels to post to when tests have passed. Value from `channels` is used if not defined here
|
|
311
|
+
### **onFailureChannels**
|
|
312
|
+
(Optional) An array of Slack channels to post to when tests have failed. Value from `channels` is used if not defined here
|
|
308
313
|
### **sendResults**
|
|
309
314
|
Can either be *"always"*, *"on-failure"* or *"off"*, this configuration is required:
|
|
310
315
|
* **always** - will send the results to Slack at completion of the test run
|
|
@@ -40,7 +40,7 @@ const generateFailures = async (summaryResults, maxNumberOfFailures) => {
|
|
|
40
40
|
const fails = [];
|
|
41
41
|
const numberOfFailuresToShow = Math.min(summaryResults.failures.length, maxNumberOfFailures);
|
|
42
42
|
for (let i = 0; i < numberOfFailuresToShow; i += 1) {
|
|
43
|
-
const { failureReason, test } = summaryResults.failures[i];
|
|
43
|
+
const { failureReason, test, suite } = summaryResults.failures[i];
|
|
44
44
|
const formattedFailure = failureReason
|
|
45
45
|
.substring(0, maxNumberOfFailureLength)
|
|
46
46
|
.split('\n')
|
|
@@ -50,7 +50,7 @@ const generateFailures = async (summaryResults, maxNumberOfFailures) => {
|
|
|
50
50
|
type: 'section',
|
|
51
51
|
text: {
|
|
52
52
|
type: 'mrkdwn',
|
|
53
|
-
text: `*${test}*
|
|
53
|
+
text: `*${suite} > ${test}*
|
|
54
54
|
\n${formattedFailure}`,
|
|
55
55
|
},
|
|
56
56
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutGenerator.js","sourceRoot":"","sources":["../../src/LayoutGenerator.ts"],"names":[],"mappings":";;;AAGA,MAAM,cAAc,GAAG,KAAK,EAC1B,cAA8B,EAC9B,mBAA2B,EACS,EAAE;IACtC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,yBAAyB;SAChC;KACF,CAAC;IACF,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,cAAc,CAAC,MAAM,UAAU,cAAc,CAAC,MAAM,MAC9D,cAAc,CAAC,KAAK,KAAK,SAAS;gBAChC,CAAC,CAAC,QAAQ,cAAc,CAAC,KAAK,MAAM;gBACpC,CAAC,CAAC,GACN,MAAM,cAAc,CAAC,OAAO,GAAG;SAChC;KACF,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IAE1E,IAAI,cAAc,CAAC,IAAI,EAAE;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACtD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM,GAAG,QAAQ,KAAK,EAAE;iBAC/B;aACF,CAAC,CAAC;SACJ;KACF;IAED,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC;AAoDO,wCAAc;AAlDvB,MAAM,gBAAgB,GAAG,KAAK,EAC5B,cAA8B,EAC9B,mBAA2B,EACS,EAAE;IACtC,MAAM,wBAAwB,GAAG,GAAG,CAAC;IACrC,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CACrC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAC9B,mBAAmB,CACpB,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,EAAE,CAAC,IAAI,CAAC,EAAE;QAClD,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"LayoutGenerator.js","sourceRoot":"","sources":["../../src/LayoutGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export default class ResultsParser {
|
|
|
30
30
|
private result;
|
|
31
31
|
constructor();
|
|
32
32
|
parseFromJsonFile(filePath: string): Promise<SummaryResults>;
|
|
33
|
-
parseTestSuite(suites: any, retries: number
|
|
33
|
+
parseTestSuite(suites: any, retries: number): Promise<void>;
|
|
34
34
|
parseTests(suiteName: any, specs: any, retries: number): Promise<testResult[]>;
|
|
35
35
|
getFailure(snippet: string, stack: string): string;
|
|
36
36
|
getParsedResults(allTests: Array<TestCase>): Promise<SummaryResults>;
|
|
@@ -39,7 +39,10 @@ class ResultsParser {
|
|
|
39
39
|
const data = fs.readFileSync(filePath, 'utf-8');
|
|
40
40
|
const parsedData = JSON.parse(data);
|
|
41
41
|
const retries = parsedData.config.projects[0]?.retries || 0;
|
|
42
|
-
|
|
42
|
+
for (const suite of parsedData.suites) {
|
|
43
|
+
// eslint-disable-next-line no-await-in-loop
|
|
44
|
+
await this.parseTestSuite(suite, retries);
|
|
45
|
+
}
|
|
43
46
|
const failures = await this.getFailures();
|
|
44
47
|
const summary = {
|
|
45
48
|
passed: parsedData.stats.expected,
|
|
@@ -52,31 +55,25 @@ class ResultsParser {
|
|
|
52
55
|
for (const suite of this.result) {
|
|
53
56
|
summary.tests = summary.tests.concat(suite.testSuite.tests);
|
|
54
57
|
}
|
|
55
|
-
// console.log('🚀~ summary:', JSON.stringify(summary, null, 2));
|
|
56
58
|
return summary;
|
|
57
59
|
}
|
|
58
|
-
async parseTestSuite(suites, retries
|
|
60
|
+
async parseTestSuite(suites, retries) {
|
|
59
61
|
let testResults = [];
|
|
60
|
-
if
|
|
61
|
-
|
|
62
|
+
// if it has direct specs
|
|
63
|
+
if (suites.specs?.length > 0) {
|
|
64
|
+
testResults = await this.parseTests(suites.title, suites.specs, retries);
|
|
62
65
|
this.updateResults({
|
|
63
66
|
testSuite: {
|
|
64
|
-
title: suites
|
|
67
|
+
title: suites.title ?? suites.file,
|
|
65
68
|
tests: testResults,
|
|
66
69
|
},
|
|
67
70
|
});
|
|
68
|
-
await this.parseTestSuite(suites[suiteIndex].suites, retries, (suiteIndex += 1));
|
|
69
71
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
tests: testResults,
|
|
76
|
-
},
|
|
77
|
-
});
|
|
78
|
-
// eslint-disable-next-line no-useless-return
|
|
79
|
-
return;
|
|
72
|
+
if (suites.suites?.length > 0) {
|
|
73
|
+
for (const suite of suites.suites) {
|
|
74
|
+
// eslint-disable-next-line no-await-in-loop
|
|
75
|
+
await this.parseTestSuite(suite, retries);
|
|
76
|
+
}
|
|
80
77
|
}
|
|
81
78
|
}
|
|
82
79
|
async parseTests(suiteName, specs, retries) {
|
|
@@ -142,6 +139,7 @@ class ResultsParser {
|
|
|
142
139
|
// only flag as failed if the last attempt has failed
|
|
143
140
|
if (test.retries === test.retry) {
|
|
144
141
|
failures.push({
|
|
142
|
+
suite: test.suiteName,
|
|
145
143
|
test: ResultsParser.getTestName(test),
|
|
146
144
|
failureReason: test.reason,
|
|
147
145
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResultsParser.js","sourceRoot":"","sources":["../../src/ResultsParser.ts"],"names":[],"mappings":";AAAA,8BAA8B;AAC9B,yCAAyC;AACzC,sCAAsC;AACtC,qCAAqC;AACrC,2CAA2C;AAC3C,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;AAEtC,uCAAyB;AAkCzB,MAAqB,aAAa;IACxB,MAAM,CAAc;IAE5B;QACE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,UAAU,GAAe,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ResultsParser.js","sourceRoot":"","sources":["../../src/ResultsParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@ declare class SlackReporter implements Reporter {
|
|
|
7
7
|
private meta;
|
|
8
8
|
private resultsParser;
|
|
9
9
|
private sendResults;
|
|
10
|
-
private
|
|
10
|
+
private onSuccessSlackChannels;
|
|
11
|
+
private onFailureSlackChannels;
|
|
11
12
|
private slackLogLevel;
|
|
12
13
|
private slackOAuthToken;
|
|
13
14
|
private slackWebHookUrl;
|
|
@@ -17,7 +17,8 @@ class SlackReporter {
|
|
|
17
17
|
meta = [];
|
|
18
18
|
resultsParser;
|
|
19
19
|
sendResults = 'on-failure';
|
|
20
|
-
|
|
20
|
+
onSuccessSlackChannels = [];
|
|
21
|
+
onFailureSlackChannels = [];
|
|
21
22
|
slackLogLevel;
|
|
22
23
|
slackOAuthToken;
|
|
23
24
|
slackWebHookUrl;
|
|
@@ -47,7 +48,10 @@ class SlackReporter {
|
|
|
47
48
|
this.sendResults = slackReporterConfig.sendResults || 'always';
|
|
48
49
|
this.customLayout = slackReporterConfig.layout;
|
|
49
50
|
this.customLayoutAsync = slackReporterConfig.layoutAsync;
|
|
50
|
-
this.
|
|
51
|
+
this.onSuccessSlackChannels
|
|
52
|
+
= slackReporterConfig.onSuccessChannels || slackReporterConfig.channels;
|
|
53
|
+
this.onFailureSlackChannels
|
|
54
|
+
= slackReporterConfig.onFailureChannels || slackReporterConfig.channels;
|
|
51
55
|
this.maxNumberOfFailuresToShow
|
|
52
56
|
= slackReporterConfig.maxNumberOfFailuresToShow || 10;
|
|
53
57
|
this.slackOAuthToken = slackReporterConfig.slackOAuthToken || undefined;
|
|
@@ -72,9 +76,10 @@ class SlackReporter {
|
|
|
72
76
|
const resultSummary = await this.resultsParser.getParsedResults(this.suite.allTests());
|
|
73
77
|
resultSummary.meta = this.meta;
|
|
74
78
|
const maxRetry = Math.max(...resultSummary.tests.map((o) => o.retry));
|
|
79
|
+
const testsFailed = resultSummary.tests.some((z) => (z.status === 'failed' || z.status === 'timedOut')
|
|
80
|
+
&& z.retry === maxRetry);
|
|
75
81
|
if (this.sendResults === 'on-failure'
|
|
76
|
-
&&
|
|
77
|
-
&& z.retry === maxRetry).length === 0) {
|
|
82
|
+
&& !testsFailed) {
|
|
78
83
|
this.log('⏩ Slack reporter - no failures found');
|
|
79
84
|
return;
|
|
80
85
|
}
|
|
@@ -97,9 +102,10 @@ class SlackReporter {
|
|
|
97
102
|
logLevel: this.slackLogLevel || web_api_1.LogLevel.DEBUG,
|
|
98
103
|
agent,
|
|
99
104
|
}));
|
|
105
|
+
const slackChannels = testsFailed ? this.onFailureSlackChannels : this.onSuccessSlackChannels;
|
|
100
106
|
const result = await slackClient.sendMessage({
|
|
101
107
|
options: {
|
|
102
|
-
channelIds:
|
|
108
|
+
channelIds: slackChannels,
|
|
103
109
|
customLayout: this.customLayout,
|
|
104
110
|
customLayoutAsync: this.customLayoutAsync,
|
|
105
111
|
maxNumberOfFailures: this.maxNumberOfFailuresToShow,
|
|
@@ -142,6 +148,12 @@ class SlackReporter {
|
|
|
142
148
|
message: '❌ You can only enable a single option, either provide a slack webhook url, slackOAuthToken or process.env.SLACK_BOT_USER_OAUTH_TOKEN were found',
|
|
143
149
|
};
|
|
144
150
|
}
|
|
151
|
+
if (this.slackWebHookUrl && this.showInThread) {
|
|
152
|
+
return {
|
|
153
|
+
okToProceed: false,
|
|
154
|
+
message: '❌ The showInThread feature is only supported when using slackOAuthToken or process.env.SLACK_BOT_USER_OAUTH_TOKEN',
|
|
155
|
+
};
|
|
156
|
+
}
|
|
145
157
|
if (!this.sendResults
|
|
146
158
|
|| !['always', 'on-failure', 'off'].includes(this.sendResults)) {
|
|
147
159
|
return {
|
|
@@ -149,10 +161,18 @@ class SlackReporter {
|
|
|
149
161
|
message: "❌ \"sendResults\" is not valid. Expecting one of ['always', 'on-failure', 'off'].",
|
|
150
162
|
};
|
|
151
163
|
}
|
|
152
|
-
|
|
164
|
+
const noSuccessChannelsProvided = this.sendResults === 'always' && (!this.onSuccessSlackChannels || this.onSuccessSlackChannels.length === 0);
|
|
165
|
+
const noFailureChannelsProvided = ['always', 'on-failure'].includes(this.sendResults) && (!this.onFailureSlackChannels || this.onFailureSlackChannels.length === 0);
|
|
166
|
+
if (noSuccessChannelsProvided) {
|
|
167
|
+
return {
|
|
168
|
+
okToProceed: false,
|
|
169
|
+
message: '❌ Slack channel(s) for successful tests notifications was not provided in the config',
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
if (noFailureChannelsProvided) {
|
|
153
173
|
return {
|
|
154
174
|
okToProceed: false,
|
|
155
|
-
message: '❌ Slack channel(s) was not provided in the config',
|
|
175
|
+
message: '❌ Slack channel(s) for failed tests notifications was not provided in the config',
|
|
156
176
|
};
|
|
157
177
|
}
|
|
158
178
|
if (this.customLayout && typeof this.customLayout !== 'function') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlackReporter.js","sourceRoot":"","sources":["../../src/SlackReporter.ts"],"names":[],"mappings":";;;;;AASA,4CAAqD;AACrD,yDAAoD;AACpD,4CAAiD;AACjD,oEAA4C;AAC5C,gEAAwC;AACxC,8EAAsD;AAEtD,MAAM,aAAa;IACT,YAAY,CAAuB;IAEnC,iBAAiB,CAAuB;IAExC,yBAAyB,CAAS;IAElC,YAAY,CAAU;IAEtB,IAAI,GAA0C,EAAE,CAAC;IAEjD,aAAa,CAAgB;IAE7B,WAAW,GAAoC,YAAY,CAAC;IAE5D,
|
|
1
|
+
{"version":3,"file":"SlackReporter.js","sourceRoot":"","sources":["../../src/SlackReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,12 @@ const doPreChecks = async (jsonResultsPath, configFile) => {
|
|
|
44
44
|
message: 'It is not possible to use both sendUsingWebhook and sendUsingBot, choose a single method',
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
+
if (config.sendUsingWebhook && config.showInThread) {
|
|
48
|
+
return {
|
|
49
|
+
status: 'error',
|
|
50
|
+
message: 'The showInThread feature is only supported when using sendUsingBot is configured',
|
|
51
|
+
};
|
|
52
|
+
}
|
|
47
53
|
if (!config.sendUsingWebhook && !config.sendUsingBot) {
|
|
48
54
|
return {
|
|
49
55
|
status: 'error',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli_pre_checks.js","sourceRoot":"","sources":["../../../src/cli/cli_pre_checks.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAwD;AACxD,gDAAwB;AACxB,6CAAwD;AAEjD,MAAM,WAAW,GAAG,KAAK,EAC9B,eAAuB,EACvB,UAAkB,EAOjB,EAAE;IACH,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;QAChC,OAAO;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,qCAAqC,eAAe;qEACE;SAChE,CAAC;KACH;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC3B,OAAO;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,+BAA+B,UAAU,EAAE;SACrD,CAAC;KACH;IAED,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC1E,IAAI,MAAkB,CAAC;IACvB,IAAI;QACF,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC/B,WAAW,CAAC,IAAI,GAAG,yBAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;KAC5B;IAAC,OAAO,KAAK,EAAE;QACd,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;KAC3B;IAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;QACxB,OAAO;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,6BACP,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CACxE,EAAE;SACH,CAAC;KACH;IAED,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,YAAY,EAAE;QAClD,OAAO;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EACL,0FAA0F;SAC7F,CAAC;KACH;IAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QACpD,OAAO;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EACL,6EAA6E;SAChF,CAAC;KACH;IAED,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE;QAClE,OAAO;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,qDAAqD;SAC/D,CAAC;KACH;IAED,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,cAAI,CAAC,OAAO,CAAC,eAAe,CAAC;QACvC,UAAU,EAAE,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QACpC,MAAM,EAAE,WAAW,CAAC,IAAI;KACzB,CAAC;AACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli_pre_checks.js","sourceRoot":"","sources":["../../../src/cli/cli_pre_checks.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
package/package.json
CHANGED