@impakers/debug 1.3.8 → 1.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react.js +24 -6
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +24 -6
- package/dist/react.mjs.map +1 -1
- package/package.json +1 -1
package/dist/react.js
CHANGED
|
@@ -1389,7 +1389,7 @@ function parseComponentFrame(stack) {
|
|
|
1389
1389
|
/\/dist\/index\./,
|
|
1390
1390
|
// Our bundled output (dist/index.mjs, dist/index.js)
|
|
1391
1391
|
/node_modules\//,
|
|
1392
|
-
// Any package in node_modules
|
|
1392
|
+
// Any package in node_modules (dev mode)
|
|
1393
1393
|
/react-dom/,
|
|
1394
1394
|
/react\.development/,
|
|
1395
1395
|
/react\.production/,
|
|
@@ -1397,25 +1397,31 @@ function parseComponentFrame(stack) {
|
|
|
1397
1397
|
/react-stack-bottom-frame/,
|
|
1398
1398
|
/react-reconciler/,
|
|
1399
1399
|
/scheduler/,
|
|
1400
|
-
|
|
1401
|
-
//
|
|
1400
|
+
/at <anonymous>:/
|
|
1401
|
+
// Standalone anonymous frames (proxy handler, eval)
|
|
1402
1402
|
];
|
|
1403
1403
|
const v8Re = /^\s*at\s+(?:.*?\s+\()?(.+?):(\d+):(\d+)\)?$/;
|
|
1404
1404
|
const webkitRe = /^[^@]*@(.+?):(\d+):(\d+)$/;
|
|
1405
|
+
let lastValid = null;
|
|
1405
1406
|
for (const line of lines) {
|
|
1406
1407
|
const trimmed = line.trim();
|
|
1407
1408
|
if (!trimmed) continue;
|
|
1408
|
-
if (skipPatterns.some((p) => p.test(trimmed)))
|
|
1409
|
+
if (skipPatterns.some((p) => p.test(trimmed))) {
|
|
1410
|
+
if (/at <anonymous>:/.test(trimmed) && lastValid) {
|
|
1411
|
+
return lastValid;
|
|
1412
|
+
}
|
|
1413
|
+
continue;
|
|
1414
|
+
}
|
|
1409
1415
|
const match = v8Re.exec(trimmed) || webkitRe.exec(trimmed);
|
|
1410
1416
|
if (match) {
|
|
1411
|
-
|
|
1417
|
+
lastValid = {
|
|
1412
1418
|
fileName: match[1],
|
|
1413
1419
|
line: parseInt(match[2], 10),
|
|
1414
1420
|
column: parseInt(match[3], 10)
|
|
1415
1421
|
};
|
|
1416
1422
|
}
|
|
1417
1423
|
}
|
|
1418
|
-
return
|
|
1424
|
+
return lastValid;
|
|
1419
1425
|
}
|
|
1420
1426
|
function cleanSourcePath(rawPath) {
|
|
1421
1427
|
let path = rawPath;
|
|
@@ -1440,6 +1446,9 @@ function probeComponentSource(fiber) {
|
|
|
1440
1446
|
}
|
|
1441
1447
|
const dispatcher = getReactDispatcher();
|
|
1442
1448
|
if (!dispatcher) {
|
|
1449
|
+
if (typeof window !== "undefined" && window.__IMPAKERS_DEBUG_LOG) {
|
|
1450
|
+
console.log("[impakers-debug] dispatcher not found, skipping probe");
|
|
1451
|
+
}
|
|
1443
1452
|
sourceProbeCache.set(fn, null);
|
|
1444
1453
|
return null;
|
|
1445
1454
|
}
|
|
@@ -1459,7 +1468,13 @@ function probeComponentSource(fiber) {
|
|
|
1459
1468
|
fn({});
|
|
1460
1469
|
} catch (e) {
|
|
1461
1470
|
if (e instanceof Error && e.stack) {
|
|
1471
|
+
if (typeof window !== "undefined" && window.__IMPAKERS_DEBUG_LOG) {
|
|
1472
|
+
console.log("[impakers-debug] probe stack:", e.stack);
|
|
1473
|
+
}
|
|
1462
1474
|
const frame = parseComponentFrame(e.stack);
|
|
1475
|
+
if (typeof window !== "undefined" && window.__IMPAKERS_DEBUG_LOG) {
|
|
1476
|
+
console.log("[impakers-debug] parsed frame:", frame);
|
|
1477
|
+
}
|
|
1463
1478
|
if (frame) {
|
|
1464
1479
|
const cleaned = cleanSourcePath(frame.fileName);
|
|
1465
1480
|
result = {
|
|
@@ -1516,6 +1531,9 @@ function getSourceLocation(element) {
|
|
|
1516
1531
|
};
|
|
1517
1532
|
}
|
|
1518
1533
|
const probed = probeSourceWalk(fiber);
|
|
1534
|
+
if (typeof window !== "undefined" && window.__IMPAKERS_DEBUG_LOG) {
|
|
1535
|
+
console.log("[impakers-debug] probe result:", probed);
|
|
1536
|
+
}
|
|
1519
1537
|
if (probed) {
|
|
1520
1538
|
return { found: true, source: probed, isReactApp: true, isProduction: false };
|
|
1521
1539
|
}
|