@datadog/datadog-ci-plugin-synthetics 5.12.0 → 5.13.0
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/bundle.d.ts +2392 -0
- package/dist/bundle.js +144530 -0
- package/dist/bundle.js.LEGAL.txt +2412 -0
- package/dist/bundle.js.map +1 -0
- package/dist/commands/deploy-tests.js +2 -125
- package/dist/commands/import-tests.js +2 -118
- package/dist/commands/run-tests.js +2 -319
- package/dist/commands/upload-application.js +2 -138
- package/package.json +19 -19
- package/dist/api.d.ts +0 -52
- package/dist/api.js +0 -333
- package/dist/api.js.map +0 -1
- package/dist/batch.d.ts +0 -9
- package/dist/batch.js +0 -325
- package/dist/batch.js.map +0 -1
- package/dist/build-and-test.d.ts +0 -25
- package/dist/build-and-test.js +0 -196
- package/dist/build-and-test.js.map +0 -1
- package/dist/commands/deploy-tests.d.ts +0 -19
- package/dist/commands/deploy-tests.js.map +0 -1
- package/dist/commands/import-tests.d.ts +0 -19
- package/dist/commands/import-tests.js.map +0 -1
- package/dist/commands/run-tests.d.ts +0 -19
- package/dist/commands/run-tests.js.map +0 -1
- package/dist/commands/upload-application.d.ts +0 -18
- package/dist/commands/upload-application.js.map +0 -1
- package/dist/deploy-tests-lib.d.ts +0 -2
- package/dist/deploy-tests-lib.js +0 -96
- package/dist/deploy-tests-lib.js.map +0 -1
- package/dist/errors.d.ts +0 -19
- package/dist/errors.js +0 -31
- package/dist/errors.js.map +0 -1
- package/dist/import-tests-lib.d.ts +0 -2
- package/dist/import-tests-lib.js +0 -71
- package/dist/import-tests-lib.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.js +0 -46
- package/dist/index.js.map +0 -1
- package/dist/interfaces.d.ts +0 -759
- package/dist/interfaces.js +0 -27
- package/dist/interfaces.js.map +0 -1
- package/dist/local-test-definition.d.ts +0 -2
- package/dist/local-test-definition.js +0 -16
- package/dist/local-test-definition.js.map +0 -1
- package/dist/mobile.d.ts +0 -28
- package/dist/mobile.js +0 -275
- package/dist/mobile.js.map +0 -1
- package/dist/multilocator.d.ts +0 -2
- package/dist/multilocator.js +0 -88
- package/dist/multilocator.js.map +0 -1
- package/dist/reporters/constants.d.ts +0 -6
- package/dist/reporters/constants.js +0 -14
- package/dist/reporters/constants.js.map +0 -1
- package/dist/reporters/default.d.ts +0 -33
- package/dist/reporters/default.js +0 -461
- package/dist/reporters/default.js.map +0 -1
- package/dist/reporters/junit.d.ts +0 -100
- package/dist/reporters/junit.js +0 -425
- package/dist/reporters/junit.js.map +0 -1
- package/dist/reporters/mobile/app-upload.d.ts +0 -14
- package/dist/reporters/mobile/app-upload.js +0 -54
- package/dist/reporters/mobile/app-upload.js.map +0 -1
- package/dist/run-tests-lib.d.ts +0 -28
- package/dist/run-tests-lib.js +0 -281
- package/dist/run-tests-lib.js.map +0 -1
- package/dist/test.d.ts +0 -29
- package/dist/test.js +0 -200
- package/dist/test.js.map +0 -1
- package/dist/tunnel/crypto.d.ts +0 -6
- package/dist/tunnel/crypto.js +0 -48
- package/dist/tunnel/crypto.js.map +0 -1
- package/dist/tunnel/index.d.ts +0 -1
- package/dist/tunnel/index.js +0 -6
- package/dist/tunnel/index.js.map +0 -1
- package/dist/tunnel/tunnel.d.ts +0 -49
- package/dist/tunnel/tunnel.js +0 -329
- package/dist/tunnel/tunnel.js.map +0 -1
- package/dist/tunnel/websocket.d.ts +0 -39
- package/dist/tunnel/websocket.js +0 -154
- package/dist/tunnel/websocket.js.map +0 -1
- package/dist/utils/internal.d.ts +0 -58
- package/dist/utils/internal.js +0 -317
- package/dist/utils/internal.js.map +0 -1
- package/dist/utils/public.d.ts +0 -81
- package/dist/utils/public.js +0 -524
- package/dist/utils/public.js.map +0 -1
package/dist/run-tests-lib.js
DELETED
|
@@ -1,281 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.execute = exports.executeWithDetails = exports.planDryRun = exports.getTriggerConfigs = exports.executeTests = exports.getDefaultConfig = void 0;
|
|
13
|
-
const ci_1 = require("@datadog/datadog-ci-base/helpers/ci");
|
|
14
|
-
const tags_1 = require("@datadog/datadog-ci-base/helpers/tags");
|
|
15
|
-
const utils_1 = require("@datadog/datadog-ci-base/helpers/utils");
|
|
16
|
-
const api_1 = require("./api");
|
|
17
|
-
const batch_1 = require("./batch");
|
|
18
|
-
const errors_1 = require("./errors");
|
|
19
|
-
const interfaces_1 = require("./interfaces");
|
|
20
|
-
const multilocator_1 = require("./multilocator");
|
|
21
|
-
const default_1 = require("./reporters/default");
|
|
22
|
-
const junit_1 = require("./reporters/junit");
|
|
23
|
-
const test_1 = require("./test");
|
|
24
|
-
const tunnel_1 = require("./tunnel");
|
|
25
|
-
const internal_1 = require("./utils/internal");
|
|
26
|
-
const public_1 = require("./utils/public");
|
|
27
|
-
const getDefaultConfig = () => {
|
|
28
|
-
return Object.assign(Object.assign({}, (0, internal_1.getDefaultConfig)()), { batchTimeout: batch_1.DEFAULT_BATCH_TIMEOUT, defaultTestOverrides: {}, failOnCriticalErrors: false, failOnMissingTests: false, failOnTimeout: true, files: [], jUnitReport: '', publicIds: [], subdomain: 'app', testSearchQuery: '', tunnel: false });
|
|
29
|
-
};
|
|
30
|
-
exports.getDefaultConfig = getDefaultConfig;
|
|
31
|
-
const executeTests = (reporter, config, suites, testPlan, providedInitialSummary) => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
-
const api = (0, api_1.getApiHelper)(config);
|
|
33
|
-
let tunnel;
|
|
34
|
-
const stopTunnel = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
35
|
-
if (tunnel) {
|
|
36
|
-
yield tunnel.stop();
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
let hasLTD;
|
|
40
|
-
let tests;
|
|
41
|
-
let overriddenTestsToTrigger;
|
|
42
|
-
let initialSummary;
|
|
43
|
-
if (testPlan) {
|
|
44
|
-
overriddenTestsToTrigger = testPlan.map((item) => item.testOverrides);
|
|
45
|
-
tests = testPlan.filter((item) => item.executionRule !== interfaces_1.ExecutionRule.SKIPPED).map((item) => item.test);
|
|
46
|
-
initialSummary = providedInitialSummary !== null && providedInitialSummary !== void 0 ? providedInitialSummary : (0, public_1.createInitialSummary)();
|
|
47
|
-
hasLTD = overriddenTestsToTrigger.some(internal_1.isLocalTestPayload);
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
let triggerConfigs = [];
|
|
51
|
-
try {
|
|
52
|
-
triggerConfigs = yield (0, exports.getTriggerConfigs)(api, config, reporter, suites);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
throw new errors_1.CriticalError((0, api_1.isForbiddenError)(error) ? 'AUTHORIZATION_ERROR' : 'UNAVAILABLE_TEST_CONFIG', error.message);
|
|
56
|
-
}
|
|
57
|
-
hasLTD = triggerConfigs.some(internal_1.isLocalTriggerConfig);
|
|
58
|
-
if (triggerConfigs.length === 0) {
|
|
59
|
-
throw new errors_1.CiError('NO_TESTS_TO_RUN');
|
|
60
|
-
}
|
|
61
|
-
try {
|
|
62
|
-
const triggerFromSearch = !!config.testSearchQuery;
|
|
63
|
-
let resolvedTestPlan;
|
|
64
|
-
({ testPlan: resolvedTestPlan, initialSummary } = yield (0, test_1.getTestsToTrigger)(api, triggerConfigs, reporter, triggerFromSearch, config.failOnMissingTests, config.tunnel));
|
|
65
|
-
overriddenTestsToTrigger = resolvedTestPlan.map((item) => item.testOverrides);
|
|
66
|
-
tests = resolvedTestPlan.filter((item) => item.executionRule !== interfaces_1.ExecutionRule.SKIPPED).map((item) => item.test);
|
|
67
|
-
hasLTD = overriddenTestsToTrigger.some(internal_1.isLocalTestPayload);
|
|
68
|
-
}
|
|
69
|
-
catch (error) {
|
|
70
|
-
if (error instanceof errors_1.CiError) {
|
|
71
|
-
throw error;
|
|
72
|
-
}
|
|
73
|
-
throw new errors_1.CriticalError((0, api_1.isForbiddenError)(error) ? 'AUTHORIZATION_ERROR' : 'UNAVAILABLE_TEST_CONFIG', error.message);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
// All tests have been skipped or are missing.
|
|
77
|
-
if (!tests.length) {
|
|
78
|
-
throw new errors_1.CiError('NO_TESTS_TO_RUN');
|
|
79
|
-
}
|
|
80
|
-
const publicIdsToTrigger = tests.flatMap(({ public_id }) => (public_id ? [public_id] : []));
|
|
81
|
-
if (config.tunnel) {
|
|
82
|
-
let presignedURL;
|
|
83
|
-
try {
|
|
84
|
-
// Get the pre-signed URL to connect to the tunnel service
|
|
85
|
-
presignedURL = (yield api.getTunnelPresignedURL(publicIdsToTrigger)).url;
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
throw new errors_1.CriticalError('UNAVAILABLE_TUNNEL_CONFIG', error.message);
|
|
89
|
-
}
|
|
90
|
-
// Open a tunnel to Datadog
|
|
91
|
-
try {
|
|
92
|
-
const tunnelProxyAgent = (0, utils_1.getProxyAgent)(config.proxy);
|
|
93
|
-
const tunnelReporter = (0, default_1.getTunnelReporter)(reporter);
|
|
94
|
-
tunnel = new tunnel_1.Tunnel(presignedURL, publicIdsToTrigger, tunnelProxyAgent, tunnelReporter);
|
|
95
|
-
const tunnelInfo = yield tunnel.start();
|
|
96
|
-
overriddenTestsToTrigger.forEach((testToTrigger) => {
|
|
97
|
-
testToTrigger.tunnel = tunnelInfo;
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
catch (error) {
|
|
101
|
-
yield stopTunnel();
|
|
102
|
-
throw new errors_1.CriticalError('TUNNEL_START_FAILED', error.message);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
const metadata = (0, ci_1.getCIMetadata)({
|
|
106
|
-
[tags_1.GIT_COMMIT_MESSAGE]: 500,
|
|
107
|
-
});
|
|
108
|
-
let trigger;
|
|
109
|
-
try {
|
|
110
|
-
trigger = yield (0, batch_1.runTests)(api, overriddenTestsToTrigger, reporter, metadata, config.failOnMissingTests, config.selectiveRerun, config.batchTimeout);
|
|
111
|
-
// Update summary
|
|
112
|
-
const cannotRead = initialSummary.testsNotAuthorized;
|
|
113
|
-
const cannotWrite = trigger.testsNotAuthorized;
|
|
114
|
-
initialSummary.testsNotAuthorized = new Set([...cannotRead, ...cannotWrite]);
|
|
115
|
-
initialSummary.metadata = metadata;
|
|
116
|
-
}
|
|
117
|
-
catch (error) {
|
|
118
|
-
yield stopTunnel();
|
|
119
|
-
if (error instanceof errors_1.CiError) {
|
|
120
|
-
throw error;
|
|
121
|
-
}
|
|
122
|
-
throw new errors_1.CriticalError('TRIGGER_TESTS_FAILED', error.message);
|
|
123
|
-
}
|
|
124
|
-
if (trigger.selectiveRerunRateLimited) {
|
|
125
|
-
reporter.error('The selective rerun feature was rate-limited. All tests will be re-run.\n\n');
|
|
126
|
-
}
|
|
127
|
-
try {
|
|
128
|
-
const { datadogSite, failOnCriticalErrors, failOnTimeout, subdomain } = config;
|
|
129
|
-
const batchTimeout = config.batchTimeout || batch_1.DEFAULT_BATCH_TIMEOUT;
|
|
130
|
-
const results = yield (0, batch_1.waitForResults)(api, trigger, tests, { datadogSite, failOnCriticalErrors, failOnTimeout, subdomain, batchTimeout }, reporter, tunnel);
|
|
131
|
-
if (hasLTD) {
|
|
132
|
-
try {
|
|
133
|
-
yield (0, multilocator_1.updateLTDMultiLocators)(reporter, config, results);
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
throw new errors_1.CriticalError('LTD_MULTILOCATORS_UPDATE_FAILED', error.message);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return {
|
|
140
|
-
results,
|
|
141
|
-
summary: Object.assign(Object.assign({}, initialSummary), { batchId: trigger.batchId }),
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
catch (error) {
|
|
145
|
-
if (error instanceof errors_1.BatchTimeoutRunawayError) {
|
|
146
|
-
throw error;
|
|
147
|
-
}
|
|
148
|
-
if (error instanceof errors_1.CriticalError && error.code === 'LTD_MULTILOCATORS_UPDATE_FAILED') {
|
|
149
|
-
throw error;
|
|
150
|
-
}
|
|
151
|
-
throw new errors_1.CriticalError('POLL_RESULTS_FAILED', error.message);
|
|
152
|
-
}
|
|
153
|
-
finally {
|
|
154
|
-
yield stopTunnel();
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
exports.executeTests = executeTests;
|
|
158
|
-
const getTriggerConfigs = (api, config, reporter, suites) => __awaiter(void 0, void 0, void 0, function* () {
|
|
159
|
-
var _a;
|
|
160
|
-
// Grab the test config overrides from all the sources: default test config overrides, test files containing specific test config override, env variable, and CLI params
|
|
161
|
-
const defaultTestConfigOverrides = config.defaultTestOverrides;
|
|
162
|
-
const testsFromTestConfigs = yield (0, test_1.getTestConfigs)(config, reporter, suites);
|
|
163
|
-
// Grab the tests returned by the search query (or `[]` if not given).
|
|
164
|
-
const testsFromSearchQuery = yield (0, test_1.getTestsFromSearchQuery)(api, config);
|
|
165
|
-
// Grab the list of publicIds of tests to trigger from config file/env variable/CLI params, search query or test config files
|
|
166
|
-
const testIdsFromCli = config.publicIds;
|
|
167
|
-
const testIdsFromSearchQuery = testsFromSearchQuery.map(({ id }) => id);
|
|
168
|
-
const testIdsFromTestConfigs = testsFromTestConfigs.map(internal_1.getTriggerConfigPublicId).filter((p) => !!p);
|
|
169
|
-
// Take the list of tests from the first source that defines it, by order of precedence
|
|
170
|
-
const testIdsToTrigger = (_a = [testIdsFromCli, testIdsFromSearchQuery, testIdsFromTestConfigs].find((ids) => ids.length > 0)) !== null && _a !== void 0 ? _a : [];
|
|
171
|
-
// Create the overrides required for the list of tests to trigger
|
|
172
|
-
const triggerConfigsWithId = testIdsToTrigger.map((id) => {
|
|
173
|
-
var _a;
|
|
174
|
-
// Parse public ID and version ID from the input
|
|
175
|
-
const parsedId = (0, public_1.parsePublicIdWithVersion)(id);
|
|
176
|
-
const publicId = (_a = parsedId === null || parsedId === void 0 ? void 0 : parsedId.publicId) !== null && _a !== void 0 ? _a : id;
|
|
177
|
-
const version = parsedId === null || parsedId === void 0 ? void 0 : parsedId.version;
|
|
178
|
-
const testIndexFromSearchQuery = testsFromSearchQuery.findIndex((t) => t.id === publicId);
|
|
179
|
-
let testFromSearchQuery;
|
|
180
|
-
if (testIndexFromSearchQuery >= 0) {
|
|
181
|
-
testFromSearchQuery = testsFromSearchQuery.splice(testIndexFromSearchQuery, 1)[0];
|
|
182
|
-
}
|
|
183
|
-
const testIndexFromTestConfigs = testsFromTestConfigs.findIndex((t) => (0, internal_1.getTriggerConfigPublicId)(t) === publicId);
|
|
184
|
-
let testFromTestConfigs;
|
|
185
|
-
if (testIndexFromTestConfigs >= 0) {
|
|
186
|
-
testFromTestConfigs = testsFromTestConfigs.splice(testIndexFromTestConfigs, 1)[0];
|
|
187
|
-
}
|
|
188
|
-
return Object.assign(Object.assign(Object.assign(Object.assign({}, ((0, internal_1.isLocalTriggerConfig)(testFromTestConfigs) ? {} : { id: publicId, version })), testFromSearchQuery), testFromTestConfigs), { testOverrides: Object.assign(Object.assign({}, defaultTestConfigOverrides), testFromTestConfigs === null || testFromTestConfigs === void 0 ? void 0 : testFromTestConfigs.testOverrides) });
|
|
189
|
-
});
|
|
190
|
-
const localTriggerConfigsWithoutId = testsFromTestConfigs.flatMap((testConfig) => {
|
|
191
|
-
if (!(0, internal_1.isLocalTriggerConfig)(testConfig)) {
|
|
192
|
-
return [];
|
|
193
|
-
}
|
|
194
|
-
return [
|
|
195
|
-
Object.assign(Object.assign({}, testConfig), { testOverrides: Object.assign(Object.assign({}, defaultTestConfigOverrides), testConfig.testOverrides) }),
|
|
196
|
-
];
|
|
197
|
-
});
|
|
198
|
-
return triggerConfigsWithId.concat(localTriggerConfigsWithoutId);
|
|
199
|
-
});
|
|
200
|
-
exports.getTriggerConfigs = getTriggerConfigs;
|
|
201
|
-
const planDryRun = (reporter, runConfig, suites) => __awaiter(void 0, void 0, void 0, function* () {
|
|
202
|
-
const config = Object.assign(Object.assign({}, (0, exports.getDefaultConfig)()), runConfig);
|
|
203
|
-
const api = (0, api_1.getApiHelper)(config);
|
|
204
|
-
let triggerConfigs;
|
|
205
|
-
try {
|
|
206
|
-
triggerConfigs = yield (0, exports.getTriggerConfigs)(api, config, reporter, suites);
|
|
207
|
-
}
|
|
208
|
-
catch (error) {
|
|
209
|
-
throw new errors_1.CriticalError((0, api_1.isForbiddenError)(error) ? 'AUTHORIZATION_ERROR' : 'UNAVAILABLE_TEST_CONFIG', error.message);
|
|
210
|
-
}
|
|
211
|
-
if (triggerConfigs.length === 0) {
|
|
212
|
-
throw new errors_1.CiError('NO_TESTS_TO_RUN');
|
|
213
|
-
}
|
|
214
|
-
try {
|
|
215
|
-
const triggerFromSearch = !!config.testSearchQuery;
|
|
216
|
-
const { testPlan, initialSummary } = yield (0, test_1.getTestsToTrigger)(api, triggerConfigs, reporter, triggerFromSearch, config.failOnMissingTests, false);
|
|
217
|
-
return { testPlan, initialSummary };
|
|
218
|
-
}
|
|
219
|
-
catch (error) {
|
|
220
|
-
if (error instanceof errors_1.CiError) {
|
|
221
|
-
throw error;
|
|
222
|
-
}
|
|
223
|
-
throw new errors_1.CriticalError((0, api_1.isForbiddenError)(error) ? 'AUTHORIZATION_ERROR' : 'UNAVAILABLE_TEST_CONFIG', error.message);
|
|
224
|
-
}
|
|
225
|
-
});
|
|
226
|
-
exports.planDryRun = planDryRun;
|
|
227
|
-
const executeWithDetails = (runConfig, { initialSummary, jUnitReport, reporters, runId, suites, testPlan }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
228
|
-
const startTime = Date.now();
|
|
229
|
-
const localConfig = Object.assign(Object.assign({}, (0, exports.getDefaultConfig)()), runConfig);
|
|
230
|
-
// Handle reporters for the run.
|
|
231
|
-
const localReporters = [];
|
|
232
|
-
// If the config asks for specific reporters.
|
|
233
|
-
if (reporters) {
|
|
234
|
-
for (const reporter of reporters) {
|
|
235
|
-
// Add our own reporters if required.
|
|
236
|
-
if (reporter === 'junit') {
|
|
237
|
-
localReporters.push(new junit_1.JUnitReporter({
|
|
238
|
-
context: process,
|
|
239
|
-
jUnitReport: jUnitReport || './junit.xml',
|
|
240
|
-
runName: `Run ${runId || 'undefined'}`,
|
|
241
|
-
}));
|
|
242
|
-
}
|
|
243
|
-
if (reporter === 'default') {
|
|
244
|
-
localReporters.push(new default_1.DefaultReporter({ context: process }));
|
|
245
|
-
}
|
|
246
|
-
// This is a custom reporter, so simply add it.
|
|
247
|
-
if (typeof reporter !== 'string') {
|
|
248
|
-
localReporters.push(reporter);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
localReporters.push(new default_1.DefaultReporter({ context: process }));
|
|
254
|
-
}
|
|
255
|
-
const mainReporter = (0, public_1.getReporter)(localReporters);
|
|
256
|
-
const { results, summary } = yield (0, exports.executeTests)(mainReporter, localConfig, suites, testPlan, initialSummary);
|
|
257
|
-
const orgSettings = yield (0, public_1.getOrgSettings)(mainReporter, localConfig);
|
|
258
|
-
// XXX: Mutates the `summary` object.
|
|
259
|
-
(0, public_1.renderResults)({
|
|
260
|
-
config: localConfig,
|
|
261
|
-
reporter: mainReporter,
|
|
262
|
-
results,
|
|
263
|
-
orgSettings,
|
|
264
|
-
startTime,
|
|
265
|
-
summary,
|
|
266
|
-
});
|
|
267
|
-
(0, public_1.reportExitLogs)(mainReporter, localConfig, { results });
|
|
268
|
-
const exitCode = (0, public_1.toExitCode)((0, public_1.getExitReason)(localConfig, { results }));
|
|
269
|
-
return {
|
|
270
|
-
results,
|
|
271
|
-
summary,
|
|
272
|
-
exitCode,
|
|
273
|
-
};
|
|
274
|
-
});
|
|
275
|
-
exports.executeWithDetails = executeWithDetails;
|
|
276
|
-
const execute = (runConfig, executeOptions) => __awaiter(void 0, void 0, void 0, function* () {
|
|
277
|
-
const { exitCode } = yield (0, exports.executeWithDetails)(runConfig, executeOptions);
|
|
278
|
-
return exitCode;
|
|
279
|
-
});
|
|
280
|
-
exports.execute = execute;
|
|
281
|
-
//# sourceMappingURL=run-tests-lib.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-tests-lib.js","sourceRoot":"","sources":["../src/run-tests-lib.ts"],"names":[],"mappings":"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"}
|
package/dist/test.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { APIHelper } from './api';
|
|
2
|
-
import type { RemoteTriggerConfig, MainReporter, RunTestsCommandConfig, Suite, TriggerConfig, LocalTestDefinition, ImportTestsCommandConfig, TestMissing, TestSkipped, TestWithOverride, TestPlanItem, DeployTestsCommandConfig } from './interfaces';
|
|
3
|
-
import type { InitialSummary } from './utils/public';
|
|
4
|
-
export declare const MAX_TESTS_TO_TRIGGER = 1000;
|
|
5
|
-
export declare const DEFAULT_TEST_CONFIG_FILES_GLOB = "{,!(node_modules)/**/}*.synthetics.json";
|
|
6
|
-
export declare const getTestConfigs: (config: RunTestsCommandConfig | ImportTestsCommandConfig | DeployTestsCommandConfig, reporter: MainReporter, suites?: Suite[]) => Promise<TriggerConfig[]>;
|
|
7
|
-
export declare const getTestsFromSearchQuery: (api: APIHelper, config: Pick<RunTestsCommandConfig, 'defaultTestOverrides' | 'testSearchQuery'>) => Promise<RemoteTriggerConfig[] | []>;
|
|
8
|
-
export declare const getTestsToTrigger: (api: APIHelper, triggerConfigs: TriggerConfig[], reporter: MainReporter, triggerFromSearch?: boolean, failOnMissingTests?: boolean, isTunnelEnabled?: boolean) => Promise<{
|
|
9
|
-
testPlan: TestPlanItem[];
|
|
10
|
-
initialSummary: InitialSummary;
|
|
11
|
-
}>;
|
|
12
|
-
export declare const getTestAndOverrideConfig: (api: APIHelper, triggerConfig: TriggerConfig, reporter: MainReporter, summary: InitialSummary, isTunnelEnabled?: boolean) => Promise<TestMissing | TestSkipped | TestWithOverride>;
|
|
13
|
-
export declare const normalizeLocalTestDefinition: (localTestDefinition: LocalTestDefinition) => {
|
|
14
|
-
public_id: string | undefined;
|
|
15
|
-
config: {
|
|
16
|
-
assertions: import("./interfaces").Assertion[];
|
|
17
|
-
request?: import("./interfaces").TestRequest | undefined;
|
|
18
|
-
steps?: {
|
|
19
|
-
subtype: string;
|
|
20
|
-
}[] | undefined;
|
|
21
|
-
variables: string[];
|
|
22
|
-
};
|
|
23
|
-
locations: string[];
|
|
24
|
-
name: string;
|
|
25
|
-
options: import("./interfaces").OptionsWithUnsupportedFields;
|
|
26
|
-
subtype?: string | undefined;
|
|
27
|
-
steps?: import("./interfaces").TestStepWithUnsupportedFields[] | undefined;
|
|
28
|
-
type: "api" | "browser" | "mobile";
|
|
29
|
-
};
|
package/dist/test.js
DELETED
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.normalizeLocalTestDefinition = exports.getTestAndOverrideConfig = exports.getTestsToTrigger = exports.getTestsFromSearchQuery = exports.getTestConfigs = exports.DEFAULT_TEST_CONFIG_FILES_GLOB = exports.MAX_TESTS_TO_TRIGGER = void 0;
|
|
16
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
17
|
-
const api_1 = require("./api");
|
|
18
|
-
const errors_1 = require("./errors");
|
|
19
|
-
const interfaces_1 = require("./interfaces");
|
|
20
|
-
const mobile_1 = require("./mobile");
|
|
21
|
-
const internal_1 = require("./utils/internal");
|
|
22
|
-
const public_1 = require("./utils/public");
|
|
23
|
-
exports.MAX_TESTS_TO_TRIGGER = 1000;
|
|
24
|
-
exports.DEFAULT_TEST_CONFIG_FILES_GLOB = '{,!(node_modules)/**/}*.synthetics.json';
|
|
25
|
-
const getTestConfigs = (config, reporter, suites = []) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
-
const files = [...config.files];
|
|
27
|
-
// Only auto-discover with the default glob when the user **doesn't give any clue** about which tests to run.
|
|
28
|
-
// If they give any clue (e.g. `publicIds`) without explicitly passing `files`,
|
|
29
|
-
// they might be running the command from their home folder so we shouldn't auto-discover for performance reasons.
|
|
30
|
-
if (config.publicIds.length === 0 &&
|
|
31
|
-
files.length === 0 &&
|
|
32
|
-
suites.length === 0 &&
|
|
33
|
-
'testSearchQuery' in config &&
|
|
34
|
-
!config.testSearchQuery) {
|
|
35
|
-
files.push(exports.DEFAULT_TEST_CONFIG_FILES_GLOB);
|
|
36
|
-
}
|
|
37
|
-
const suitesFromFiles = (yield Promise.all(files.map((glob) => (0, public_1.getSuites)(glob, reporter))))
|
|
38
|
-
.reduce((acc, val) => acc.concat(val), [])
|
|
39
|
-
.filter((suite) => !!suite.content.tests);
|
|
40
|
-
suites.push(...suitesFromFiles);
|
|
41
|
-
const testConfigs = suites
|
|
42
|
-
.map((suite) => suite.content.tests.map((test) => {
|
|
43
|
-
var _a;
|
|
44
|
-
return Object.assign({ testOverrides: test.testOverrides, suite: suite.name }, ((0, internal_1.isLocalTriggerConfig)(test)
|
|
45
|
-
? { localTestDefinition: (0, exports.normalizeLocalTestDefinition)(test.localTestDefinition) }
|
|
46
|
-
: {
|
|
47
|
-
id: (_a = (0, public_1.normalizePublicId)(test.id)) !== null && _a !== void 0 ? _a : '',
|
|
48
|
-
version: test.version,
|
|
49
|
-
}));
|
|
50
|
-
}))
|
|
51
|
-
.reduce((acc, suiteTests) => acc.concat(suiteTests), []);
|
|
52
|
-
return testConfigs;
|
|
53
|
-
});
|
|
54
|
-
exports.getTestConfigs = getTestConfigs;
|
|
55
|
-
const getTestsFromSearchQuery = (api, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
|
-
const { defaultTestOverrides, testSearchQuery } = config;
|
|
57
|
-
// Empty search queries are not allowed.
|
|
58
|
-
if (!testSearchQuery) {
|
|
59
|
-
return [];
|
|
60
|
-
}
|
|
61
|
-
const testSearchResults = yield api.searchTests(testSearchQuery);
|
|
62
|
-
return testSearchResults.tests.map((test) => ({
|
|
63
|
-
testOverrides: defaultTestOverrides !== null && defaultTestOverrides !== void 0 ? defaultTestOverrides : {},
|
|
64
|
-
id: test.public_id,
|
|
65
|
-
suite: `Query: ${testSearchQuery}`,
|
|
66
|
-
}));
|
|
67
|
-
});
|
|
68
|
-
exports.getTestsFromSearchQuery = getTestsFromSearchQuery;
|
|
69
|
-
const getTestsToTrigger = (api, triggerConfigs, reporter, triggerFromSearch, failOnMissingTests, isTunnelEnabled) => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
|
-
const errorMessages = [];
|
|
71
|
-
// When too many tests are triggered, if fetched from a search query: simply trim them and show a warning,
|
|
72
|
-
// otherwise: retrieve them and fail later if still exceeding without skipped/missing tests.
|
|
73
|
-
if (triggerFromSearch && triggerConfigs.length > exports.MAX_TESTS_TO_TRIGGER) {
|
|
74
|
-
const testsCount = triggerConfigs.length;
|
|
75
|
-
triggerConfigs.splice(exports.MAX_TESTS_TO_TRIGGER);
|
|
76
|
-
const maxTests = chalk_1.default.bold(exports.MAX_TESTS_TO_TRIGGER);
|
|
77
|
-
errorMessages.push(chalk_1.default.yellow(`The search query returned ${testsCount} tests, only the first ${maxTests} will be triggered.\n`));
|
|
78
|
-
}
|
|
79
|
-
const initialSummary = (0, public_1.createInitialSummary)();
|
|
80
|
-
const testsAndConfigsOverride = yield Promise.all(triggerConfigs.map((triggerConfig) => (0, exports.getTestAndOverrideConfig)(api, triggerConfig, reporter, initialSummary, isTunnelEnabled)));
|
|
81
|
-
yield (0, mobile_1.uploadMobileApplicationsAndUpdateOverrideConfigs)(api, triggerConfigs, testsAndConfigsOverride.filter(internal_1.isMobileTestWithOverride));
|
|
82
|
-
const testPlan = [];
|
|
83
|
-
testsAndConfigsOverride.forEach((item) => {
|
|
84
|
-
if ('errorMessage' in item) {
|
|
85
|
-
errorMessages.push(item.errorMessage);
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
testPlan.push({ test: item.test, testOverrides: item.overriddenConfig, executionRule: item.executionRule });
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
// Display errors at the end of all tests for better visibility.
|
|
92
|
-
reporter.initErrors(errorMessages);
|
|
93
|
-
if (failOnMissingTests && initialSummary.testsNotFound.size > 0) {
|
|
94
|
-
const testsNotFoundListStr = chalk_1.default.gray([...initialSummary.testsNotFound].join(', '));
|
|
95
|
-
throw new errors_1.CiError('MISSING_TESTS', testsNotFoundListStr);
|
|
96
|
-
}
|
|
97
|
-
if (failOnMissingTests && initialSummary.testsNotAuthorized.size > 0) {
|
|
98
|
-
const testsNotAuthorizedListStr = chalk_1.default.gray([...initialSummary.testsNotAuthorized].join(', '));
|
|
99
|
-
throw new errors_1.CiError('UNAUTHORIZED_TESTS', testsNotAuthorizedListStr);
|
|
100
|
-
}
|
|
101
|
-
if (!testPlan.length) {
|
|
102
|
-
throw new errors_1.CiError('NO_TESTS_TO_RUN');
|
|
103
|
-
}
|
|
104
|
-
else if (testPlan.length > exports.MAX_TESTS_TO_TRIGGER) {
|
|
105
|
-
throw new errors_1.CriticalError('TOO_MANY_TESTS_TO_TRIGGER', `Cannot trigger more than ${exports.MAX_TESTS_TO_TRIGGER} tests (received ${triggerConfigs.length})`);
|
|
106
|
-
}
|
|
107
|
-
return { testPlan, initialSummary };
|
|
108
|
-
});
|
|
109
|
-
exports.getTestsToTrigger = getTestsToTrigger;
|
|
110
|
-
const getTestAndOverrideConfig = (api, triggerConfig, reporter, summary, isTunnelEnabled) => __awaiter(void 0, void 0, void 0, function* () {
|
|
111
|
-
var _a, _b, _c;
|
|
112
|
-
const publicIdOrPlaceholder = (0, internal_1.getPublicIdOrPlaceholder)({ public_id: (0, internal_1.getTriggerConfigPublicId)(triggerConfig) });
|
|
113
|
-
const normalizedId = (0, public_1.normalizePublicId)(publicIdOrPlaceholder);
|
|
114
|
-
if (!normalizedId) {
|
|
115
|
-
throw new errors_1.CriticalError('INVALID_CONFIG', `No valid public ID found in: \`${publicIdOrPlaceholder}\``);
|
|
116
|
-
}
|
|
117
|
-
const testResult = yield getTest(api, triggerConfig);
|
|
118
|
-
if ('errorMessage' in testResult) {
|
|
119
|
-
if (testResult.errorMessage.includes('Test not found') ||
|
|
120
|
-
testResult.errorMessage.includes('Test version not found')) {
|
|
121
|
-
summary.testsNotFound.add(normalizedId);
|
|
122
|
-
}
|
|
123
|
-
else if (testResult.errorMessage.includes('Test not authorized')) {
|
|
124
|
-
summary.testsNotAuthorized.add(normalizedId);
|
|
125
|
-
}
|
|
126
|
-
return { errorMessage: testResult.errorMessage };
|
|
127
|
-
}
|
|
128
|
-
const { test } = testResult;
|
|
129
|
-
const overriddenConfig = (0, public_1.makeTestPayload)(test, triggerConfig, normalizedId);
|
|
130
|
-
const testExecutionRule = (_b = (_a = test === null || test === void 0 ? void 0 : test.options) === null || _a === void 0 ? void 0 : _a.ci) === null || _b === void 0 ? void 0 : _b.executionRule;
|
|
131
|
-
const executionRule = overriddenConfig.executionRule || testExecutionRule || interfaces_1.ExecutionRule.BLOCKING;
|
|
132
|
-
reporter.testTrigger(test, normalizedId, executionRule, (_c = triggerConfig.testOverrides) !== null && _c !== void 0 ? _c : {});
|
|
133
|
-
if (executionRule === interfaces_1.ExecutionRule.SKIPPED) {
|
|
134
|
-
summary.skipped++;
|
|
135
|
-
return { test, overriddenConfig, executionRule: interfaces_1.ExecutionRule.SKIPPED };
|
|
136
|
-
}
|
|
137
|
-
reporter.testWait(test);
|
|
138
|
-
if (isTunnelEnabled && !(0, public_1.isTestSupportedByTunnel)(test)) {
|
|
139
|
-
const details = [`public ID: ${normalizedId}`, `type: ${test.type}`];
|
|
140
|
-
if (test.subtype) {
|
|
141
|
-
details.push(`sub-type: ${test.subtype}`);
|
|
142
|
-
}
|
|
143
|
-
if (test.subtype === 'multi') {
|
|
144
|
-
const unsupportedStepSubTypes = (test.config.steps || [])
|
|
145
|
-
.filter((step) => step.subtype !== 'http')
|
|
146
|
-
.map(({ subtype }) => subtype);
|
|
147
|
-
details.push(`step sub-types: [${unsupportedStepSubTypes.join(', ')}]`);
|
|
148
|
-
}
|
|
149
|
-
throw new errors_1.CriticalError('TUNNEL_NOT_SUPPORTED', `The tunnel is only supported with HTTP API tests and Browser tests (${details.join(', ')}).`);
|
|
150
|
-
}
|
|
151
|
-
return { test, overriddenConfig, executionRule };
|
|
152
|
-
});
|
|
153
|
-
exports.getTestAndOverrideConfig = getTestAndOverrideConfig;
|
|
154
|
-
const getTest = (api, triggerConfig) => __awaiter(void 0, void 0, void 0, function* () {
|
|
155
|
-
var _d;
|
|
156
|
-
if ((0, internal_1.isLocalTriggerConfig)(triggerConfig)) {
|
|
157
|
-
const test = Object.assign(Object.assign({}, triggerConfig.localTestDefinition), { suite: triggerConfig.suite });
|
|
158
|
-
return { test };
|
|
159
|
-
}
|
|
160
|
-
const { id: publicId, suite, version } = triggerConfig;
|
|
161
|
-
if (version !== undefined) {
|
|
162
|
-
try {
|
|
163
|
-
yield api.getTestVersion(publicId, version);
|
|
164
|
-
}
|
|
165
|
-
catch (error) {
|
|
166
|
-
if ((0, api_1.isForbiddenError)(error)) {
|
|
167
|
-
const errorMessage = (0, api_1.formatBackendErrors)(error);
|
|
168
|
-
return { errorMessage: `[${chalk_1.default.bold.dim(publicId)}] ${chalk_1.default.red.bold('Test not authorized')}: ${errorMessage}` };
|
|
169
|
-
}
|
|
170
|
-
if ((0, api_1.isNotFoundError)(error)) {
|
|
171
|
-
const errorMessage = (0, api_1.formatBackendErrors)(error);
|
|
172
|
-
return {
|
|
173
|
-
errorMessage: `[${chalk_1.default.bold.dim(publicId)}@${version}] ${chalk_1.default.yellow.bold('Test version not found')}: ${errorMessage}`,
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
try {
|
|
179
|
-
const test = Object.assign(Object.assign({}, (yield api.getTest(publicId))), { suite });
|
|
180
|
-
return { test };
|
|
181
|
-
}
|
|
182
|
-
catch (error) {
|
|
183
|
-
if ((0, api_1.isNotFoundError)(error)) {
|
|
184
|
-
const errorMessage = (0, api_1.formatBackendErrors)(error);
|
|
185
|
-
return { errorMessage: `[${chalk_1.default.bold.dim(publicId)}] ${chalk_1.default.yellow.bold('Test not found')}: ${errorMessage}` };
|
|
186
|
-
}
|
|
187
|
-
if ((0, api_1.isForbiddenError)(error)) {
|
|
188
|
-
const errorMessage = (0, api_1.formatBackendErrors)(error);
|
|
189
|
-
return { errorMessage: `[${chalk_1.default.bold.dim(publicId)}] ${chalk_1.default.red.bold('Test not authorized')}: ${errorMessage}` };
|
|
190
|
-
}
|
|
191
|
-
throw new api_1.EndpointError(`Failed to get test: ${(0, api_1.formatBackendErrors)(error)}\n`, (_d = error.response) === null || _d === void 0 ? void 0 : _d.status);
|
|
192
|
-
}
|
|
193
|
-
});
|
|
194
|
-
const normalizeLocalTestDefinition = (localTestDefinition) => {
|
|
195
|
-
// Support links here too for QoL and consistency with `RemoteTriggerConfig.id`
|
|
196
|
-
const publicId = localTestDefinition.public_id && (0, public_1.normalizePublicId)(localTestDefinition.public_id);
|
|
197
|
-
return Object.assign(Object.assign({}, localTestDefinition), { public_id: publicId });
|
|
198
|
-
};
|
|
199
|
-
exports.normalizeLocalTestDefinition = normalizeLocalTestDefinition;
|
|
200
|
-
//# sourceMappingURL=test.js.map
|
package/dist/test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
|
package/dist/tunnel/crypto.d.ts
DELETED
package/dist/tunnel/crypto.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseSSHKey = exports.generateOpenSSHKeys = void 0;
|
|
4
|
-
const crypto_1 = require("crypto");
|
|
5
|
-
const ssh2_1 = require("ssh2");
|
|
6
|
-
const sshpk_1 = require("sshpk");
|
|
7
|
-
// Generate public/private key in OpenSSH format (used for encryption in tunnel over SSH)
|
|
8
|
-
const generateOpenSSHKeys = () => {
|
|
9
|
-
const format = 'pem';
|
|
10
|
-
const { publicKey, privateKey } = (0, crypto_1.generateKeyPairSync)('ec', {
|
|
11
|
-
namedCurve: 'P-256',
|
|
12
|
-
privateKeyEncoding: {
|
|
13
|
-
format,
|
|
14
|
-
type: 'pkcs8',
|
|
15
|
-
},
|
|
16
|
-
publicKeyEncoding: {
|
|
17
|
-
format,
|
|
18
|
-
type: 'spki',
|
|
19
|
-
},
|
|
20
|
-
});
|
|
21
|
-
const openSSHPublicKey = (0, sshpk_1.parseKey)(publicKey, format).toBuffer('ssh', {}).toString('utf-8');
|
|
22
|
-
const openSSHPrivateKey = (0, sshpk_1.parsePrivateKey)(privateKey, format).toBuffer('ssh', {}).toString('utf-8');
|
|
23
|
-
return {
|
|
24
|
-
privateKey: openSSHPrivateKey,
|
|
25
|
-
publicKey: openSSHPublicKey,
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
exports.generateOpenSSHKeys = generateOpenSSHKeys;
|
|
29
|
-
// Parse SSH key for ssh2 module
|
|
30
|
-
const parseSSHKey = (key) => {
|
|
31
|
-
const parsedKey = ssh2_1.utils.parseKey(key);
|
|
32
|
-
if (!parsedKey) {
|
|
33
|
-
throw new Error(`Invalid key ${key}`);
|
|
34
|
-
}
|
|
35
|
-
if (parsedKey instanceof Error) {
|
|
36
|
-
throw parsedKey;
|
|
37
|
-
}
|
|
38
|
-
if (parsedKey instanceof Array) {
|
|
39
|
-
// Multiple keys could be concatenated - in our use cases, a single key is expected
|
|
40
|
-
if (parsedKey.length === 0) {
|
|
41
|
-
throw new Error(`Invalid key ${key}`);
|
|
42
|
-
}
|
|
43
|
-
return parsedKey[0];
|
|
44
|
-
}
|
|
45
|
-
return parsedKey;
|
|
46
|
-
};
|
|
47
|
-
exports.parseSSHKey = parseSSHKey;
|
|
48
|
-
//# sourceMappingURL=crypto.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/tunnel/crypto.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAI1C,+BAA0B;AAC1B,iCAA+C;AAE/C,yFAAyF;AAClF,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,EAAC,SAAS,EAAE,UAAU,EAAC,GAAG,IAAA,4BAAmB,EAAC,IAAI,EAAE;QACxD,UAAU,EAAE,OAAO;QACnB,kBAAkB,EAAE;YAClB,MAAM;YACN,IAAI,EAAE,OAAO;SACd;QACD,iBAAiB,EAAE;YACjB,MAAM;YACN,IAAI,EAAE,MAAM;SACb;KACF,CAAC,CAAA;IACF,MAAM,gBAAgB,GAAG,IAAA,gBAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC1F,MAAM,iBAAiB,GAAG,IAAA,uBAAe,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEnG,OAAO;QACL,UAAU,EAAE,iBAAiB;QAC7B,SAAS,EAAE,gBAAgB;KAC5B,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,mBAAmB,uBAoB/B;AAED,gCAAgC;AACzB,MAAM,WAAW,GAAG,CAAC,GAAW,EAAa,EAAE;IACpD,MAAM,SAAS,GAAG,YAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAErC,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,CAAA;KACtC;IAED,IAAI,SAAS,YAAY,KAAK,EAAE;QAC9B,MAAM,SAAS,CAAA;KAChB;IAED,IAAI,SAAS,YAAY,KAAK,EAAE;QAC9B,mFAAmF;QACnF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,CAAA;SACtC;QAED,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;KACpB;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AArBY,QAAA,WAAW,eAqBvB"}
|
package/dist/tunnel/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Tunnel, TunnelInfo, TunnelReporter } from './tunnel';
|
package/dist/tunnel/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Tunnel = void 0;
|
|
4
|
-
var tunnel_1 = require("./tunnel");
|
|
5
|
-
Object.defineProperty(exports, "Tunnel", { enumerable: true, get: function () { return tunnel_1.Tunnel; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
package/dist/tunnel/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tunnel/index.ts"],"names":[],"mappings":";;;AAAA,mCAA2D;AAAnD,gGAAA,MAAM,OAAA"}
|