@expo/metro-config 58.0.1 → 58.0.2

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.
Files changed (32) hide show
  1. package/build/ExpoMetroConfig.d.ts +4 -4
  2. package/build/ExpoMetroConfig.js +18 -7
  3. package/build/ExpoMetroConfig.js.map +1 -1
  4. package/build/build-cache-store.d.ts +12 -0
  5. package/build/build-cache-store.js +46 -0
  6. package/build/build-cache-store.js.map +1 -0
  7. package/build/env.d.ts +4 -0
  8. package/build/env.js +6 -0
  9. package/build/env.js.map +1 -1
  10. package/build/serializer/environmentVariableSerializerPlugin.js +4 -2
  11. package/build/serializer/environmentVariableSerializerPlugin.js.map +1 -1
  12. package/build/serializer/jsOutput.d.ts +3 -6
  13. package/build/serializer/jsOutput.js.map +1 -1
  14. package/build/serializer/reconcileTransformSerializerPlugin.js +14 -15
  15. package/build/serializer/reconcileTransformSerializerPlugin.js.map +1 -1
  16. package/build/serializer/sourceMap.d.ts +40 -4
  17. package/build/serializer/sourceMap.js +85 -155
  18. package/build/serializer/sourceMap.js.map +1 -1
  19. package/build/transform-worker/metro-transform-worker.d.ts +2 -3
  20. package/build/transform-worker/metro-transform-worker.js +38 -39
  21. package/build/transform-worker/metro-transform-worker.js.map +1 -1
  22. package/build/transform-worker/noxcturnal/noxcturnal-transformer.d.ts +0 -1
  23. package/build/transform-worker/noxcturnal/noxcturnal-transformer.js.map +1 -1
  24. package/build/transform-worker/noxcturnal/plugins/metro-dependency.js +1 -1
  25. package/build/transform-worker/noxcturnal/plugins/metro-dependency.js.map +1 -1
  26. package/build/transform-worker/transform-worker.js.map +1 -1
  27. package/build/transform-worker/transformShim.js +3 -4
  28. package/build/transform-worker/transformShim.js.map +1 -1
  29. package/package.json +4 -4
  30. package/build/serializer/packedMap.d.ts +0 -48
  31. package/build/serializer/packedMap.js +0 -440
  32. package/build/serializer/packedMap.js.map +0 -1
@@ -10,10 +10,12 @@ Object.defineProperty(exports, "__esModule", {
10
10
  0 && (module.exports = {
11
11
  appendDebugIdToSourceMap: null,
12
12
  composeSourceMaps: null,
13
- patchMetroSourceMapStringForPackedMaps: null,
13
+ flattenSourceMap: null,
14
14
  rawMappingsToEncodedMap: null,
15
15
  sourceMapString: null,
16
- sourceMapStringNonBlocking: null
16
+ sourceMapStringNonBlocking: null,
17
+ vlqMapFromDecodedMap: null,
18
+ vlqMapFromEncodedMap: null
17
19
  });
18
20
  function _export(target, all) {
19
21
  for(var name in all)Object.defineProperty(target, name, {
@@ -28,8 +30,8 @@ _export(exports, {
28
30
  get composeSourceMaps () {
29
31
  return composeSourceMaps;
30
32
  },
31
- get patchMetroSourceMapStringForPackedMaps () {
32
- return patchMetroSourceMapStringForPackedMaps;
33
+ get flattenSourceMap () {
34
+ return flattenSourceMap;
33
35
  },
34
36
  get rawMappingsToEncodedMap () {
35
37
  return rawMappingsToEncodedMap;
@@ -39,9 +41,14 @@ _export(exports, {
39
41
  },
40
42
  get sourceMapStringNonBlocking () {
41
43
  return sourceMapStringNonBlocking;
44
+ },
45
+ get vlqMapFromDecodedMap () {
46
+ return vlqMapFromDecodedMap;
47
+ },
48
+ get vlqMapFromEncodedMap () {
49
+ return vlqMapFromEncodedMap;
42
50
  }
43
51
  });
44
- const _packedMap = require("./packedMap");
45
52
  let _remapping;
46
53
  function loadRemapping() {
47
54
  if (!_remapping) {
@@ -56,174 +63,96 @@ function loadSourcemapCodec() {
56
63
  }
57
64
  return _sourcemapCodec;
58
65
  }
59
- let _Generator;
60
- function loadGenerator() {
61
- if (!_Generator) {
62
- _Generator = require('@expo/metro/metro-source-map/Generator').default;
66
+ let _metroSourceMap;
67
+ function loadMetroSourceMap() {
68
+ if (!_metroSourceMap) {
69
+ _metroSourceMap = require('@expo/metro/metro-source-map');
63
70
  }
64
- return _Generator;
71
+ return _metroSourceMap;
65
72
  }
66
- let _isJsModule;
67
- function loadMetroSerializerHelpers() {
68
- if (!_isJsModule) {
69
- _isJsModule = require('@expo/metro/metro/DeltaBundler/Serializers/helpers/js.js').isJsModule;
73
+ let _metroSourceMapString;
74
+ function loadMetroSourceMapString() {
75
+ if (!_metroSourceMapString) {
76
+ _metroSourceMapString = require('@expo/metro/metro/DeltaBundler/Serializers/sourceMapString');
70
77
  }
71
- return {
72
- isJsModule: _isJsModule
73
- };
78
+ return _metroSourceMapString;
74
79
  }
75
- function feedModuleSegments(generator, tuples, carryOver) {
76
- for(let i = 0, n = tuples.length; i < n; i++){
77
- const tuple = tuples[i];
78
- const line = tuple[0] + carryOver;
79
- const column = tuple[1];
80
- if (tuple.length === 2) {
81
- generator.addSimpleMapping(line, column);
82
- } else if (tuple.length === 4) {
83
- generator.addSourceMapping(line, column, tuple[2], tuple[3]);
84
- } else {
85
- generator.addNamedSourceMapping(line, column, tuple[2], tuple[3], tuple[4]);
86
- }
80
+ let _traceMapping;
81
+ function loadTraceMapping() {
82
+ if (!_traceMapping) {
83
+ _traceMapping = require('@jridgewell/trace-mapping');
87
84
  }
85
+ return _traceMapping;
88
86
  }
89
- // Encoder fast path: read the `Int32Array` directly, skipping the Proxy
90
- // and the tuple-per-segment allocation that Proxy iteration would incur.
91
- // Without this, encoding a large bundle would allocate millions of
92
- // transient tuples per pass — defeating the in-memory storage win.
93
- function feedModuleSegmentsPacked(generator, packed, carryOver) {
94
- const buf = packed.buf;
95
- const names = packed.names;
96
- const count = packed.count;
97
- for(let i = 0; i < count; i++){
98
- const off = i * _packedMap.STRIDE;
99
- const line = buf[off] + carryOver;
100
- const column = buf[off + 1];
101
- const srcLine = buf[off + 2];
102
- if (srcLine === _packedMap.SENTINEL) {
103
- generator.addSimpleMapping(line, column);
104
- continue;
105
- }
106
- const srcCol = buf[off + 3];
107
- const nameIdx = buf[off + 4];
108
- if (nameIdx === _packedMap.SENTINEL) {
109
- generator.addSourceMapping(line, column, srcLine, srcCol);
110
- } else {
111
- generator.addNamedSourceMapping(line, column, srcLine, srcCol, names[nameIdx]);
112
- }
87
+ function flattenSourceMap(map) {
88
+ if (!('sections' in map)) {
89
+ return map;
90
+ }
91
+ const { FlattenMap, encodedMap } = loadTraceMapping();
92
+ const flat = encodedMap(new FlattenMap(map));
93
+ const result = {
94
+ version: flat.version,
95
+ mappings: flat.mappings,
96
+ names: flat.names,
97
+ sources: flat.sources
98
+ };
99
+ if (flat.file != null) {
100
+ result.file = flat.file;
113
101
  }
102
+ if (flat.sourcesContent) {
103
+ result.sourcesContent = flat.sourcesContent;
104
+ }
105
+ if (flat.ignoreList && flat.ignoreList.length > 0) {
106
+ result.ignoreList = flat.ignoreList;
107
+ }
108
+ return result;
114
109
  }
115
- // Inlined rather than going through Metro's `getSourceMapInfo` because
116
- // it spreads `data` and drops the non-enumerable `__packedMap`,
117
- // silently forcing the encoder onto the slow Proxy path.
118
- function readSourceMapInfo(module1, options) {
119
- const data = getModuleJsData(module1);
120
- // Don't read `data.map` when `__packedMap` is set — `data.map` is a
121
- // lazy accessor that materializes the Proxy on first read, and the
122
- // fast path below doesn't need it.
123
- let packed = data.data.__packedMap;
124
- let map;
125
- if (!packed) {
126
- map = data.data.map;
127
- // Self-heal a `SerializableSourceMap` `data.map` that bypassed the wrapper.
128
- if ((0, _packedMap.isSerializableSourceMap)(map)) {
129
- packed = _packedMap.PackedMap.deserialize(map);
130
- map = undefined;
131
- }
110
+ const NEWLINE = /\r\n?|\n|\u2028|\u2029/g;
111
+ function countLinesAndLastLineColumn(code) {
112
+ let lineCount = 1;
113
+ let lastLineStart = 0;
114
+ for (const match of code.matchAll(NEWLINE)){
115
+ lineCount++;
116
+ lastLineStart = match.index + match[0].length;
132
117
  }
133
118
  return {
134
- path: options.getSourceUrl?.(module1) ?? module1.path,
135
- source: options.excludeSource || data.type === 'js/module/asset' ? '' : module1.getSource().toString(),
136
- functionMap: data.data.functionMap,
137
- isIgnored: options.shouldAddToIgnoreList(module1),
138
- map,
139
- packed,
140
- lineCount: data.data.lineCount
119
+ lineCount,
120
+ lastLineColumn: code.length - lastLineStart
141
121
  };
142
122
  }
143
- function getModuleJsData(module1) {
144
- for (const out of module1.output){
145
- const type = out.type;
146
- if (typeof type === 'string' && type.startsWith('js/')) {
147
- return out;
148
- }
149
- }
150
- throw new Error(`[expo-metro-config] Module "${module1.path}" has no JS output. Cannot build a sourcemap entry.`);
151
- }
152
- function processModuleIntoGenerator(generator, module1, options, carryOver) {
153
- const info = readSourceMapInfo(module1, options);
154
- generator.startFile(info.path, info.source, info.functionMap ?? null, {
155
- addToIgnoreList: info.isIgnored
156
- });
157
- if (info.packed) {
158
- feedModuleSegmentsPacked(generator, info.packed, carryOver);
159
- } else if (Array.isArray(info.map)) {
160
- // Legacy plain-tuple path — hits for cache entries written before
161
- // `data.map` switched to `SerializableSourceMap`, and for modules from custom
162
- // transformers that don't emit packed format.
163
- feedModuleSegments(generator, info.map, carryOver);
164
- }
165
- generator.endFile();
166
- return carryOver + info.lineCount;
123
+ function vlqMapFromDecodedMap(decodedMap, code) {
124
+ const { lineCount, lastLineColumn } = countLinesAndLastLineColumn(code);
125
+ const map = loadMetroSourceMap().vlqMapFromBabelDecodedMap(decodedMap ?? {
126
+ mappings: [],
127
+ names: []
128
+ }, [
129
+ lineCount,
130
+ lastLineColumn
131
+ ]);
132
+ return {
133
+ lineCount,
134
+ map
135
+ };
167
136
  }
168
- function filterModules(modules, processModuleFilter) {
169
- const { isJsModule } = loadMetroSerializerHelpers();
170
- const out = [];
171
- for (const m of modules){
172
- if (isJsModule(m) && processModuleFilter(m)) {
173
- out.push(m);
174
- }
175
- }
176
- return out;
137
+ function vlqMapFromEncodedMap(encoded, code) {
138
+ const mappings = loadSourcemapCodec().decode(encoded.mappings);
139
+ return vlqMapFromDecodedMap({
140
+ mappings,
141
+ names: encoded.names
142
+ }, code);
177
143
  }
178
144
  function appendDebugIdToSourceMap(sourceMap, debugId) {
179
145
  return sourceMap.slice(0, -1) + `,"debugId":${JSON.stringify(debugId)}}`;
180
146
  }
181
- function emitGeneratorJson(generator, options) {
182
- const json = generator.toString(undefined, {
183
- excludeSource: options.excludeSource
184
- });
185
- return options.debugId ? appendDebugIdToSourceMap(json, options.debugId) : json;
186
- }
187
147
  function sourceMapString(modules, options) {
188
- const Generator = loadGenerator();
189
- const generator = new Generator();
190
- const filtered = filterModules(modules, options.processModuleFilter);
191
- let carryOver = 0;
192
- for (const mod of filtered){
193
- carryOver = processModuleIntoGenerator(generator, mod, options, carryOver);
194
- }
195
- return emitGeneratorJson(generator, options);
148
+ const { debugId, ...generatorOptions } = options;
149
+ const json = loadMetroSourceMapString().sourceMapString(modules, generatorOptions);
150
+ return debugId ? appendDebugIdToSourceMap(json, debugId) : json;
196
151
  }
197
152
  async function sourceMapStringNonBlocking(modules, options) {
198
- const Generator = loadGenerator();
199
- const generator = new Generator();
200
- const filtered = filterModules(modules, options.processModuleFilter);
201
- const NS_IN_MS = 1_000_000;
202
- const SLICE_NS = 50 * NS_IN_MS;
203
- let carryOver = 0;
204
- let i = 0;
205
- await new Promise((resolve)=>{
206
- const tick = ()=>{
207
- const start = process.hrtime();
208
- while(i < filtered.length){
209
- carryOver = processModuleIntoGenerator(generator, filtered[i], options, carryOver);
210
- i++;
211
- const diff = process.hrtime(start);
212
- if (diff[1] > SLICE_NS || diff[0] > 0) {
213
- setImmediate(tick);
214
- return;
215
- }
216
- }
217
- resolve();
218
- };
219
- tick();
220
- });
221
- return emitGeneratorJson(generator, options);
222
- }
223
- function patchMetroSourceMapStringForPackedMaps() {
224
- const stock = require('@expo/metro/metro/DeltaBundler/Serializers/sourceMapString');
225
- stock.sourceMapString = sourceMapString;
226
- stock.sourceMapStringNonBlocking = sourceMapStringNonBlocking;
153
+ const { debugId, ...generatorOptions } = options;
154
+ const json = await loadMetroSourceMapString().sourceMapStringNonBlocking(modules, generatorOptions);
155
+ return debugId ? appendDebugIdToSourceMap(json, debugId) : json;
227
156
  }
228
157
  function repairInvalidNegativeIndices(map) {
229
158
  const { decode, encode } = loadSourcemapCodec();
@@ -252,7 +181,8 @@ function composeSourceMaps(maps) {
252
181
  if (maps.length < 1) {
253
182
  throw new Error('composeSourceMaps: Expected at least one map');
254
183
  }
255
- const normalized = maps.map((map)=>{
184
+ const normalized = maps.map((input)=>{
185
+ const map = flattenSourceMap(input);
256
186
  if (map.ignoreList || !map.x_google_ignoreList) {
257
187
  return map;
258
188
  }
@@ -309,7 +239,7 @@ function composeSourceMaps(maps) {
309
239
  }
310
240
  // Required by Hermes for bytecode-frame symbolication. Lives on the
311
241
  // most-recent map (the Hermes map) and passes through unchanged.
312
- const last = maps[maps.length - 1];
242
+ const last = normalized[normalized.length - 1];
313
243
  if (last.x_hermes_function_offsets) {
314
244
  result.x_hermes_function_offsets = last.x_hermes_function_offsets;
315
245
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["serializer/sourceMap.ts"],"sourcesContent":[null],"names":["appendDebugIdToSourceMap","composeSourceMaps","patchMetroSourceMapStringForPackedMaps","rawMappingsToEncodedMap","sourceMapString","sourceMapStringNonBlocking","_remapping","loadRemapping","require","_sourcemapCodec","loadSourcemapCodec","_Generator","loadGenerator","default","_isJsModule","loadMetroSerializerHelpers","isJsModule","feedModuleSegments","generator","tuples","carryOver","i","n","length","tuple","line","column","addSimpleMapping","addSourceMapping","addNamedSourceMapping","feedModuleSegmentsPacked","packed","buf","names","count","off","STRIDE","srcLine","SENTINEL","srcCol","nameIdx","readSourceMapInfo","module","options","data","getModuleJsData","__packedMap","map","isSerializableSourceMap","PackedMap","deserialize","undefined","path","getSourceUrl","source","excludeSource","type","getSource","toString","functionMap","isIgnored","shouldAddToIgnoreList","lineCount","out","output","startsWith","Error","processModuleIntoGenerator","info","startFile","addToIgnoreList","Array","isArray","endFile","filterModules","modules","processModuleFilter","m","push","sourceMap","debugId","slice","JSON","stringify","emitGeneratorJson","json","Generator","filtered","mod","NS_IN_MS","SLICE_NS","Promise","resolve","tick","start","process","hrtime","diff","setImmediate","stock","repairInvalidNegativeIndices","decode","encode","decoded","mappings","changed","segment","maps","normalized","ignoreList","x_google_ignoreList","input","reverse","remap","composed","error","didRepair","fixed","result","version","sources","file","sourceRoot","sourcesContent","last","x_hermes_function_offsets","_genMapping","loadGenMapping","opts","GenMapping","addSegment","setSourceContent","toEncodedMap","filename","rawMappings","genLine","generated","genCol","original","name","encoded"],"mappings":"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"}
1
+ {"version":3,"sources":["serializer/sourceMap.ts"],"sourcesContent":[null],"names":["appendDebugIdToSourceMap","composeSourceMaps","flattenSourceMap","rawMappingsToEncodedMap","sourceMapString","sourceMapStringNonBlocking","vlqMapFromDecodedMap","vlqMapFromEncodedMap","_remapping","loadRemapping","require","_sourcemapCodec","loadSourcemapCodec","_metroSourceMap","loadMetroSourceMap","_metroSourceMapString","loadMetroSourceMapString","_traceMapping","loadTraceMapping","map","FlattenMap","encodedMap","flat","result","version","mappings","names","sources","file","sourcesContent","ignoreList","length","NEWLINE","countLinesAndLastLineColumn","code","lineCount","lastLineStart","match","matchAll","index","lastLineColumn","decodedMap","vlqMapFromBabelDecodedMap","encoded","decode","sourceMap","debugId","slice","JSON","stringify","modules","options","generatorOptions","json","repairInvalidNegativeIndices","encode","decoded","changed","line","i","segment","maps","Error","normalized","input","x_google_ignoreList","reverse","remap","composed","error","didRepair","fixed","sourceRoot","last","x_hermes_function_offsets","_genMapping","loadGenMapping","opts","GenMapping","addSegment","setSourceContent","toEncodedMap","filename","source","m","rawMappings","genLine","generated","genCol","column","original","name","undefined"],"mappings":"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"}
@@ -11,8 +11,7 @@
11
11
  import { types as t } from '@babel/core';
12
12
  import type { JsTransformerConfig, JsTransformOptions } from '@expo/metro/metro-transform-worker';
13
13
  import type { ExpoJsOutput } from '../serializer/jsOutput';
14
- import { type SerializableSourceMap } from '../serializer/packedMap';
15
- import { type BabelSourceMapSegment, type EncodedTransformerSourceMap } from '../serializer/sourceMap';
14
+ import { type BabelSourceMapSegment, type EncodedMappings, type EncodedTransformerSourceMap } from '../serializer/sourceMap';
16
15
  import type { CollectedDependencies, Options as CollectDependenciesOptions } from './collect-dependencies';
17
16
  import { InvalidRequireCallError as InternalInvalidRequireCallError } from './collect-dependencies';
18
17
  import type { ExpoJsTransformerConfig } from './types';
@@ -28,7 +27,7 @@ export declare class InvalidRequireCallError extends Error {
28
27
  }
29
28
  export declare const minifyCode: (config: Pick<JsTransformerConfig, "minifierPath" | "minifierConfig">, filename: string, code: string, source: string, rawMappings: readonly BabelSourceMapSegment[], reserved?: string[], inputSourceMap?: EncodedTransformerSourceMap) => Promise<{
30
29
  code: string;
31
- sourceMap: SerializableSourceMap;
30
+ map: EncodedMappings;
32
31
  }>;
33
32
  export declare function applyImportSupport<TFile extends t.File>(ast: TFile, { filename, options, importDefault, importAll, collectLocations, performConstantFolding, }: {
34
33
  filename: string;
@@ -115,7 +115,6 @@ function _nodeassert() {
115
115
  };
116
116
  return data;
117
117
  }
118
- const _packedMap = require("../serializer/packedMap");
119
118
  const _sourceMap = require("../serializer/sourceMap");
120
119
  const _transformplugins = require("../transform-plugins");
121
120
  const _assettransformer = /*#__PURE__*/ _interop_require_wildcard(require("./asset-transformer"));
@@ -227,10 +226,10 @@ const minifyCode = async (config, filename, code, source, rawMappings, reserved
227
226
  });
228
227
  return {
229
228
  code: minified.code,
230
- sourceMap: minified.map ? (0, _packedMap.packDecodedMappings)({
231
- mappings: minified.map.mappings,
232
- names: minified.map.names
233
- }) : (0, _packedMap.emptySourceMap)()
229
+ map: minified.map ?? {
230
+ mappings: '',
231
+ names: []
232
+ }
234
233
  };
235
234
  } catch (error) {
236
235
  if (error.constructor.name === 'JS_Parse_Error') {
@@ -396,7 +395,7 @@ async function transformJS(file, { config, options }) {
396
395
  // Add "use strict" if the file was parsed as a module, and the directive did
397
396
  // not exist yet.
398
397
  applyUseStrictDirective(ast);
399
- const unstable_renameRequire = config.unstable_renameRequire;
398
+ const unstable_useStaticHermesModuleFactory = Boolean(options.customTransformOptions?.unstable_staticHermesOptimizedRequire);
400
399
  // NOTE(@hassankhan): Constant folding can be an expensive/slow operation, so we limit it to
401
400
  // production builds, or files that have specifically seen a change in their exports
402
401
  if (!options.dev || file.performConstantFolding) {
@@ -473,10 +472,9 @@ async function transformJS(file, { config, options }) {
473
472
  wrappedAst = ast;
474
473
  } else {
475
474
  // TODO: Replace this with a cheaper transform that doesn't require AST.
476
- ({ ast: wrappedAst } = _JsFileWrapping().wrapModule(ast, importDefault, importAll, dependencyMapName, config.globalPrefix, // TODO: This config is optional to allow its introduction in a minor
477
- // release. It should be made non-optional in ConfigT or removed in
478
- // future.
479
- unstable_renameRequire === false));
475
+ ({ ast: wrappedAst } = _JsFileWrapping().wrapModule(ast, importDefault, importAll, dependencyMapName, config.globalPrefix, {
476
+ unstable_useStaticHermesModuleFactory
477
+ }));
480
478
  }
481
479
  }
482
480
  const minify = (0, _resolveOptions.shouldMinify)(options);
@@ -526,19 +524,21 @@ async function transformJS(file, { config, options }) {
526
524
  })
527
525
  ]) : null;
528
526
  let code = result.code;
529
- let sourceMap;
527
+ let lineCount;
528
+ let map;
530
529
  // NOTE: We might want to enable this on native + hermes when tree shaking is enabled.
531
530
  if (minify) {
532
- ({ sourceMap, code } = await minifyCode(config, file.filename, result.code, file.code, rawMappings, reserved, generatedSourceMap ? {
531
+ let minifiedMap;
532
+ ({ map: minifiedMap, code } = await minifyCode(config, file.filename, result.code, file.code, rawMappings, reserved, generatedSourceMap ? {
533
533
  ...generatedSourceMap,
534
534
  version: 3,
535
535
  sources: generatedSourceMap.sources.map((source)=>source ?? file.filename)
536
536
  } : undefined));
537
+ ({ lineCount, map } = (0, _sourceMap.vlqMapFromEncodedMap)(minifiedMap, code));
538
+ } else if (generatedSourceMap) {
539
+ ({ lineCount, map } = (0, _sourceMap.vlqMapFromEncodedMap)(generatedSourceMap, code));
537
540
  } else {
538
- sourceMap = generatedSourceMap ? (0, _packedMap.packDecodedMappings)({
539
- mappings: generatedSourceMap.mappings,
540
- names: generatedSourceMap.names
541
- }) : (0, _packedMap.packRawMappings)(rawMappings);
541
+ ({ lineCount, map } = (0, _sourceMap.vlqMapFromDecodedMap)(result?.decodedMap, code));
542
542
  }
543
543
  const possibleReconcile = optimize && collectDependenciesOptions ? {
544
544
  inlineRequires: options.inlineRequires,
@@ -555,10 +555,8 @@ async function transformJS(file, { config, options }) {
555
555
  unstable_dependencyMapReservedName: config.unstable_dependencyMapReservedName,
556
556
  optimizationSizeLimit: config.optimizationSizeLimit,
557
557
  unstable_disableNormalizePseudoGlobals: config.unstable_disableNormalizePseudoGlobals,
558
- unstable_renameRequire
558
+ unstable_useStaticHermesModuleFactory
559
559
  } : undefined;
560
- let lineCount;
561
- ({ lineCount, sourceMap } = (0, _packedMap.countLinesAndTerminateSourceMap)(code, sourceMap));
562
560
  // Clean the AST for tree shaking by stripping non-serializable values (Symbols, functions, etc.)
563
561
  // that React Compiler and other Babel plugins may add.
564
562
  const output = [
@@ -566,11 +564,11 @@ async function transformJS(file, { config, options }) {
566
564
  data: {
567
565
  code,
568
566
  lineCount,
569
- // Reconcile re-runs Babel codegen and replaces `data.map` via
570
- // `installPackedMap` before any reader sees it, so the sourceMap emitted
571
- // here would be discarded — short-circuit to an empty Array to skip
572
- // the work and avoid GC pressure on optimize builds.
573
- map: possibleReconcile ? [] : sourceMap,
567
+ // Reconcile re-runs Babel codegen and replaces `data.map` before any reader sees it.
568
+ map: possibleReconcile ? {
569
+ mappings: '',
570
+ names: []
571
+ } : map,
574
572
  functionMap: file.functionMap,
575
573
  hasCjsExports: file.hasCjsExports,
576
574
  reactServerReference: file.reactServerReference,
@@ -679,12 +677,14 @@ async function completeFullNoxcturnalTransform(file, context, fullNoxcturnal) {
679
677
  }, context);
680
678
  }
681
679
  let code = fullNoxcturnal.result.code;
682
- let sourceMap;
680
+ let lineCount;
681
+ let map;
683
682
  if ((0, _resolveOptions.shouldMinify)(context.options)) {
684
683
  const reserved = context.config.unstable_dependencyMapReservedName == null ? [] : [
685
684
  context.config.unstable_dependencyMapReservedName
686
685
  ];
687
- ({ code, sourceMap } = await minifyCode(context.config, file.filename, code, file.code, [], reserved, {
686
+ let minifiedMap;
687
+ ({ code, map: minifiedMap } = await minifyCode(context.config, file.filename, code, file.code, [], reserved, {
688
688
  version: 3,
689
689
  sources: [
690
690
  file.filename
@@ -695,14 +695,10 @@ async function completeFullNoxcturnalTransform(file, context, fullNoxcturnal) {
695
695
  names: fullNoxcturnal.result.map.names,
696
696
  mappings: fullNoxcturnal.result.map.mappings
697
697
  }));
698
+ ({ lineCount, map } = (0, _sourceMap.vlqMapFromEncodedMap)(minifiedMap, code));
698
699
  } else {
699
- sourceMap = (0, _packedMap.packDecodedMappings)({
700
- mappings: fullNoxcturnal.result.map.mappings,
701
- names: fullNoxcturnal.result.map.names
702
- });
700
+ ({ lineCount, map } = (0, _sourceMap.vlqMapFromEncodedMap)(fullNoxcturnal.result.map, code));
703
701
  }
704
- let lineCount;
705
- ({ lineCount, sourceMap } = (0, _packedMap.countLinesAndTerminateSourceMap)(code, sourceMap));
706
702
  return {
707
703
  dependencies: fullNoxcturnal.dependencies,
708
704
  output: [
@@ -711,7 +707,7 @@ async function completeFullNoxcturnalTransform(file, context, fullNoxcturnal) {
711
707
  data: {
712
708
  code,
713
709
  lineCount,
714
- map: sourceMap,
710
+ map,
715
711
  functionMap: fullNoxcturnal.result.functionMap ?? file.functionMap,
716
712
  hasCjsExports: typeof fullNoxcturnal.result.metadata.hasCjsExports === 'boolean' ? fullNoxcturnal.result.metadata.hasCjsExports : file.hasCjsExports,
717
713
  reactServerReference: typeof fullNoxcturnal.result.metadata.reactServerReference === 'string' ? fullNoxcturnal.result.metadata.reactServerReference : file.reactServerReference,
@@ -749,10 +745,13 @@ async function transformJSWithBabelFallback(file, context, transformer) {
749
745
  }
750
746
  async function transformJSON(file, { options, config }) {
751
747
  let code = config.unstable_disableModuleWrapping === true ? _JsFileWrapping().jsonToCommonJS(file.code) : _JsFileWrapping().wrapJson(file.code, config.globalPrefix);
752
- let sourceMap = (0, _packedMap.emptySourceMap)();
748
+ let encodedMap = {
749
+ mappings: '',
750
+ names: []
751
+ };
753
752
  const minify = (0, _resolveOptions.shouldMinify)(options);
754
753
  if (minify) {
755
- ({ sourceMap, code } = await minifyCode(config, file.filename, code, file.code, []));
754
+ ({ map: encodedMap, code } = await minifyCode(config, file.filename, code, file.code, []));
756
755
  }
757
756
  let jsType;
758
757
  if (file.type === 'asset') {
@@ -762,14 +761,13 @@ async function transformJSON(file, { options, config }) {
762
761
  } else {
763
762
  jsType = 'js/module';
764
763
  }
765
- let lineCount;
766
- ({ lineCount, sourceMap } = (0, _packedMap.countLinesAndTerminateSourceMap)(code, sourceMap));
764
+ const { lineCount, map } = (0, _sourceMap.vlqMapFromEncodedMap)(encodedMap, code);
767
765
  const output = [
768
766
  {
769
767
  data: {
770
768
  code,
771
769
  lineCount,
772
- map: sourceMap,
770
+ map,
773
771
  functionMap: null
774
772
  },
775
773
  type: jsType
@@ -845,7 +843,8 @@ async function transform(config, projectRoot, filename, data, options) {
845
843
  }
846
844
  // NOTE: Increment if cache becomes incompatible (original value would be '')
847
845
  // 1. Added new packed source map format
848
- const CACHE_VERSION = '2';
846
+ // 3. Replaced the packed source map format with Metro's compact `VlqMap`
847
+ const CACHE_VERSION = '3';
849
848
  function getCacheKey(config, opts) {
850
849
  const { // The `expo_customTransformerPath` from `./supervising-transform-worker` should not be part of the cache key
851
850
  expo_customTransformerPath: _customTransformerPath, babelTransformerPath, minifierPath, ...remainingConfig } = config;