@swmansion/argent 0.22.1 → 0.22.2-next.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/bin/argent-android-devtools-0.1.0.apk +0 -0
- package/bin/darwin/ax-service +0 -0
- package/bin/darwin/tvos-ax-service +0 -0
- package/bin/darwin/tvos-hid-daemon +0 -0
- package/bin/tcp/ax-service +0 -0
- package/dist/cli-cmds.mjs +1 -1
- package/dist/installer.mjs +1 -1
- package/dist/tool-server.cjs +117 -2085
- package/dylibs/libArgentInjectionBootstrap.dylib +0 -0
- package/dylibs/libKeyboardPatch.dylib +0 -0
- package/dylibs/libNativeDevtoolsIos.dylib +0 -0
- package/dylibs/tcp/libArgentInjectionBootstrap.dylib +0 -0
- package/dylibs/tcp/libKeyboardPatch.dylib +0 -0
- package/dylibs/tcp/libNativeDevtoolsIos.dylib +0 -0
- package/dylibs/tvos/libArgentInjectionBootstrap.dylib +0 -0
- package/dylibs/tvos/libKeyboardPatch.dylib +0 -0
- package/dylibs/tvos/libNativeDevtoolsIos.dylib +0 -0
- package/package.json +1 -1
package/dist/tool-server.cjs
CHANGED
|
@@ -373,6 +373,18 @@ var init_event_emitter = __esm({
|
|
|
373
373
|
this.listeners.get(event2).add(listener);
|
|
374
374
|
return this;
|
|
375
375
|
}
|
|
376
|
+
/**
|
|
377
|
+
* @public
|
|
378
|
+
* Every caller is in another workspace — tool-server (the variant-proposal
|
|
379
|
+
* store, the chromium server's frame/fps and network listeners, both
|
|
380
|
+
* js-runtime-debugger blueprints) and telemetry (`registry-listener`, which
|
|
381
|
+
* detaches from `Registry.events`) — and the dead-code gate runs against an
|
|
382
|
+
* unbuilt tree, where a cross-workspace edge cannot form. See `knip.jsonc`.
|
|
383
|
+
*
|
|
384
|
+
* To re-audit whether this tag is still earned, rename the member and read
|
|
385
|
+
* the `Property 'off' does not exist` errors `tsc` reports. Do not grep
|
|
386
|
+
* `.off(`: most hits in this repo are Node `EventEmitter`s.
|
|
387
|
+
*/
|
|
376
388
|
off(event2, listener) {
|
|
377
389
|
this.listeners.get(event2)?.delete(listener);
|
|
378
390
|
return this;
|
|
@@ -434,6 +446,19 @@ var init_artifacts = __esm({
|
|
|
434
446
|
};
|
|
435
447
|
ArtifactStore = class {
|
|
436
448
|
entries = /* @__PURE__ */ new Map();
|
|
449
|
+
/**
|
|
450
|
+
* @public
|
|
451
|
+
* Every caller is in tool-server — `tools/flows/flow-visual`,
|
|
452
|
+
* `tools/screenshot`, `tools/screenshot-diff`, `tools/screen-recording-stop`,
|
|
453
|
+
* both `tools/profiler/native-profiler` stop/analyze handlers and
|
|
454
|
+
* `tools/profiler/react/react-profiler-analyze` — and the dead-code gate runs
|
|
455
|
+
* against an unbuilt tree, where a cross-workspace edge cannot form. See
|
|
456
|
+
* `knip.jsonc`.
|
|
457
|
+
*
|
|
458
|
+
* To re-audit whether this tag is still earned, rename the member and read
|
|
459
|
+
* the `Property 'register' does not exist` errors `tsc --build` reports. Do
|
|
460
|
+
* not grep `.register(`: `registerTool` / `registerBlueprint` swamp the hits.
|
|
461
|
+
*/
|
|
437
462
|
async register(opts) {
|
|
438
463
|
const { hostPath, kind } = opts;
|
|
439
464
|
const filename = opts.filename ?? (0, import_node_path.basename)(hostPath);
|
|
@@ -464,9 +489,21 @@ var init_artifacts = __esm({
|
|
|
464
489
|
if (opts.saveDir) handle.saveDir = opts.saveDir;
|
|
465
490
|
return handle;
|
|
466
491
|
}
|
|
492
|
+
/**
|
|
493
|
+
* @public
|
|
494
|
+
* The only caller is the tool-server `GET /artifacts/:id` route, and the
|
|
495
|
+
* dead-code gate runs against an unbuilt tree, where a cross-workspace edge
|
|
496
|
+
* cannot form. See `knip.jsonc`.
|
|
497
|
+
*/
|
|
467
498
|
get(id) {
|
|
468
499
|
return this.entries.get(id);
|
|
469
500
|
}
|
|
501
|
+
/**
|
|
502
|
+
* @public
|
|
503
|
+
* The only caller is the tool-server `/artifacts` route, and the dead-code
|
|
504
|
+
* gate runs against an unbuilt tree, where a cross-workspace edge cannot
|
|
505
|
+
* form. See `knip.jsonc`.
|
|
506
|
+
*/
|
|
470
507
|
list() {
|
|
471
508
|
return [...this.entries.entries()].map(([id, entry]) => ({
|
|
472
509
|
id,
|
|
@@ -893,11 +930,9 @@ var init_errors = __esm({
|
|
|
893
930
|
FAILURE_SIGNAL_NAME_SET = new Set(FAILURE_SIGNAL_NAMES);
|
|
894
931
|
FAILURE_SPAWN_CODE_SET = new Set(FAILURE_SPAWN_CODES);
|
|
895
932
|
ServiceNotFoundError = class extends Error {
|
|
896
|
-
serviceId;
|
|
897
933
|
constructor(serviceId) {
|
|
898
934
|
super(`Service "${serviceId}" not found`);
|
|
899
935
|
this.name = "ServiceNotFoundError";
|
|
900
|
-
this.serviceId = serviceId;
|
|
901
936
|
withFailureSignal(this, {
|
|
902
937
|
error_code: FAILURE_CODES.REGISTRY_SERVICE_NOT_FOUND,
|
|
903
938
|
failure_stage: "registry_resolve_service",
|
|
@@ -907,11 +942,9 @@ var init_errors = __esm({
|
|
|
907
942
|
}
|
|
908
943
|
};
|
|
909
944
|
ServiceInitializationError = class extends Error {
|
|
910
|
-
serviceId;
|
|
911
945
|
constructor(serviceId, message, options) {
|
|
912
946
|
super(`[${serviceId}] ${message}`, options);
|
|
913
947
|
this.name = "ServiceInitializationError";
|
|
914
|
-
this.serviceId = serviceId;
|
|
915
948
|
withFailureSignal(
|
|
916
949
|
this,
|
|
917
950
|
getFailureSignalOrFallback(options?.cause, {
|
|
@@ -924,6 +957,13 @@ var init_errors = __esm({
|
|
|
924
957
|
}
|
|
925
958
|
};
|
|
926
959
|
ToolNotFoundError = class extends Error {
|
|
960
|
+
/**
|
|
961
|
+
* @public
|
|
962
|
+
* Knip's `classMembers` pass is workspace-local, so it cannot see the caller:
|
|
963
|
+
* `flow-add-step` keys `isToolNotFound` on this alongside the error identity,
|
|
964
|
+
* so a tool that ran and reported its own "not found" is not read as the
|
|
965
|
+
* command being absent.
|
|
966
|
+
*/
|
|
927
967
|
toolId;
|
|
928
968
|
constructor(toolId) {
|
|
929
969
|
super(`Tool "${toolId}" not found`);
|
|
@@ -938,11 +978,9 @@ var init_errors = __esm({
|
|
|
938
978
|
}
|
|
939
979
|
};
|
|
940
980
|
ToolExecutionError = class extends Error {
|
|
941
|
-
toolId;
|
|
942
981
|
constructor(toolId, message, options) {
|
|
943
982
|
super(`[Tool:${toolId}] ${message}`, options);
|
|
944
983
|
this.name = "ToolExecutionError";
|
|
945
|
-
this.toolId = toolId;
|
|
946
984
|
withFailureSignal(
|
|
947
985
|
this,
|
|
948
986
|
getFailureSignalOrFallback(options?.cause, {
|
|
@@ -80506,1909 +80544,6 @@ var require_bunyan = __commonJS({
|
|
|
80506
80544
|
}
|
|
80507
80545
|
});
|
|
80508
80546
|
|
|
80509
|
-
// ../../node_modules/source-map-js/lib/base64.js
|
|
80510
|
-
var require_base64 = __commonJS({
|
|
80511
|
-
"../../node_modules/source-map-js/lib/base64.js"(exports2) {
|
|
80512
|
-
var intToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
|
|
80513
|
-
exports2.encode = function(number4) {
|
|
80514
|
-
if (0 <= number4 && number4 < intToCharMap.length) {
|
|
80515
|
-
return intToCharMap[number4];
|
|
80516
|
-
}
|
|
80517
|
-
throw new TypeError("Must be between 0 and 63: " + number4);
|
|
80518
|
-
};
|
|
80519
|
-
exports2.decode = function(charCode) {
|
|
80520
|
-
var bigA = 65;
|
|
80521
|
-
var bigZ = 90;
|
|
80522
|
-
var littleA = 97;
|
|
80523
|
-
var littleZ = 122;
|
|
80524
|
-
var zero = 48;
|
|
80525
|
-
var nine = 57;
|
|
80526
|
-
var plus = 43;
|
|
80527
|
-
var slash = 47;
|
|
80528
|
-
var littleOffset = 26;
|
|
80529
|
-
var numberOffset = 52;
|
|
80530
|
-
if (bigA <= charCode && charCode <= bigZ) {
|
|
80531
|
-
return charCode - bigA;
|
|
80532
|
-
}
|
|
80533
|
-
if (littleA <= charCode && charCode <= littleZ) {
|
|
80534
|
-
return charCode - littleA + littleOffset;
|
|
80535
|
-
}
|
|
80536
|
-
if (zero <= charCode && charCode <= nine) {
|
|
80537
|
-
return charCode - zero + numberOffset;
|
|
80538
|
-
}
|
|
80539
|
-
if (charCode == plus) {
|
|
80540
|
-
return 62;
|
|
80541
|
-
}
|
|
80542
|
-
if (charCode == slash) {
|
|
80543
|
-
return 63;
|
|
80544
|
-
}
|
|
80545
|
-
return -1;
|
|
80546
|
-
};
|
|
80547
|
-
}
|
|
80548
|
-
});
|
|
80549
|
-
|
|
80550
|
-
// ../../node_modules/source-map-js/lib/base64-vlq.js
|
|
80551
|
-
var require_base64_vlq = __commonJS({
|
|
80552
|
-
"../../node_modules/source-map-js/lib/base64-vlq.js"(exports2) {
|
|
80553
|
-
var base643 = require_base64();
|
|
80554
|
-
var VLQ_BASE_SHIFT = 5;
|
|
80555
|
-
var VLQ_BASE = 1 << VLQ_BASE_SHIFT;
|
|
80556
|
-
var VLQ_BASE_MASK = VLQ_BASE - 1;
|
|
80557
|
-
var VLQ_CONTINUATION_BIT = VLQ_BASE;
|
|
80558
|
-
function toVLQSigned(aValue) {
|
|
80559
|
-
return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0;
|
|
80560
|
-
}
|
|
80561
|
-
function fromVLQSigned(aValue) {
|
|
80562
|
-
var isNegative = (aValue & 1) === 1;
|
|
80563
|
-
var shifted = aValue >> 1;
|
|
80564
|
-
return isNegative ? -shifted : shifted;
|
|
80565
|
-
}
|
|
80566
|
-
exports2.encode = function base64VLQ_encode(aValue) {
|
|
80567
|
-
var encoded = "";
|
|
80568
|
-
var digit;
|
|
80569
|
-
var vlq = toVLQSigned(aValue);
|
|
80570
|
-
do {
|
|
80571
|
-
digit = vlq & VLQ_BASE_MASK;
|
|
80572
|
-
vlq >>>= VLQ_BASE_SHIFT;
|
|
80573
|
-
if (vlq > 0) {
|
|
80574
|
-
digit |= VLQ_CONTINUATION_BIT;
|
|
80575
|
-
}
|
|
80576
|
-
encoded += base643.encode(digit);
|
|
80577
|
-
} while (vlq > 0);
|
|
80578
|
-
return encoded;
|
|
80579
|
-
};
|
|
80580
|
-
exports2.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
|
|
80581
|
-
var strLen = aStr.length;
|
|
80582
|
-
var result = 0;
|
|
80583
|
-
var shift = 0;
|
|
80584
|
-
var continuation, digit;
|
|
80585
|
-
do {
|
|
80586
|
-
if (aIndex >= strLen) {
|
|
80587
|
-
throw new Error("Expected more digits in base 64 VLQ value.");
|
|
80588
|
-
}
|
|
80589
|
-
digit = base643.decode(aStr.charCodeAt(aIndex++));
|
|
80590
|
-
if (digit === -1) {
|
|
80591
|
-
throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
|
|
80592
|
-
}
|
|
80593
|
-
continuation = !!(digit & VLQ_CONTINUATION_BIT);
|
|
80594
|
-
digit &= VLQ_BASE_MASK;
|
|
80595
|
-
result = result + (digit << shift);
|
|
80596
|
-
shift += VLQ_BASE_SHIFT;
|
|
80597
|
-
} while (continuation);
|
|
80598
|
-
aOutParam.value = fromVLQSigned(result);
|
|
80599
|
-
aOutParam.rest = aIndex;
|
|
80600
|
-
};
|
|
80601
|
-
}
|
|
80602
|
-
});
|
|
80603
|
-
|
|
80604
|
-
// ../../node_modules/source-map-js/lib/util.js
|
|
80605
|
-
var require_util = __commonJS({
|
|
80606
|
-
"../../node_modules/source-map-js/lib/util.js"(exports2) {
|
|
80607
|
-
function getArg(aArgs, aName, aDefaultValue) {
|
|
80608
|
-
if (aName in aArgs) {
|
|
80609
|
-
return aArgs[aName];
|
|
80610
|
-
} else if (arguments.length === 3) {
|
|
80611
|
-
return aDefaultValue;
|
|
80612
|
-
} else {
|
|
80613
|
-
throw new Error('"' + aName + '" is a required argument.');
|
|
80614
|
-
}
|
|
80615
|
-
}
|
|
80616
|
-
exports2.getArg = getArg;
|
|
80617
|
-
var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;
|
|
80618
|
-
var dataUrlRegexp = /^data:.+\,.+$/;
|
|
80619
|
-
function urlParse(aUrl) {
|
|
80620
|
-
var match = aUrl.match(urlRegexp);
|
|
80621
|
-
if (!match) {
|
|
80622
|
-
return null;
|
|
80623
|
-
}
|
|
80624
|
-
return {
|
|
80625
|
-
scheme: match[1],
|
|
80626
|
-
auth: match[2],
|
|
80627
|
-
host: match[3],
|
|
80628
|
-
port: match[4],
|
|
80629
|
-
path: match[5]
|
|
80630
|
-
};
|
|
80631
|
-
}
|
|
80632
|
-
exports2.urlParse = urlParse;
|
|
80633
|
-
function urlGenerate(aParsedUrl) {
|
|
80634
|
-
var url2 = "";
|
|
80635
|
-
if (aParsedUrl.scheme) {
|
|
80636
|
-
url2 += aParsedUrl.scheme + ":";
|
|
80637
|
-
}
|
|
80638
|
-
url2 += "//";
|
|
80639
|
-
if (aParsedUrl.auth) {
|
|
80640
|
-
url2 += aParsedUrl.auth + "@";
|
|
80641
|
-
}
|
|
80642
|
-
if (aParsedUrl.host) {
|
|
80643
|
-
url2 += aParsedUrl.host;
|
|
80644
|
-
}
|
|
80645
|
-
if (aParsedUrl.port) {
|
|
80646
|
-
url2 += ":" + aParsedUrl.port;
|
|
80647
|
-
}
|
|
80648
|
-
if (aParsedUrl.path) {
|
|
80649
|
-
url2 += aParsedUrl.path;
|
|
80650
|
-
}
|
|
80651
|
-
return url2;
|
|
80652
|
-
}
|
|
80653
|
-
exports2.urlGenerate = urlGenerate;
|
|
80654
|
-
var MAX_CACHED_INPUTS = 32;
|
|
80655
|
-
function lruMemoize(f) {
|
|
80656
|
-
var cache4 = [];
|
|
80657
|
-
return function(input) {
|
|
80658
|
-
for (var i = 0; i < cache4.length; i++) {
|
|
80659
|
-
if (cache4[i].input === input) {
|
|
80660
|
-
var temp = cache4[0];
|
|
80661
|
-
cache4[0] = cache4[i];
|
|
80662
|
-
cache4[i] = temp;
|
|
80663
|
-
return cache4[0].result;
|
|
80664
|
-
}
|
|
80665
|
-
}
|
|
80666
|
-
var result = f(input);
|
|
80667
|
-
cache4.unshift({
|
|
80668
|
-
input,
|
|
80669
|
-
result
|
|
80670
|
-
});
|
|
80671
|
-
if (cache4.length > MAX_CACHED_INPUTS) {
|
|
80672
|
-
cache4.pop();
|
|
80673
|
-
}
|
|
80674
|
-
return result;
|
|
80675
|
-
};
|
|
80676
|
-
}
|
|
80677
|
-
var normalize = lruMemoize(function normalize2(aPath) {
|
|
80678
|
-
var path41 = aPath;
|
|
80679
|
-
var url2 = urlParse(aPath);
|
|
80680
|
-
if (url2) {
|
|
80681
|
-
if (!url2.path) {
|
|
80682
|
-
return aPath;
|
|
80683
|
-
}
|
|
80684
|
-
path41 = url2.path;
|
|
80685
|
-
}
|
|
80686
|
-
var isAbsolute6 = exports2.isAbsolute(path41);
|
|
80687
|
-
var parts2 = [];
|
|
80688
|
-
var start2 = 0;
|
|
80689
|
-
var i = 0;
|
|
80690
|
-
while (true) {
|
|
80691
|
-
start2 = i;
|
|
80692
|
-
i = path41.indexOf("/", start2);
|
|
80693
|
-
if (i === -1) {
|
|
80694
|
-
parts2.push(path41.slice(start2));
|
|
80695
|
-
break;
|
|
80696
|
-
} else {
|
|
80697
|
-
parts2.push(path41.slice(start2, i));
|
|
80698
|
-
while (i < path41.length && path41[i] === "/") {
|
|
80699
|
-
i++;
|
|
80700
|
-
}
|
|
80701
|
-
}
|
|
80702
|
-
}
|
|
80703
|
-
for (var part, up = 0, i = parts2.length - 1; i >= 0; i--) {
|
|
80704
|
-
part = parts2[i];
|
|
80705
|
-
if (part === ".") {
|
|
80706
|
-
parts2.splice(i, 1);
|
|
80707
|
-
} else if (part === "..") {
|
|
80708
|
-
up++;
|
|
80709
|
-
} else if (up > 0) {
|
|
80710
|
-
if (part === "") {
|
|
80711
|
-
parts2.splice(i + 1, up);
|
|
80712
|
-
up = 0;
|
|
80713
|
-
} else {
|
|
80714
|
-
parts2.splice(i, 2);
|
|
80715
|
-
up--;
|
|
80716
|
-
}
|
|
80717
|
-
}
|
|
80718
|
-
}
|
|
80719
|
-
path41 = parts2.join("/");
|
|
80720
|
-
if (path41 === "") {
|
|
80721
|
-
path41 = isAbsolute6 ? "/" : ".";
|
|
80722
|
-
}
|
|
80723
|
-
if (url2) {
|
|
80724
|
-
url2.path = path41;
|
|
80725
|
-
return urlGenerate(url2);
|
|
80726
|
-
}
|
|
80727
|
-
return path41;
|
|
80728
|
-
});
|
|
80729
|
-
exports2.normalize = normalize;
|
|
80730
|
-
function join47(aRoot, aPath) {
|
|
80731
|
-
if (aRoot === "") {
|
|
80732
|
-
aRoot = ".";
|
|
80733
|
-
}
|
|
80734
|
-
if (aPath === "") {
|
|
80735
|
-
aPath = ".";
|
|
80736
|
-
}
|
|
80737
|
-
var aPathUrl = urlParse(aPath);
|
|
80738
|
-
var aRootUrl = urlParse(aRoot);
|
|
80739
|
-
if (aRootUrl) {
|
|
80740
|
-
aRoot = aRootUrl.path || "/";
|
|
80741
|
-
}
|
|
80742
|
-
if (aPathUrl && !aPathUrl.scheme) {
|
|
80743
|
-
if (aRootUrl) {
|
|
80744
|
-
aPathUrl.scheme = aRootUrl.scheme;
|
|
80745
|
-
}
|
|
80746
|
-
return urlGenerate(aPathUrl);
|
|
80747
|
-
}
|
|
80748
|
-
if (aPathUrl || aPath.match(dataUrlRegexp)) {
|
|
80749
|
-
return aPath;
|
|
80750
|
-
}
|
|
80751
|
-
if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
|
|
80752
|
-
aRootUrl.host = aPath;
|
|
80753
|
-
return urlGenerate(aRootUrl);
|
|
80754
|
-
}
|
|
80755
|
-
var joined = aPath.charAt(0) === "/" ? aPath : normalize(aRoot.replace(/\/+$/, "") + "/" + aPath);
|
|
80756
|
-
if (aRootUrl) {
|
|
80757
|
-
aRootUrl.path = joined;
|
|
80758
|
-
return urlGenerate(aRootUrl);
|
|
80759
|
-
}
|
|
80760
|
-
return joined;
|
|
80761
|
-
}
|
|
80762
|
-
exports2.join = join47;
|
|
80763
|
-
exports2.isAbsolute = function(aPath) {
|
|
80764
|
-
return aPath.charAt(0) === "/" || urlRegexp.test(aPath);
|
|
80765
|
-
};
|
|
80766
|
-
function relative3(aRoot, aPath) {
|
|
80767
|
-
if (aRoot === "") {
|
|
80768
|
-
aRoot = ".";
|
|
80769
|
-
}
|
|
80770
|
-
aRoot = aRoot.replace(/\/$/, "");
|
|
80771
|
-
var level = 0;
|
|
80772
|
-
while (aPath.indexOf(aRoot + "/") !== 0) {
|
|
80773
|
-
var index = aRoot.lastIndexOf("/");
|
|
80774
|
-
if (index < 0) {
|
|
80775
|
-
return aPath;
|
|
80776
|
-
}
|
|
80777
|
-
aRoot = aRoot.slice(0, index);
|
|
80778
|
-
if (aRoot.match(/^([^\/]+:\/)?\/*$/)) {
|
|
80779
|
-
return aPath;
|
|
80780
|
-
}
|
|
80781
|
-
++level;
|
|
80782
|
-
}
|
|
80783
|
-
return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1);
|
|
80784
|
-
}
|
|
80785
|
-
exports2.relative = relative3;
|
|
80786
|
-
var supportsNullProto = (function() {
|
|
80787
|
-
var obj = /* @__PURE__ */ Object.create(null);
|
|
80788
|
-
return !("__proto__" in obj);
|
|
80789
|
-
})();
|
|
80790
|
-
function identity2(s) {
|
|
80791
|
-
return s;
|
|
80792
|
-
}
|
|
80793
|
-
function toSetString(aStr) {
|
|
80794
|
-
if (isProtoString(aStr)) {
|
|
80795
|
-
return "$" + aStr;
|
|
80796
|
-
}
|
|
80797
|
-
return aStr;
|
|
80798
|
-
}
|
|
80799
|
-
exports2.toSetString = supportsNullProto ? identity2 : toSetString;
|
|
80800
|
-
function fromSetString(aStr) {
|
|
80801
|
-
if (isProtoString(aStr)) {
|
|
80802
|
-
return aStr.slice(1);
|
|
80803
|
-
}
|
|
80804
|
-
return aStr;
|
|
80805
|
-
}
|
|
80806
|
-
exports2.fromSetString = supportsNullProto ? identity2 : fromSetString;
|
|
80807
|
-
function isProtoString(s) {
|
|
80808
|
-
if (!s) {
|
|
80809
|
-
return false;
|
|
80810
|
-
}
|
|
80811
|
-
var length = s.length;
|
|
80812
|
-
if (length < 9) {
|
|
80813
|
-
return false;
|
|
80814
|
-
}
|
|
80815
|
-
if (s.charCodeAt(length - 1) !== 95 || s.charCodeAt(length - 2) !== 95 || s.charCodeAt(length - 3) !== 111 || s.charCodeAt(length - 4) !== 116 || s.charCodeAt(length - 5) !== 111 || s.charCodeAt(length - 6) !== 114 || s.charCodeAt(length - 7) !== 112 || s.charCodeAt(length - 8) !== 95 || s.charCodeAt(length - 9) !== 95) {
|
|
80816
|
-
return false;
|
|
80817
|
-
}
|
|
80818
|
-
for (var i = length - 10; i >= 0; i--) {
|
|
80819
|
-
if (s.charCodeAt(i) !== 36) {
|
|
80820
|
-
return false;
|
|
80821
|
-
}
|
|
80822
|
-
}
|
|
80823
|
-
return true;
|
|
80824
|
-
}
|
|
80825
|
-
function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {
|
|
80826
|
-
var cmp = strcmp(mappingA.source, mappingB.source);
|
|
80827
|
-
if (cmp !== 0) {
|
|
80828
|
-
return cmp;
|
|
80829
|
-
}
|
|
80830
|
-
cmp = mappingA.originalLine - mappingB.originalLine;
|
|
80831
|
-
if (cmp !== 0) {
|
|
80832
|
-
return cmp;
|
|
80833
|
-
}
|
|
80834
|
-
cmp = mappingA.originalColumn - mappingB.originalColumn;
|
|
80835
|
-
if (cmp !== 0 || onlyCompareOriginal) {
|
|
80836
|
-
return cmp;
|
|
80837
|
-
}
|
|
80838
|
-
cmp = mappingA.generatedColumn - mappingB.generatedColumn;
|
|
80839
|
-
if (cmp !== 0) {
|
|
80840
|
-
return cmp;
|
|
80841
|
-
}
|
|
80842
|
-
cmp = mappingA.generatedLine - mappingB.generatedLine;
|
|
80843
|
-
if (cmp !== 0) {
|
|
80844
|
-
return cmp;
|
|
80845
|
-
}
|
|
80846
|
-
return strcmp(mappingA.name, mappingB.name);
|
|
80847
|
-
}
|
|
80848
|
-
exports2.compareByOriginalPositions = compareByOriginalPositions;
|
|
80849
|
-
function compareByOriginalPositionsNoSource(mappingA, mappingB, onlyCompareOriginal) {
|
|
80850
|
-
var cmp;
|
|
80851
|
-
cmp = mappingA.originalLine - mappingB.originalLine;
|
|
80852
|
-
if (cmp !== 0) {
|
|
80853
|
-
return cmp;
|
|
80854
|
-
}
|
|
80855
|
-
cmp = mappingA.originalColumn - mappingB.originalColumn;
|
|
80856
|
-
if (cmp !== 0 || onlyCompareOriginal) {
|
|
80857
|
-
return cmp;
|
|
80858
|
-
}
|
|
80859
|
-
cmp = mappingA.generatedColumn - mappingB.generatedColumn;
|
|
80860
|
-
if (cmp !== 0) {
|
|
80861
|
-
return cmp;
|
|
80862
|
-
}
|
|
80863
|
-
cmp = mappingA.generatedLine - mappingB.generatedLine;
|
|
80864
|
-
if (cmp !== 0) {
|
|
80865
|
-
return cmp;
|
|
80866
|
-
}
|
|
80867
|
-
return strcmp(mappingA.name, mappingB.name);
|
|
80868
|
-
}
|
|
80869
|
-
exports2.compareByOriginalPositionsNoSource = compareByOriginalPositionsNoSource;
|
|
80870
|
-
function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {
|
|
80871
|
-
var cmp = mappingA.generatedLine - mappingB.generatedLine;
|
|
80872
|
-
if (cmp !== 0) {
|
|
80873
|
-
return cmp;
|
|
80874
|
-
}
|
|
80875
|
-
cmp = mappingA.generatedColumn - mappingB.generatedColumn;
|
|
80876
|
-
if (cmp !== 0 || onlyCompareGenerated) {
|
|
80877
|
-
return cmp;
|
|
80878
|
-
}
|
|
80879
|
-
cmp = strcmp(mappingA.source, mappingB.source);
|
|
80880
|
-
if (cmp !== 0) {
|
|
80881
|
-
return cmp;
|
|
80882
|
-
}
|
|
80883
|
-
cmp = mappingA.originalLine - mappingB.originalLine;
|
|
80884
|
-
if (cmp !== 0) {
|
|
80885
|
-
return cmp;
|
|
80886
|
-
}
|
|
80887
|
-
cmp = mappingA.originalColumn - mappingB.originalColumn;
|
|
80888
|
-
if (cmp !== 0) {
|
|
80889
|
-
return cmp;
|
|
80890
|
-
}
|
|
80891
|
-
return strcmp(mappingA.name, mappingB.name);
|
|
80892
|
-
}
|
|
80893
|
-
exports2.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;
|
|
80894
|
-
function compareByGeneratedPositionsDeflatedNoLine(mappingA, mappingB, onlyCompareGenerated) {
|
|
80895
|
-
var cmp = mappingA.generatedColumn - mappingB.generatedColumn;
|
|
80896
|
-
if (cmp !== 0 || onlyCompareGenerated) {
|
|
80897
|
-
return cmp;
|
|
80898
|
-
}
|
|
80899
|
-
cmp = strcmp(mappingA.source, mappingB.source);
|
|
80900
|
-
if (cmp !== 0) {
|
|
80901
|
-
return cmp;
|
|
80902
|
-
}
|
|
80903
|
-
cmp = mappingA.originalLine - mappingB.originalLine;
|
|
80904
|
-
if (cmp !== 0) {
|
|
80905
|
-
return cmp;
|
|
80906
|
-
}
|
|
80907
|
-
cmp = mappingA.originalColumn - mappingB.originalColumn;
|
|
80908
|
-
if (cmp !== 0) {
|
|
80909
|
-
return cmp;
|
|
80910
|
-
}
|
|
80911
|
-
return strcmp(mappingA.name, mappingB.name);
|
|
80912
|
-
}
|
|
80913
|
-
exports2.compareByGeneratedPositionsDeflatedNoLine = compareByGeneratedPositionsDeflatedNoLine;
|
|
80914
|
-
function strcmp(aStr1, aStr2) {
|
|
80915
|
-
if (aStr1 === aStr2) {
|
|
80916
|
-
return 0;
|
|
80917
|
-
}
|
|
80918
|
-
if (aStr1 === null) {
|
|
80919
|
-
return 1;
|
|
80920
|
-
}
|
|
80921
|
-
if (aStr2 === null) {
|
|
80922
|
-
return -1;
|
|
80923
|
-
}
|
|
80924
|
-
if (aStr1 > aStr2) {
|
|
80925
|
-
return 1;
|
|
80926
|
-
}
|
|
80927
|
-
return -1;
|
|
80928
|
-
}
|
|
80929
|
-
function compareByGeneratedPositionsInflated(mappingA, mappingB) {
|
|
80930
|
-
var cmp = mappingA.generatedLine - mappingB.generatedLine;
|
|
80931
|
-
if (cmp !== 0) {
|
|
80932
|
-
return cmp;
|
|
80933
|
-
}
|
|
80934
|
-
cmp = mappingA.generatedColumn - mappingB.generatedColumn;
|
|
80935
|
-
if (cmp !== 0) {
|
|
80936
|
-
return cmp;
|
|
80937
|
-
}
|
|
80938
|
-
cmp = strcmp(mappingA.source, mappingB.source);
|
|
80939
|
-
if (cmp !== 0) {
|
|
80940
|
-
return cmp;
|
|
80941
|
-
}
|
|
80942
|
-
cmp = mappingA.originalLine - mappingB.originalLine;
|
|
80943
|
-
if (cmp !== 0) {
|
|
80944
|
-
return cmp;
|
|
80945
|
-
}
|
|
80946
|
-
cmp = mappingA.originalColumn - mappingB.originalColumn;
|
|
80947
|
-
if (cmp !== 0) {
|
|
80948
|
-
return cmp;
|
|
80949
|
-
}
|
|
80950
|
-
return strcmp(mappingA.name, mappingB.name);
|
|
80951
|
-
}
|
|
80952
|
-
exports2.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;
|
|
80953
|
-
function parseSourceMapInput(str) {
|
|
80954
|
-
return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, ""));
|
|
80955
|
-
}
|
|
80956
|
-
exports2.parseSourceMapInput = parseSourceMapInput;
|
|
80957
|
-
function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {
|
|
80958
|
-
sourceURL = sourceURL || "";
|
|
80959
|
-
if (sourceRoot) {
|
|
80960
|
-
if (sourceRoot[sourceRoot.length - 1] !== "/" && sourceURL[0] !== "/") {
|
|
80961
|
-
sourceRoot += "/";
|
|
80962
|
-
}
|
|
80963
|
-
sourceURL = sourceRoot + sourceURL;
|
|
80964
|
-
}
|
|
80965
|
-
if (sourceMapURL) {
|
|
80966
|
-
var parsed = urlParse(sourceMapURL);
|
|
80967
|
-
if (!parsed) {
|
|
80968
|
-
throw new Error("sourceMapURL could not be parsed");
|
|
80969
|
-
}
|
|
80970
|
-
if (parsed.path) {
|
|
80971
|
-
var index = parsed.path.lastIndexOf("/");
|
|
80972
|
-
if (index >= 0) {
|
|
80973
|
-
parsed.path = parsed.path.substring(0, index + 1);
|
|
80974
|
-
}
|
|
80975
|
-
}
|
|
80976
|
-
sourceURL = join47(urlGenerate(parsed), sourceURL);
|
|
80977
|
-
}
|
|
80978
|
-
return normalize(sourceURL);
|
|
80979
|
-
}
|
|
80980
|
-
exports2.computeSourceURL = computeSourceURL;
|
|
80981
|
-
}
|
|
80982
|
-
});
|
|
80983
|
-
|
|
80984
|
-
// ../../node_modules/source-map-js/lib/array-set.js
|
|
80985
|
-
var require_array_set = __commonJS({
|
|
80986
|
-
"../../node_modules/source-map-js/lib/array-set.js"(exports2) {
|
|
80987
|
-
var util = require_util();
|
|
80988
|
-
var has = Object.prototype.hasOwnProperty;
|
|
80989
|
-
var hasNativeMap = typeof Map !== "undefined";
|
|
80990
|
-
function ArraySet() {
|
|
80991
|
-
this._array = [];
|
|
80992
|
-
this._set = hasNativeMap ? /* @__PURE__ */ new Map() : /* @__PURE__ */ Object.create(null);
|
|
80993
|
-
}
|
|
80994
|
-
ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
|
|
80995
|
-
var set2 = new ArraySet();
|
|
80996
|
-
for (var i = 0, len = aArray.length; i < len; i++) {
|
|
80997
|
-
set2.add(aArray[i], aAllowDuplicates);
|
|
80998
|
-
}
|
|
80999
|
-
return set2;
|
|
81000
|
-
};
|
|
81001
|
-
ArraySet.prototype.size = function ArraySet_size() {
|
|
81002
|
-
return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
|
|
81003
|
-
};
|
|
81004
|
-
ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
|
|
81005
|
-
var sStr = hasNativeMap ? aStr : util.toSetString(aStr);
|
|
81006
|
-
var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);
|
|
81007
|
-
var idx = this._array.length;
|
|
81008
|
-
if (!isDuplicate || aAllowDuplicates) {
|
|
81009
|
-
this._array.push(aStr);
|
|
81010
|
-
}
|
|
81011
|
-
if (!isDuplicate) {
|
|
81012
|
-
if (hasNativeMap) {
|
|
81013
|
-
this._set.set(aStr, idx);
|
|
81014
|
-
} else {
|
|
81015
|
-
this._set[sStr] = idx;
|
|
81016
|
-
}
|
|
81017
|
-
}
|
|
81018
|
-
};
|
|
81019
|
-
ArraySet.prototype.has = function ArraySet_has(aStr) {
|
|
81020
|
-
if (hasNativeMap) {
|
|
81021
|
-
return this._set.has(aStr);
|
|
81022
|
-
} else {
|
|
81023
|
-
var sStr = util.toSetString(aStr);
|
|
81024
|
-
return has.call(this._set, sStr);
|
|
81025
|
-
}
|
|
81026
|
-
};
|
|
81027
|
-
ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {
|
|
81028
|
-
if (hasNativeMap) {
|
|
81029
|
-
var idx = this._set.get(aStr);
|
|
81030
|
-
if (idx >= 0) {
|
|
81031
|
-
return idx;
|
|
81032
|
-
}
|
|
81033
|
-
} else {
|
|
81034
|
-
var sStr = util.toSetString(aStr);
|
|
81035
|
-
if (has.call(this._set, sStr)) {
|
|
81036
|
-
return this._set[sStr];
|
|
81037
|
-
}
|
|
81038
|
-
}
|
|
81039
|
-
throw new Error('"' + aStr + '" is not in the set.');
|
|
81040
|
-
};
|
|
81041
|
-
ArraySet.prototype.at = function ArraySet_at(aIdx) {
|
|
81042
|
-
if (aIdx >= 0 && aIdx < this._array.length) {
|
|
81043
|
-
return this._array[aIdx];
|
|
81044
|
-
}
|
|
81045
|
-
throw new Error("No element indexed by " + aIdx);
|
|
81046
|
-
};
|
|
81047
|
-
ArraySet.prototype.toArray = function ArraySet_toArray() {
|
|
81048
|
-
return this._array.slice();
|
|
81049
|
-
};
|
|
81050
|
-
exports2.ArraySet = ArraySet;
|
|
81051
|
-
}
|
|
81052
|
-
});
|
|
81053
|
-
|
|
81054
|
-
// ../../node_modules/source-map-js/lib/mapping-list.js
|
|
81055
|
-
var require_mapping_list = __commonJS({
|
|
81056
|
-
"../../node_modules/source-map-js/lib/mapping-list.js"(exports2) {
|
|
81057
|
-
var util = require_util();
|
|
81058
|
-
function generatedPositionAfter(mappingA, mappingB) {
|
|
81059
|
-
var lineA = mappingA.generatedLine;
|
|
81060
|
-
var lineB = mappingB.generatedLine;
|
|
81061
|
-
var columnA = mappingA.generatedColumn;
|
|
81062
|
-
var columnB = mappingB.generatedColumn;
|
|
81063
|
-
return lineB > lineA || lineB == lineA && columnB >= columnA || util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
|
|
81064
|
-
}
|
|
81065
|
-
function MappingList() {
|
|
81066
|
-
this._array = [];
|
|
81067
|
-
this._sorted = true;
|
|
81068
|
-
this._last = { generatedLine: -1, generatedColumn: 0 };
|
|
81069
|
-
}
|
|
81070
|
-
MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) {
|
|
81071
|
-
this._array.forEach(aCallback, aThisArg);
|
|
81072
|
-
};
|
|
81073
|
-
MappingList.prototype.add = function MappingList_add(aMapping) {
|
|
81074
|
-
if (generatedPositionAfter(this._last, aMapping)) {
|
|
81075
|
-
this._last = aMapping;
|
|
81076
|
-
this._array.push(aMapping);
|
|
81077
|
-
} else {
|
|
81078
|
-
this._sorted = false;
|
|
81079
|
-
this._array.push(aMapping);
|
|
81080
|
-
}
|
|
81081
|
-
};
|
|
81082
|
-
MappingList.prototype.toArray = function MappingList_toArray() {
|
|
81083
|
-
if (!this._sorted) {
|
|
81084
|
-
this._array.sort(util.compareByGeneratedPositionsInflated);
|
|
81085
|
-
this._sorted = true;
|
|
81086
|
-
}
|
|
81087
|
-
return this._array;
|
|
81088
|
-
};
|
|
81089
|
-
exports2.MappingList = MappingList;
|
|
81090
|
-
}
|
|
81091
|
-
});
|
|
81092
|
-
|
|
81093
|
-
// ../../node_modules/source-map-js/lib/source-map-generator.js
|
|
81094
|
-
var require_source_map_generator = __commonJS({
|
|
81095
|
-
"../../node_modules/source-map-js/lib/source-map-generator.js"(exports2) {
|
|
81096
|
-
var base64VLQ = require_base64_vlq();
|
|
81097
|
-
var util = require_util();
|
|
81098
|
-
var ArraySet = require_array_set().ArraySet;
|
|
81099
|
-
var MappingList = require_mapping_list().MappingList;
|
|
81100
|
-
function SourceMapGenerator(aArgs) {
|
|
81101
|
-
if (!aArgs) {
|
|
81102
|
-
aArgs = {};
|
|
81103
|
-
}
|
|
81104
|
-
this._file = util.getArg(aArgs, "file", null);
|
|
81105
|
-
this._sourceRoot = util.getArg(aArgs, "sourceRoot", null);
|
|
81106
|
-
this._skipValidation = util.getArg(aArgs, "skipValidation", false);
|
|
81107
|
-
this._ignoreInvalidMapping = util.getArg(aArgs, "ignoreInvalidMapping", false);
|
|
81108
|
-
this._sources = new ArraySet();
|
|
81109
|
-
this._names = new ArraySet();
|
|
81110
|
-
this._mappings = new MappingList();
|
|
81111
|
-
this._sourcesContents = null;
|
|
81112
|
-
}
|
|
81113
|
-
SourceMapGenerator.prototype._version = 3;
|
|
81114
|
-
SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer, generatorOps) {
|
|
81115
|
-
var sourceRoot = aSourceMapConsumer.sourceRoot;
|
|
81116
|
-
var generator = new SourceMapGenerator(Object.assign(generatorOps || {}, {
|
|
81117
|
-
file: aSourceMapConsumer.file,
|
|
81118
|
-
sourceRoot
|
|
81119
|
-
}));
|
|
81120
|
-
aSourceMapConsumer.eachMapping(function(mapping) {
|
|
81121
|
-
var newMapping = {
|
|
81122
|
-
generated: {
|
|
81123
|
-
line: mapping.generatedLine,
|
|
81124
|
-
column: mapping.generatedColumn
|
|
81125
|
-
}
|
|
81126
|
-
};
|
|
81127
|
-
if (mapping.source != null) {
|
|
81128
|
-
newMapping.source = mapping.source;
|
|
81129
|
-
if (sourceRoot != null) {
|
|
81130
|
-
newMapping.source = util.relative(sourceRoot, newMapping.source);
|
|
81131
|
-
}
|
|
81132
|
-
newMapping.original = {
|
|
81133
|
-
line: mapping.originalLine,
|
|
81134
|
-
column: mapping.originalColumn
|
|
81135
|
-
};
|
|
81136
|
-
if (mapping.name != null) {
|
|
81137
|
-
newMapping.name = mapping.name;
|
|
81138
|
-
}
|
|
81139
|
-
}
|
|
81140
|
-
generator.addMapping(newMapping);
|
|
81141
|
-
});
|
|
81142
|
-
aSourceMapConsumer.sources.forEach(function(sourceFile) {
|
|
81143
|
-
var sourceRelative = sourceFile;
|
|
81144
|
-
if (sourceRoot !== null) {
|
|
81145
|
-
sourceRelative = util.relative(sourceRoot, sourceFile);
|
|
81146
|
-
}
|
|
81147
|
-
if (!generator._sources.has(sourceRelative)) {
|
|
81148
|
-
generator._sources.add(sourceRelative);
|
|
81149
|
-
}
|
|
81150
|
-
var content = aSourceMapConsumer.sourceContentFor(sourceFile);
|
|
81151
|
-
if (content != null) {
|
|
81152
|
-
generator.setSourceContent(sourceFile, content);
|
|
81153
|
-
}
|
|
81154
|
-
});
|
|
81155
|
-
return generator;
|
|
81156
|
-
};
|
|
81157
|
-
SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) {
|
|
81158
|
-
var generated = util.getArg(aArgs, "generated");
|
|
81159
|
-
var original = util.getArg(aArgs, "original", null);
|
|
81160
|
-
var source = util.getArg(aArgs, "source", null);
|
|
81161
|
-
var name = util.getArg(aArgs, "name", null);
|
|
81162
|
-
if (!this._skipValidation) {
|
|
81163
|
-
if (this._validateMapping(generated, original, source, name) === false) {
|
|
81164
|
-
return;
|
|
81165
|
-
}
|
|
81166
|
-
}
|
|
81167
|
-
if (source != null) {
|
|
81168
|
-
source = String(source);
|
|
81169
|
-
if (!this._sources.has(source)) {
|
|
81170
|
-
this._sources.add(source);
|
|
81171
|
-
}
|
|
81172
|
-
}
|
|
81173
|
-
if (name != null) {
|
|
81174
|
-
name = String(name);
|
|
81175
|
-
if (!this._names.has(name)) {
|
|
81176
|
-
this._names.add(name);
|
|
81177
|
-
}
|
|
81178
|
-
}
|
|
81179
|
-
this._mappings.add({
|
|
81180
|
-
generatedLine: generated.line,
|
|
81181
|
-
generatedColumn: generated.column,
|
|
81182
|
-
originalLine: original != null && original.line,
|
|
81183
|
-
originalColumn: original != null && original.column,
|
|
81184
|
-
source,
|
|
81185
|
-
name
|
|
81186
|
-
});
|
|
81187
|
-
};
|
|
81188
|
-
SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
|
|
81189
|
-
var source = aSourceFile;
|
|
81190
|
-
if (this._sourceRoot != null) {
|
|
81191
|
-
source = util.relative(this._sourceRoot, source);
|
|
81192
|
-
}
|
|
81193
|
-
if (aSourceContent != null) {
|
|
81194
|
-
if (!this._sourcesContents) {
|
|
81195
|
-
this._sourcesContents = /* @__PURE__ */ Object.create(null);
|
|
81196
|
-
}
|
|
81197
|
-
this._sourcesContents[util.toSetString(source)] = aSourceContent;
|
|
81198
|
-
} else if (this._sourcesContents) {
|
|
81199
|
-
delete this._sourcesContents[util.toSetString(source)];
|
|
81200
|
-
if (Object.keys(this._sourcesContents).length === 0) {
|
|
81201
|
-
this._sourcesContents = null;
|
|
81202
|
-
}
|
|
81203
|
-
}
|
|
81204
|
-
};
|
|
81205
|
-
SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
|
|
81206
|
-
var sourceFile = aSourceFile;
|
|
81207
|
-
if (aSourceFile == null) {
|
|
81208
|
-
if (aSourceMapConsumer.file == null) {
|
|
81209
|
-
throw new Error(
|
|
81210
|
-
`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`
|
|
81211
|
-
);
|
|
81212
|
-
}
|
|
81213
|
-
sourceFile = aSourceMapConsumer.file;
|
|
81214
|
-
}
|
|
81215
|
-
var sourceRoot = this._sourceRoot;
|
|
81216
|
-
if (sourceRoot != null) {
|
|
81217
|
-
sourceFile = util.relative(sourceRoot, sourceFile);
|
|
81218
|
-
}
|
|
81219
|
-
var newSources = new ArraySet();
|
|
81220
|
-
var newNames = new ArraySet();
|
|
81221
|
-
this._mappings.unsortedForEach(function(mapping) {
|
|
81222
|
-
if (mapping.source === sourceFile && mapping.originalLine != null) {
|
|
81223
|
-
var original = aSourceMapConsumer.originalPositionFor({
|
|
81224
|
-
line: mapping.originalLine,
|
|
81225
|
-
column: mapping.originalColumn
|
|
81226
|
-
});
|
|
81227
|
-
if (original.source != null) {
|
|
81228
|
-
mapping.source = original.source;
|
|
81229
|
-
if (aSourceMapPath != null) {
|
|
81230
|
-
mapping.source = util.join(aSourceMapPath, mapping.source);
|
|
81231
|
-
}
|
|
81232
|
-
if (sourceRoot != null) {
|
|
81233
|
-
mapping.source = util.relative(sourceRoot, mapping.source);
|
|
81234
|
-
}
|
|
81235
|
-
mapping.originalLine = original.line;
|
|
81236
|
-
mapping.originalColumn = original.column;
|
|
81237
|
-
if (original.name != null) {
|
|
81238
|
-
mapping.name = original.name;
|
|
81239
|
-
}
|
|
81240
|
-
}
|
|
81241
|
-
}
|
|
81242
|
-
var source = mapping.source;
|
|
81243
|
-
if (source != null && !newSources.has(source)) {
|
|
81244
|
-
newSources.add(source);
|
|
81245
|
-
}
|
|
81246
|
-
var name = mapping.name;
|
|
81247
|
-
if (name != null && !newNames.has(name)) {
|
|
81248
|
-
newNames.add(name);
|
|
81249
|
-
}
|
|
81250
|
-
}, this);
|
|
81251
|
-
this._sources = newSources;
|
|
81252
|
-
this._names = newNames;
|
|
81253
|
-
aSourceMapConsumer.sources.forEach(function(sourceFile2) {
|
|
81254
|
-
var content = aSourceMapConsumer.sourceContentFor(sourceFile2);
|
|
81255
|
-
if (content != null) {
|
|
81256
|
-
if (aSourceMapPath != null) {
|
|
81257
|
-
sourceFile2 = util.join(aSourceMapPath, sourceFile2);
|
|
81258
|
-
}
|
|
81259
|
-
if (sourceRoot != null) {
|
|
81260
|
-
sourceFile2 = util.relative(sourceRoot, sourceFile2);
|
|
81261
|
-
}
|
|
81262
|
-
this.setSourceContent(sourceFile2, content);
|
|
81263
|
-
}
|
|
81264
|
-
}, this);
|
|
81265
|
-
};
|
|
81266
|
-
SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) {
|
|
81267
|
-
if (aOriginal && typeof aOriginal.line !== "number" && typeof aOriginal.column !== "number") {
|
|
81268
|
-
var message = "original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.";
|
|
81269
|
-
if (this._ignoreInvalidMapping) {
|
|
81270
|
-
if (typeof console !== "undefined" && console.warn) {
|
|
81271
|
-
console.warn(message);
|
|
81272
|
-
}
|
|
81273
|
-
return false;
|
|
81274
|
-
} else {
|
|
81275
|
-
throw new Error(message);
|
|
81276
|
-
}
|
|
81277
|
-
}
|
|
81278
|
-
if (aGenerated && "line" in aGenerated && "column" in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) {
|
|
81279
|
-
return;
|
|
81280
|
-
} else if (aGenerated && "line" in aGenerated && "column" in aGenerated && aOriginal && "line" in aOriginal && "column" in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) {
|
|
81281
|
-
return;
|
|
81282
|
-
} else {
|
|
81283
|
-
var message = "Invalid mapping: " + JSON.stringify({
|
|
81284
|
-
generated: aGenerated,
|
|
81285
|
-
source: aSource,
|
|
81286
|
-
original: aOriginal,
|
|
81287
|
-
name: aName
|
|
81288
|
-
});
|
|
81289
|
-
if (this._ignoreInvalidMapping) {
|
|
81290
|
-
if (typeof console !== "undefined" && console.warn) {
|
|
81291
|
-
console.warn(message);
|
|
81292
|
-
}
|
|
81293
|
-
return false;
|
|
81294
|
-
} else {
|
|
81295
|
-
throw new Error(message);
|
|
81296
|
-
}
|
|
81297
|
-
}
|
|
81298
|
-
};
|
|
81299
|
-
SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() {
|
|
81300
|
-
var previousGeneratedColumn = 0;
|
|
81301
|
-
var previousGeneratedLine = 1;
|
|
81302
|
-
var previousOriginalColumn = 0;
|
|
81303
|
-
var previousOriginalLine = 0;
|
|
81304
|
-
var previousName = 0;
|
|
81305
|
-
var previousSource = 0;
|
|
81306
|
-
var result = "";
|
|
81307
|
-
var next;
|
|
81308
|
-
var mapping;
|
|
81309
|
-
var nameIdx;
|
|
81310
|
-
var sourceIdx;
|
|
81311
|
-
var mappings = this._mappings.toArray();
|
|
81312
|
-
for (var i = 0, len = mappings.length; i < len; i++) {
|
|
81313
|
-
mapping = mappings[i];
|
|
81314
|
-
next = "";
|
|
81315
|
-
if (mapping.generatedLine !== previousGeneratedLine) {
|
|
81316
|
-
previousGeneratedColumn = 0;
|
|
81317
|
-
while (mapping.generatedLine !== previousGeneratedLine) {
|
|
81318
|
-
next += ";";
|
|
81319
|
-
previousGeneratedLine++;
|
|
81320
|
-
}
|
|
81321
|
-
} else {
|
|
81322
|
-
if (i > 0) {
|
|
81323
|
-
if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
|
|
81324
|
-
continue;
|
|
81325
|
-
}
|
|
81326
|
-
next += ",";
|
|
81327
|
-
}
|
|
81328
|
-
}
|
|
81329
|
-
next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn);
|
|
81330
|
-
previousGeneratedColumn = mapping.generatedColumn;
|
|
81331
|
-
if (mapping.source != null) {
|
|
81332
|
-
sourceIdx = this._sources.indexOf(mapping.source);
|
|
81333
|
-
next += base64VLQ.encode(sourceIdx - previousSource);
|
|
81334
|
-
previousSource = sourceIdx;
|
|
81335
|
-
next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine);
|
|
81336
|
-
previousOriginalLine = mapping.originalLine - 1;
|
|
81337
|
-
next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn);
|
|
81338
|
-
previousOriginalColumn = mapping.originalColumn;
|
|
81339
|
-
if (mapping.name != null) {
|
|
81340
|
-
nameIdx = this._names.indexOf(mapping.name);
|
|
81341
|
-
next += base64VLQ.encode(nameIdx - previousName);
|
|
81342
|
-
previousName = nameIdx;
|
|
81343
|
-
}
|
|
81344
|
-
}
|
|
81345
|
-
result += next;
|
|
81346
|
-
}
|
|
81347
|
-
return result;
|
|
81348
|
-
};
|
|
81349
|
-
SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
|
|
81350
|
-
return aSources.map(function(source) {
|
|
81351
|
-
if (!this._sourcesContents) {
|
|
81352
|
-
return null;
|
|
81353
|
-
}
|
|
81354
|
-
if (aSourceRoot != null) {
|
|
81355
|
-
source = util.relative(aSourceRoot, source);
|
|
81356
|
-
}
|
|
81357
|
-
var key2 = util.toSetString(source);
|
|
81358
|
-
return Object.prototype.hasOwnProperty.call(this._sourcesContents, key2) ? this._sourcesContents[key2] : null;
|
|
81359
|
-
}, this);
|
|
81360
|
-
};
|
|
81361
|
-
SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() {
|
|
81362
|
-
var map2 = {
|
|
81363
|
-
version: this._version,
|
|
81364
|
-
sources: this._sources.toArray(),
|
|
81365
|
-
names: this._names.toArray(),
|
|
81366
|
-
mappings: this._serializeMappings()
|
|
81367
|
-
};
|
|
81368
|
-
if (this._file != null) {
|
|
81369
|
-
map2.file = this._file;
|
|
81370
|
-
}
|
|
81371
|
-
if (this._sourceRoot != null) {
|
|
81372
|
-
map2.sourceRoot = this._sourceRoot;
|
|
81373
|
-
}
|
|
81374
|
-
if (this._sourcesContents) {
|
|
81375
|
-
map2.sourcesContent = this._generateSourcesContent(map2.sources, map2.sourceRoot);
|
|
81376
|
-
}
|
|
81377
|
-
return map2;
|
|
81378
|
-
};
|
|
81379
|
-
SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() {
|
|
81380
|
-
return JSON.stringify(this.toJSON());
|
|
81381
|
-
};
|
|
81382
|
-
exports2.SourceMapGenerator = SourceMapGenerator;
|
|
81383
|
-
}
|
|
81384
|
-
});
|
|
81385
|
-
|
|
81386
|
-
// ../../node_modules/source-map-js/lib/binary-search.js
|
|
81387
|
-
var require_binary_search = __commonJS({
|
|
81388
|
-
"../../node_modules/source-map-js/lib/binary-search.js"(exports2) {
|
|
81389
|
-
exports2.GREATEST_LOWER_BOUND = 1;
|
|
81390
|
-
exports2.LEAST_UPPER_BOUND = 2;
|
|
81391
|
-
function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
|
|
81392
|
-
var mid = Math.floor((aHigh - aLow) / 2) + aLow;
|
|
81393
|
-
var cmp = aCompare(aNeedle, aHaystack[mid], true);
|
|
81394
|
-
if (cmp === 0) {
|
|
81395
|
-
return mid;
|
|
81396
|
-
} else if (cmp > 0) {
|
|
81397
|
-
if (aHigh - mid > 1) {
|
|
81398
|
-
return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
|
|
81399
|
-
}
|
|
81400
|
-
if (aBias == exports2.LEAST_UPPER_BOUND) {
|
|
81401
|
-
return aHigh < aHaystack.length ? aHigh : -1;
|
|
81402
|
-
} else {
|
|
81403
|
-
return mid;
|
|
81404
|
-
}
|
|
81405
|
-
} else {
|
|
81406
|
-
if (mid - aLow > 1) {
|
|
81407
|
-
return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
|
|
81408
|
-
}
|
|
81409
|
-
if (aBias == exports2.LEAST_UPPER_BOUND) {
|
|
81410
|
-
return mid;
|
|
81411
|
-
} else {
|
|
81412
|
-
return aLow < 0 ? -1 : aLow;
|
|
81413
|
-
}
|
|
81414
|
-
}
|
|
81415
|
-
}
|
|
81416
|
-
exports2.search = function search(aNeedle, aHaystack, aCompare, aBias) {
|
|
81417
|
-
if (aHaystack.length === 0) {
|
|
81418
|
-
return -1;
|
|
81419
|
-
}
|
|
81420
|
-
var index = recursiveSearch(
|
|
81421
|
-
-1,
|
|
81422
|
-
aHaystack.length,
|
|
81423
|
-
aNeedle,
|
|
81424
|
-
aHaystack,
|
|
81425
|
-
aCompare,
|
|
81426
|
-
aBias || exports2.GREATEST_LOWER_BOUND
|
|
81427
|
-
);
|
|
81428
|
-
if (index < 0) {
|
|
81429
|
-
return -1;
|
|
81430
|
-
}
|
|
81431
|
-
while (index - 1 >= 0) {
|
|
81432
|
-
if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
|
|
81433
|
-
break;
|
|
81434
|
-
}
|
|
81435
|
-
--index;
|
|
81436
|
-
}
|
|
81437
|
-
return index;
|
|
81438
|
-
};
|
|
81439
|
-
}
|
|
81440
|
-
});
|
|
81441
|
-
|
|
81442
|
-
// ../../node_modules/source-map-js/lib/quick-sort.js
|
|
81443
|
-
var require_quick_sort = __commonJS({
|
|
81444
|
-
"../../node_modules/source-map-js/lib/quick-sort.js"(exports2) {
|
|
81445
|
-
function SortTemplate(comparator) {
|
|
81446
|
-
function swap(ary, x, y) {
|
|
81447
|
-
var temp = ary[x];
|
|
81448
|
-
ary[x] = ary[y];
|
|
81449
|
-
ary[y] = temp;
|
|
81450
|
-
}
|
|
81451
|
-
function randomIntInRange(low, high) {
|
|
81452
|
-
return Math.round(low + Math.random() * (high - low));
|
|
81453
|
-
}
|
|
81454
|
-
function doQuickSort(ary, comparator2, p, r) {
|
|
81455
|
-
if (p < r) {
|
|
81456
|
-
var pivotIndex = randomIntInRange(p, r);
|
|
81457
|
-
var i = p - 1;
|
|
81458
|
-
swap(ary, pivotIndex, r);
|
|
81459
|
-
var pivot = ary[r];
|
|
81460
|
-
for (var j = p; j < r; j++) {
|
|
81461
|
-
if (comparator2(ary[j], pivot, false) <= 0) {
|
|
81462
|
-
i += 1;
|
|
81463
|
-
swap(ary, i, j);
|
|
81464
|
-
}
|
|
81465
|
-
}
|
|
81466
|
-
swap(ary, i + 1, j);
|
|
81467
|
-
var q = i + 1;
|
|
81468
|
-
doQuickSort(ary, comparator2, p, q - 1);
|
|
81469
|
-
doQuickSort(ary, comparator2, q + 1, r);
|
|
81470
|
-
}
|
|
81471
|
-
}
|
|
81472
|
-
return doQuickSort;
|
|
81473
|
-
}
|
|
81474
|
-
function cloneSort(comparator) {
|
|
81475
|
-
let template = SortTemplate.toString();
|
|
81476
|
-
let templateFn = new Function(`return ${template}`)();
|
|
81477
|
-
return templateFn(comparator);
|
|
81478
|
-
}
|
|
81479
|
-
var sortCache = /* @__PURE__ */ new WeakMap();
|
|
81480
|
-
exports2.quickSort = function(ary, comparator, start2 = 0) {
|
|
81481
|
-
let doQuickSort = sortCache.get(comparator);
|
|
81482
|
-
if (doQuickSort === void 0) {
|
|
81483
|
-
doQuickSort = cloneSort(comparator);
|
|
81484
|
-
sortCache.set(comparator, doQuickSort);
|
|
81485
|
-
}
|
|
81486
|
-
doQuickSort(ary, comparator, start2, ary.length - 1);
|
|
81487
|
-
};
|
|
81488
|
-
}
|
|
81489
|
-
});
|
|
81490
|
-
|
|
81491
|
-
// ../../node_modules/source-map-js/lib/source-map-consumer.js
|
|
81492
|
-
var require_source_map_consumer = __commonJS({
|
|
81493
|
-
"../../node_modules/source-map-js/lib/source-map-consumer.js"(exports2) {
|
|
81494
|
-
var util = require_util();
|
|
81495
|
-
var binarySearch = require_binary_search();
|
|
81496
|
-
var ArraySet = require_array_set().ArraySet;
|
|
81497
|
-
var base64VLQ = require_base64_vlq();
|
|
81498
|
-
var quickSort = require_quick_sort().quickSort;
|
|
81499
|
-
function SourceMapConsumer2(aSourceMap, aSourceMapURL) {
|
|
81500
|
-
var sourceMap = aSourceMap;
|
|
81501
|
-
if (typeof aSourceMap === "string") {
|
|
81502
|
-
sourceMap = util.parseSourceMapInput(aSourceMap);
|
|
81503
|
-
}
|
|
81504
|
-
return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);
|
|
81505
|
-
}
|
|
81506
|
-
SourceMapConsumer2.fromSourceMap = function(aSourceMap, aSourceMapURL) {
|
|
81507
|
-
return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);
|
|
81508
|
-
};
|
|
81509
|
-
SourceMapConsumer2.prototype._version = 3;
|
|
81510
|
-
SourceMapConsumer2.prototype.__generatedMappings = null;
|
|
81511
|
-
Object.defineProperty(SourceMapConsumer2.prototype, "_generatedMappings", {
|
|
81512
|
-
configurable: true,
|
|
81513
|
-
enumerable: true,
|
|
81514
|
-
get: function() {
|
|
81515
|
-
if (!this.__generatedMappings) {
|
|
81516
|
-
this._parseMappings(this._mappings, this.sourceRoot);
|
|
81517
|
-
}
|
|
81518
|
-
return this.__generatedMappings;
|
|
81519
|
-
}
|
|
81520
|
-
});
|
|
81521
|
-
SourceMapConsumer2.prototype.__originalMappings = null;
|
|
81522
|
-
Object.defineProperty(SourceMapConsumer2.prototype, "_originalMappings", {
|
|
81523
|
-
configurable: true,
|
|
81524
|
-
enumerable: true,
|
|
81525
|
-
get: function() {
|
|
81526
|
-
if (!this.__originalMappings) {
|
|
81527
|
-
this._parseMappings(this._mappings, this.sourceRoot);
|
|
81528
|
-
}
|
|
81529
|
-
return this.__originalMappings;
|
|
81530
|
-
}
|
|
81531
|
-
});
|
|
81532
|
-
SourceMapConsumer2.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) {
|
|
81533
|
-
var c = aStr.charAt(index);
|
|
81534
|
-
return c === ";" || c === ",";
|
|
81535
|
-
};
|
|
81536
|
-
SourceMapConsumer2.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
|
|
81537
|
-
throw new Error("Subclasses must implement _parseMappings");
|
|
81538
|
-
};
|
|
81539
|
-
SourceMapConsumer2.GENERATED_ORDER = 1;
|
|
81540
|
-
SourceMapConsumer2.ORIGINAL_ORDER = 2;
|
|
81541
|
-
SourceMapConsumer2.GREATEST_LOWER_BOUND = 1;
|
|
81542
|
-
SourceMapConsumer2.LEAST_UPPER_BOUND = 2;
|
|
81543
|
-
SourceMapConsumer2.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {
|
|
81544
|
-
var context2 = aContext || null;
|
|
81545
|
-
var order = aOrder || SourceMapConsumer2.GENERATED_ORDER;
|
|
81546
|
-
var mappings;
|
|
81547
|
-
switch (order) {
|
|
81548
|
-
case SourceMapConsumer2.GENERATED_ORDER:
|
|
81549
|
-
mappings = this._generatedMappings;
|
|
81550
|
-
break;
|
|
81551
|
-
case SourceMapConsumer2.ORIGINAL_ORDER:
|
|
81552
|
-
mappings = this._originalMappings;
|
|
81553
|
-
break;
|
|
81554
|
-
default:
|
|
81555
|
-
throw new Error("Unknown order of iteration.");
|
|
81556
|
-
}
|
|
81557
|
-
var sourceRoot = this.sourceRoot;
|
|
81558
|
-
var boundCallback = aCallback.bind(context2);
|
|
81559
|
-
var names = this._names;
|
|
81560
|
-
var sources = this._sources;
|
|
81561
|
-
var sourceMapURL = this._sourceMapURL;
|
|
81562
|
-
for (var i = 0, n = mappings.length; i < n; i++) {
|
|
81563
|
-
var mapping = mappings[i];
|
|
81564
|
-
var source = mapping.source === null ? null : sources.at(mapping.source);
|
|
81565
|
-
if (source !== null) {
|
|
81566
|
-
source = util.computeSourceURL(sourceRoot, source, sourceMapURL);
|
|
81567
|
-
}
|
|
81568
|
-
boundCallback({
|
|
81569
|
-
source,
|
|
81570
|
-
generatedLine: mapping.generatedLine,
|
|
81571
|
-
generatedColumn: mapping.generatedColumn,
|
|
81572
|
-
originalLine: mapping.originalLine,
|
|
81573
|
-
originalColumn: mapping.originalColumn,
|
|
81574
|
-
name: mapping.name === null ? null : names.at(mapping.name)
|
|
81575
|
-
});
|
|
81576
|
-
}
|
|
81577
|
-
};
|
|
81578
|
-
SourceMapConsumer2.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {
|
|
81579
|
-
var line = util.getArg(aArgs, "line");
|
|
81580
|
-
var needle = {
|
|
81581
|
-
source: util.getArg(aArgs, "source"),
|
|
81582
|
-
originalLine: line,
|
|
81583
|
-
originalColumn: util.getArg(aArgs, "column", 0)
|
|
81584
|
-
};
|
|
81585
|
-
needle.source = this._findSourceIndex(needle.source);
|
|
81586
|
-
if (needle.source < 0) {
|
|
81587
|
-
return [];
|
|
81588
|
-
}
|
|
81589
|
-
var mappings = [];
|
|
81590
|
-
var index = this._findMapping(
|
|
81591
|
-
needle,
|
|
81592
|
-
this._originalMappings,
|
|
81593
|
-
"originalLine",
|
|
81594
|
-
"originalColumn",
|
|
81595
|
-
util.compareByOriginalPositions,
|
|
81596
|
-
binarySearch.LEAST_UPPER_BOUND
|
|
81597
|
-
);
|
|
81598
|
-
if (index >= 0) {
|
|
81599
|
-
var mapping = this._originalMappings[index];
|
|
81600
|
-
if (aArgs.column === void 0) {
|
|
81601
|
-
var originalLine = mapping.originalLine;
|
|
81602
|
-
while (mapping && mapping.originalLine === originalLine) {
|
|
81603
|
-
mappings.push({
|
|
81604
|
-
line: util.getArg(mapping, "generatedLine", null),
|
|
81605
|
-
column: util.getArg(mapping, "generatedColumn", null),
|
|
81606
|
-
lastColumn: util.getArg(mapping, "lastGeneratedColumn", null)
|
|
81607
|
-
});
|
|
81608
|
-
mapping = this._originalMappings[++index];
|
|
81609
|
-
}
|
|
81610
|
-
} else {
|
|
81611
|
-
var originalColumn = mapping.originalColumn;
|
|
81612
|
-
while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) {
|
|
81613
|
-
mappings.push({
|
|
81614
|
-
line: util.getArg(mapping, "generatedLine", null),
|
|
81615
|
-
column: util.getArg(mapping, "generatedColumn", null),
|
|
81616
|
-
lastColumn: util.getArg(mapping, "lastGeneratedColumn", null)
|
|
81617
|
-
});
|
|
81618
|
-
mapping = this._originalMappings[++index];
|
|
81619
|
-
}
|
|
81620
|
-
}
|
|
81621
|
-
}
|
|
81622
|
-
return mappings;
|
|
81623
|
-
};
|
|
81624
|
-
exports2.SourceMapConsumer = SourceMapConsumer2;
|
|
81625
|
-
function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {
|
|
81626
|
-
var sourceMap = aSourceMap;
|
|
81627
|
-
if (typeof aSourceMap === "string") {
|
|
81628
|
-
sourceMap = util.parseSourceMapInput(aSourceMap);
|
|
81629
|
-
}
|
|
81630
|
-
var version3 = util.getArg(sourceMap, "version");
|
|
81631
|
-
var sources = util.getArg(sourceMap, "sources");
|
|
81632
|
-
var names = util.getArg(sourceMap, "names", []);
|
|
81633
|
-
var sourceRoot = util.getArg(sourceMap, "sourceRoot", null);
|
|
81634
|
-
var sourcesContent = util.getArg(sourceMap, "sourcesContent", null);
|
|
81635
|
-
var mappings = util.getArg(sourceMap, "mappings");
|
|
81636
|
-
var file2 = util.getArg(sourceMap, "file", null);
|
|
81637
|
-
if (version3 != this._version) {
|
|
81638
|
-
throw new Error("Unsupported version: " + version3);
|
|
81639
|
-
}
|
|
81640
|
-
if (sourceRoot) {
|
|
81641
|
-
sourceRoot = util.normalize(sourceRoot);
|
|
81642
|
-
}
|
|
81643
|
-
sources = sources.map(String).map(util.normalize).map(function(source) {
|
|
81644
|
-
return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) ? util.relative(sourceRoot, source) : source;
|
|
81645
|
-
});
|
|
81646
|
-
this._names = ArraySet.fromArray(names.map(String), true);
|
|
81647
|
-
this._sources = ArraySet.fromArray(sources, true);
|
|
81648
|
-
this._absoluteSources = this._sources.toArray().map(function(s) {
|
|
81649
|
-
return util.computeSourceURL(sourceRoot, s, aSourceMapURL);
|
|
81650
|
-
});
|
|
81651
|
-
this.sourceRoot = sourceRoot;
|
|
81652
|
-
this.sourcesContent = sourcesContent;
|
|
81653
|
-
this._mappings = mappings;
|
|
81654
|
-
this._sourceMapURL = aSourceMapURL;
|
|
81655
|
-
this.file = file2;
|
|
81656
|
-
}
|
|
81657
|
-
BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer2.prototype);
|
|
81658
|
-
BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer2;
|
|
81659
|
-
BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {
|
|
81660
|
-
var relativeSource = aSource;
|
|
81661
|
-
if (this.sourceRoot != null) {
|
|
81662
|
-
relativeSource = util.relative(this.sourceRoot, relativeSource);
|
|
81663
|
-
}
|
|
81664
|
-
if (this._sources.has(relativeSource)) {
|
|
81665
|
-
return this._sources.indexOf(relativeSource);
|
|
81666
|
-
}
|
|
81667
|
-
var i;
|
|
81668
|
-
for (i = 0; i < this._absoluteSources.length; ++i) {
|
|
81669
|
-
if (this._absoluteSources[i] == aSource) {
|
|
81670
|
-
return i;
|
|
81671
|
-
}
|
|
81672
|
-
}
|
|
81673
|
-
return -1;
|
|
81674
|
-
};
|
|
81675
|
-
BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {
|
|
81676
|
-
var smc = Object.create(BasicSourceMapConsumer.prototype);
|
|
81677
|
-
var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);
|
|
81678
|
-
var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);
|
|
81679
|
-
smc.sourceRoot = aSourceMap._sourceRoot;
|
|
81680
|
-
smc.sourcesContent = aSourceMap._generateSourcesContent(
|
|
81681
|
-
smc._sources.toArray(),
|
|
81682
|
-
smc.sourceRoot
|
|
81683
|
-
);
|
|
81684
|
-
smc.file = aSourceMap._file;
|
|
81685
|
-
smc._sourceMapURL = aSourceMapURL;
|
|
81686
|
-
smc._absoluteSources = smc._sources.toArray().map(function(s) {
|
|
81687
|
-
return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);
|
|
81688
|
-
});
|
|
81689
|
-
var generatedMappings = aSourceMap._mappings.toArray().slice();
|
|
81690
|
-
var destGeneratedMappings = smc.__generatedMappings = [];
|
|
81691
|
-
var destOriginalMappings = smc.__originalMappings = [];
|
|
81692
|
-
for (var i = 0, length = generatedMappings.length; i < length; i++) {
|
|
81693
|
-
var srcMapping = generatedMappings[i];
|
|
81694
|
-
var destMapping = new Mapping();
|
|
81695
|
-
destMapping.generatedLine = srcMapping.generatedLine;
|
|
81696
|
-
destMapping.generatedColumn = srcMapping.generatedColumn;
|
|
81697
|
-
if (srcMapping.source) {
|
|
81698
|
-
destMapping.source = sources.indexOf(srcMapping.source);
|
|
81699
|
-
destMapping.originalLine = srcMapping.originalLine;
|
|
81700
|
-
destMapping.originalColumn = srcMapping.originalColumn;
|
|
81701
|
-
if (srcMapping.name) {
|
|
81702
|
-
destMapping.name = names.indexOf(srcMapping.name);
|
|
81703
|
-
}
|
|
81704
|
-
destOriginalMappings.push(destMapping);
|
|
81705
|
-
}
|
|
81706
|
-
destGeneratedMappings.push(destMapping);
|
|
81707
|
-
}
|
|
81708
|
-
quickSort(smc.__originalMappings, util.compareByOriginalPositions);
|
|
81709
|
-
return smc;
|
|
81710
|
-
};
|
|
81711
|
-
BasicSourceMapConsumer.prototype._version = 3;
|
|
81712
|
-
Object.defineProperty(BasicSourceMapConsumer.prototype, "sources", {
|
|
81713
|
-
get: function() {
|
|
81714
|
-
return this._absoluteSources.slice();
|
|
81715
|
-
}
|
|
81716
|
-
});
|
|
81717
|
-
function Mapping() {
|
|
81718
|
-
this.generatedLine = 0;
|
|
81719
|
-
this.generatedColumn = 0;
|
|
81720
|
-
this.source = null;
|
|
81721
|
-
this.originalLine = null;
|
|
81722
|
-
this.originalColumn = null;
|
|
81723
|
-
this.name = null;
|
|
81724
|
-
}
|
|
81725
|
-
var compareGenerated = util.compareByGeneratedPositionsDeflatedNoLine;
|
|
81726
|
-
function sortGenerated(array2, start2) {
|
|
81727
|
-
let l = array2.length;
|
|
81728
|
-
let n = array2.length - start2;
|
|
81729
|
-
if (n <= 1) {
|
|
81730
|
-
return;
|
|
81731
|
-
} else if (n == 2) {
|
|
81732
|
-
let a = array2[start2];
|
|
81733
|
-
let b = array2[start2 + 1];
|
|
81734
|
-
if (compareGenerated(a, b) > 0) {
|
|
81735
|
-
array2[start2] = b;
|
|
81736
|
-
array2[start2 + 1] = a;
|
|
81737
|
-
}
|
|
81738
|
-
} else if (n < 20) {
|
|
81739
|
-
for (let i = start2; i < l; i++) {
|
|
81740
|
-
for (let j = i; j > start2; j--) {
|
|
81741
|
-
let a = array2[j - 1];
|
|
81742
|
-
let b = array2[j];
|
|
81743
|
-
if (compareGenerated(a, b) <= 0) {
|
|
81744
|
-
break;
|
|
81745
|
-
}
|
|
81746
|
-
array2[j - 1] = b;
|
|
81747
|
-
array2[j] = a;
|
|
81748
|
-
}
|
|
81749
|
-
}
|
|
81750
|
-
} else {
|
|
81751
|
-
quickSort(array2, compareGenerated, start2);
|
|
81752
|
-
}
|
|
81753
|
-
}
|
|
81754
|
-
BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
|
|
81755
|
-
var generatedLine = 1;
|
|
81756
|
-
var previousGeneratedColumn = 0;
|
|
81757
|
-
var previousOriginalLine = 0;
|
|
81758
|
-
var previousOriginalColumn = 0;
|
|
81759
|
-
var previousSource = 0;
|
|
81760
|
-
var previousName = 0;
|
|
81761
|
-
var length = aStr.length;
|
|
81762
|
-
var index = 0;
|
|
81763
|
-
var cachedSegments = {};
|
|
81764
|
-
var temp = {};
|
|
81765
|
-
var originalMappings = [];
|
|
81766
|
-
var generatedMappings = [];
|
|
81767
|
-
var mapping, str, segment, end, value;
|
|
81768
|
-
let subarrayStart = 0;
|
|
81769
|
-
while (index < length) {
|
|
81770
|
-
if (aStr.charAt(index) === ";") {
|
|
81771
|
-
generatedLine++;
|
|
81772
|
-
index++;
|
|
81773
|
-
previousGeneratedColumn = 0;
|
|
81774
|
-
sortGenerated(generatedMappings, subarrayStart);
|
|
81775
|
-
subarrayStart = generatedMappings.length;
|
|
81776
|
-
} else if (aStr.charAt(index) === ",") {
|
|
81777
|
-
index++;
|
|
81778
|
-
} else {
|
|
81779
|
-
mapping = new Mapping();
|
|
81780
|
-
mapping.generatedLine = generatedLine;
|
|
81781
|
-
for (end = index; end < length; end++) {
|
|
81782
|
-
if (this._charIsMappingSeparator(aStr, end)) {
|
|
81783
|
-
break;
|
|
81784
|
-
}
|
|
81785
|
-
}
|
|
81786
|
-
str = aStr.slice(index, end);
|
|
81787
|
-
segment = [];
|
|
81788
|
-
while (index < end) {
|
|
81789
|
-
base64VLQ.decode(aStr, index, temp);
|
|
81790
|
-
value = temp.value;
|
|
81791
|
-
index = temp.rest;
|
|
81792
|
-
segment.push(value);
|
|
81793
|
-
}
|
|
81794
|
-
if (segment.length === 2) {
|
|
81795
|
-
throw new Error("Found a source, but no line and column");
|
|
81796
|
-
}
|
|
81797
|
-
if (segment.length === 3) {
|
|
81798
|
-
throw new Error("Found a source and line, but no column");
|
|
81799
|
-
}
|
|
81800
|
-
mapping.generatedColumn = previousGeneratedColumn + segment[0];
|
|
81801
|
-
previousGeneratedColumn = mapping.generatedColumn;
|
|
81802
|
-
if (segment.length > 1) {
|
|
81803
|
-
mapping.source = previousSource + segment[1];
|
|
81804
|
-
previousSource += segment[1];
|
|
81805
|
-
mapping.originalLine = previousOriginalLine + segment[2];
|
|
81806
|
-
previousOriginalLine = mapping.originalLine;
|
|
81807
|
-
mapping.originalLine += 1;
|
|
81808
|
-
mapping.originalColumn = previousOriginalColumn + segment[3];
|
|
81809
|
-
previousOriginalColumn = mapping.originalColumn;
|
|
81810
|
-
if (segment.length > 4) {
|
|
81811
|
-
mapping.name = previousName + segment[4];
|
|
81812
|
-
previousName += segment[4];
|
|
81813
|
-
}
|
|
81814
|
-
}
|
|
81815
|
-
generatedMappings.push(mapping);
|
|
81816
|
-
if (typeof mapping.originalLine === "number") {
|
|
81817
|
-
let currentSource = mapping.source;
|
|
81818
|
-
while (originalMappings.length <= currentSource) {
|
|
81819
|
-
originalMappings.push(null);
|
|
81820
|
-
}
|
|
81821
|
-
if (originalMappings[currentSource] === null) {
|
|
81822
|
-
originalMappings[currentSource] = [];
|
|
81823
|
-
}
|
|
81824
|
-
originalMappings[currentSource].push(mapping);
|
|
81825
|
-
}
|
|
81826
|
-
}
|
|
81827
|
-
}
|
|
81828
|
-
sortGenerated(generatedMappings, subarrayStart);
|
|
81829
|
-
this.__generatedMappings = generatedMappings;
|
|
81830
|
-
for (var i = 0; i < originalMappings.length; i++) {
|
|
81831
|
-
if (originalMappings[i] != null) {
|
|
81832
|
-
quickSort(originalMappings[i], util.compareByOriginalPositionsNoSource);
|
|
81833
|
-
}
|
|
81834
|
-
}
|
|
81835
|
-
this.__originalMappings = [].concat(...originalMappings);
|
|
81836
|
-
};
|
|
81837
|
-
BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) {
|
|
81838
|
-
if (aNeedle[aLineName] <= 0) {
|
|
81839
|
-
throw new TypeError("Line must be greater than or equal to 1, got " + aNeedle[aLineName]);
|
|
81840
|
-
}
|
|
81841
|
-
if (aNeedle[aColumnName] < 0) {
|
|
81842
|
-
throw new TypeError("Column must be greater than or equal to 0, got " + aNeedle[aColumnName]);
|
|
81843
|
-
}
|
|
81844
|
-
return binarySearch.search(aNeedle, aMappings, aComparator, aBias);
|
|
81845
|
-
};
|
|
81846
|
-
BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() {
|
|
81847
|
-
for (var index = 0; index < this._generatedMappings.length; ++index) {
|
|
81848
|
-
var mapping = this._generatedMappings[index];
|
|
81849
|
-
if (index + 1 < this._generatedMappings.length) {
|
|
81850
|
-
var nextMapping = this._generatedMappings[index + 1];
|
|
81851
|
-
if (mapping.generatedLine === nextMapping.generatedLine) {
|
|
81852
|
-
mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;
|
|
81853
|
-
continue;
|
|
81854
|
-
}
|
|
81855
|
-
}
|
|
81856
|
-
mapping.lastGeneratedColumn = Infinity;
|
|
81857
|
-
}
|
|
81858
|
-
};
|
|
81859
|
-
BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) {
|
|
81860
|
-
var needle = {
|
|
81861
|
-
generatedLine: util.getArg(aArgs, "line"),
|
|
81862
|
-
generatedColumn: util.getArg(aArgs, "column")
|
|
81863
|
-
};
|
|
81864
|
-
var index = this._findMapping(
|
|
81865
|
-
needle,
|
|
81866
|
-
this._generatedMappings,
|
|
81867
|
-
"generatedLine",
|
|
81868
|
-
"generatedColumn",
|
|
81869
|
-
util.compareByGeneratedPositionsDeflated,
|
|
81870
|
-
util.getArg(aArgs, "bias", SourceMapConsumer2.GREATEST_LOWER_BOUND)
|
|
81871
|
-
);
|
|
81872
|
-
if (index >= 0) {
|
|
81873
|
-
var mapping = this._generatedMappings[index];
|
|
81874
|
-
if (mapping.generatedLine === needle.generatedLine) {
|
|
81875
|
-
var source = util.getArg(mapping, "source", null);
|
|
81876
|
-
if (source !== null) {
|
|
81877
|
-
source = this._sources.at(source);
|
|
81878
|
-
source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);
|
|
81879
|
-
}
|
|
81880
|
-
var name = util.getArg(mapping, "name", null);
|
|
81881
|
-
if (name !== null) {
|
|
81882
|
-
name = this._names.at(name);
|
|
81883
|
-
}
|
|
81884
|
-
return {
|
|
81885
|
-
source,
|
|
81886
|
-
line: util.getArg(mapping, "originalLine", null),
|
|
81887
|
-
column: util.getArg(mapping, "originalColumn", null),
|
|
81888
|
-
name
|
|
81889
|
-
};
|
|
81890
|
-
}
|
|
81891
|
-
}
|
|
81892
|
-
return {
|
|
81893
|
-
source: null,
|
|
81894
|
-
line: null,
|
|
81895
|
-
column: null,
|
|
81896
|
-
name: null
|
|
81897
|
-
};
|
|
81898
|
-
};
|
|
81899
|
-
BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() {
|
|
81900
|
-
if (!this.sourcesContent) {
|
|
81901
|
-
return false;
|
|
81902
|
-
}
|
|
81903
|
-
return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function(sc) {
|
|
81904
|
-
return sc == null;
|
|
81905
|
-
});
|
|
81906
|
-
};
|
|
81907
|
-
BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
|
|
81908
|
-
if (!this.sourcesContent) {
|
|
81909
|
-
return null;
|
|
81910
|
-
}
|
|
81911
|
-
var index = this._findSourceIndex(aSource);
|
|
81912
|
-
if (index >= 0) {
|
|
81913
|
-
return this.sourcesContent[index];
|
|
81914
|
-
}
|
|
81915
|
-
var relativeSource = aSource;
|
|
81916
|
-
if (this.sourceRoot != null) {
|
|
81917
|
-
relativeSource = util.relative(this.sourceRoot, relativeSource);
|
|
81918
|
-
}
|
|
81919
|
-
var url2;
|
|
81920
|
-
if (this.sourceRoot != null && (url2 = util.urlParse(this.sourceRoot))) {
|
|
81921
|
-
var fileUriAbsPath = relativeSource.replace(/^file:\/\//, "");
|
|
81922
|
-
if (url2.scheme == "file" && this._sources.has(fileUriAbsPath)) {
|
|
81923
|
-
return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)];
|
|
81924
|
-
}
|
|
81925
|
-
if ((!url2.path || url2.path == "/") && this._sources.has("/" + relativeSource)) {
|
|
81926
|
-
return this.sourcesContent[this._sources.indexOf("/" + relativeSource)];
|
|
81927
|
-
}
|
|
81928
|
-
}
|
|
81929
|
-
if (nullOnMissing) {
|
|
81930
|
-
return null;
|
|
81931
|
-
} else {
|
|
81932
|
-
throw new Error('"' + relativeSource + '" is not in the SourceMap.');
|
|
81933
|
-
}
|
|
81934
|
-
};
|
|
81935
|
-
BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) {
|
|
81936
|
-
var source = util.getArg(aArgs, "source");
|
|
81937
|
-
source = this._findSourceIndex(source);
|
|
81938
|
-
if (source < 0) {
|
|
81939
|
-
return {
|
|
81940
|
-
line: null,
|
|
81941
|
-
column: null,
|
|
81942
|
-
lastColumn: null
|
|
81943
|
-
};
|
|
81944
|
-
}
|
|
81945
|
-
var needle = {
|
|
81946
|
-
source,
|
|
81947
|
-
originalLine: util.getArg(aArgs, "line"),
|
|
81948
|
-
originalColumn: util.getArg(aArgs, "column")
|
|
81949
|
-
};
|
|
81950
|
-
var index = this._findMapping(
|
|
81951
|
-
needle,
|
|
81952
|
-
this._originalMappings,
|
|
81953
|
-
"originalLine",
|
|
81954
|
-
"originalColumn",
|
|
81955
|
-
util.compareByOriginalPositions,
|
|
81956
|
-
util.getArg(aArgs, "bias", SourceMapConsumer2.GREATEST_LOWER_BOUND)
|
|
81957
|
-
);
|
|
81958
|
-
if (index >= 0) {
|
|
81959
|
-
var mapping = this._originalMappings[index];
|
|
81960
|
-
if (mapping.source === needle.source) {
|
|
81961
|
-
return {
|
|
81962
|
-
line: util.getArg(mapping, "generatedLine", null),
|
|
81963
|
-
column: util.getArg(mapping, "generatedColumn", null),
|
|
81964
|
-
lastColumn: util.getArg(mapping, "lastGeneratedColumn", null)
|
|
81965
|
-
};
|
|
81966
|
-
}
|
|
81967
|
-
}
|
|
81968
|
-
return {
|
|
81969
|
-
line: null,
|
|
81970
|
-
column: null,
|
|
81971
|
-
lastColumn: null
|
|
81972
|
-
};
|
|
81973
|
-
};
|
|
81974
|
-
exports2.BasicSourceMapConsumer = BasicSourceMapConsumer;
|
|
81975
|
-
function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {
|
|
81976
|
-
var sourceMap = aSourceMap;
|
|
81977
|
-
if (typeof aSourceMap === "string") {
|
|
81978
|
-
sourceMap = util.parseSourceMapInput(aSourceMap);
|
|
81979
|
-
}
|
|
81980
|
-
var version3 = util.getArg(sourceMap, "version");
|
|
81981
|
-
var sections = util.getArg(sourceMap, "sections");
|
|
81982
|
-
if (version3 != this._version) {
|
|
81983
|
-
throw new Error("Unsupported version: " + version3);
|
|
81984
|
-
}
|
|
81985
|
-
this._sources = new ArraySet();
|
|
81986
|
-
this._names = new ArraySet();
|
|
81987
|
-
var lastOffset = {
|
|
81988
|
-
line: -1,
|
|
81989
|
-
column: 0
|
|
81990
|
-
};
|
|
81991
|
-
this._sections = sections.map(function(s) {
|
|
81992
|
-
if (s.url) {
|
|
81993
|
-
throw new Error("Support for url field in sections not implemented.");
|
|
81994
|
-
}
|
|
81995
|
-
var offset = util.getArg(s, "offset");
|
|
81996
|
-
var offsetLine = util.getArg(offset, "line");
|
|
81997
|
-
var offsetColumn = util.getArg(offset, "column");
|
|
81998
|
-
if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) {
|
|
81999
|
-
throw new Error("Section offsets must be ordered and non-overlapping.");
|
|
82000
|
-
}
|
|
82001
|
-
lastOffset = offset;
|
|
82002
|
-
return {
|
|
82003
|
-
generatedOffset: {
|
|
82004
|
-
// The offset fields are 0-based, but we use 1-based indices when
|
|
82005
|
-
// encoding/decoding from VLQ.
|
|
82006
|
-
generatedLine: offsetLine + 1,
|
|
82007
|
-
generatedColumn: offsetColumn + 1
|
|
82008
|
-
},
|
|
82009
|
-
consumer: new SourceMapConsumer2(util.getArg(s, "map"), aSourceMapURL)
|
|
82010
|
-
};
|
|
82011
|
-
});
|
|
82012
|
-
}
|
|
82013
|
-
IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer2.prototype);
|
|
82014
|
-
IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer2;
|
|
82015
|
-
IndexedSourceMapConsumer.prototype._version = 3;
|
|
82016
|
-
Object.defineProperty(IndexedSourceMapConsumer.prototype, "sources", {
|
|
82017
|
-
get: function() {
|
|
82018
|
-
var sources = [];
|
|
82019
|
-
for (var i = 0; i < this._sections.length; i++) {
|
|
82020
|
-
for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {
|
|
82021
|
-
sources.push(this._sections[i].consumer.sources[j]);
|
|
82022
|
-
}
|
|
82023
|
-
}
|
|
82024
|
-
return sources;
|
|
82025
|
-
}
|
|
82026
|
-
});
|
|
82027
|
-
IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) {
|
|
82028
|
-
var needle = {
|
|
82029
|
-
generatedLine: util.getArg(aArgs, "line"),
|
|
82030
|
-
generatedColumn: util.getArg(aArgs, "column")
|
|
82031
|
-
};
|
|
82032
|
-
var sectionIndex = binarySearch.search(
|
|
82033
|
-
needle,
|
|
82034
|
-
this._sections,
|
|
82035
|
-
function(needle2, section2) {
|
|
82036
|
-
var cmp = needle2.generatedLine - section2.generatedOffset.generatedLine;
|
|
82037
|
-
if (cmp) {
|
|
82038
|
-
return cmp;
|
|
82039
|
-
}
|
|
82040
|
-
return needle2.generatedColumn - section2.generatedOffset.generatedColumn;
|
|
82041
|
-
}
|
|
82042
|
-
);
|
|
82043
|
-
var section = this._sections[sectionIndex];
|
|
82044
|
-
if (!section) {
|
|
82045
|
-
return {
|
|
82046
|
-
source: null,
|
|
82047
|
-
line: null,
|
|
82048
|
-
column: null,
|
|
82049
|
-
name: null
|
|
82050
|
-
};
|
|
82051
|
-
}
|
|
82052
|
-
return section.consumer.originalPositionFor({
|
|
82053
|
-
line: needle.generatedLine - (section.generatedOffset.generatedLine - 1),
|
|
82054
|
-
column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0),
|
|
82055
|
-
bias: aArgs.bias
|
|
82056
|
-
});
|
|
82057
|
-
};
|
|
82058
|
-
IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() {
|
|
82059
|
-
return this._sections.every(function(s) {
|
|
82060
|
-
return s.consumer.hasContentsOfAllSources();
|
|
82061
|
-
});
|
|
82062
|
-
};
|
|
82063
|
-
IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
|
|
82064
|
-
for (var i = 0; i < this._sections.length; i++) {
|
|
82065
|
-
var section = this._sections[i];
|
|
82066
|
-
var content = section.consumer.sourceContentFor(aSource, true);
|
|
82067
|
-
if (content || content === "") {
|
|
82068
|
-
return content;
|
|
82069
|
-
}
|
|
82070
|
-
}
|
|
82071
|
-
if (nullOnMissing) {
|
|
82072
|
-
return null;
|
|
82073
|
-
} else {
|
|
82074
|
-
throw new Error('"' + aSource + '" is not in the SourceMap.');
|
|
82075
|
-
}
|
|
82076
|
-
};
|
|
82077
|
-
IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {
|
|
82078
|
-
for (var i = 0; i < this._sections.length; i++) {
|
|
82079
|
-
var section = this._sections[i];
|
|
82080
|
-
if (section.consumer._findSourceIndex(util.getArg(aArgs, "source")) === -1) {
|
|
82081
|
-
continue;
|
|
82082
|
-
}
|
|
82083
|
-
var generatedPosition = section.consumer.generatedPositionFor(aArgs);
|
|
82084
|
-
if (generatedPosition) {
|
|
82085
|
-
var ret = {
|
|
82086
|
-
line: generatedPosition.line + (section.generatedOffset.generatedLine - 1),
|
|
82087
|
-
column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0)
|
|
82088
|
-
};
|
|
82089
|
-
return ret;
|
|
82090
|
-
}
|
|
82091
|
-
}
|
|
82092
|
-
return {
|
|
82093
|
-
line: null,
|
|
82094
|
-
column: null
|
|
82095
|
-
};
|
|
82096
|
-
};
|
|
82097
|
-
IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {
|
|
82098
|
-
this.__generatedMappings = [];
|
|
82099
|
-
this.__originalMappings = [];
|
|
82100
|
-
for (var i = 0; i < this._sections.length; i++) {
|
|
82101
|
-
var section = this._sections[i];
|
|
82102
|
-
var sectionMappings = section.consumer._generatedMappings;
|
|
82103
|
-
for (var j = 0; j < sectionMappings.length; j++) {
|
|
82104
|
-
var mapping = sectionMappings[j];
|
|
82105
|
-
var source = section.consumer._sources.at(mapping.source);
|
|
82106
|
-
if (source !== null) {
|
|
82107
|
-
source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);
|
|
82108
|
-
}
|
|
82109
|
-
this._sources.add(source);
|
|
82110
|
-
source = this._sources.indexOf(source);
|
|
82111
|
-
var name = null;
|
|
82112
|
-
if (mapping.name) {
|
|
82113
|
-
name = section.consumer._names.at(mapping.name);
|
|
82114
|
-
this._names.add(name);
|
|
82115
|
-
name = this._names.indexOf(name);
|
|
82116
|
-
}
|
|
82117
|
-
var adjustedMapping = {
|
|
82118
|
-
source,
|
|
82119
|
-
generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1),
|
|
82120
|
-
generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0),
|
|
82121
|
-
originalLine: mapping.originalLine,
|
|
82122
|
-
originalColumn: mapping.originalColumn,
|
|
82123
|
-
name
|
|
82124
|
-
};
|
|
82125
|
-
this.__generatedMappings.push(adjustedMapping);
|
|
82126
|
-
if (typeof adjustedMapping.originalLine === "number") {
|
|
82127
|
-
this.__originalMappings.push(adjustedMapping);
|
|
82128
|
-
}
|
|
82129
|
-
}
|
|
82130
|
-
}
|
|
82131
|
-
quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);
|
|
82132
|
-
quickSort(this.__originalMappings, util.compareByOriginalPositions);
|
|
82133
|
-
};
|
|
82134
|
-
exports2.IndexedSourceMapConsumer = IndexedSourceMapConsumer;
|
|
82135
|
-
}
|
|
82136
|
-
});
|
|
82137
|
-
|
|
82138
|
-
// ../../node_modules/source-map-js/lib/source-node.js
|
|
82139
|
-
var require_source_node = __commonJS({
|
|
82140
|
-
"../../node_modules/source-map-js/lib/source-node.js"(exports2) {
|
|
82141
|
-
var SourceMapGenerator = require_source_map_generator().SourceMapGenerator;
|
|
82142
|
-
var util = require_util();
|
|
82143
|
-
var REGEX_NEWLINE = /(\r?\n)/;
|
|
82144
|
-
var NEWLINE_CODE = 10;
|
|
82145
|
-
var isSourceNode = "$$$isSourceNode$$$";
|
|
82146
|
-
function SourceNode(aLine, aColumn, aSource, aChunks, aName) {
|
|
82147
|
-
this.children = [];
|
|
82148
|
-
this.sourceContents = {};
|
|
82149
|
-
this.line = aLine == null ? null : aLine;
|
|
82150
|
-
this.column = aColumn == null ? null : aColumn;
|
|
82151
|
-
this.source = aSource == null ? null : aSource;
|
|
82152
|
-
this.name = aName == null ? null : aName;
|
|
82153
|
-
this[isSourceNode] = true;
|
|
82154
|
-
if (aChunks != null) this.add(aChunks);
|
|
82155
|
-
}
|
|
82156
|
-
SourceNode.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {
|
|
82157
|
-
var node = new SourceNode();
|
|
82158
|
-
var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);
|
|
82159
|
-
var remainingLinesIndex = 0;
|
|
82160
|
-
var shiftNextLine = function() {
|
|
82161
|
-
var lineContents = getNextLine();
|
|
82162
|
-
var newLine = getNextLine() || "";
|
|
82163
|
-
return lineContents + newLine;
|
|
82164
|
-
function getNextLine() {
|
|
82165
|
-
return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : void 0;
|
|
82166
|
-
}
|
|
82167
|
-
};
|
|
82168
|
-
var lastGeneratedLine = 1, lastGeneratedColumn = 0;
|
|
82169
|
-
var lastMapping = null;
|
|
82170
|
-
aSourceMapConsumer.eachMapping(function(mapping) {
|
|
82171
|
-
if (lastMapping !== null) {
|
|
82172
|
-
if (lastGeneratedLine < mapping.generatedLine) {
|
|
82173
|
-
addMappingWithCode(lastMapping, shiftNextLine());
|
|
82174
|
-
lastGeneratedLine++;
|
|
82175
|
-
lastGeneratedColumn = 0;
|
|
82176
|
-
} else {
|
|
82177
|
-
var nextLine = remainingLines[remainingLinesIndex] || "";
|
|
82178
|
-
var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn);
|
|
82179
|
-
remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn);
|
|
82180
|
-
lastGeneratedColumn = mapping.generatedColumn;
|
|
82181
|
-
addMappingWithCode(lastMapping, code);
|
|
82182
|
-
lastMapping = mapping;
|
|
82183
|
-
return;
|
|
82184
|
-
}
|
|
82185
|
-
}
|
|
82186
|
-
while (lastGeneratedLine < mapping.generatedLine) {
|
|
82187
|
-
node.add(shiftNextLine());
|
|
82188
|
-
lastGeneratedLine++;
|
|
82189
|
-
}
|
|
82190
|
-
if (lastGeneratedColumn < mapping.generatedColumn) {
|
|
82191
|
-
var nextLine = remainingLines[remainingLinesIndex] || "";
|
|
82192
|
-
node.add(nextLine.substr(0, mapping.generatedColumn));
|
|
82193
|
-
remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);
|
|
82194
|
-
lastGeneratedColumn = mapping.generatedColumn;
|
|
82195
|
-
}
|
|
82196
|
-
lastMapping = mapping;
|
|
82197
|
-
}, this);
|
|
82198
|
-
if (remainingLinesIndex < remainingLines.length) {
|
|
82199
|
-
if (lastMapping) {
|
|
82200
|
-
addMappingWithCode(lastMapping, shiftNextLine());
|
|
82201
|
-
}
|
|
82202
|
-
node.add(remainingLines.splice(remainingLinesIndex).join(""));
|
|
82203
|
-
}
|
|
82204
|
-
aSourceMapConsumer.sources.forEach(function(sourceFile) {
|
|
82205
|
-
var content = aSourceMapConsumer.sourceContentFor(sourceFile);
|
|
82206
|
-
if (content != null) {
|
|
82207
|
-
if (aRelativePath != null) {
|
|
82208
|
-
sourceFile = util.join(aRelativePath, sourceFile);
|
|
82209
|
-
}
|
|
82210
|
-
node.setSourceContent(sourceFile, content);
|
|
82211
|
-
}
|
|
82212
|
-
});
|
|
82213
|
-
return node;
|
|
82214
|
-
function addMappingWithCode(mapping, code) {
|
|
82215
|
-
if (mapping === null || mapping.source === void 0) {
|
|
82216
|
-
node.add(code);
|
|
82217
|
-
} else {
|
|
82218
|
-
var source = aRelativePath ? util.join(aRelativePath, mapping.source) : mapping.source;
|
|
82219
|
-
node.add(new SourceNode(
|
|
82220
|
-
mapping.originalLine,
|
|
82221
|
-
mapping.originalColumn,
|
|
82222
|
-
source,
|
|
82223
|
-
code,
|
|
82224
|
-
mapping.name
|
|
82225
|
-
));
|
|
82226
|
-
}
|
|
82227
|
-
}
|
|
82228
|
-
};
|
|
82229
|
-
SourceNode.prototype.add = function SourceNode_add(aChunk) {
|
|
82230
|
-
if (Array.isArray(aChunk)) {
|
|
82231
|
-
aChunk.forEach(function(chunk) {
|
|
82232
|
-
this.add(chunk);
|
|
82233
|
-
}, this);
|
|
82234
|
-
} else if (aChunk[isSourceNode] || typeof aChunk === "string") {
|
|
82235
|
-
if (aChunk) {
|
|
82236
|
-
this.children.push(aChunk);
|
|
82237
|
-
}
|
|
82238
|
-
} else {
|
|
82239
|
-
throw new TypeError(
|
|
82240
|
-
"Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
|
|
82241
|
-
);
|
|
82242
|
-
}
|
|
82243
|
-
return this;
|
|
82244
|
-
};
|
|
82245
|
-
SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {
|
|
82246
|
-
if (Array.isArray(aChunk)) {
|
|
82247
|
-
for (var i = aChunk.length - 1; i >= 0; i--) {
|
|
82248
|
-
this.prepend(aChunk[i]);
|
|
82249
|
-
}
|
|
82250
|
-
} else if (aChunk[isSourceNode] || typeof aChunk === "string") {
|
|
82251
|
-
this.children.unshift(aChunk);
|
|
82252
|
-
} else {
|
|
82253
|
-
throw new TypeError(
|
|
82254
|
-
"Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
|
|
82255
|
-
);
|
|
82256
|
-
}
|
|
82257
|
-
return this;
|
|
82258
|
-
};
|
|
82259
|
-
SourceNode.prototype.walk = function SourceNode_walk(aFn) {
|
|
82260
|
-
var chunk;
|
|
82261
|
-
for (var i = 0, len = this.children.length; i < len; i++) {
|
|
82262
|
-
chunk = this.children[i];
|
|
82263
|
-
if (chunk[isSourceNode]) {
|
|
82264
|
-
chunk.walk(aFn);
|
|
82265
|
-
} else {
|
|
82266
|
-
if (chunk !== "") {
|
|
82267
|
-
aFn(chunk, {
|
|
82268
|
-
source: this.source,
|
|
82269
|
-
line: this.line,
|
|
82270
|
-
column: this.column,
|
|
82271
|
-
name: this.name
|
|
82272
|
-
});
|
|
82273
|
-
}
|
|
82274
|
-
}
|
|
82275
|
-
}
|
|
82276
|
-
};
|
|
82277
|
-
SourceNode.prototype.join = function SourceNode_join(aSep) {
|
|
82278
|
-
var newChildren;
|
|
82279
|
-
var i;
|
|
82280
|
-
var len = this.children.length;
|
|
82281
|
-
if (len > 0) {
|
|
82282
|
-
newChildren = [];
|
|
82283
|
-
for (i = 0; i < len - 1; i++) {
|
|
82284
|
-
newChildren.push(this.children[i]);
|
|
82285
|
-
newChildren.push(aSep);
|
|
82286
|
-
}
|
|
82287
|
-
newChildren.push(this.children[i]);
|
|
82288
|
-
this.children = newChildren;
|
|
82289
|
-
}
|
|
82290
|
-
return this;
|
|
82291
|
-
};
|
|
82292
|
-
SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {
|
|
82293
|
-
var lastChild = this.children[this.children.length - 1];
|
|
82294
|
-
if (lastChild[isSourceNode]) {
|
|
82295
|
-
lastChild.replaceRight(aPattern, aReplacement);
|
|
82296
|
-
} else if (typeof lastChild === "string") {
|
|
82297
|
-
this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);
|
|
82298
|
-
} else {
|
|
82299
|
-
this.children.push("".replace(aPattern, aReplacement));
|
|
82300
|
-
}
|
|
82301
|
-
return this;
|
|
82302
|
-
};
|
|
82303
|
-
SourceNode.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) {
|
|
82304
|
-
this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;
|
|
82305
|
-
};
|
|
82306
|
-
SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) {
|
|
82307
|
-
for (var i = 0, len = this.children.length; i < len; i++) {
|
|
82308
|
-
if (this.children[i][isSourceNode]) {
|
|
82309
|
-
this.children[i].walkSourceContents(aFn);
|
|
82310
|
-
}
|
|
82311
|
-
}
|
|
82312
|
-
var sources = Object.keys(this.sourceContents);
|
|
82313
|
-
for (var i = 0, len = sources.length; i < len; i++) {
|
|
82314
|
-
aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);
|
|
82315
|
-
}
|
|
82316
|
-
};
|
|
82317
|
-
SourceNode.prototype.toString = function SourceNode_toString() {
|
|
82318
|
-
var str = "";
|
|
82319
|
-
this.walk(function(chunk) {
|
|
82320
|
-
str += chunk;
|
|
82321
|
-
});
|
|
82322
|
-
return str;
|
|
82323
|
-
};
|
|
82324
|
-
SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {
|
|
82325
|
-
var generated = {
|
|
82326
|
-
code: "",
|
|
82327
|
-
line: 1,
|
|
82328
|
-
column: 0
|
|
82329
|
-
};
|
|
82330
|
-
var map2 = new SourceMapGenerator(aArgs);
|
|
82331
|
-
var sourceMappingActive = false;
|
|
82332
|
-
var lastOriginalSource = null;
|
|
82333
|
-
var lastOriginalLine = null;
|
|
82334
|
-
var lastOriginalColumn = null;
|
|
82335
|
-
var lastOriginalName = null;
|
|
82336
|
-
this.walk(function(chunk, original) {
|
|
82337
|
-
generated.code += chunk;
|
|
82338
|
-
if (original.source !== null && original.line !== null && original.column !== null) {
|
|
82339
|
-
if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) {
|
|
82340
|
-
map2.addMapping({
|
|
82341
|
-
source: original.source,
|
|
82342
|
-
original: {
|
|
82343
|
-
line: original.line,
|
|
82344
|
-
column: original.column
|
|
82345
|
-
},
|
|
82346
|
-
generated: {
|
|
82347
|
-
line: generated.line,
|
|
82348
|
-
column: generated.column
|
|
82349
|
-
},
|
|
82350
|
-
name: original.name
|
|
82351
|
-
});
|
|
82352
|
-
}
|
|
82353
|
-
lastOriginalSource = original.source;
|
|
82354
|
-
lastOriginalLine = original.line;
|
|
82355
|
-
lastOriginalColumn = original.column;
|
|
82356
|
-
lastOriginalName = original.name;
|
|
82357
|
-
sourceMappingActive = true;
|
|
82358
|
-
} else if (sourceMappingActive) {
|
|
82359
|
-
map2.addMapping({
|
|
82360
|
-
generated: {
|
|
82361
|
-
line: generated.line,
|
|
82362
|
-
column: generated.column
|
|
82363
|
-
}
|
|
82364
|
-
});
|
|
82365
|
-
lastOriginalSource = null;
|
|
82366
|
-
sourceMappingActive = false;
|
|
82367
|
-
}
|
|
82368
|
-
for (var idx = 0, length = chunk.length; idx < length; idx++) {
|
|
82369
|
-
if (chunk.charCodeAt(idx) === NEWLINE_CODE) {
|
|
82370
|
-
generated.line++;
|
|
82371
|
-
generated.column = 0;
|
|
82372
|
-
if (idx + 1 === length) {
|
|
82373
|
-
lastOriginalSource = null;
|
|
82374
|
-
sourceMappingActive = false;
|
|
82375
|
-
} else if (sourceMappingActive) {
|
|
82376
|
-
map2.addMapping({
|
|
82377
|
-
source: original.source,
|
|
82378
|
-
original: {
|
|
82379
|
-
line: original.line,
|
|
82380
|
-
column: original.column
|
|
82381
|
-
},
|
|
82382
|
-
generated: {
|
|
82383
|
-
line: generated.line,
|
|
82384
|
-
column: generated.column
|
|
82385
|
-
},
|
|
82386
|
-
name: original.name
|
|
82387
|
-
});
|
|
82388
|
-
}
|
|
82389
|
-
} else {
|
|
82390
|
-
generated.column++;
|
|
82391
|
-
}
|
|
82392
|
-
}
|
|
82393
|
-
});
|
|
82394
|
-
this.walkSourceContents(function(sourceFile, sourceContent) {
|
|
82395
|
-
map2.setSourceContent(sourceFile, sourceContent);
|
|
82396
|
-
});
|
|
82397
|
-
return { code: generated.code, map: map2 };
|
|
82398
|
-
};
|
|
82399
|
-
exports2.SourceNode = SourceNode;
|
|
82400
|
-
}
|
|
82401
|
-
});
|
|
82402
|
-
|
|
82403
|
-
// ../../node_modules/source-map-js/source-map.js
|
|
82404
|
-
var require_source_map = __commonJS({
|
|
82405
|
-
"../../node_modules/source-map-js/source-map.js"(exports2) {
|
|
82406
|
-
exports2.SourceMapGenerator = require_source_map_generator().SourceMapGenerator;
|
|
82407
|
-
exports2.SourceMapConsumer = require_source_map_consumer().SourceMapConsumer;
|
|
82408
|
-
exports2.SourceNode = require_source_node().SourceNode;
|
|
82409
|
-
}
|
|
82410
|
-
});
|
|
82411
|
-
|
|
82412
80547
|
// ../../node_modules/pngjs/lib/chunkstream.js
|
|
82413
80548
|
var require_chunkstream = __commonJS({
|
|
82414
80549
|
"../../node_modules/pngjs/lib/chunkstream.js"(exports2, module2) {
|
|
@@ -95734,7 +93869,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
|
|
|
95734
93869
|
var SESSION_ID = (0, import_node_crypto3.randomUUID)();
|
|
95735
93870
|
function readCliVersion() {
|
|
95736
93871
|
if (true) {
|
|
95737
|
-
return "0.22.
|
|
93872
|
+
return "0.22.2-next.0";
|
|
95738
93873
|
}
|
|
95739
93874
|
return "0.0.0";
|
|
95740
93875
|
}
|
|
@@ -98275,14 +96410,10 @@ var axServiceBlueprint = {
|
|
|
98275
96410
|
// ../tool-server/src/utils/capability.ts
|
|
98276
96411
|
init_src();
|
|
98277
96412
|
var UnsupportedOperationError = class extends Error {
|
|
98278
|
-
toolId;
|
|
98279
|
-
device;
|
|
98280
96413
|
constructor(toolId, device, reason) {
|
|
98281
96414
|
const detail = reason ? ` (${reason})` : "";
|
|
98282
96415
|
super(`Tool '${toolId}' is not supported on ${device.platform} ${device.kind}${detail}.`);
|
|
98283
96416
|
this.name = "UnsupportedOperationError";
|
|
98284
|
-
this.toolId = toolId;
|
|
98285
|
-
this.device = device;
|
|
98286
96417
|
withFailureSignal(this, {
|
|
98287
96418
|
error_code: FAILURE_CODES.TOOL_CAPABILITY_UNSUPPORTED_OPERATION,
|
|
98288
96419
|
failure_stage: "tool_capability_assert_supported",
|
|
@@ -109239,12 +107370,7 @@ async function setClipboardText(cdp, text) {
|
|
|
109239
107370
|
}
|
|
109240
107371
|
}
|
|
109241
107372
|
var ClipboardSyncState = class {
|
|
109242
|
-
|
|
109243
|
-
set(enabled) {
|
|
109244
|
-
this.enabled = enabled;
|
|
109245
|
-
}
|
|
109246
|
-
isEnabled() {
|
|
109247
|
-
return this.enabled;
|
|
107373
|
+
set(_enabled) {
|
|
109248
107374
|
}
|
|
109249
107375
|
};
|
|
109250
107376
|
|
|
@@ -115033,7 +113159,6 @@ var http = __toESM(require("node:http"));
|
|
|
115033
113159
|
init_src();
|
|
115034
113160
|
|
|
115035
113161
|
// ../tool-server/src/utils/debugger/source-maps.ts
|
|
115036
|
-
var import_source_map_js = __toESM(require_source_map());
|
|
115037
113162
|
var ALLOWED_SOURCE_MAP_HOSTS = /* @__PURE__ */ new Set(["localhost", "127.0.0.1", "::1"]);
|
|
115038
113163
|
function isAllowedSourceMapURL(raw) {
|
|
115039
113164
|
let parsed;
|
|
@@ -115048,17 +113173,14 @@ function isAllowedSourceMapURL(raw) {
|
|
|
115048
113173
|
return ALLOWED_SOURCE_MAP_HOSTS.has(hostname3);
|
|
115049
113174
|
}
|
|
115050
113175
|
var MAX_SOURCE_MAP_BYTES = 64 * 1024 * 1024;
|
|
115051
|
-
async function
|
|
113176
|
+
async function drainCappedBody(res, maxBytes = MAX_SOURCE_MAP_BYTES) {
|
|
115052
113177
|
const declared = Number(res.headers.get("content-length"));
|
|
115053
113178
|
if (Number.isFinite(declared) && declared > maxBytes) {
|
|
115054
113179
|
throw new Error(`source map body too large (content-length ${declared} > ${maxBytes})`);
|
|
115055
113180
|
}
|
|
115056
113181
|
const body = res.body;
|
|
115057
|
-
if (!body || typeof body.getReader !== "function")
|
|
115058
|
-
return res.json();
|
|
115059
|
-
}
|
|
113182
|
+
if (!body || typeof body.getReader !== "function") return;
|
|
115060
113183
|
const reader = body.getReader();
|
|
115061
|
-
const chunks = [];
|
|
115062
113184
|
let total = 0;
|
|
115063
113185
|
for (; ; ) {
|
|
115064
113186
|
const { done, value } = await reader.read();
|
|
@@ -115069,112 +113191,32 @@ async function readCappedJson(res, maxBytes = MAX_SOURCE_MAP_BYTES) {
|
|
|
115069
113191
|
await reader.cancel();
|
|
115070
113192
|
throw new Error(`source map body exceeded ${maxBytes} bytes`);
|
|
115071
113193
|
}
|
|
115072
|
-
chunks.push(value);
|
|
115073
113194
|
}
|
|
115074
113195
|
}
|
|
115075
|
-
return JSON.parse(Buffer.concat(chunks).toString("utf-8"));
|
|
115076
113196
|
}
|
|
115077
113197
|
var SourceMapsRegistry = class {
|
|
115078
|
-
maps = [];
|
|
115079
113198
|
pendingRegistrations = [];
|
|
115080
|
-
projectRoot;
|
|
115081
|
-
constructor(projectRoot) {
|
|
115082
|
-
this.projectRoot = projectRoot;
|
|
115083
|
-
}
|
|
115084
113199
|
/**
|
|
115085
|
-
* Begin fetching
|
|
115086
|
-
*
|
|
113200
|
+
* Begin fetching the source map a Debugger.scriptParsed event points at.
|
|
113201
|
+
* Takes the whole event shape, though only the URL is read now. Returns
|
|
113202
|
+
* immediately; use `waitForPending()` to block until every fetch has settled.
|
|
115087
113203
|
*/
|
|
115088
113204
|
registerFromScriptParsed(scriptUrl, scriptId, sourceMapURL) {
|
|
115089
113205
|
if (!sourceMapURL) return;
|
|
115090
|
-
const p = this.doRegister(
|
|
113206
|
+
const p = this.doRegister(sourceMapURL);
|
|
115091
113207
|
this.pendingRegistrations.push(p);
|
|
115092
113208
|
}
|
|
115093
113209
|
async waitForPending() {
|
|
115094
113210
|
await Promise.allSettled(this.pendingRegistrations);
|
|
115095
113211
|
this.pendingRegistrations = [];
|
|
115096
113212
|
}
|
|
115097
|
-
|
|
115098
|
-
* Resolve an original source file + line to its generated position in the bundle.
|
|
115099
|
-
*
|
|
115100
|
-
* `filePath` may be project-relative ("src/Foo.tsx"), absolute, or aliased
|
|
115101
|
-
* ("/[metro-project]/App.tsx").
|
|
115102
|
-
*/
|
|
115103
|
-
toGeneratedPosition(filePath, line1Based, column0Based = 0) {
|
|
115104
|
-
const candidates = this.buildSourceCandidates(filePath);
|
|
115105
|
-
for (const map2 of this.maps) {
|
|
115106
|
-
for (const candidate of candidates) {
|
|
115107
|
-
if (!map2.sources.some((s) => s === candidate)) continue;
|
|
115108
|
-
try {
|
|
115109
|
-
const pos = map2.consumer.generatedPositionFor({
|
|
115110
|
-
source: candidate,
|
|
115111
|
-
line: line1Based,
|
|
115112
|
-
column: column0Based,
|
|
115113
|
-
bias: import_source_map_js.SourceMapConsumer.LEAST_UPPER_BOUND
|
|
115114
|
-
});
|
|
115115
|
-
if (pos.line !== null) {
|
|
115116
|
-
return {
|
|
115117
|
-
scriptUrl: map2.scriptUrl,
|
|
115118
|
-
scriptId: map2.scriptId,
|
|
115119
|
-
line1Based: pos.line,
|
|
115120
|
-
column0Based: pos.column ?? 0
|
|
115121
|
-
};
|
|
115122
|
-
}
|
|
115123
|
-
} catch {
|
|
115124
|
-
}
|
|
115125
|
-
}
|
|
115126
|
-
}
|
|
115127
|
-
return null;
|
|
115128
|
-
}
|
|
115129
|
-
/** Matching entry in a registered map's `sources`, or null. */
|
|
115130
|
-
findMatchingSource(filePath) {
|
|
115131
|
-
const candidates = this.buildSourceCandidates(filePath);
|
|
115132
|
-
for (const map2 of this.maps) {
|
|
115133
|
-
for (const candidate of candidates) {
|
|
115134
|
-
if (map2.sources.includes(candidate)) return candidate;
|
|
115135
|
-
}
|
|
115136
|
-
}
|
|
115137
|
-
return null;
|
|
115138
|
-
}
|
|
115139
|
-
buildSourceCandidates(filePath) {
|
|
115140
|
-
const normalized = filePath.replace(/\\/g, "/").replace(/^\.\//, "");
|
|
115141
|
-
const candidates = [];
|
|
115142
|
-
if (normalized.startsWith("/")) {
|
|
115143
|
-
candidates.push(normalized);
|
|
115144
|
-
}
|
|
115145
|
-
candidates.push(`/[metro-project]/${normalized}`);
|
|
115146
|
-
if (this.projectRoot) {
|
|
115147
|
-
candidates.push(`${this.projectRoot}/${normalized}`);
|
|
115148
|
-
}
|
|
115149
|
-
const suffix = normalized.startsWith("/") ? normalized : `/${normalized}`;
|
|
115150
|
-
for (const map2 of this.maps) {
|
|
115151
|
-
for (const src of map2.sources) {
|
|
115152
|
-
if (src.endsWith(suffix) && !candidates.includes(src)) {
|
|
115153
|
-
candidates.push(src);
|
|
115154
|
-
}
|
|
115155
|
-
}
|
|
115156
|
-
}
|
|
115157
|
-
return candidates;
|
|
115158
|
-
}
|
|
115159
|
-
async doRegister(scriptUrl, scriptId, sourceMapURL) {
|
|
113213
|
+
async doRegister(sourceMapURL) {
|
|
115160
113214
|
try {
|
|
115161
|
-
|
|
115162
|
-
if (sourceMapURL
|
|
115163
|
-
|
|
115164
|
-
|
|
115165
|
-
|
|
115166
|
-
rawData = JSON.parse(decoded);
|
|
115167
|
-
} else {
|
|
115168
|
-
if (!isAllowedSourceMapURL(sourceMapURL)) return;
|
|
115169
|
-
const res = await fetch(sourceMapURL, { redirect: "error" });
|
|
115170
|
-
if (!res.ok) return;
|
|
115171
|
-
rawData = await readCappedJson(res);
|
|
115172
|
-
}
|
|
115173
|
-
const consumer = new import_source_map_js.SourceMapConsumer(rawData);
|
|
115174
|
-
const consumerSources = consumer.sources;
|
|
115175
|
-
const rawSources = rawData?.sources;
|
|
115176
|
-
const sources = Array.isArray(consumerSources) ? Array.from(consumerSources) : Array.isArray(rawSources) ? rawSources.slice() : [];
|
|
115177
|
-
this.maps.push({ scriptUrl, scriptId, consumer, sources });
|
|
113215
|
+
if (sourceMapURL.startsWith("data:")) return;
|
|
113216
|
+
if (!isAllowedSourceMapURL(sourceMapURL)) return;
|
|
113217
|
+
const res = await fetch(sourceMapURL, { redirect: "error" });
|
|
113218
|
+
if (!res.ok) return;
|
|
113219
|
+
await drainCappedBody(res);
|
|
115178
113220
|
} catch {
|
|
115179
113221
|
}
|
|
115180
113222
|
}
|
|
@@ -115454,13 +113496,6 @@ function makeStubSourceResolver() {
|
|
|
115454
113496
|
readSourceFragment: unsupported
|
|
115455
113497
|
};
|
|
115456
113498
|
}
|
|
115457
|
-
var StubSourceMapsRegistry = class extends SourceMapsRegistry {
|
|
115458
|
-
constructor() {
|
|
115459
|
-
super("");
|
|
115460
|
-
}
|
|
115461
|
-
async waitForPending() {
|
|
115462
|
-
}
|
|
115463
|
-
};
|
|
115464
113499
|
var chromiumJsRuntimeDebuggerBlueprint = {
|
|
115465
113500
|
namespace: CHROMIUM_JS_RUNTIME_DEBUGGER_NAMESPACE,
|
|
115466
113501
|
getURN(payload) {
|
|
@@ -115526,7 +113561,7 @@ var chromiumJsRuntimeDebuggerBlueprint = {
|
|
|
115526
113561
|
const consoleServer = await createConsoleLogServer(consoleEvents, logWriter);
|
|
115527
113562
|
await cdp.addBinding("__argent_callback").catch(() => {
|
|
115528
113563
|
});
|
|
115529
|
-
const sourceMaps = new
|
|
113564
|
+
const sourceMaps = new SourceMapsRegistry();
|
|
115530
113565
|
const sourceResolver = makeStubSourceResolver();
|
|
115531
113566
|
const api = {
|
|
115532
113567
|
port,
|
|
@@ -117225,7 +115260,7 @@ var jsRuntimeDebuggerBlueprint = {
|
|
|
117225
115260
|
});
|
|
117226
115261
|
const cdp = new CDPClient(selected.webSocketUrl);
|
|
117227
115262
|
await cdp.connect();
|
|
117228
|
-
const sourceMaps = new SourceMapsRegistry(
|
|
115263
|
+
const sourceMaps = new SourceMapsRegistry();
|
|
117229
115264
|
cdp.events.on("scriptParsed", (script) => {
|
|
117230
115265
|
sourceMaps.registerFromScriptParsed(script.url, script.scriptId, script.sourceMapURL);
|
|
117231
115266
|
});
|
|
@@ -119705,9 +117740,6 @@ function makeIosImpl(registry2) {
|
|
|
119705
117740
|
}
|
|
119706
117741
|
|
|
119707
117742
|
// ../tool-server/src/utils/simctl-backend.ts
|
|
119708
|
-
var import_node_child_process20 = require("node:child_process");
|
|
119709
|
-
var import_node_util14 = require("node:util");
|
|
119710
|
-
var execFileAsync14 = (0, import_node_util14.promisify)(import_node_child_process20.execFile);
|
|
119711
117743
|
var remoteSimctl = {
|
|
119712
117744
|
launch: simctlLaunch,
|
|
119713
117745
|
terminate: simctlTerminate
|
|
@@ -119909,10 +117941,10 @@ Common Android packages: com.android.settings, com.android.chrome, com.google.an
|
|
|
119909
117941
|
init_zod();
|
|
119910
117942
|
|
|
119911
117943
|
// ../tool-server/src/tools/restart-app/platforms/ios.ts
|
|
119912
|
-
var
|
|
119913
|
-
var
|
|
117944
|
+
var import_node_child_process20 = require("node:child_process");
|
|
117945
|
+
var import_node_util14 = require("node:util");
|
|
119914
117946
|
init_src();
|
|
119915
|
-
var
|
|
117947
|
+
var execFileAsync14 = (0, import_node_util14.promisify)(import_node_child_process20.execFile);
|
|
119916
117948
|
function makeIosImpl2(registry2) {
|
|
119917
117949
|
return {
|
|
119918
117950
|
requires: ["xcrun"],
|
|
@@ -119926,11 +117958,11 @@ function makeIosImpl2(registry2) {
|
|
|
119926
117958
|
const blocked = await precheckNativeDevtools(nativeDevtools, udid);
|
|
119927
117959
|
if (blocked) return blocked;
|
|
119928
117960
|
try {
|
|
119929
|
-
await
|
|
117961
|
+
await execFileAsync14("xcrun", await simctlArgsForUdid(udid, ["terminate", udid, bundleId]));
|
|
119930
117962
|
} catch {
|
|
119931
117963
|
}
|
|
119932
117964
|
try {
|
|
119933
|
-
await
|
|
117965
|
+
await execFileAsync14("xcrun", await simctlArgsForUdid(udid, ["launch", udid, bundleId]));
|
|
119934
117966
|
} catch (err) {
|
|
119935
117967
|
throw new FailureError(
|
|
119936
117968
|
`Failed to restart iOS app ${bundleId} on ${udid}.`,
|
|
@@ -120089,11 +118121,11 @@ Returns { restarted, bundleId }. Fails if the app is not installed.`,
|
|
|
120089
118121
|
init_zod();
|
|
120090
118122
|
|
|
120091
118123
|
// ../tool-server/src/tools/reinstall-app/platforms/ios.ts
|
|
120092
|
-
var
|
|
120093
|
-
var
|
|
118124
|
+
var import_node_child_process21 = require("node:child_process");
|
|
118125
|
+
var import_node_util15 = require("node:util");
|
|
120094
118126
|
var import_node_path15 = require("node:path");
|
|
120095
118127
|
init_src();
|
|
120096
|
-
var
|
|
118128
|
+
var execFileAsync15 = (0, import_node_util15.promisify)(import_node_child_process21.execFile);
|
|
120097
118129
|
var iosImpl = {
|
|
120098
118130
|
requires: ["xcrun"],
|
|
120099
118131
|
handler: async (_services, params) => {
|
|
@@ -120101,11 +118133,11 @@ var iosImpl = {
|
|
|
120101
118133
|
const absolute = (0, import_node_path15.resolve)(appPath);
|
|
120102
118134
|
const prefix = simctlPrefix(await deviceSetForUdid(udid));
|
|
120103
118135
|
try {
|
|
120104
|
-
await
|
|
118136
|
+
await execFileAsync15("xcrun", [...prefix, "uninstall", udid, bundleId]);
|
|
120105
118137
|
} catch {
|
|
120106
118138
|
}
|
|
120107
118139
|
try {
|
|
120108
|
-
await
|
|
118140
|
+
await execFileAsync15("xcrun", [...prefix, "install", udid, absolute]);
|
|
120109
118141
|
} catch (err) {
|
|
120110
118142
|
throw new FailureError(
|
|
120111
118143
|
`Failed to install iOS app bundle on ${udid}.`,
|
|
@@ -120261,10 +118293,10 @@ var PERMISSION_NAMES = [
|
|
|
120261
118293
|
];
|
|
120262
118294
|
|
|
120263
118295
|
// ../tool-server/src/tools/settings-permissions/platforms/ios.ts
|
|
120264
|
-
var
|
|
120265
|
-
var
|
|
118296
|
+
var import_node_child_process22 = require("node:child_process");
|
|
118297
|
+
var import_node_util16 = require("node:util");
|
|
120266
118298
|
init_src();
|
|
120267
|
-
var
|
|
118299
|
+
var execFileAsync16 = (0, import_node_util16.promisify)(import_node_child_process22.execFile);
|
|
120268
118300
|
var SIMCTL_ACTION = {
|
|
120269
118301
|
grant: "grant",
|
|
120270
118302
|
deny: "revoke",
|
|
@@ -120289,7 +118321,7 @@ var NON_TCC_GRANT_NEEDS_INSTALL = /* @__PURE__ */ new Set([
|
|
|
120289
118321
|
]);
|
|
120290
118322
|
var localBackend = {
|
|
120291
118323
|
async run(udid, simctlAction, service, bundleId) {
|
|
120292
|
-
await
|
|
118324
|
+
await execFileAsync16(
|
|
120293
118325
|
"xcrun",
|
|
120294
118326
|
await simctlArgsForUdid(udid, ["privacy", udid, simctlAction, service, bundleId]),
|
|
120295
118327
|
{ timeout: 3e4 }
|
|
@@ -120297,7 +118329,7 @@ var localBackend = {
|
|
|
120297
118329
|
},
|
|
120298
118330
|
async isInstalled(udid, bundleId) {
|
|
120299
118331
|
try {
|
|
120300
|
-
await
|
|
118332
|
+
await execFileAsync16(
|
|
120301
118333
|
"xcrun",
|
|
120302
118334
|
await simctlArgsForUdid(udid, ["get_app_container", udid, bundleId]),
|
|
120303
118335
|
{ timeout: 15e3 }
|
|
@@ -120580,8 +118612,8 @@ Returns { action, permission, bundleId, applied, skipped? }: \`applied\` lists t
|
|
|
120580
118612
|
init_zod();
|
|
120581
118613
|
|
|
120582
118614
|
// ../tool-server/src/tools/open-url/platforms/ios.ts
|
|
120583
|
-
var
|
|
120584
|
-
var
|
|
118615
|
+
var import_node_child_process23 = require("node:child_process");
|
|
118616
|
+
var import_node_util17 = require("node:util");
|
|
120585
118617
|
init_src();
|
|
120586
118618
|
|
|
120587
118619
|
// ../tool-server/src/tools/open-url/deep-link-note.ts
|
|
@@ -120591,12 +118623,12 @@ function httpDeepLinkNote(url2) {
|
|
|
120591
118623
|
}
|
|
120592
118624
|
|
|
120593
118625
|
// ../tool-server/src/tools/open-url/platforms/ios.ts
|
|
120594
|
-
var
|
|
118626
|
+
var execFileAsync17 = (0, import_node_util17.promisify)(import_node_child_process23.execFile);
|
|
120595
118627
|
var iosImpl3 = {
|
|
120596
118628
|
requires: ["xcrun"],
|
|
120597
118629
|
handler: async (_services, params) => {
|
|
120598
118630
|
try {
|
|
120599
|
-
await
|
|
118631
|
+
await execFileAsync17(
|
|
120600
118632
|
"xcrun",
|
|
120601
118633
|
await simctlArgsForUdid(params.udid, ["openurl", params.udid, params.url])
|
|
120602
118634
|
);
|
|
@@ -120712,8 +118744,8 @@ Returns { opened, url, note? }. note carries the deep-linking caveat when a web
|
|
|
120712
118744
|
};
|
|
120713
118745
|
|
|
120714
118746
|
// ../tool-server/src/tools/screenshot/index.ts
|
|
120715
|
-
var
|
|
120716
|
-
var
|
|
118747
|
+
var import_node_child_process24 = require("node:child_process");
|
|
118748
|
+
var import_node_util18 = require("node:util");
|
|
120717
118749
|
var os9 = __toESM(require("node:os"));
|
|
120718
118750
|
var path22 = __toESM(require("node:path"));
|
|
120719
118751
|
init_zod();
|
|
@@ -121127,7 +119159,7 @@ function scalePng(src, scale) {
|
|
|
121127
119159
|
}
|
|
121128
119160
|
|
|
121129
119161
|
// ../tool-server/src/tools/screenshot/index.ts
|
|
121130
|
-
var
|
|
119162
|
+
var execFileAsync18 = (0, import_node_util18.promisify)(import_node_child_process24.execFile);
|
|
121131
119163
|
var zodSchema15 = external_exports.object({
|
|
121132
119164
|
udid: external_exports.string().describe(
|
|
121133
119165
|
"Target device id from `list-devices` (iOS UDID, Android serial, Apple TV UDID, Vega serial, or Chromium id)."
|
|
@@ -121157,11 +119189,11 @@ async function tvScreenshot(udid, scale, signal) {
|
|
|
121157
119189
|
os9.tmpdir(),
|
|
121158
119190
|
`argent-tv-screenshot-${udid.slice(0, 8)}-${process.hrtime.bigint()}.png`
|
|
121159
119191
|
);
|
|
121160
|
-
await
|
|
119192
|
+
await execFileAsync18("xcrun", await simctlArgsForUdid(udid, ["io", udid, "screenshot", file2]), {
|
|
121161
119193
|
signal
|
|
121162
119194
|
});
|
|
121163
119195
|
if (scale < 1) {
|
|
121164
|
-
await
|
|
119196
|
+
await execFileAsync18("sips", ["-Z", String(await tvTargetLongSide(file2, scale)), file2], {
|
|
121165
119197
|
signal
|
|
121166
119198
|
}).catch(() => {
|
|
121167
119199
|
});
|
|
@@ -121171,7 +119203,7 @@ async function tvScreenshot(udid, scale, signal) {
|
|
|
121171
119203
|
async function tvTargetLongSide(file2, scale) {
|
|
121172
119204
|
let longSide = 3840;
|
|
121173
119205
|
try {
|
|
121174
|
-
const { stdout } = await
|
|
119206
|
+
const { stdout } = await execFileAsync18("sips", ["-g", "pixelWidth", "-g", "pixelHeight", file2]);
|
|
121175
119207
|
const width = Number(/pixelWidth:\s*(\d+)/.exec(stdout)?.[1]);
|
|
121176
119208
|
const height = Number(/pixelHeight:\s*(\d+)/.exec(stdout)?.[1]);
|
|
121177
119209
|
if (Number.isFinite(width) && Number.isFinite(height) && width > 0 && height > 0) {
|
|
@@ -122771,12 +120803,12 @@ var shakeZodSchema = external_exports.object({
|
|
|
122771
120803
|
});
|
|
122772
120804
|
|
|
122773
120805
|
// ../tool-server/src/tools/shake/platforms/ios.ts
|
|
122774
|
-
var
|
|
122775
|
-
var
|
|
120806
|
+
var import_node_child_process26 = require("node:child_process");
|
|
120807
|
+
var import_node_util19 = require("node:util");
|
|
122776
120808
|
init_src();
|
|
122777
120809
|
|
|
122778
120810
|
// ../tool-server/src/utils/window-shake.ts
|
|
122779
|
-
var
|
|
120811
|
+
var import_node_child_process25 = require("node:child_process");
|
|
122780
120812
|
var MICROINTERACTIONS_FLAG = "microinteractions";
|
|
122781
120813
|
var AMPLITUDE = 22;
|
|
122782
120814
|
var STEPS = 60;
|
|
@@ -122882,7 +120914,7 @@ end run
|
|
|
122882
120914
|
}
|
|
122883
120915
|
function runOsascript(script) {
|
|
122884
120916
|
return new Promise((resolve12, reject) => {
|
|
122885
|
-
const child = (0,
|
|
120917
|
+
const child = (0, import_node_child_process25.execFile)(
|
|
122886
120918
|
"/usr/bin/osascript",
|
|
122887
120919
|
["-"],
|
|
122888
120920
|
{ timeout: OSASCRIPT_TIMEOUT_MS },
|
|
@@ -122975,7 +121007,7 @@ async function prepareHostWindowShake(target) {
|
|
|
122975
121007
|
}
|
|
122976
121008
|
|
|
122977
121009
|
// ../tool-server/src/tools/shake/platforms/ios.ts
|
|
122978
|
-
var
|
|
121010
|
+
var execFileAsync19 = (0, import_node_util19.promisify)(import_node_child_process26.execFile);
|
|
122979
121011
|
var SHAKE_NOTIFICATION = "com.apple.UIKit.SimulatorShake";
|
|
122980
121012
|
var SHAKE_INTERVAL_MS = 400;
|
|
122981
121013
|
var sleep11 = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
@@ -123015,7 +121047,7 @@ var iosImpl4 = {
|
|
|
123015
121047
|
if (i > 0) await sleep11(SHAKE_INTERVAL_MS);
|
|
123016
121048
|
shaker.begin();
|
|
123017
121049
|
try {
|
|
123018
|
-
await
|
|
121050
|
+
await execFileAsync19("xcrun", args, { timeout: 15e3 });
|
|
123019
121051
|
} catch (err) {
|
|
123020
121052
|
const error52 = err instanceof Error ? err : new Error(String(err));
|
|
123021
121053
|
throw shakeFailure(udid, error52.message, error52);
|
|
@@ -135733,8 +133765,8 @@ var import_util8 = require("util");
|
|
|
135733
133765
|
var DEFAULT_EXEC_TIMEOUT_MS = 6e4;
|
|
135734
133766
|
var DEFAULT_EXEC_MAX_BUFFER = 256 * 1024 * 1024;
|
|
135735
133767
|
async function execFileAsyncWithTimeout(file2, args, options = {}) {
|
|
135736
|
-
const
|
|
135737
|
-
const { stdout, stderr } = await
|
|
133768
|
+
const execFileAsync24 = (0, import_util8.promisify)(import_child_process2.execFile);
|
|
133769
|
+
const { stdout, stderr } = await execFileAsync24(file2, args, {
|
|
135738
133770
|
encoding: "utf-8",
|
|
135739
133771
|
...options,
|
|
135740
133772
|
// Applied after ...options so a caller cannot weaken the guards; maxBuffer
|
|
@@ -139747,7 +137779,7 @@ var WATERMARK_PNG_HEIGHT = 277;
|
|
|
139747
137779
|
var WATERMARK_PNG_BASE64 = "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";
|
|
139748
137780
|
|
|
139749
137781
|
// ../tool-server/src/tools/screen-recording/watermark.ts
|
|
139750
|
-
var
|
|
137782
|
+
var execFileAsync20 = (0, import_util9.promisify)(import_child_process6.execFile);
|
|
139751
137783
|
var OUTPUT_FPS = 30;
|
|
139752
137784
|
var FFMPEG_FALLBACK_PATHS = [
|
|
139753
137785
|
"/opt/homebrew/bin/ffmpeg",
|
|
@@ -139764,7 +137796,7 @@ var MASK_DARK_MAX_LUMA = 90;
|
|
|
139764
137796
|
var MASK_LIGHT_MIN_LUMA = 165;
|
|
139765
137797
|
async function resolveBinary(name, fallbacks) {
|
|
139766
137798
|
try {
|
|
139767
|
-
await
|
|
137799
|
+
await execFileAsync20("/bin/sh", ["-c", `command -v ${name}`], { timeout: 2e3 });
|
|
139768
137800
|
return name;
|
|
139769
137801
|
} catch {
|
|
139770
137802
|
}
|
|
@@ -142453,7 +140485,7 @@ Returns { stopped } - the URNs of the services that were actually live and got s
|
|
|
142453
140485
|
|
|
142454
140486
|
// ../tool-server/src/tools/simulator/stop-metro.ts
|
|
142455
140487
|
init_zod();
|
|
142456
|
-
var
|
|
140488
|
+
var import_node_child_process27 = require("node:child_process");
|
|
142457
140489
|
function parseNetstatListeningPids(netstatOutput, port) {
|
|
142458
140490
|
const pids = /* @__PURE__ */ new Set();
|
|
142459
140491
|
for (const line of netstatOutput.split(/\r?\n/)) {
|
|
@@ -142469,7 +140501,7 @@ function parseNetstatListeningPids(netstatOutput, port) {
|
|
|
142469
140501
|
}
|
|
142470
140502
|
function listeningPids(port) {
|
|
142471
140503
|
if (process.platform === "win32") {
|
|
142472
|
-
const output2 = (0,
|
|
140504
|
+
const output2 = (0, import_node_child_process27.execFileSync)("netstat", ["-ano"], {
|
|
142473
140505
|
encoding: "utf-8",
|
|
142474
140506
|
timeout: 5e3,
|
|
142475
140507
|
// `netstat -ano` dumps every socket on the host; overflowing Node's
|
|
@@ -142478,7 +140510,7 @@ function listeningPids(port) {
|
|
|
142478
140510
|
});
|
|
142479
140511
|
return parseNetstatListeningPids(output2, port);
|
|
142480
140512
|
}
|
|
142481
|
-
const output = (0,
|
|
140513
|
+
const output = (0, import_node_child_process27.execFileSync)("lsof", ["-ti", `tcp:${port}`, "-sTCP:LISTEN"], {
|
|
142482
140514
|
encoding: "utf-8",
|
|
142483
140515
|
timeout: 5e3
|
|
142484
140516
|
}).trim();
|
|
@@ -146731,7 +144763,7 @@ var import_pngjs3 = __toESM(require_png());
|
|
|
146731
144763
|
// ../tool-server/src/tools/screenshot-diff/screenshot-diff-ocr.ts
|
|
146732
144764
|
var import_child_process8 = require("child_process");
|
|
146733
144765
|
var import_util10 = require("util");
|
|
146734
|
-
var
|
|
144766
|
+
var execFileAsync21 = (0, import_util10.promisify)(import_child_process8.execFile);
|
|
146735
144767
|
var OCR_TIMEOUT_MS = 1e4;
|
|
146736
144768
|
var OCR_MAX_BUFFER_BYTES = 32 * 1024 * 1024;
|
|
146737
144769
|
var TESSERACT_BINARY = "tesseract";
|
|
@@ -146776,7 +144808,7 @@ async function extractOcrTextBlocks(imagePath) {
|
|
|
146776
144808
|
}
|
|
146777
144809
|
}
|
|
146778
144810
|
async function recognizeTsv(imagePath) {
|
|
146779
|
-
const { stdout } = await
|
|
144811
|
+
const { stdout } = await execFileAsync21(
|
|
146780
144812
|
TESSERACT_BINARY,
|
|
146781
144813
|
[
|
|
146782
144814
|
imagePath,
|
|
@@ -148988,15 +147020,15 @@ async function runSnapshot(env, opts) {
|
|
|
148988
147020
|
}
|
|
148989
147021
|
|
|
148990
147022
|
// ../tool-server/src/utils/status-bar.ts
|
|
148991
|
-
var
|
|
148992
|
-
var
|
|
147023
|
+
var import_node_child_process28 = require("node:child_process");
|
|
147024
|
+
var import_node_util20 = require("node:util");
|
|
148993
147025
|
init_adb();
|
|
148994
|
-
var
|
|
147026
|
+
var execFileAsync22 = (0, import_node_util20.promisify)(import_node_child_process28.execFile);
|
|
148995
147027
|
var DEMO_BROADCAST = "am broadcast -a com.android.systemui.demo";
|
|
148996
147028
|
async function pinStatusBar(device) {
|
|
148997
147029
|
try {
|
|
148998
147030
|
if (device.platform === "ios") {
|
|
148999
|
-
await
|
|
147031
|
+
await execFileAsync22(
|
|
149000
147032
|
"xcrun",
|
|
149001
147033
|
await simctlArgsForUdid(device.id, [
|
|
149002
147034
|
"status_bar",
|
|
@@ -149039,7 +147071,7 @@ async function pinStatusBar(device) {
|
|
|
149039
147071
|
async function restoreStatusBar(device) {
|
|
149040
147072
|
try {
|
|
149041
147073
|
if (device.platform === "ios") {
|
|
149042
|
-
await
|
|
147074
|
+
await execFileAsync22(
|
|
149043
147075
|
"xcrun",
|
|
149044
147076
|
await simctlArgsForUdid(device.id, ["status_bar", device.id, "clear"])
|
|
149045
147077
|
);
|
|
@@ -150397,7 +148429,7 @@ init_zod();
|
|
|
150397
148429
|
// ../tool-server/src/utils/workspace-reader.ts
|
|
150398
148430
|
var import_promises12 = require("node:fs/promises");
|
|
150399
148431
|
var import_node_path21 = require("node:path");
|
|
150400
|
-
var
|
|
148432
|
+
var import_node_child_process29 = require("node:child_process");
|
|
150401
148433
|
var import_dotenv2 = __toESM(require_main());
|
|
150402
148434
|
async function exists(path41) {
|
|
150403
148435
|
try {
|
|
@@ -150441,7 +148473,7 @@ async function listDir(path41) {
|
|
|
150441
148473
|
var COMMAND_TIMEOUT_MS = 3e3;
|
|
150442
148474
|
function runVersionCommand(cmd, args, cwd) {
|
|
150443
148475
|
return new Promise((resolve12) => {
|
|
150444
|
-
const child = (0,
|
|
148476
|
+
const child = (0, import_node_child_process29.execFile)(cmd, args, { cwd, timeout: COMMAND_TIMEOUT_MS }, (err, stdout) => {
|
|
150445
148477
|
if (err) {
|
|
150446
148478
|
resolve12(null);
|
|
150447
148479
|
return;
|
|
@@ -150730,7 +148762,7 @@ Fails if the workspacePath is not an absolute path or the directory cannot be ac
|
|
|
150730
148762
|
};
|
|
150731
148763
|
|
|
150732
148764
|
// ../tool-server/src/tools/system/update-argent.ts
|
|
150733
|
-
var
|
|
148765
|
+
var import_node_child_process30 = require("node:child_process");
|
|
150734
148766
|
var fs53 = __toESM(require("node:fs"));
|
|
150735
148767
|
var path37 = __toESM(require("node:path"));
|
|
150736
148768
|
init_zod();
|
|
@@ -150865,7 +148897,7 @@ var updateArgentTool = {
|
|
|
150865
148897
|
if (spawnRoot) updateArgs.push("--project-root", spawnRoot);
|
|
150866
148898
|
const cmd = cliEntry ? process.execPath : "argent";
|
|
150867
148899
|
const args = cliEntry ? [cliEntry, ...updateArgs] : updateArgs;
|
|
150868
|
-
const child = (0,
|
|
148900
|
+
const child = (0, import_node_child_process30.spawn)(cmd, args, {
|
|
150869
148901
|
detached: true,
|
|
150870
148902
|
stdio: "ignore",
|
|
150871
148903
|
env: { ...process.env, ARGENT_UPDATE_TRIGGER: "mcp_update" }
|
|
@@ -151834,12 +149866,12 @@ function probeArgentToolServer(host, port, timeoutMs = 500) {
|
|
|
151834
149866
|
|
|
151835
149867
|
// ../tool-server/src/utils/simulator-watcher.ts
|
|
151836
149868
|
var fs55 = __toESM(require("node:fs"));
|
|
151837
|
-
var
|
|
151838
|
-
var
|
|
151839
|
-
var
|
|
149869
|
+
var import_node_child_process31 = require("node:child_process");
|
|
149870
|
+
var import_node_util21 = require("node:util");
|
|
149871
|
+
var execFileAsync23 = (0, import_node_util21.promisify)(import_node_child_process31.execFile);
|
|
151840
149872
|
var POLL_INTERVAL_MS2 = 1e4;
|
|
151841
149873
|
async function getBootedUdidsInSet(deviceSet) {
|
|
151842
|
-
const { stdout } = await
|
|
149874
|
+
const { stdout } = await execFileAsync23("xcrun", [
|
|
151843
149875
|
...simctlPrefix(deviceSet),
|
|
151844
149876
|
"list",
|
|
151845
149877
|
"devices",
|
|
@@ -151912,7 +149944,7 @@ function startSimulatorWatcher(registry2) {
|
|
|
151912
149944
|
}
|
|
151913
149945
|
|
|
151914
149946
|
// ../tool-server/src/utils/preview-window.ts
|
|
151915
|
-
var
|
|
149947
|
+
var import_node_child_process32 = require("node:child_process");
|
|
151916
149948
|
var fs56 = __toESM(require("node:fs"));
|
|
151917
149949
|
var os14 = __toESM(require("node:os"));
|
|
151918
149950
|
var path39 = __toESM(require("node:path"));
|
|
@@ -151944,10 +149976,10 @@ function ensureLensAppBundle(electronBin) {
|
|
|
151944
149976
|
fs56.copyFileSync(path39.join(realContents, "Info.plist"), plist);
|
|
151945
149977
|
const setPlist = (entry, value) => {
|
|
151946
149978
|
try {
|
|
151947
|
-
(0,
|
|
149979
|
+
(0, import_node_child_process32.execFileSync)("/usr/libexec/PlistBuddy", ["-c", `Set :${entry} ${value}`, plist]);
|
|
151948
149980
|
} catch {
|
|
151949
149981
|
try {
|
|
151950
|
-
(0,
|
|
149982
|
+
(0, import_node_child_process32.execFileSync)("/usr/libexec/PlistBuddy", ["-c", `Add :${entry} string ${value}`, plist]);
|
|
151951
149983
|
} catch {
|
|
151952
149984
|
}
|
|
151953
149985
|
}
|
|
@@ -152006,7 +150038,7 @@ function createPreviewWindowManager(opts = {}) {
|
|
|
152006
150038
|
const wrapperBin = ensureLensAppBundle(electronBin);
|
|
152007
150039
|
const launchBin = wrapperBin ?? electronBin;
|
|
152008
150040
|
const launchArgs = wrapperBin ? ["--no-sandbox", mainScript] : [mainScript];
|
|
152009
|
-
const next = (0,
|
|
150041
|
+
const next = (0, import_node_child_process32.spawn)(launchBin, launchArgs, {
|
|
152010
150042
|
// Strips ELECTRON_RUN_AS_NODE, which an Electron-based MCP host leaves in
|
|
152011
150043
|
// our env, so the child boots as a GUI app instead of bare Node.
|
|
152012
150044
|
env: electronGuiChildEnv({ ARGENT_PREVIEW_URL: url2 }),
|