@impakers/debug 1.3.10 → 1.3.12

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 CHANGED
@@ -1388,6 +1388,8 @@ function parseComponentFrame(stack) {
1388
1388
  /source-location/,
1389
1389
  /\/dist\/index\./,
1390
1390
  // Our bundled output (dist/index.mjs, dist/index.js)
1391
+ /\/dist\/react\./,
1392
+ // Our React bundled output
1391
1393
  /node_modules\//,
1392
1394
  // Any package in node_modules (dev mode)
1393
1395
  /react-dom/,
@@ -1402,26 +1404,24 @@ function parseComponentFrame(stack) {
1402
1404
  ];
1403
1405
  const v8Re = /^\s*at\s+(?:.*?\s+\()?(.+?):(\d+):(\d+)\)?$/;
1404
1406
  const webkitRe = /^[^@]*@(.+?):(\d+):(\d+)$/;
1405
- let lastValid = null;
1407
+ let validCount = 0;
1406
1408
  for (const line of lines) {
1407
1409
  const trimmed = line.trim();
1408
1410
  if (!trimmed) continue;
1409
- if (skipPatterns.some((p) => p.test(trimmed))) {
1410
- if (/at <anonymous>:/.test(trimmed) && lastValid) {
1411
- return lastValid;
1412
- }
1413
- continue;
1414
- }
1411
+ if (skipPatterns.some((p) => p.test(trimmed))) continue;
1415
1412
  const match = v8Re.exec(trimmed) || webkitRe.exec(trimmed);
1416
1413
  if (match) {
1417
- lastValid = {
1418
- fileName: match[1],
1419
- line: parseInt(match[2], 10),
1420
- column: parseInt(match[3], 10)
1421
- };
1414
+ validCount++;
1415
+ if (validCount >= 3) {
1416
+ return {
1417
+ fileName: match[1],
1418
+ line: parseInt(match[2], 10),
1419
+ column: parseInt(match[3], 10)
1420
+ };
1421
+ }
1422
1422
  }
1423
1423
  }
1424
- return lastValid;
1424
+ return null;
1425
1425
  }
1426
1426
  function cleanSourcePath(rawPath) {
1427
1427
  let path = rawPath;
@@ -2121,30 +2121,51 @@ async function updateTaskStatus(endpoint, taskId, status) {
2121
2121
  var import_trace_mapping = require("@jridgewell/trace-mapping");
2122
2122
  var cache2 = /* @__PURE__ */ new Map();
2123
2123
  var failedUrls = /* @__PURE__ */ new Set();
2124
- function getSourceMapUrl(bundleUrl) {
2125
- if (bundleUrl.endsWith(".map")) return bundleUrl;
2126
- return `${bundleUrl}.map`;
2124
+ async function getSourceMapUrlFromBundle(bundleUrl) {
2125
+ try {
2126
+ const res = await fetch(bundleUrl, { cache: "force-cache" });
2127
+ if (!res.ok) return null;
2128
+ const text = await res.text();
2129
+ const match = text.match(/\/\/[#@]\s*sourceMappingURL\s*=\s*(\S+)\s*$/m);
2130
+ if (!match) return null;
2131
+ const mapRef = match[1];
2132
+ if (mapRef.startsWith("http")) return mapRef;
2133
+ const base = bundleUrl.substring(0, bundleUrl.lastIndexOf("/") + 1);
2134
+ return base + mapRef;
2135
+ } catch {
2136
+ return null;
2137
+ }
2127
2138
  }
2128
2139
  async function loadSourceMap(bundleUrl) {
2129
2140
  if (cache2.has(bundleUrl)) return cache2.get(bundleUrl) ?? null;
2130
2141
  if (failedUrls.has(bundleUrl)) return null;
2131
- const mapUrl = getSourceMapUrl(bundleUrl);
2142
+ const directMapUrl = bundleUrl.endsWith(".map") ? bundleUrl : `${bundleUrl}.map`;
2132
2143
  try {
2133
- const res = await fetch(mapUrl, { cache: "force-cache" });
2134
- if (!res.ok) {
2135
- failedUrls.add(bundleUrl);
2136
- cache2.set(bundleUrl, null);
2137
- return null;
2144
+ const res = await fetch(directMapUrl, { cache: "force-cache" });
2145
+ if (res.ok) {
2146
+ const rawMap = await res.json();
2147
+ const traceMap = new import_trace_mapping.AnyMap(rawMap);
2148
+ cache2.set(bundleUrl, traceMap);
2149
+ return traceMap;
2138
2150
  }
2139
- const rawMap = await res.json();
2140
- const traceMap = new import_trace_mapping.AnyMap(rawMap);
2141
- cache2.set(bundleUrl, traceMap);
2142
- return traceMap;
2143
2151
  } catch {
2144
- failedUrls.add(bundleUrl);
2145
- cache2.set(bundleUrl, null);
2146
- return null;
2147
2152
  }
2153
+ const actualMapUrl = await getSourceMapUrlFromBundle(bundleUrl);
2154
+ if (actualMapUrl) {
2155
+ try {
2156
+ const res = await fetch(actualMapUrl, { cache: "force-cache" });
2157
+ if (res.ok) {
2158
+ const rawMap = await res.json();
2159
+ const traceMap = new import_trace_mapping.AnyMap(rawMap);
2160
+ cache2.set(bundleUrl, traceMap);
2161
+ return traceMap;
2162
+ }
2163
+ } catch {
2164
+ }
2165
+ }
2166
+ failedUrls.add(bundleUrl);
2167
+ cache2.set(bundleUrl, null);
2168
+ return null;
2148
2169
  }
2149
2170
  async function resolveSourcePosition(bundlePath, line, column) {
2150
2171
  let bundleUrl;