@vxrn/vite-plugin-metro 2.13.9 → 2.14.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.
@@ -40,6 +40,23 @@ function _define_property(obj, key, value) {
40
40
  } else obj[key] = value;
41
41
  return obj;
42
42
  }
43
+ function createTransformError(message, code, diagnostic) {
44
+ var _diagnostic_loc, _diagnostic_codeFrame;
45
+ var _diagnostic_errors_, _diagnostic_errors, _diagnostic_labels;
46
+ var loc = (_diagnostic_loc = diagnostic.loc) !== null && _diagnostic_loc !== void 0 ? _diagnostic_loc : (_diagnostic_errors = diagnostic.errors) === null || _diagnostic_errors === void 0 ? void 0 : (_diagnostic_errors_ = _diagnostic_errors[0]) === null || _diagnostic_errors_ === void 0 ? void 0 : _diagnostic_errors_.location;
47
+ var label = (_diagnostic_labels = diagnostic.labels) === null || _diagnostic_labels === void 0 ? void 0 : _diagnostic_labels[0];
48
+ if (!loc && label) {
49
+ var lines = code.slice(0, label.start).split(/\r\n|[\n\r\u2028\u2029]/);
50
+ loc = {
51
+ line: lines.length,
52
+ column: lines.at(-1).length
53
+ };
54
+ }
55
+ return Object.assign(new Error(message), {
56
+ loc,
57
+ codeFrame: (_diagnostic_codeFrame = diagnostic.codeFrame) !== null && _diagnostic_codeFrame !== void 0 ? _diagnostic_codeFrame : diagnostic.codeframe
58
+ });
59
+ }
43
60
  function collectModuleLiteralBindings(program) {
44
61
  var reassigned = /* @__PURE__ */ new Set();
45
62
  var declCount = /* @__PURE__ */ new Map();
@@ -446,7 +463,7 @@ function applyModuleResolverAliases(code, filename, projectRoot, aliases) {
446
463
  var _parsed_errors;
447
464
  var parsed = parseSync(filename, code, { lang: langForFilename(filename) });
448
465
  if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
449
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for alias resolution: ${parsed.errors[0].message}`);
466
+ throw createTransformError(`[vxrn/metro] Failed to parse ${filename} for alias resolution: ${parsed.errors[0].message}`, code, parsed.errors[0]);
450
467
  }
451
468
  if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
452
469
  var ms = new MagicString(code);
@@ -521,7 +538,7 @@ function applyInlineEnvVars(code, filename, isProduction) {
521
538
  var _parsed_errors;
522
539
  var parsed = parseSync(filename, code, { lang: langForFilename(filename) });
523
540
  if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
524
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for env inlining: ${parsed.errors[0].message}`);
541
+ throw createTransformError(`[vxrn/metro] Failed to parse ${filename} for env inlining: ${parsed.errors[0].message}`, code, parsed.errors[0]);
525
542
  }
526
543
  if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
527
544
  var processPublicEnv = Object.fromEntries(Object.entries(process.env).filter(function(param) {
@@ -781,7 +798,7 @@ function applyEnvironmentGuard(code, filename) {
781
798
  var _parsed_errors, _parsed_program;
782
799
  var parsed = parseSync(filename, code, { lang: langForFilename(filename) });
783
800
  if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
784
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for environment guards: ${parsed.errors[0].message}`);
801
+ throw createTransformError(`[vxrn/metro] Failed to parse ${filename} for environment guards: ${parsed.errors[0].message}`, code, parsed.errors[0]);
785
802
  }
786
803
  var body = parsed === null || parsed === void 0 ? void 0 : (_parsed_program = parsed.program) === null || _parsed_program === void 0 ? void 0 : _parsed_program.body;
787
804
  if (!body) return code;
@@ -825,7 +842,7 @@ function applyOneRouterMetro(code, filename, options) {
825
842
  if (!isMetroEntry && !isEntryCtx) return code;
826
843
  var parsed = parseSync(filename, code, { lang: langForFilename(filename) });
827
844
  if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
828
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for one-router-metro: ${parsed.errors[0].message}`);
845
+ throw createTransformError(`[vxrn/metro] Failed to parse ${filename} for one-router-metro: ${parsed.errors[0].message}`, code, parsed.errors[0]);
829
846
  }
830
847
  if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
831
848
  var ms = new MagicString(code);
@@ -1342,10 +1359,10 @@ function rewriteDependencyCalls(code, dependencies) {
1342
1359
  try {
1343
1360
  parsed = parseSync(filename, code, { lang: langForFilename(filename) });
1344
1361
  } catch (err) {
1345
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency rewriting: ${err.message || err}`);
1362
+ throw createTransformError(`[vxrn/metro] Failed to parse ${filename} for dependency rewriting: ${err.message || err}`, code, err);
1346
1363
  }
1347
1364
  if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
1348
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency rewriting: ${parsed.errors[0].message}`);
1365
+ throw createTransformError(`[vxrn/metro] Failed to parse ${filename} for dependency rewriting: ${parsed.errors[0].message}`, code, parsed.errors[0]);
1349
1366
  }
1350
1367
  if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return emptyResult;
1351
1368
  var contextLiteralBindings = collectModuleLiteralBindings(parsed.program);
@@ -1612,10 +1629,10 @@ function extractDependencies(code, filename, options) {
1612
1629
  try {
1613
1630
  parseResult = parseSync(filename, code, { lang: langForFilename(filename) });
1614
1631
  } catch (err) {
1615
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency extraction: ${err.message || err}`);
1632
+ throw createTransformError(`[vxrn/metro] Failed to parse ${filename} for dependency extraction: ${err.message || err}`, code, err);
1616
1633
  }
1617
1634
  if (parseResult === null || parseResult === void 0 ? void 0 : (_parseResult_errors = parseResult.errors) === null || _parseResult_errors === void 0 ? void 0 : _parseResult_errors.length) {
1618
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency extraction: ${parseResult.errors[0].message}`);
1635
+ throw createTransformError(`[vxrn/metro] Failed to parse ${filename} for dependency extraction: ${parseResult.errors[0].message}`, code, parseResult.errors[0]);
1619
1636
  }
1620
1637
  if (!(parseResult === null || parseResult === void 0 ? void 0 : parseResult.program)) {
1621
1638
  return [];
@@ -2019,7 +2036,7 @@ async function transform(config, projectRoot, filename, data, options) {
2019
2036
  });
2020
2037
  code = minified.code;
2021
2038
  } catch (err) {
2022
- throw new Error(`[vxrn/metro] Minifier failed for ${filename}: ${err.message || err}`);
2039
+ throw createTransformError(`[vxrn/metro] Minifier failed for ${filename}: ${err.message || err}`, code, err);
2023
2040
  }
2024
2041
  }
2025
2042
  var { lineCount, map } = countLinesAndTerminateMap(code, []);
@@ -2149,7 +2166,7 @@ async function transform(config, projectRoot, filename, data, options) {
2149
2166
  }
2150
2167
  }
2151
2168
  } catch (err) {
2152
- throw new Error(`[vxrn/metro] React Native codegen failed for ${filename}: ${err.message || err}`);
2169
+ throw createTransformError(`[vxrn/metro] React Native codegen failed for ${filename}: ${err.message || err}`, code2, err);
2153
2170
  }
2154
2171
  if (shouldStripFlow(filename, code2)) {
2155
2172
  try {
@@ -2161,7 +2178,7 @@ async function transform(config, projectRoot, filename, data, options) {
2161
2178
  }
2162
2179
  }
2163
2180
  } catch (err) {
2164
- throw new Error(`[vxrn/metro] Flow transform failed for ${filename}: ${err.message || err}`);
2181
+ throw createTransformError(`[vxrn/metro] Flow transform failed for ${filename}: ${err.message || err}`, code2, err);
2165
2182
  }
2166
2183
  }
2167
2184
  var asyncRequirePath = config.asyncRequireModulePath || "metro-runtime/src/modules/asyncRequire";
@@ -2222,7 +2239,7 @@ async function transform(config, projectRoot, filename, data, options) {
2222
2239
  }
2223
2240
  }
2224
2241
  } catch (err) {
2225
- throw new Error(`[vxrn/metro] React Compiler failed for ${filename}: ${err.message || err}`);
2242
+ throw createTransformError(`[vxrn/metro] React Compiler failed for ${filename}: ${err.message || err}`, code2, err);
2226
2243
  }
2227
2244
  }
2228
2245
  if (shouldRunWorklets) {
@@ -2236,7 +2253,7 @@ async function transform(config, projectRoot, filename, data, options) {
2236
2253
  }
2237
2254
  }
2238
2255
  } catch (err) {
2239
- throw new Error(`[vxrn/metro] Worklets transform failed for ${filename}: ${err.message || err}`);
2256
+ throw createTransformError(`[vxrn/metro] Worklets transform failed for ${filename}: ${err.message || err}`, code2, err);
2240
2257
  }
2241
2258
  }
2242
2259
  var lang = langForFilename(filename);
@@ -2254,10 +2271,10 @@ async function transform(config, projectRoot, filename, data, options) {
2254
2271
  sourcemap: true
2255
2272
  });
2256
2273
  } catch (err) {
2257
- throw new Error(`[vxrn/metro] Oxc transform failed for ${filename}: ${err.message || err}`);
2274
+ throw createTransformError(`[vxrn/metro] Oxc transform failed for ${filename}: ${err.message || err}`, code2, err);
2258
2275
  }
2259
2276
  if ((_oxcRes_errors = oxcRes.errors) === null || _oxcRes_errors === void 0 ? void 0 : _oxcRes_errors.length) {
2260
- throw new Error(`[vxrn/metro] Oxc transform failed for ${filename}: ${oxcRes.errors[0].message || oxcRes.errors[0]}`);
2277
+ throw createTransformError(`[vxrn/metro] Oxc transform failed for ${filename}: ${oxcRes.errors[0].message || oxcRes.errors[0]}`, code2, oxcRes.errors[0]);
2261
2278
  }
2262
2279
  code2 = oxcRes.code || code2;
2263
2280
  if (oxcRes.map) {
@@ -2272,7 +2289,7 @@ async function transform(config, projectRoot, filename, data, options) {
2272
2289
  }
2273
2290
  }
2274
2291
  } catch (err) {
2275
- throw new Error(`[vxrn/metro] native async/CJS lowering failed for ${filename}: ${err.message || err}`);
2292
+ throw createTransformError(`[vxrn/metro] native async/CJS lowering failed for ${filename}: ${err.message || err}`, code2, err);
2276
2293
  }
2277
2294
  try {
2278
2295
  var loopsRes = transformHermesLoops(code2, filename);
@@ -2300,7 +2317,7 @@ async function transform(config, projectRoot, filename, data, options) {
2300
2317
  }
2301
2318
  }
2302
2319
  } catch (err) {
2303
- throw new Error(`[vxrn/metro] Hermes loop-binding transform failed for ${filename}: ${err.message || err}`);
2320
+ throw createTransformError(`[vxrn/metro] Hermes loop-binding transform failed for ${filename}: ${err.message || err}`, code2, err);
2304
2321
  }
2305
2322
  var finalDeps = extractDependencies(code2, filename, {
2306
2323
  asyncRequireModulePath: asyncRequirePath,
@@ -2428,7 +2445,7 @@ var require = _$$_REQUIRE;
2428
2445
  intermediateMaps.length = 0;
2429
2446
  }
2430
2447
  } catch (err) {
2431
- throw new Error(`[vxrn/metro] Minifier failed for ${filename}: ${err.message || err}`);
2448
+ throw createTransformError(`[vxrn/metro] Minifier failed for ${filename}: ${err.message || err}`, code2, err);
2432
2449
  }
2433
2450
  }
2434
2451
  var rawMappings = [];