@testream/dotnet-reporter 1.0.1 → 1.1.1
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 +307 -233
- package/dist/index.js.map +1 -1
- package/dist/trx-parser.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
require('./sourcemap-register.js');/******/ (() => { // webpackBootstrap
|
|
3
3
|
/******/ var __webpack_modules__ = ({
|
|
4
4
|
|
|
5
|
-
/***/
|
|
5
|
+
/***/ 1537:
|
|
6
6
|
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
|
7
7
|
|
|
8
8
|
"use strict";
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
const validator = __nccwpck_require__(93);
|
|
12
|
-
const XMLParser = __nccwpck_require__(
|
|
13
|
-
const XMLBuilder = __nccwpck_require__(
|
|
12
|
+
const XMLParser = __nccwpck_require__(2360);
|
|
13
|
+
const XMLBuilder = __nccwpck_require__(2823);
|
|
14
14
|
|
|
15
15
|
module.exports = {
|
|
16
16
|
XMLParser: XMLParser,
|
|
@@ -20,7 +20,7 @@ module.exports = {
|
|
|
20
20
|
|
|
21
21
|
/***/ }),
|
|
22
22
|
|
|
23
|
-
/***/
|
|
23
|
+
/***/ 3064:
|
|
24
24
|
/***/ ((module) => {
|
|
25
25
|
|
|
26
26
|
function getIgnoreAttributesFn(ignoreAttributes) {
|
|
@@ -46,7 +46,7 @@ module.exports = getIgnoreAttributesFn
|
|
|
46
46
|
|
|
47
47
|
/***/ }),
|
|
48
48
|
|
|
49
|
-
/***/
|
|
49
|
+
/***/ 7559:
|
|
50
50
|
/***/ ((__unused_webpack_module, exports) => {
|
|
51
51
|
|
|
52
52
|
"use strict";
|
|
@@ -132,7 +132,7 @@ exports.nameRegexp = nameRegexp;
|
|
|
132
132
|
"use strict";
|
|
133
133
|
|
|
134
134
|
|
|
135
|
-
const util = __nccwpck_require__(
|
|
135
|
+
const util = __nccwpck_require__(7559);
|
|
136
136
|
|
|
137
137
|
const defaultOptions = {
|
|
138
138
|
allowBooleanAttributes: false, //A tag can have attributes without any value
|
|
@@ -559,14 +559,14 @@ function getPositionFromMatch(match) {
|
|
|
559
559
|
|
|
560
560
|
/***/ }),
|
|
561
561
|
|
|
562
|
-
/***/
|
|
562
|
+
/***/ 2823:
|
|
563
563
|
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
|
564
564
|
|
|
565
565
|
"use strict";
|
|
566
566
|
|
|
567
567
|
//parse Empty Node as self closing node
|
|
568
|
-
const buildFromOrderedJs = __nccwpck_require__(
|
|
569
|
-
const getIgnoreAttributesFn = __nccwpck_require__(
|
|
568
|
+
const buildFromOrderedJs = __nccwpck_require__(1057);
|
|
569
|
+
const getIgnoreAttributesFn = __nccwpck_require__(3064)
|
|
570
570
|
|
|
571
571
|
const defaultOptions = {
|
|
572
572
|
attributeNamePrefix: '@_',
|
|
@@ -853,7 +853,7 @@ module.exports = Builder;
|
|
|
853
853
|
|
|
854
854
|
/***/ }),
|
|
855
855
|
|
|
856
|
-
/***/
|
|
856
|
+
/***/ 1057:
|
|
857
857
|
/***/ ((module) => {
|
|
858
858
|
|
|
859
859
|
const EOL = "\n";
|
|
@@ -995,10 +995,10 @@ module.exports = toXml;
|
|
|
995
995
|
|
|
996
996
|
/***/ }),
|
|
997
997
|
|
|
998
|
-
/***/
|
|
998
|
+
/***/ 2091:
|
|
999
999
|
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
|
1000
1000
|
|
|
1001
|
-
const util = __nccwpck_require__(
|
|
1001
|
+
const util = __nccwpck_require__(7559);
|
|
1002
1002
|
|
|
1003
1003
|
//TODO: handle comments
|
|
1004
1004
|
function readDocType(xmlData, i){
|
|
@@ -1209,18 +1209,18 @@ exports.defaultOptions = defaultOptions;
|
|
|
1209
1209
|
|
|
1210
1210
|
/***/ }),
|
|
1211
1211
|
|
|
1212
|
-
/***/
|
|
1212
|
+
/***/ 2629:
|
|
1213
1213
|
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
|
1214
1214
|
|
|
1215
1215
|
"use strict";
|
|
1216
1216
|
|
|
1217
1217
|
///@ts-check
|
|
1218
1218
|
|
|
1219
|
-
const util = __nccwpck_require__(
|
|
1220
|
-
const xmlNode = __nccwpck_require__(
|
|
1221
|
-
const readDocType = __nccwpck_require__(
|
|
1222
|
-
const toNumber = __nccwpck_require__(
|
|
1223
|
-
const getIgnoreAttributesFn = __nccwpck_require__(
|
|
1219
|
+
const util = __nccwpck_require__(7559);
|
|
1220
|
+
const xmlNode = __nccwpck_require__(7079);
|
|
1221
|
+
const readDocType = __nccwpck_require__(2091);
|
|
1222
|
+
const toNumber = __nccwpck_require__(6236);
|
|
1223
|
+
const getIgnoreAttributesFn = __nccwpck_require__(3064)
|
|
1224
1224
|
|
|
1225
1225
|
// const regx =
|
|
1226
1226
|
// '<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)'
|
|
@@ -1823,12 +1823,12 @@ module.exports = OrderedObjParser;
|
|
|
1823
1823
|
|
|
1824
1824
|
/***/ }),
|
|
1825
1825
|
|
|
1826
|
-
/***/
|
|
1826
|
+
/***/ 2360:
|
|
1827
1827
|
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
|
1828
1828
|
|
|
1829
1829
|
const { buildOptions} = __nccwpck_require__(901);
|
|
1830
|
-
const OrderedObjParser = __nccwpck_require__(
|
|
1831
|
-
const { prettify} = __nccwpck_require__(
|
|
1830
|
+
const OrderedObjParser = __nccwpck_require__(2629);
|
|
1831
|
+
const { prettify} = __nccwpck_require__(5318);
|
|
1832
1832
|
const validator = __nccwpck_require__(93);
|
|
1833
1833
|
|
|
1834
1834
|
class XMLParser{
|
|
@@ -1887,7 +1887,7 @@ module.exports = XMLParser;
|
|
|
1887
1887
|
|
|
1888
1888
|
/***/ }),
|
|
1889
1889
|
|
|
1890
|
-
/***/
|
|
1890
|
+
/***/ 5318:
|
|
1891
1891
|
/***/ ((__unused_webpack_module, exports) => {
|
|
1892
1892
|
|
|
1893
1893
|
"use strict";
|
|
@@ -2008,7 +2008,7 @@ exports.prettify = prettify;
|
|
|
2008
2008
|
|
|
2009
2009
|
/***/ }),
|
|
2010
2010
|
|
|
2011
|
-
/***/
|
|
2011
|
+
/***/ 7079:
|
|
2012
2012
|
/***/ ((module) => {
|
|
2013
2013
|
|
|
2014
2014
|
"use strict";
|
|
@@ -2040,7 +2040,7 @@ module.exports = XmlNode;
|
|
|
2040
2040
|
|
|
2041
2041
|
/***/ }),
|
|
2042
2042
|
|
|
2043
|
-
/***/
|
|
2043
|
+
/***/ 6236:
|
|
2044
2044
|
/***/ ((module) => {
|
|
2045
2045
|
|
|
2046
2046
|
const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;
|
|
@@ -2157,86 +2157,138 @@ module.exports = toNumber;
|
|
|
2157
2157
|
|
|
2158
2158
|
/***/ }),
|
|
2159
2159
|
|
|
2160
|
-
/***/
|
|
2160
|
+
/***/ 2406:
|
|
2161
2161
|
/***/ ((__unused_webpack_module, exports) => {
|
|
2162
2162
|
|
|
2163
2163
|
"use strict";
|
|
2164
2164
|
|
|
2165
2165
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2166
2166
|
exports.detectCIContext = detectCIContext;
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
*/
|
|
2171
|
-
function detectCIContext() {
|
|
2172
|
-
const env = process.env;
|
|
2173
|
-
// GitHub Actions
|
|
2174
|
-
if (env.GITHUB_ACTIONS === 'true') {
|
|
2175
|
-
return {
|
|
2176
|
-
branch: env.GITHUB_HEAD_REF || env.GITHUB_REF_NAME || env.GITHUB_REF?.replace('refs/heads/', ''),
|
|
2177
|
-
commitSha: env.GITHUB_SHA,
|
|
2178
|
-
repositoryUrl: env.GITHUB_SERVER_URL && env.GITHUB_REPOSITORY
|
|
2179
|
-
? `${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}`
|
|
2180
|
-
: undefined,
|
|
2181
|
-
buildNumber: env.GITHUB_RUN_NUMBER,
|
|
2182
|
-
buildUrl: env.GITHUB_SERVER_URL && env.GITHUB_REPOSITORY && env.GITHUB_RUN_ID
|
|
2183
|
-
? `${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}/actions/runs/${env.GITHUB_RUN_ID}`
|
|
2184
|
-
: undefined,
|
|
2185
|
-
};
|
|
2167
|
+
function removePrefix(value, prefix) {
|
|
2168
|
+
if (!value) {
|
|
2169
|
+
return undefined;
|
|
2186
2170
|
}
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2171
|
+
return value.startsWith(prefix) ? value.slice(prefix.length) : value;
|
|
2172
|
+
}
|
|
2173
|
+
function readEnvironment() {
|
|
2174
|
+
const runtime = globalThis;
|
|
2175
|
+
return runtime.process?.env ?? {};
|
|
2176
|
+
}
|
|
2177
|
+
function buildGithubRepositoryUrl(env) {
|
|
2178
|
+
if (!env.GITHUB_SERVER_URL || !env.GITHUB_REPOSITORY) {
|
|
2179
|
+
return undefined;
|
|
2196
2180
|
}
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
repositoryUrl: env.BUILD_REPOSITORY_URI,
|
|
2203
|
-
buildNumber: env.BUILD_BUILDNUMBER,
|
|
2204
|
-
buildUrl: env.SYSTEM_TEAMFOUNDATIONCOLLECTIONURI && env.SYSTEM_TEAMPROJECT && env.BUILD_BUILDID
|
|
2205
|
-
? `${env.SYSTEM_TEAMFOUNDATIONCOLLECTIONURI}${env.SYSTEM_TEAMPROJECT}/_build/results?buildId=${env.BUILD_BUILDID}`
|
|
2206
|
-
: undefined,
|
|
2207
|
-
};
|
|
2181
|
+
return `${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}`;
|
|
2182
|
+
}
|
|
2183
|
+
function buildGithubBuildUrl(env) {
|
|
2184
|
+
if (!env.GITHUB_SERVER_URL || !env.GITHUB_REPOSITORY || !env.GITHUB_RUN_ID) {
|
|
2185
|
+
return undefined;
|
|
2208
2186
|
}
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
repositoryUrl: env.CIRCLE_REPOSITORY_URL,
|
|
2215
|
-
buildNumber: env.CIRCLE_BUILD_NUM,
|
|
2216
|
-
buildUrl: env.CIRCLE_BUILD_URL,
|
|
2217
|
-
};
|
|
2187
|
+
return `${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}/actions/runs/${env.GITHUB_RUN_ID}`;
|
|
2188
|
+
}
|
|
2189
|
+
function detectGitHubBranch(env) {
|
|
2190
|
+
if (env.GITHUB_HEAD_REF) {
|
|
2191
|
+
return env.GITHUB_HEAD_REF;
|
|
2218
2192
|
}
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
return {
|
|
2222
|
-
branch: env.GIT_BRANCH?.replace('origin/', ''),
|
|
2223
|
-
commitSha: env.GIT_COMMIT,
|
|
2224
|
-
repositoryUrl: env.GIT_URL,
|
|
2225
|
-
buildNumber: env.BUILD_NUMBER,
|
|
2226
|
-
buildUrl: env.BUILD_URL,
|
|
2227
|
-
};
|
|
2193
|
+
if (env.GITHUB_REF?.startsWith('refs/heads/')) {
|
|
2194
|
+
return env.GITHUB_REF_NAME ?? removePrefix(env.GITHUB_REF, 'refs/heads/');
|
|
2228
2195
|
}
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2196
|
+
return undefined;
|
|
2197
|
+
}
|
|
2198
|
+
function detectGitHubActionsContext(env) {
|
|
2199
|
+
return {
|
|
2200
|
+
branch: detectGitHubBranch(env),
|
|
2201
|
+
commitSha: env.GITHUB_SHA,
|
|
2202
|
+
repositoryUrl: buildGithubRepositoryUrl(env),
|
|
2203
|
+
buildNumber: env.GITHUB_RUN_NUMBER,
|
|
2204
|
+
buildUrl: buildGithubBuildUrl(env),
|
|
2205
|
+
};
|
|
2206
|
+
}
|
|
2207
|
+
function detectGitLabContext(env) {
|
|
2208
|
+
return {
|
|
2209
|
+
branch: env.CI_COMMIT_BRANCH || env.CI_MERGE_REQUEST_SOURCE_BRANCH_NAME,
|
|
2210
|
+
commitSha: env.CI_COMMIT_SHA,
|
|
2211
|
+
repositoryUrl: env.CI_PROJECT_URL,
|
|
2212
|
+
buildNumber: env.CI_PIPELINE_IID,
|
|
2213
|
+
buildUrl: env.CI_PIPELINE_URL,
|
|
2214
|
+
};
|
|
2215
|
+
}
|
|
2216
|
+
function detectAzurePipelinesContext(env) {
|
|
2217
|
+
return {
|
|
2218
|
+
branch: removePrefix(env.BUILD_SOURCEBRANCH, 'refs/heads/'),
|
|
2219
|
+
commitSha: env.BUILD_SOURCEVERSION,
|
|
2220
|
+
repositoryUrl: env.BUILD_REPOSITORY_URI,
|
|
2221
|
+
buildNumber: env.BUILD_BUILDNUMBER,
|
|
2222
|
+
buildUrl: env.SYSTEM_TEAMFOUNDATIONCOLLECTIONURI && env.SYSTEM_TEAMPROJECT && env.BUILD_BUILDID
|
|
2223
|
+
? `${env.SYSTEM_TEAMFOUNDATIONCOLLECTIONURI}${env.SYSTEM_TEAMPROJECT}/_build/results?buildId=${env.BUILD_BUILDID}`
|
|
2224
|
+
: undefined,
|
|
2225
|
+
};
|
|
2226
|
+
}
|
|
2227
|
+
function detectCircleCIContext(env) {
|
|
2228
|
+
return {
|
|
2229
|
+
branch: env.CIRCLE_BRANCH,
|
|
2230
|
+
commitSha: env.CIRCLE_SHA1,
|
|
2231
|
+
repositoryUrl: env.CIRCLE_REPOSITORY_URL,
|
|
2232
|
+
buildNumber: env.CIRCLE_BUILD_NUM,
|
|
2233
|
+
buildUrl: env.CIRCLE_BUILD_URL,
|
|
2234
|
+
};
|
|
2235
|
+
}
|
|
2236
|
+
function detectJenkinsContext(env) {
|
|
2237
|
+
return {
|
|
2238
|
+
branch: removePrefix(env.GIT_BRANCH, 'origin/'),
|
|
2239
|
+
commitSha: env.GIT_COMMIT,
|
|
2240
|
+
repositoryUrl: env.GIT_URL,
|
|
2241
|
+
buildNumber: env.BUILD_NUMBER,
|
|
2242
|
+
buildUrl: env.BUILD_URL,
|
|
2243
|
+
};
|
|
2244
|
+
}
|
|
2245
|
+
function detectBitbucketContext(env) {
|
|
2246
|
+
return {
|
|
2247
|
+
branch: env.BITBUCKET_BRANCH,
|
|
2248
|
+
commitSha: env.BITBUCKET_COMMIT,
|
|
2249
|
+
repositoryUrl: env.BITBUCKET_GIT_HTTP_ORIGIN,
|
|
2250
|
+
buildNumber: env.BITBUCKET_BUILD_NUMBER,
|
|
2251
|
+
buildUrl: env.BITBUCKET_REPO_FULL_NAME && env.BITBUCKET_BUILD_NUMBER
|
|
2252
|
+
? `https://bitbucket.org/${env.BITBUCKET_REPO_FULL_NAME}/pipelines/results/${env.BITBUCKET_BUILD_NUMBER}`
|
|
2253
|
+
: undefined,
|
|
2254
|
+
};
|
|
2255
|
+
}
|
|
2256
|
+
const CI_PROVIDER_DETECTORS = [
|
|
2257
|
+
{
|
|
2258
|
+
isMatch: (env) => env.GITHUB_ACTIONS === 'true',
|
|
2259
|
+
detect: detectGitHubActionsContext,
|
|
2260
|
+
},
|
|
2261
|
+
{
|
|
2262
|
+
isMatch: (env) => env.GITLAB_CI === 'true',
|
|
2263
|
+
detect: detectGitLabContext,
|
|
2264
|
+
},
|
|
2265
|
+
{
|
|
2266
|
+
isMatch: (env) => env.TF_BUILD === 'True',
|
|
2267
|
+
detect: detectAzurePipelinesContext,
|
|
2268
|
+
},
|
|
2269
|
+
{
|
|
2270
|
+
isMatch: (env) => env.CIRCLECI === 'true',
|
|
2271
|
+
detect: detectCircleCIContext,
|
|
2272
|
+
},
|
|
2273
|
+
{
|
|
2274
|
+
isMatch: (env) => Boolean(env.JENKINS_URL),
|
|
2275
|
+
detect: detectJenkinsContext,
|
|
2276
|
+
},
|
|
2277
|
+
{
|
|
2278
|
+
isMatch: (env) => Boolean(env.BITBUCKET_BUILD_NUMBER),
|
|
2279
|
+
detect: detectBitbucketContext,
|
|
2280
|
+
},
|
|
2281
|
+
];
|
|
2282
|
+
/**
|
|
2283
|
+
* Detect CI context from environment variables
|
|
2284
|
+
* Supports: GitHub Actions, GitLab CI, Azure Pipelines, CircleCI, Jenkins, Bitbucket Pipelines
|
|
2285
|
+
*/
|
|
2286
|
+
function detectCIContext() {
|
|
2287
|
+
const env = readEnvironment();
|
|
2288
|
+
for (const provider of CI_PROVIDER_DETECTORS) {
|
|
2289
|
+
if (provider.isMatch(env)) {
|
|
2290
|
+
return provider.detect(env);
|
|
2291
|
+
}
|
|
2240
2292
|
}
|
|
2241
2293
|
return {};
|
|
2242
2294
|
}
|
|
@@ -2244,7 +2296,7 @@ function detectCIContext() {
|
|
|
2244
2296
|
|
|
2245
2297
|
/***/ }),
|
|
2246
2298
|
|
|
2247
|
-
/***/
|
|
2299
|
+
/***/ 3827:
|
|
2248
2300
|
/***/ ((__unused_webpack_module, exports) => {
|
|
2249
2301
|
|
|
2250
2302
|
"use strict";
|
|
@@ -2255,7 +2307,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
2255
2307
|
|
|
2256
2308
|
/***/ }),
|
|
2257
2309
|
|
|
2258
|
-
/***/
|
|
2310
|
+
/***/ 7322:
|
|
2259
2311
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
2260
2312
|
|
|
2261
2313
|
"use strict";
|
|
@@ -2277,10 +2329,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
2277
2329
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2278
2330
|
exports.ensureReportId = exports.mapAttachmentsToTestResults = exports.uploadArtifacts = exports.uploadTestRun = exports.detectCIContext = void 0;
|
|
2279
2331
|
// CTRF types
|
|
2280
|
-
__exportStar(__nccwpck_require__(
|
|
2281
|
-
var ci_detection_1 = __nccwpck_require__(
|
|
2332
|
+
__exportStar(__nccwpck_require__(3827), exports);
|
|
2333
|
+
var ci_detection_1 = __nccwpck_require__(2406);
|
|
2282
2334
|
Object.defineProperty(exports, "detectCIContext", ({ enumerable: true, get: function () { return ci_detection_1.detectCIContext; } }));
|
|
2283
|
-
var upload_1 = __nccwpck_require__(
|
|
2335
|
+
var upload_1 = __nccwpck_require__(8969);
|
|
2284
2336
|
Object.defineProperty(exports, "uploadTestRun", ({ enumerable: true, get: function () { return upload_1.uploadTestRun; } }));
|
|
2285
2337
|
Object.defineProperty(exports, "uploadArtifacts", ({ enumerable: true, get: function () { return upload_1.uploadArtifacts; } }));
|
|
2286
2338
|
Object.defineProperty(exports, "mapAttachmentsToTestResults", ({ enumerable: true, get: function () { return upload_1.mapAttachmentsToTestResults; } }));
|
|
@@ -2289,7 +2341,7 @@ Object.defineProperty(exports, "ensureReportId", ({ enumerable: true, get: funct
|
|
|
2289
2341
|
|
|
2290
2342
|
/***/ }),
|
|
2291
2343
|
|
|
2292
|
-
/***/
|
|
2344
|
+
/***/ 8969:
|
|
2293
2345
|
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
2294
2346
|
|
|
2295
2347
|
"use strict";
|
|
@@ -2299,10 +2351,11 @@ exports.ensureReportId = ensureReportId;
|
|
|
2299
2351
|
exports.uploadTestRun = uploadTestRun;
|
|
2300
2352
|
exports.mapAttachmentsToTestResults = mapAttachmentsToTestResults;
|
|
2301
2353
|
exports.uploadArtifacts = uploadArtifacts;
|
|
2302
|
-
const ci_detection_1 = __nccwpck_require__(
|
|
2303
|
-
const DEFAULT_API_URL =
|
|
2354
|
+
const ci_detection_1 = __nccwpck_require__(2406);
|
|
2355
|
+
const DEFAULT_API_URL = "https://test-manager-backend.fly.dev";
|
|
2304
2356
|
function ensureReportId(report) {
|
|
2305
|
-
if (typeof report.reportId ===
|
|
2357
|
+
if (typeof report.reportId === "string" &&
|
|
2358
|
+
report.reportId.trim().length > 0) {
|
|
2306
2359
|
return report.reportId;
|
|
2307
2360
|
}
|
|
2308
2361
|
const reportId = crypto.randomUUID();
|
|
@@ -2321,7 +2374,7 @@ function resolveApiUrl(explicitApiUrl) {
|
|
|
2321
2374
|
return DEFAULT_API_URL;
|
|
2322
2375
|
}
|
|
2323
2376
|
function getEnvApiUrl() {
|
|
2324
|
-
if (typeof process ===
|
|
2377
|
+
if (typeof process === "undefined" || !process?.env) {
|
|
2325
2378
|
return undefined;
|
|
2326
2379
|
}
|
|
2327
2380
|
return normalizeApiUrl(process.env.TESTREAM_API_URL);
|
|
@@ -2334,20 +2387,25 @@ function normalizeApiUrl(value) {
|
|
|
2334
2387
|
if (!trimmed) {
|
|
2335
2388
|
return undefined;
|
|
2336
2389
|
}
|
|
2337
|
-
|
|
2390
|
+
// Use while loop instead of regex for better performance and clarity
|
|
2391
|
+
let result = trimmed;
|
|
2392
|
+
while (result.endsWith("/")) {
|
|
2393
|
+
result = result.slice(0, -1);
|
|
2394
|
+
}
|
|
2395
|
+
return result;
|
|
2338
2396
|
}
|
|
2339
2397
|
function isReportAlreadyExistsConflict(error) {
|
|
2340
|
-
return error.errorCode ===
|
|
2398
|
+
return error.errorCode === "report_already_exists";
|
|
2341
2399
|
}
|
|
2342
2400
|
function formatUploadError(error) {
|
|
2343
|
-
const detail = error.detail || error.title || error.rawBody ||
|
|
2344
|
-
const codeLabel = error.errorCode ? `, code=${error.errorCode}` :
|
|
2401
|
+
const detail = error.detail || error.title || error.rawBody || "Unknown error";
|
|
2402
|
+
const codeLabel = error.errorCode ? `, code=${error.errorCode}` : "";
|
|
2345
2403
|
return `Upload failed (HTTP ${error.statusCode}${codeLabel}): ${detail}`;
|
|
2346
2404
|
}
|
|
2347
2405
|
async function parseHttpError(response) {
|
|
2348
2406
|
const rawBody = await response.text();
|
|
2349
|
-
const contentType = response.headers.get(
|
|
2350
|
-
if (contentType.toLowerCase().includes(
|
|
2407
|
+
const contentType = response.headers.get("content-type") || "";
|
|
2408
|
+
if (contentType.toLowerCase().includes("json") && rawBody.trim().length > 0) {
|
|
2351
2409
|
try {
|
|
2352
2410
|
const parsed = JSON.parse(rawBody);
|
|
2353
2411
|
return {
|
|
@@ -2397,14 +2455,14 @@ async function uploadTestRun(options) {
|
|
|
2397
2455
|
...uploadContext,
|
|
2398
2456
|
};
|
|
2399
2457
|
// Professional logging
|
|
2400
|
-
console.log(
|
|
2458
|
+
console.log("Uploading test results...");
|
|
2401
2459
|
let response;
|
|
2402
2460
|
try {
|
|
2403
2461
|
response = await fetch(`${apiUrl}/api/v1/ingest`, {
|
|
2404
|
-
method:
|
|
2462
|
+
method: "POST",
|
|
2405
2463
|
headers: {
|
|
2406
|
-
|
|
2407
|
-
|
|
2464
|
+
"X-API-KEY": apiKey,
|
|
2465
|
+
"Content-Type": "application/json",
|
|
2408
2466
|
},
|
|
2409
2467
|
body: JSON.stringify(ingestPayload),
|
|
2410
2468
|
});
|
|
@@ -2422,7 +2480,7 @@ async function uploadTestRun(options) {
|
|
|
2422
2480
|
if (!response.ok) {
|
|
2423
2481
|
const parsedError = await parseHttpError(response);
|
|
2424
2482
|
if (response.status === 409 && isReportAlreadyExistsConflict(parsedError)) {
|
|
2425
|
-
console.warn(
|
|
2483
|
+
console.warn("Report already exists (workflow may have been re-run)");
|
|
2426
2484
|
return {
|
|
2427
2485
|
success: true,
|
|
2428
2486
|
reportId,
|
|
@@ -2530,8 +2588,8 @@ async function uploadArtifacts(options) {
|
|
|
2530
2588
|
async function uploadSingleArtifact(options) {
|
|
2531
2589
|
const { testResultId, attachment, reportId, apiKey, apiUrl } = options;
|
|
2532
2590
|
// Dynamically import fs for Node.js environments
|
|
2533
|
-
const fs = await Promise.resolve(/* import() */).then(__nccwpck_require__.t.bind(__nccwpck_require__,
|
|
2534
|
-
const path = await Promise.resolve(/* import() */).then(__nccwpck_require__.t.bind(__nccwpck_require__,
|
|
2591
|
+
const fs = await Promise.resolve(/* import() */).then(__nccwpck_require__.t.bind(__nccwpck_require__, 1943, 23));
|
|
2592
|
+
const path = await Promise.resolve(/* import() */).then(__nccwpck_require__.t.bind(__nccwpck_require__, 6928, 23));
|
|
2535
2593
|
const filePath = path.resolve(attachment.path);
|
|
2536
2594
|
// Check if file exists
|
|
2537
2595
|
try {
|
|
@@ -2545,7 +2603,7 @@ async function uploadSingleArtifact(options) {
|
|
|
2545
2603
|
let fileBuffer;
|
|
2546
2604
|
let sizeBytes;
|
|
2547
2605
|
const fileName = path.basename(filePath);
|
|
2548
|
-
const contentType = attachment.contentType ||
|
|
2606
|
+
const contentType = attachment.contentType || "application/octet-stream";
|
|
2549
2607
|
try {
|
|
2550
2608
|
fileBuffer = await fs.readFile(filePath);
|
|
2551
2609
|
sizeBytes = fileBuffer.byteLength;
|
|
@@ -2585,7 +2643,7 @@ async function uploadSingleArtifact(options) {
|
|
|
2585
2643
|
}
|
|
2586
2644
|
class LegacyUploadRequiredError extends Error {
|
|
2587
2645
|
constructor() {
|
|
2588
|
-
super(
|
|
2646
|
+
super("Legacy upload endpoint required");
|
|
2589
2647
|
}
|
|
2590
2648
|
}
|
|
2591
2649
|
async function uploadWithPresignedUrl(options) {
|
|
@@ -2598,10 +2656,10 @@ async function uploadWithPresignedUrl(options) {
|
|
|
2598
2656
|
sizeBytes,
|
|
2599
2657
|
};
|
|
2600
2658
|
const initResponse = await fetch(`${apiUrl}/api/v1/artifacts/${reportId}/upload-url`, {
|
|
2601
|
-
method:
|
|
2659
|
+
method: "POST",
|
|
2602
2660
|
headers: {
|
|
2603
|
-
|
|
2604
|
-
|
|
2661
|
+
"X-API-KEY": apiKey,
|
|
2662
|
+
"Content-Type": "application/json",
|
|
2605
2663
|
},
|
|
2606
2664
|
body: JSON.stringify(initPayload),
|
|
2607
2665
|
});
|
|
@@ -2613,12 +2671,14 @@ async function uploadWithPresignedUrl(options) {
|
|
|
2613
2671
|
throw new Error(`Failed to create direct upload URL (HTTP ${initResponse.status}): ${errorText}`);
|
|
2614
2672
|
}
|
|
2615
2673
|
const uploadInitResult = (await initResponse.json());
|
|
2616
|
-
const uploadHeaders = {
|
|
2617
|
-
|
|
2618
|
-
|
|
2674
|
+
const uploadHeaders = {
|
|
2675
|
+
...(uploadInitResult.requiredHeaders ?? {}),
|
|
2676
|
+
};
|
|
2677
|
+
if (!hasHeaderIgnoreCase(uploadHeaders, "Content-Type")) {
|
|
2678
|
+
uploadHeaders["Content-Type"] = contentType;
|
|
2619
2679
|
}
|
|
2620
2680
|
const directUploadResponse = await fetch(uploadInitResult.uploadUrl, {
|
|
2621
|
-
method:
|
|
2681
|
+
method: "PUT",
|
|
2622
2682
|
headers: uploadHeaders,
|
|
2623
2683
|
body: fileBuffer,
|
|
2624
2684
|
});
|
|
@@ -2635,10 +2695,10 @@ async function uploadWithPresignedUrl(options) {
|
|
|
2635
2695
|
storageKey: uploadInitResult.storageKey,
|
|
2636
2696
|
};
|
|
2637
2697
|
const completeResponse = await fetch(`${apiUrl}/api/v1/artifacts/${reportId}/complete`, {
|
|
2638
|
-
method:
|
|
2698
|
+
method: "POST",
|
|
2639
2699
|
headers: {
|
|
2640
|
-
|
|
2641
|
-
|
|
2700
|
+
"X-API-KEY": apiKey,
|
|
2701
|
+
"Content-Type": "application/json",
|
|
2642
2702
|
},
|
|
2643
2703
|
body: JSON.stringify(completePayload),
|
|
2644
2704
|
});
|
|
@@ -2649,16 +2709,16 @@ async function uploadWithPresignedUrl(options) {
|
|
|
2649
2709
|
return true;
|
|
2650
2710
|
}
|
|
2651
2711
|
async function uploadWithLegacyEndpoint(options) {
|
|
2652
|
-
const { testResultId, attachmentName, reportId, apiKey, apiUrl, fileName, contentType, fileBuffer } = options;
|
|
2712
|
+
const { testResultId, attachmentName, reportId, apiKey, apiUrl, fileName, contentType, fileBuffer, } = options;
|
|
2653
2713
|
const blob = new Blob([new Uint8Array(fileBuffer)], { type: contentType });
|
|
2654
2714
|
const formData = new FormData();
|
|
2655
|
-
formData.append(
|
|
2656
|
-
formData.append(
|
|
2657
|
-
formData.append(
|
|
2715
|
+
formData.append("testResultId", testResultId);
|
|
2716
|
+
formData.append("ctrfAttachmentName", attachmentName);
|
|
2717
|
+
formData.append("file", blob, fileName);
|
|
2658
2718
|
const response = await fetch(`${apiUrl}/api/v1/artifacts/${reportId}`, {
|
|
2659
|
-
method:
|
|
2719
|
+
method: "POST",
|
|
2660
2720
|
headers: {
|
|
2661
|
-
|
|
2721
|
+
"X-API-KEY": apiKey,
|
|
2662
2722
|
},
|
|
2663
2723
|
body: formData,
|
|
2664
2724
|
});
|
|
@@ -2679,7 +2739,7 @@ function hasHeaderIgnoreCase(headers, headerName) {
|
|
|
2679
2739
|
|
|
2680
2740
|
/***/ }),
|
|
2681
2741
|
|
|
2682
|
-
/***/
|
|
2742
|
+
/***/ 4328:
|
|
2683
2743
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
2684
2744
|
|
|
2685
2745
|
"use strict";
|
|
@@ -2719,14 +2779,14 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
2719
2779
|
})();
|
|
2720
2780
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2721
2781
|
const glob_1 = __nccwpck_require__(447);
|
|
2722
|
-
const path = __importStar(__nccwpck_require__(
|
|
2723
|
-
const fs = __importStar(__nccwpck_require__(
|
|
2782
|
+
const path = __importStar(__nccwpck_require__(6928));
|
|
2783
|
+
const fs = __importStar(__nccwpck_require__(1943));
|
|
2724
2784
|
const os = __importStar(__nccwpck_require__(857));
|
|
2725
|
-
const child_process_1 = __nccwpck_require__(
|
|
2726
|
-
const trx_parser_1 = __nccwpck_require__(
|
|
2727
|
-
const uploader_1 = __nccwpck_require__(
|
|
2785
|
+
const child_process_1 = __nccwpck_require__(5317);
|
|
2786
|
+
const trx_parser_1 = __nccwpck_require__(8914);
|
|
2787
|
+
const uploader_1 = __nccwpck_require__(8010);
|
|
2728
2788
|
function printUsage() {
|
|
2729
|
-
console.log(`
|
|
2789
|
+
console.log(String.raw `
|
|
2730
2790
|
@testream/dotnet-reporter - Run .NET tests and upload results to Testream
|
|
2731
2791
|
|
|
2732
2792
|
Usage:
|
|
@@ -2771,7 +2831,7 @@ Examples:
|
|
|
2771
2831
|
npx @testream/dotnet-reporter -k your-api-key --project ./MyTests
|
|
2772
2832
|
|
|
2773
2833
|
# With environment metadata
|
|
2774
|
-
npx @testream/dotnet-reporter -k your-api-key
|
|
2834
|
+
npx @testream/dotnet-reporter -k your-api-key \
|
|
2775
2835
|
--test-environment staging --app-name MyApp --app-version 1.0.0
|
|
2776
2836
|
|
|
2777
2837
|
# Pass additional arguments to dotnet test
|
|
@@ -2908,15 +2968,15 @@ async function runDotnetTest(projectPath, additionalArgs = []) {
|
|
|
2908
2968
|
const logger = console;
|
|
2909
2969
|
// Create temp directory for TRX output
|
|
2910
2970
|
const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'dotnet-reporter-'));
|
|
2911
|
-
const trxFileName = `results-${Date.now()}.trx`;
|
|
2912
2971
|
// Build dotnet test command
|
|
2913
2972
|
const args = ['test'];
|
|
2914
2973
|
if (projectPath) {
|
|
2915
2974
|
args.push(projectPath);
|
|
2916
2975
|
}
|
|
2917
|
-
// Add TRX logger
|
|
2918
|
-
|
|
2919
|
-
|
|
2976
|
+
// Add TRX logger without a fixed filename so each test project gets a unique
|
|
2977
|
+
// TRX file. Specifying LogFileName causes all projects in a solution to write
|
|
2978
|
+
// to the same file, with later projects overwriting earlier ones.
|
|
2979
|
+
args.push('--logger', 'trx', '--results-directory', tempDir);
|
|
2920
2980
|
// Add any additional user-provided args
|
|
2921
2981
|
args.push(...additionalArgs);
|
|
2922
2982
|
logger.info('Running dotnet test...');
|
|
@@ -3042,7 +3102,7 @@ main();
|
|
|
3042
3102
|
|
|
3043
3103
|
/***/ }),
|
|
3044
3104
|
|
|
3045
|
-
/***/
|
|
3105
|
+
/***/ 8914:
|
|
3046
3106
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
3047
3107
|
|
|
3048
3108
|
"use strict";
|
|
@@ -3083,16 +3143,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
3083
3143
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3084
3144
|
exports.parseTrxFile = parseTrxFile;
|
|
3085
3145
|
exports.parseTrxFiles = parseTrxFiles;
|
|
3086
|
-
const fs = __importStar(__nccwpck_require__(
|
|
3087
|
-
const fast_xml_parser_1 = __nccwpck_require__(
|
|
3146
|
+
const fs = __importStar(__nccwpck_require__(1943));
|
|
3147
|
+
const fast_xml_parser_1 = __nccwpck_require__(1537);
|
|
3148
|
+
const crypto_1 = __nccwpck_require__(6982);
|
|
3088
3149
|
const TOOL_NAME = 'dotnet';
|
|
3089
|
-
//
|
|
3150
|
+
// Use crypto.randomUUID() for secure UUID generation (available in Node.js 15.7.0+)
|
|
3090
3151
|
function generateUUID() {
|
|
3091
|
-
return
|
|
3092
|
-
const r = (Math.random() * 16) | 0;
|
|
3093
|
-
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
3094
|
-
return v.toString(16);
|
|
3095
|
-
});
|
|
3152
|
+
return (0, crypto_1.randomUUID)();
|
|
3096
3153
|
}
|
|
3097
3154
|
/**
|
|
3098
3155
|
* Parse TRX duration string (HH:MM:SS.mmmmmmm) to milliseconds
|
|
@@ -3100,13 +3157,22 @@ function generateUUID() {
|
|
|
3100
3157
|
function parseDuration(duration) {
|
|
3101
3158
|
if (!duration)
|
|
3102
3159
|
return 0;
|
|
3103
|
-
|
|
3104
|
-
|
|
3160
|
+
// Use split() instead of regex to avoid ReDoS vulnerability
|
|
3161
|
+
const parts = duration.split(':');
|
|
3162
|
+
if (parts.length !== 3)
|
|
3163
|
+
return 0;
|
|
3164
|
+
const hours = parseInt(parts[0], 10);
|
|
3165
|
+
if (isNaN(hours))
|
|
3105
3166
|
return 0;
|
|
3106
|
-
const
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3167
|
+
const minutes = parseInt(parts[1], 10);
|
|
3168
|
+
if (isNaN(minutes))
|
|
3169
|
+
return 0;
|
|
3170
|
+
// Handle seconds and fractional part (may contain decimal point)
|
|
3171
|
+
const secondsParts = parts[2].split('.');
|
|
3172
|
+
const seconds = parseInt(secondsParts[0], 10);
|
|
3173
|
+
if (isNaN(seconds))
|
|
3174
|
+
return 0;
|
|
3175
|
+
const fraction = secondsParts[1] ? parseFloat(`0.${secondsParts[1]}`) * 1000 : 0;
|
|
3110
3176
|
return hours * 3600000 + minutes * 60000 + seconds * 1000 + Math.round(fraction);
|
|
3111
3177
|
}
|
|
3112
3178
|
/**
|
|
@@ -3156,8 +3222,8 @@ function extractLineNumber(stackTrace) {
|
|
|
3156
3222
|
function extractFilePath(stackTrace) {
|
|
3157
3223
|
if (!stackTrace)
|
|
3158
3224
|
return undefined;
|
|
3159
|
-
// Match file paths ending in .cs
|
|
3160
|
-
const match = stackTrace.match(/([A-Za-z]:\\[^\s:]
|
|
3225
|
+
// Match file paths ending in .cs with bounded length to prevent ReDoS
|
|
3226
|
+
const match = stackTrace.match(/([A-Za-z]:\\[^\s:]{1,256}\.cs|\/[^\s:]{1,256}\.cs)/);
|
|
3161
3227
|
return match ? match[1] : undefined;
|
|
3162
3228
|
}
|
|
3163
3229
|
/**
|
|
@@ -3349,7 +3415,7 @@ async function parseTrxFiles(trxPaths) {
|
|
|
3349
3415
|
|
|
3350
3416
|
/***/ }),
|
|
3351
3417
|
|
|
3352
|
-
/***/
|
|
3418
|
+
/***/ 8010:
|
|
3353
3419
|
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
3354
3420
|
|
|
3355
3421
|
"use strict";
|
|
@@ -3357,7 +3423,7 @@ async function parseTrxFiles(trxPaths) {
|
|
|
3357
3423
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3358
3424
|
exports.detectGitContext = void 0;
|
|
3359
3425
|
exports.uploadToApi = uploadToApi;
|
|
3360
|
-
const shared_types_1 = __nccwpck_require__(
|
|
3426
|
+
const shared_types_1 = __nccwpck_require__(7322);
|
|
3361
3427
|
/**
|
|
3362
3428
|
* Upload CTRF report to Testream API
|
|
3363
3429
|
*/
|
|
@@ -3384,7 +3450,7 @@ exports.detectGitContext = shared_types_1.detectCIContext;
|
|
|
3384
3450
|
|
|
3385
3451
|
/***/ }),
|
|
3386
3452
|
|
|
3387
|
-
/***/
|
|
3453
|
+
/***/ 5317:
|
|
3388
3454
|
/***/ ((module) => {
|
|
3389
3455
|
|
|
3390
3456
|
"use strict";
|
|
@@ -3392,7 +3458,15 @@ module.exports = require("child_process");
|
|
|
3392
3458
|
|
|
3393
3459
|
/***/ }),
|
|
3394
3460
|
|
|
3395
|
-
/***/
|
|
3461
|
+
/***/ 6982:
|
|
3462
|
+
/***/ ((module) => {
|
|
3463
|
+
|
|
3464
|
+
"use strict";
|
|
3465
|
+
module.exports = require("crypto");
|
|
3466
|
+
|
|
3467
|
+
/***/ }),
|
|
3468
|
+
|
|
3469
|
+
/***/ 9896:
|
|
3396
3470
|
/***/ ((module) => {
|
|
3397
3471
|
|
|
3398
3472
|
"use strict";
|
|
@@ -3400,7 +3474,7 @@ module.exports = require("fs");
|
|
|
3400
3474
|
|
|
3401
3475
|
/***/ }),
|
|
3402
3476
|
|
|
3403
|
-
/***/
|
|
3477
|
+
/***/ 1943:
|
|
3404
3478
|
/***/ ((module) => {
|
|
3405
3479
|
|
|
3406
3480
|
"use strict";
|
|
@@ -3408,7 +3482,7 @@ module.exports = require("fs/promises");
|
|
|
3408
3482
|
|
|
3409
3483
|
/***/ }),
|
|
3410
3484
|
|
|
3411
|
-
/***/
|
|
3485
|
+
/***/ 8474:
|
|
3412
3486
|
/***/ ((module) => {
|
|
3413
3487
|
|
|
3414
3488
|
"use strict";
|
|
@@ -3416,7 +3490,7 @@ module.exports = require("node:events");
|
|
|
3416
3490
|
|
|
3417
3491
|
/***/ }),
|
|
3418
3492
|
|
|
3419
|
-
/***/
|
|
3493
|
+
/***/ 3024:
|
|
3420
3494
|
/***/ ((module) => {
|
|
3421
3495
|
|
|
3422
3496
|
"use strict";
|
|
@@ -3424,7 +3498,7 @@ module.exports = require("node:fs");
|
|
|
3424
3498
|
|
|
3425
3499
|
/***/ }),
|
|
3426
3500
|
|
|
3427
|
-
/***/
|
|
3501
|
+
/***/ 1455:
|
|
3428
3502
|
/***/ ((module) => {
|
|
3429
3503
|
|
|
3430
3504
|
"use strict";
|
|
@@ -3432,7 +3506,7 @@ module.exports = require("node:fs/promises");
|
|
|
3432
3506
|
|
|
3433
3507
|
/***/ }),
|
|
3434
3508
|
|
|
3435
|
-
/***/
|
|
3509
|
+
/***/ 6760:
|
|
3436
3510
|
/***/ ((module) => {
|
|
3437
3511
|
|
|
3438
3512
|
"use strict";
|
|
@@ -3440,7 +3514,7 @@ module.exports = require("node:path");
|
|
|
3440
3514
|
|
|
3441
3515
|
/***/ }),
|
|
3442
3516
|
|
|
3443
|
-
/***/
|
|
3517
|
+
/***/ 7075:
|
|
3444
3518
|
/***/ ((module) => {
|
|
3445
3519
|
|
|
3446
3520
|
"use strict";
|
|
@@ -3448,7 +3522,7 @@ module.exports = require("node:stream");
|
|
|
3448
3522
|
|
|
3449
3523
|
/***/ }),
|
|
3450
3524
|
|
|
3451
|
-
/***/
|
|
3525
|
+
/***/ 6193:
|
|
3452
3526
|
/***/ ((module) => {
|
|
3453
3527
|
|
|
3454
3528
|
"use strict";
|
|
@@ -3456,7 +3530,7 @@ module.exports = require("node:string_decoder");
|
|
|
3456
3530
|
|
|
3457
3531
|
/***/ }),
|
|
3458
3532
|
|
|
3459
|
-
/***/
|
|
3533
|
+
/***/ 3136:
|
|
3460
3534
|
/***/ ((module) => {
|
|
3461
3535
|
|
|
3462
3536
|
"use strict";
|
|
@@ -3472,7 +3546,7 @@ module.exports = require("os");
|
|
|
3472
3546
|
|
|
3473
3547
|
/***/ }),
|
|
3474
3548
|
|
|
3475
|
-
/***/
|
|
3549
|
+
/***/ 6928:
|
|
3476
3550
|
/***/ ((module) => {
|
|
3477
3551
|
|
|
3478
3552
|
"use strict";
|
|
@@ -3480,7 +3554,7 @@ module.exports = require("path");
|
|
|
3480
3554
|
|
|
3481
3555
|
/***/ }),
|
|
3482
3556
|
|
|
3483
|
-
/***/
|
|
3557
|
+
/***/ 7080:
|
|
3484
3558
|
/***/ ((__unused_webpack_module, exports) => {
|
|
3485
3559
|
|
|
3486
3560
|
"use strict";
|
|
@@ -3546,14 +3620,14 @@ exports.range = range;
|
|
|
3546
3620
|
|
|
3547
3621
|
/***/ }),
|
|
3548
3622
|
|
|
3549
|
-
/***/
|
|
3623
|
+
/***/ 2339:
|
|
3550
3624
|
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
3551
3625
|
|
|
3552
3626
|
"use strict";
|
|
3553
3627
|
|
|
3554
3628
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3555
3629
|
exports.expand = expand;
|
|
3556
|
-
const balanced_match_1 = __nccwpck_require__(
|
|
3630
|
+
const balanced_match_1 = __nccwpck_require__(7080);
|
|
3557
3631
|
const escSlash = '\0SLASH' + Math.random() + '\0';
|
|
3558
3632
|
const escOpen = '\0OPEN' + Math.random() + '\0';
|
|
3559
3633
|
const escClose = '\0CLOSE' + Math.random() + '\0';
|
|
@@ -3749,18 +3823,18 @@ function expand_(str, isTop) {
|
|
|
3749
3823
|
|
|
3750
3824
|
/***/ }),
|
|
3751
3825
|
|
|
3752
|
-
/***/
|
|
3826
|
+
/***/ 8809:
|
|
3753
3827
|
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
3754
3828
|
|
|
3755
3829
|
"use strict";
|
|
3756
3830
|
|
|
3757
3831
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3758
3832
|
exports.Glob = void 0;
|
|
3759
|
-
const minimatch_1 = __nccwpck_require__(
|
|
3760
|
-
const node_url_1 = __nccwpck_require__(
|
|
3761
|
-
const path_scurry_1 = __nccwpck_require__(
|
|
3762
|
-
const pattern_js_1 = __nccwpck_require__(
|
|
3763
|
-
const walker_js_1 = __nccwpck_require__(
|
|
3833
|
+
const minimatch_1 = __nccwpck_require__(6647);
|
|
3834
|
+
const node_url_1 = __nccwpck_require__(3136);
|
|
3835
|
+
const path_scurry_1 = __nccwpck_require__(5125);
|
|
3836
|
+
const pattern_js_1 = __nccwpck_require__(2841);
|
|
3837
|
+
const walker_js_1 = __nccwpck_require__(6089);
|
|
3764
3838
|
// if no process global, just call it linux.
|
|
3765
3839
|
// so we default to case-sensitive, / separators
|
|
3766
3840
|
const defaultPlatform = (typeof process === 'object' &&
|
|
@@ -4003,14 +4077,14 @@ exports.Glob = Glob;
|
|
|
4003
4077
|
|
|
4004
4078
|
/***/ }),
|
|
4005
4079
|
|
|
4006
|
-
/***/
|
|
4080
|
+
/***/ 6233:
|
|
4007
4081
|
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
4008
4082
|
|
|
4009
4083
|
"use strict";
|
|
4010
4084
|
|
|
4011
4085
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
4012
4086
|
exports.hasMagic = void 0;
|
|
4013
|
-
const minimatch_1 = __nccwpck_require__(
|
|
4087
|
+
const minimatch_1 = __nccwpck_require__(6647);
|
|
4014
4088
|
/**
|
|
4015
4089
|
* Return true if the patterns provided contain any magic glob characters,
|
|
4016
4090
|
* given the options provided.
|
|
@@ -4037,7 +4111,7 @@ exports.hasMagic = hasMagic;
|
|
|
4037
4111
|
|
|
4038
4112
|
/***/ }),
|
|
4039
4113
|
|
|
4040
|
-
/***/
|
|
4114
|
+
/***/ 6449:
|
|
4041
4115
|
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
4042
4116
|
|
|
4043
4117
|
"use strict";
|
|
@@ -4048,8 +4122,8 @@ exports.hasMagic = hasMagic;
|
|
|
4048
4122
|
// Ignores are always parsed in dot:true mode
|
|
4049
4123
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
4050
4124
|
exports.Ignore = void 0;
|
|
4051
|
-
const minimatch_1 = __nccwpck_require__(
|
|
4052
|
-
const pattern_js_1 = __nccwpck_require__(
|
|
4125
|
+
const minimatch_1 = __nccwpck_require__(6647);
|
|
4126
|
+
const pattern_js_1 = __nccwpck_require__(2841);
|
|
4053
4127
|
const defaultPlatform = (typeof process === 'object' &&
|
|
4054
4128
|
process &&
|
|
4055
4129
|
typeof process.platform === 'string') ?
|
|
@@ -4175,17 +4249,17 @@ exports.globStream = globStream;
|
|
|
4175
4249
|
exports.globSync = globSync;
|
|
4176
4250
|
exports.globIterateSync = globIterateSync;
|
|
4177
4251
|
exports.globIterate = globIterate;
|
|
4178
|
-
const minimatch_1 = __nccwpck_require__(
|
|
4179
|
-
const glob_js_1 = __nccwpck_require__(
|
|
4180
|
-
const has_magic_js_1 = __nccwpck_require__(
|
|
4181
|
-
var minimatch_2 = __nccwpck_require__(
|
|
4252
|
+
const minimatch_1 = __nccwpck_require__(6647);
|
|
4253
|
+
const glob_js_1 = __nccwpck_require__(8809);
|
|
4254
|
+
const has_magic_js_1 = __nccwpck_require__(6233);
|
|
4255
|
+
var minimatch_2 = __nccwpck_require__(6647);
|
|
4182
4256
|
Object.defineProperty(exports, "escape", ({ enumerable: true, get: function () { return minimatch_2.escape; } }));
|
|
4183
4257
|
Object.defineProperty(exports, "unescape", ({ enumerable: true, get: function () { return minimatch_2.unescape; } }));
|
|
4184
|
-
var glob_js_2 = __nccwpck_require__(
|
|
4258
|
+
var glob_js_2 = __nccwpck_require__(8809);
|
|
4185
4259
|
Object.defineProperty(exports, "Glob", ({ enumerable: true, get: function () { return glob_js_2.Glob; } }));
|
|
4186
|
-
var has_magic_js_2 = __nccwpck_require__(
|
|
4260
|
+
var has_magic_js_2 = __nccwpck_require__(6233);
|
|
4187
4261
|
Object.defineProperty(exports, "hasMagic", ({ enumerable: true, get: function () { return has_magic_js_2.hasMagic; } }));
|
|
4188
|
-
var ignore_js_1 = __nccwpck_require__(
|
|
4262
|
+
var ignore_js_1 = __nccwpck_require__(6449);
|
|
4189
4263
|
Object.defineProperty(exports, "Ignore", ({ enumerable: true, get: function () { return ignore_js_1.Ignore; } }));
|
|
4190
4264
|
function globStreamSync(pattern, options = {}) {
|
|
4191
4265
|
return new glob_js_1.Glob(pattern, options).streamSync();
|
|
@@ -4238,7 +4312,7 @@ exports.glob.glob = exports.glob;
|
|
|
4238
4312
|
|
|
4239
4313
|
/***/ }),
|
|
4240
4314
|
|
|
4241
|
-
/***/
|
|
4315
|
+
/***/ 2841:
|
|
4242
4316
|
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
4243
4317
|
|
|
4244
4318
|
"use strict";
|
|
@@ -4246,7 +4320,7 @@ exports.glob.glob = exports.glob;
|
|
|
4246
4320
|
// this is just a very light wrapper around 2 arrays with an offset index
|
|
4247
4321
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
4248
4322
|
exports.Pattern = void 0;
|
|
4249
|
-
const minimatch_1 = __nccwpck_require__(
|
|
4323
|
+
const minimatch_1 = __nccwpck_require__(6647);
|
|
4250
4324
|
const isPatternList = (pl) => pl.length >= 1;
|
|
4251
4325
|
const isGlobList = (gl) => gl.length >= 1;
|
|
4252
4326
|
/**
|
|
@@ -4464,7 +4538,7 @@ exports.Pattern = Pattern;
|
|
|
4464
4538
|
|
|
4465
4539
|
/***/ }),
|
|
4466
4540
|
|
|
4467
|
-
/***/
|
|
4541
|
+
/***/ 7999:
|
|
4468
4542
|
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
4469
4543
|
|
|
4470
4544
|
"use strict";
|
|
@@ -4472,7 +4546,7 @@ exports.Pattern = Pattern;
|
|
|
4472
4546
|
// synchronous utility for filtering entries and calculating subwalks
|
|
4473
4547
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
4474
4548
|
exports.Processor = exports.SubWalks = exports.MatchRecord = exports.HasWalkedCache = void 0;
|
|
4475
|
-
const minimatch_1 = __nccwpck_require__(
|
|
4549
|
+
const minimatch_1 = __nccwpck_require__(6647);
|
|
4476
4550
|
/**
|
|
4477
4551
|
* A cache of which patterns have been processed for a given Path
|
|
4478
4552
|
*/
|
|
@@ -4772,7 +4846,7 @@ exports.Processor = Processor;
|
|
|
4772
4846
|
|
|
4773
4847
|
/***/ }),
|
|
4774
4848
|
|
|
4775
|
-
/***/
|
|
4849
|
+
/***/ 6089:
|
|
4776
4850
|
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
4777
4851
|
|
|
4778
4852
|
"use strict";
|
|
@@ -4785,9 +4859,9 @@ exports.GlobStream = exports.GlobWalker = exports.GlobUtil = void 0;
|
|
|
4785
4859
|
*
|
|
4786
4860
|
* @module
|
|
4787
4861
|
*/
|
|
4788
|
-
const minipass_1 = __nccwpck_require__(
|
|
4789
|
-
const ignore_js_1 = __nccwpck_require__(
|
|
4790
|
-
const processor_js_1 = __nccwpck_require__(
|
|
4862
|
+
const minipass_1 = __nccwpck_require__(1031);
|
|
4863
|
+
const ignore_js_1 = __nccwpck_require__(6449);
|
|
4864
|
+
const processor_js_1 = __nccwpck_require__(7999);
|
|
4791
4865
|
const makeIgnore = (ignore, opts) => typeof ignore === 'string' ? new ignore_js_1.Ignore([ignore], opts)
|
|
4792
4866
|
: Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts)
|
|
4793
4867
|
: ignore;
|
|
@@ -5166,7 +5240,7 @@ exports.GlobStream = GlobStream;
|
|
|
5166
5240
|
|
|
5167
5241
|
/***/ }),
|
|
5168
5242
|
|
|
5169
|
-
/***/
|
|
5243
|
+
/***/ 3481:
|
|
5170
5244
|
/***/ ((__unused_webpack_module, exports) => {
|
|
5171
5245
|
|
|
5172
5246
|
"use strict";
|
|
@@ -6779,7 +6853,7 @@ exports.assertValidPattern = assertValidPattern;
|
|
|
6779
6853
|
|
|
6780
6854
|
/***/ }),
|
|
6781
6855
|
|
|
6782
|
-
/***/
|
|
6856
|
+
/***/ 8743:
|
|
6783
6857
|
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
6784
6858
|
|
|
6785
6859
|
"use strict";
|
|
@@ -6787,8 +6861,8 @@ exports.assertValidPattern = assertValidPattern;
|
|
|
6787
6861
|
// parse a single path portion
|
|
6788
6862
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
6789
6863
|
exports.AST = void 0;
|
|
6790
|
-
const brace_expressions_js_1 = __nccwpck_require__(
|
|
6791
|
-
const unescape_js_1 = __nccwpck_require__(
|
|
6864
|
+
const brace_expressions_js_1 = __nccwpck_require__(6694);
|
|
6865
|
+
const unescape_js_1 = __nccwpck_require__(7967);
|
|
6792
6866
|
const types = new Set(['!', '?', '+', '*', '@']);
|
|
6793
6867
|
const isExtglobType = (c) => types.has(c);
|
|
6794
6868
|
// Patterns that get prepended to bind to the start of either the
|
|
@@ -7377,7 +7451,7 @@ exports.AST = AST;
|
|
|
7377
7451
|
|
|
7378
7452
|
/***/ }),
|
|
7379
7453
|
|
|
7380
|
-
/***/
|
|
7454
|
+
/***/ 6694:
|
|
7381
7455
|
/***/ ((__unused_webpack_module, exports) => {
|
|
7382
7456
|
|
|
7383
7457
|
"use strict";
|
|
@@ -7536,7 +7610,7 @@ exports.parseClass = parseClass;
|
|
|
7536
7610
|
|
|
7537
7611
|
/***/ }),
|
|
7538
7612
|
|
|
7539
|
-
/***/
|
|
7613
|
+
/***/ 7516:
|
|
7540
7614
|
/***/ ((__unused_webpack_module, exports) => {
|
|
7541
7615
|
|
|
7542
7616
|
"use strict";
|
|
@@ -7573,18 +7647,18 @@ exports.escape = escape;
|
|
|
7573
7647
|
|
|
7574
7648
|
/***/ }),
|
|
7575
7649
|
|
|
7576
|
-
/***/
|
|
7650
|
+
/***/ 6647:
|
|
7577
7651
|
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
7578
7652
|
|
|
7579
7653
|
"use strict";
|
|
7580
7654
|
|
|
7581
7655
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
7582
7656
|
exports.unescape = exports.escape = exports.AST = exports.Minimatch = exports.match = exports.makeRe = exports.braceExpand = exports.defaults = exports.filter = exports.GLOBSTAR = exports.sep = exports.minimatch = void 0;
|
|
7583
|
-
const brace_expansion_1 = __nccwpck_require__(
|
|
7657
|
+
const brace_expansion_1 = __nccwpck_require__(2339);
|
|
7584
7658
|
const assert_valid_pattern_js_1 = __nccwpck_require__(557);
|
|
7585
|
-
const ast_js_1 = __nccwpck_require__(
|
|
7586
|
-
const escape_js_1 = __nccwpck_require__(
|
|
7587
|
-
const unescape_js_1 = __nccwpck_require__(
|
|
7659
|
+
const ast_js_1 = __nccwpck_require__(8743);
|
|
7660
|
+
const escape_js_1 = __nccwpck_require__(7516);
|
|
7661
|
+
const unescape_js_1 = __nccwpck_require__(7967);
|
|
7588
7662
|
const minimatch = (p, pattern, options = {}) => {
|
|
7589
7663
|
(0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
|
|
7590
7664
|
// shortcut: comments match nothing.
|
|
@@ -8594,11 +8668,11 @@ class Minimatch {
|
|
|
8594
8668
|
}
|
|
8595
8669
|
exports.Minimatch = Minimatch;
|
|
8596
8670
|
/* c8 ignore start */
|
|
8597
|
-
var ast_js_2 = __nccwpck_require__(
|
|
8671
|
+
var ast_js_2 = __nccwpck_require__(8743);
|
|
8598
8672
|
Object.defineProperty(exports, "AST", ({ enumerable: true, get: function () { return ast_js_2.AST; } }));
|
|
8599
|
-
var escape_js_2 = __nccwpck_require__(
|
|
8673
|
+
var escape_js_2 = __nccwpck_require__(7516);
|
|
8600
8674
|
Object.defineProperty(exports, "escape", ({ enumerable: true, get: function () { return escape_js_2.escape; } }));
|
|
8601
|
-
var unescape_js_2 = __nccwpck_require__(
|
|
8675
|
+
var unescape_js_2 = __nccwpck_require__(7967);
|
|
8602
8676
|
Object.defineProperty(exports, "unescape", ({ enumerable: true, get: function () { return unescape_js_2.unescape; } }));
|
|
8603
8677
|
/* c8 ignore stop */
|
|
8604
8678
|
exports.minimatch.AST = ast_js_1.AST;
|
|
@@ -8609,7 +8683,7 @@ exports.minimatch.unescape = unescape_js_1.unescape;
|
|
|
8609
8683
|
|
|
8610
8684
|
/***/ }),
|
|
8611
8685
|
|
|
8612
|
-
/***/
|
|
8686
|
+
/***/ 7967:
|
|
8613
8687
|
/***/ ((__unused_webpack_module, exports) => {
|
|
8614
8688
|
|
|
8615
8689
|
"use strict";
|
|
@@ -8654,7 +8728,7 @@ exports.unescape = unescape;
|
|
|
8654
8728
|
|
|
8655
8729
|
/***/ }),
|
|
8656
8730
|
|
|
8657
|
-
/***/
|
|
8731
|
+
/***/ 1031:
|
|
8658
8732
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
8659
8733
|
|
|
8660
8734
|
"use strict";
|
|
@@ -8670,9 +8744,9 @@ const proc = typeof process === 'object' && process
|
|
|
8670
8744
|
stdout: null,
|
|
8671
8745
|
stderr: null,
|
|
8672
8746
|
};
|
|
8673
|
-
const node_events_1 = __nccwpck_require__(
|
|
8674
|
-
const node_stream_1 = __importDefault(__nccwpck_require__(
|
|
8675
|
-
const node_string_decoder_1 = __nccwpck_require__(
|
|
8747
|
+
const node_events_1 = __nccwpck_require__(8474);
|
|
8748
|
+
const node_stream_1 = __importDefault(__nccwpck_require__(7075));
|
|
8749
|
+
const node_string_decoder_1 = __nccwpck_require__(6193);
|
|
8676
8750
|
/**
|
|
8677
8751
|
* Return true if the argument is a Minipass stream, Node stream, or something
|
|
8678
8752
|
* else that Minipass can interact with.
|
|
@@ -9689,7 +9763,7 @@ exports.Minipass = Minipass;
|
|
|
9689
9763
|
|
|
9690
9764
|
/***/ }),
|
|
9691
9765
|
|
|
9692
|
-
/***/
|
|
9766
|
+
/***/ 5125:
|
|
9693
9767
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
9694
9768
|
|
|
9695
9769
|
"use strict";
|
|
@@ -9719,16 +9793,16 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
9719
9793
|
};
|
|
9720
9794
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
9721
9795
|
exports.PathScurry = exports.Path = exports.PathScurryDarwin = exports.PathScurryPosix = exports.PathScurryWin32 = exports.PathScurryBase = exports.PathPosix = exports.PathWin32 = exports.PathBase = exports.ChildrenCache = exports.ResolveCache = void 0;
|
|
9722
|
-
const lru_cache_1 = __nccwpck_require__(
|
|
9723
|
-
const node_path_1 = __nccwpck_require__(
|
|
9724
|
-
const node_url_1 = __nccwpck_require__(
|
|
9725
|
-
const fs_1 = __nccwpck_require__(
|
|
9726
|
-
const actualFS = __importStar(__nccwpck_require__(
|
|
9796
|
+
const lru_cache_1 = __nccwpck_require__(3481);
|
|
9797
|
+
const node_path_1 = __nccwpck_require__(6760);
|
|
9798
|
+
const node_url_1 = __nccwpck_require__(3136);
|
|
9799
|
+
const fs_1 = __nccwpck_require__(9896);
|
|
9800
|
+
const actualFS = __importStar(__nccwpck_require__(3024));
|
|
9727
9801
|
const realpathSync = fs_1.realpathSync.native;
|
|
9728
9802
|
// TODO: test perf of fs/promises realpath vs realpathCB,
|
|
9729
9803
|
// since the promises one uses realpath.native
|
|
9730
|
-
const promises_1 = __nccwpck_require__(
|
|
9731
|
-
const minipass_1 = __nccwpck_require__(
|
|
9804
|
+
const promises_1 = __nccwpck_require__(1455);
|
|
9805
|
+
const minipass_1 = __nccwpck_require__(1031);
|
|
9732
9806
|
const defaultFS = {
|
|
9733
9807
|
lstatSync: fs_1.lstatSync,
|
|
9734
9808
|
readdir: fs_1.readdir,
|
|
@@ -11814,7 +11888,7 @@ exports.PathScurry = process.platform === 'win32' ? PathScurryWin32
|
|
|
11814
11888
|
/******/ // startup
|
|
11815
11889
|
/******/ // Load entry module and return exports
|
|
11816
11890
|
/******/ // This entry module is referenced by other modules so it can't be inlined
|
|
11817
|
-
/******/ var __webpack_exports__ = __nccwpck_require__(
|
|
11891
|
+
/******/ var __webpack_exports__ = __nccwpck_require__(4328);
|
|
11818
11892
|
/******/ module.exports = __webpack_exports__;
|
|
11819
11893
|
/******/
|
|
11820
11894
|
/******/ })()
|