@expo/metro-config 56.0.4 → 56.0.6

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/file-store.d.ts +5 -0
  2. package/build/file-store.js +55 -0
  3. package/build/file-store.js.map +1 -1
  4. package/build/serializer/exportHermes.js +2 -2
  5. package/build/serializer/exportHermes.js.map +1 -1
  6. package/build/serializer/fork/baseJSBundle.d.ts +1 -0
  7. package/build/serializer/fork/baseJSBundle.js.map +1 -1
  8. package/build/serializer/jsOutput.d.ts +4 -1
  9. package/build/serializer/jsOutput.js.map +1 -1
  10. package/build/serializer/packedMap.d.ts +48 -0
  11. package/build/serializer/packedMap.js +416 -0
  12. package/build/serializer/packedMap.js.map +1 -0
  13. package/build/serializer/reconcileTransformSerializerPlugin.js +27 -21
  14. package/build/serializer/reconcileTransformSerializerPlugin.js.map +1 -1
  15. package/build/serializer/serializeChunks.js +16 -26
  16. package/build/serializer/serializeChunks.js.map +1 -1
  17. package/build/serializer/sourceMap.d.ts +43 -0
  18. package/build/serializer/sourceMap.js +304 -0
  19. package/build/serializer/sourceMap.js.map +1 -0
  20. package/build/serializer/withExpoSerializers.js +4 -14
  21. package/build/serializer/withExpoSerializers.js.map +1 -1
  22. package/build/transform-worker/metro-transform-worker.d.ts +4 -3
  23. package/build/transform-worker/metro-transform-worker.js +34 -25
  24. package/build/transform-worker/metro-transform-worker.js.map +1 -1
  25. package/build/transform-worker/postcss.js +34 -22
  26. package/build/transform-worker/postcss.js.map +1 -1
  27. package/build/transform-worker/transform-worker.d.ts +3 -2
  28. package/build/transform-worker/transform-worker.js.map +1 -1
  29. package/package.json +9 -6
  30. package/build/transform-worker/count-lines.d.ts +0 -14
  31. package/build/transform-worker/count-lines.js +0 -43
  32. package/build/transform-worker/count-lines.js.map +0 -1
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright © 2026 650 Industries.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.appendDebugIdToSourceMap = appendDebugIdToSourceMap;
10
+ exports.sourceMapString = sourceMapString;
11
+ exports.sourceMapStringNonBlocking = sourceMapStringNonBlocking;
12
+ exports.patchMetroSourceMapStringForPackedMaps = patchMetroSourceMapStringForPackedMaps;
13
+ exports.composeSourceMaps = composeSourceMaps;
14
+ exports.rawMappingsToEncodedMap = rawMappingsToEncodedMap;
15
+ const packedMap_1 = require("./packedMap");
16
+ let _remapping;
17
+ function loadRemapping() {
18
+ if (!_remapping) {
19
+ _remapping = require('@jridgewell/remapping');
20
+ }
21
+ return _remapping;
22
+ }
23
+ let _Generator;
24
+ function loadGenerator() {
25
+ if (!_Generator) {
26
+ _Generator = require('@expo/metro/metro-source-map/Generator').default;
27
+ }
28
+ return _Generator;
29
+ }
30
+ let _isJsModule;
31
+ function loadMetroSerializerHelpers() {
32
+ if (!_isJsModule) {
33
+ _isJsModule = require('@expo/metro/metro/DeltaBundler/Serializers/helpers/js.js').isJsModule;
34
+ }
35
+ return { isJsModule: _isJsModule };
36
+ }
37
+ function feedModuleSegments(generator, tuples, carryOver) {
38
+ for (let i = 0, n = tuples.length; i < n; i++) {
39
+ const tuple = tuples[i];
40
+ const line = tuple[0] + carryOver;
41
+ const column = tuple[1];
42
+ if (tuple.length === 2) {
43
+ generator.addSimpleMapping(line, column);
44
+ }
45
+ else if (tuple.length === 4) {
46
+ generator.addSourceMapping(line, column, tuple[2], tuple[3]);
47
+ }
48
+ else {
49
+ generator.addNamedSourceMapping(line, column, tuple[2], tuple[3], tuple[4]);
50
+ }
51
+ }
52
+ }
53
+ // Encoder fast path: read the `Int32Array` directly, skipping the Proxy
54
+ // and the tuple-per-segment allocation that Proxy iteration would incur.
55
+ // Without this, encoding a large bundle would allocate millions of
56
+ // transient tuples per pass — defeating the in-memory storage win.
57
+ function feedModuleSegmentsPacked(generator, packed, carryOver) {
58
+ const buf = packed.buf;
59
+ const names = packed.names;
60
+ const count = packed.count;
61
+ for (let i = 0; i < count; i++) {
62
+ const off = i * packedMap_1.STRIDE;
63
+ const line = buf[off] + carryOver;
64
+ const column = buf[off + 1];
65
+ const srcLine = buf[off + 2];
66
+ if (srcLine === packedMap_1.SENTINEL) {
67
+ generator.addSimpleMapping(line, column);
68
+ continue;
69
+ }
70
+ const srcCol = buf[off + 3];
71
+ const nameIdx = buf[off + 4];
72
+ if (nameIdx === packedMap_1.SENTINEL) {
73
+ generator.addSourceMapping(line, column, srcLine, srcCol);
74
+ }
75
+ else {
76
+ generator.addNamedSourceMapping(line, column, srcLine, srcCol, names[nameIdx]);
77
+ }
78
+ }
79
+ }
80
+ // Inlined rather than going through Metro's `getSourceMapInfo` because
81
+ // it spreads `data` and drops the non-enumerable `__packedMap`,
82
+ // silently forcing the encoder onto the slow Proxy path.
83
+ function readSourceMapInfo(module, options) {
84
+ const data = getModuleJsData(module);
85
+ // Don't read `data.map` when `__packedMap` is set — `data.map` is a
86
+ // lazy accessor that materializes the Proxy on first read, and the
87
+ // fast path below doesn't need it.
88
+ let packed = data.data.__packedMap;
89
+ let map;
90
+ if (!packed) {
91
+ map = data.data.map;
92
+ // Self-heal a `SerializableSourceMap` `data.map` that bypassed the wrapper.
93
+ if ((0, packedMap_1.isSerializableSourceMap)(map)) {
94
+ packed = packedMap_1.PackedMap.deserialize(map);
95
+ map = undefined;
96
+ }
97
+ }
98
+ return {
99
+ path: options.getSourceUrl?.(module) ?? module.path,
100
+ source: options.excludeSource || data.type === 'js/module/asset' ? '' : module.getSource().toString(),
101
+ functionMap: data.data.functionMap,
102
+ isIgnored: options.shouldAddToIgnoreList(module),
103
+ map,
104
+ packed,
105
+ lineCount: data.data.lineCount,
106
+ };
107
+ }
108
+ function getModuleJsData(module) {
109
+ for (const out of module.output) {
110
+ const type = out.type;
111
+ if (typeof type === 'string' && type.startsWith('js/')) {
112
+ return out;
113
+ }
114
+ }
115
+ throw new Error(`[expo-metro-config] Module "${module.path}" has no JS output. Cannot build a sourcemap entry.`);
116
+ }
117
+ function processModuleIntoGenerator(generator, module, options, carryOver) {
118
+ const info = readSourceMapInfo(module, options);
119
+ generator.startFile(info.path, info.source, info.functionMap ?? null, {
120
+ addToIgnoreList: info.isIgnored,
121
+ });
122
+ if (info.packed) {
123
+ feedModuleSegmentsPacked(generator, info.packed, carryOver);
124
+ }
125
+ else if (Array.isArray(info.map)) {
126
+ // Legacy plain-tuple path — hits for cache entries written before
127
+ // `data.map` switched to `SerializableSourceMap`, and for modules from custom
128
+ // transformers that don't emit packed format.
129
+ feedModuleSegments(generator, info.map, carryOver);
130
+ }
131
+ generator.endFile();
132
+ return carryOver + info.lineCount;
133
+ }
134
+ function filterModules(modules, processModuleFilter) {
135
+ const { isJsModule } = loadMetroSerializerHelpers();
136
+ const out = [];
137
+ for (const m of modules) {
138
+ if (isJsModule(m) && processModuleFilter(m)) {
139
+ out.push(m);
140
+ }
141
+ }
142
+ return out;
143
+ }
144
+ // Splice `,"debugId":"..."` in front of the trailing `}` of an already
145
+ // JSON-encoded sourcemap. Used for Hermes output where we don't control
146
+ // the JSON producer.
147
+ function appendDebugIdToSourceMap(sourceMap, debugId) {
148
+ return sourceMap.slice(0, -1) + `,"debugId":${JSON.stringify(debugId)}}`;
149
+ }
150
+ function emitGeneratorJson(generator, options) {
151
+ const json = generator.toString(undefined, { excludeSource: options.excludeSource });
152
+ return options.debugId ? appendDebugIdToSourceMap(json, options.debugId) : json;
153
+ }
154
+ function sourceMapString(modules, options) {
155
+ const Generator = loadGenerator();
156
+ const generator = new Generator();
157
+ const filtered = filterModules(modules, options.processModuleFilter);
158
+ let carryOver = 0;
159
+ for (const mod of filtered) {
160
+ carryOver = processModuleIntoGenerator(generator, mod, options, carryOver);
161
+ }
162
+ return emitGeneratorJson(generator, options);
163
+ }
164
+ // Yields back to the event loop every ~50 ms so the node server stays
165
+ // responsive on very large bundles. Matches Metro's `getSourceMapInfosImpl`
166
+ // pacing.
167
+ async function sourceMapStringNonBlocking(modules, options) {
168
+ const Generator = loadGenerator();
169
+ const generator = new Generator();
170
+ const filtered = filterModules(modules, options.processModuleFilter);
171
+ const NS_IN_MS = 1_000_000;
172
+ const SLICE_NS = 50 * NS_IN_MS;
173
+ let carryOver = 0;
174
+ let i = 0;
175
+ await new Promise((resolve) => {
176
+ const tick = () => {
177
+ const start = process.hrtime();
178
+ while (i < filtered.length) {
179
+ carryOver = processModuleIntoGenerator(generator, filtered[i], options, carryOver);
180
+ i++;
181
+ const diff = process.hrtime(start);
182
+ if (diff[1] > SLICE_NS || diff[0] > 0) {
183
+ setImmediate(tick);
184
+ return;
185
+ }
186
+ }
187
+ resolve();
188
+ };
189
+ tick();
190
+ });
191
+ return emitGeneratorJson(generator, options);
192
+ }
193
+ // Metro's `Server._processSourceMapRequest` calls
194
+ // `sourceMapStringNonBlocking` directly, bypassing the `customSerializer`
195
+ // chain — so without rerouting it, every dev `.map` fetch iterates the
196
+ // `data.map` Proxy and the encoder fast path is unreachable.
197
+ function patchMetroSourceMapStringForPackedMaps() {
198
+ const stock = require('@expo/metro/metro/DeltaBundler/Serializers/sourceMapString');
199
+ stock.sourceMapString = sourceMapString;
200
+ stock.sourceMapStringNonBlocking = sourceMapStringNonBlocking;
201
+ }
202
+ // `maps[0]` is the original-most transform; `maps[maps.length - 1]` is
203
+ // the most recent. Built on `@jridgewell/remapping` instead of mozilla's
204
+ // `SourceMapConsumer`-based composer.
205
+ //
206
+ // Two shims around remapping:
207
+ // - Translate `x_google_ignoreList` to the standard `ignoreList` on
208
+ // each input. Metro's `Generator` emits only the legacy alias, but
209
+ // remapping's `TraceMap` reads only the standard field, so without
210
+ // this ignore-list info disappears across compose.
211
+ // - Carry over `x_hermes_function_offsets` (load-bearing for Hermes
212
+ // bytecode-frame symbolication) and re-emit the legacy
213
+ // `x_google_ignoreList` alias for devtools that haven't yet picked up
214
+ // the rename.
215
+ //
216
+ // `x_facebook_sources` is deliberately dropped — Expo doesn't ship to FB
217
+ // symbolicators.
218
+ function composeSourceMaps(maps) {
219
+ if (maps.length < 1) {
220
+ throw new Error('composeSourceMaps: Expected at least one map');
221
+ }
222
+ const normalized = maps.map((map) => {
223
+ if (map.ignoreList || !map.x_google_ignoreList) {
224
+ return map;
225
+ }
226
+ return { ...map, ignoreList: map.x_google_ignoreList };
227
+ });
228
+ // Metro convention is original-first; remapping is most-recent first.
229
+ const reversed = normalized.slice().reverse();
230
+ const composed = loadRemapping()(reversed, () => null);
231
+ // Re-emit as a plain object — remapping returns a `SourceMap` class
232
+ // instance, which doesn't round-trip JSON cleanly.
233
+ const result = {
234
+ version: composed.version,
235
+ mappings: composed.mappings,
236
+ names: composed.names,
237
+ sources: composed.sources,
238
+ };
239
+ if (composed.file != null) {
240
+ result.file = composed.file;
241
+ }
242
+ if (composed.sourceRoot != null) {
243
+ result.sourceRoot = composed.sourceRoot;
244
+ }
245
+ if (composed.sourcesContent) {
246
+ result.sourcesContent = composed.sourcesContent;
247
+ }
248
+ // Required by Hermes for bytecode-frame symbolication. Lives on the
249
+ // most-recent map (the Hermes map) and passes through unchanged.
250
+ const last = maps[maps.length - 1];
251
+ if (last.x_hermes_function_offsets) {
252
+ result.x_hermes_function_offsets = last.x_hermes_function_offsets;
253
+ }
254
+ // Emit both standard and legacy keys so devtools either side of the
255
+ // rename keep working.
256
+ if (composed.ignoreList && composed.ignoreList.length > 0) {
257
+ result.ignoreList = composed.ignoreList;
258
+ result.x_google_ignoreList = composed.ignoreList;
259
+ }
260
+ return result;
261
+ }
262
+ let _genMapping;
263
+ function loadGenMapping() {
264
+ if (!_genMapping) {
265
+ _genMapping = require('@jridgewell/gen-mapping');
266
+ }
267
+ return _genMapping;
268
+ }
269
+ // Convert Babel's `result.rawMappings` directly to an encoded sourcemap
270
+ // for feeding into a minifier. `BabelSourceMapSegment` lines are
271
+ // 1-based; `gen-mapping`'s `addSegment` is 0-based — subtract 1 at the
272
+ // boundary. Skipping a tuple intermediate avoids one Array allocation
273
+ // per segment.
274
+ function rawMappingsToEncodedMap(opts) {
275
+ const { GenMapping, addSegment, setSourceContent, toEncodedMap } = loadGenMapping();
276
+ const map = new GenMapping({ file: opts.filename });
277
+ setSourceContent(map, opts.filename, opts.source);
278
+ for (const m of opts.rawMappings) {
279
+ const genLine = m.generated.line - 1;
280
+ const genCol = m.generated.column;
281
+ if (m.original == null) {
282
+ addSegment(map, genLine, genCol);
283
+ }
284
+ else if (typeof m.name !== 'string') {
285
+ addSegment(map, genLine, genCol, opts.filename, m.original.line - 1, m.original.column);
286
+ }
287
+ else {
288
+ addSegment(map, genLine, genCol, opts.filename, m.original.line - 1, m.original.column, m.name);
289
+ }
290
+ }
291
+ const encoded = toEncodedMap(map);
292
+ // gen-mapping always registers `opts.filename` as the single source, so
293
+ // hard-coding avoids a `.map(...)` allocation and a `(string | null)[]`
294
+ // narrowing.
295
+ return {
296
+ version: encoded.version,
297
+ file: encoded.file ?? undefined,
298
+ mappings: encoded.mappings,
299
+ names: encoded.names,
300
+ sources: [opts.filename],
301
+ sourcesContent: encoded.sourcesContent,
302
+ };
303
+ }
304
+ //# sourceMappingURL=sourceMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceMap.js","sourceRoot":"","sources":["../../src/serializer/sourceMap.ts"],"names":[],"mappings":"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"}
@@ -12,16 +12,8 @@ const jsc_safe_url_1 = require("jsc-safe-url");
12
12
  const debugId_1 = require("./debugId");
13
13
  const environmentVariableSerializerPlugin_1 = require("./environmentVariableSerializerPlugin");
14
14
  const serializeChunks_1 = require("./serializeChunks");
15
+ const sourceMap_1 = require("./sourceMap");
15
16
  const env_1 = require("../env");
16
- // Lazy-loaded to avoid pulling in metro-source-map and @babel/traverse at startup (~100ms savings)
17
- let _sourceMapString;
18
- function getSourceMapString() {
19
- if (!_sourceMapString) {
20
- _sourceMapString =
21
- require('@expo/metro/metro/DeltaBundler/Serializers/sourceMapString').sourceMapString;
22
- }
23
- return _sourceMapString;
24
- }
25
17
  // Lazy-loaded to avoid pulling in @babel/generator, @babel/core at startup
26
18
  let _reconcileTransformSerializerPlugin;
27
19
  function getReconcileTransformSerializerPlugin() {
@@ -38,7 +30,7 @@ function getTreeShakeSerializer() {
38
30
  }
39
31
  return _treeShakeSerializer;
40
32
  }
41
- // Lazy-loaded to avoid pulling in metro's getAppendScripts -> sourceMapString chain at startup
33
+ // Lazy-loaded to avoid pulling in metro's getAppendScripts at startup
42
34
  let _baseJSBundle;
43
35
  function getBaseJSBundle() {
44
36
  if (!_baseJSBundle) {
@@ -135,10 +127,8 @@ function createDefaultExportCustomSerializer(config, configOptions = {}) {
135
127
  })).code;
136
128
  }
137
129
  const getEnsuredMaps = () => {
138
- bundleMap ??= getSourceMapString()([...premodulesToBundle, ...(0, serializeChunks_1.getSortedModules)([...graph.dependencies.values()], options)], {
139
- // TODO: Surface this somehow.
140
- excludeSource: false,
141
- // excludeSource: options.serializerOptions?.excludeSource,
130
+ bundleMap ??= (0, sourceMap_1.sourceMapString)([...premodulesToBundle, ...(0, serializeChunks_1.getSortedModules)([...graph.dependencies.values()], options)], {
131
+ excludeSource: options.serializerOptions?.excludeSource ?? false,
142
132
  processModuleFilter: options.processModuleFilter,
143
133
  shouldAddToIgnoreList: options.shouldAddToIgnoreList,
144
134
  });
@@ -1 +1 @@
1
- {"version":3,"file":"withExpoSerializers.js","sourceRoot":"","sources":["../../src/serializer/withExpoSerializers.ts"],"names":[],"mappings":";;;;;AAoFA,kDAiBC;AAID,sDAqBC;AAED,kFAqJC;AAkHD,oFAoBC;AAlZD,0FAAkE;AAElE,+CAAyD;AAEzD,uCAAyC;AACzC,+FAG+C;AAE/C,uDAA+E;AAC/E,gCAA6B;AAI7B,mGAAmG;AACnG,IAAI,gBAA6G,CAAC;AAClH,SAAS,kBAAkB;IACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,gBAAgB;YACd,OAAO,CAAC,4DAA4D,CAAC,CAAC,eAAe,CAAC;IAC1F,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,2EAA2E;AAC3E,IAAI,mCAA6H,CAAC;AAClI,SAAS,qCAAqC;IAC5C,IAAI,CAAC,mCAAmC,EAAE,CAAC;QACzC,mCAAmC;YACjC,OAAO,CAAC,sCAAsC,CAAC,CAAC,kCAAkC,CAAC;IACvF,CAAC;IACD,OAAO,mCAAmC,CAAC;AAC7C,CAAC;AAED,IAAI,oBAAsF,CAAC;AAC3F,SAAS,sBAAsB;IAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,oBAAoB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC,mBAAmB,CAAC;IACpF,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,+FAA+F;AAC/F,IAAI,aAAgE,CAAC;AACrE,SAAS,eAAe;IACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC,YAAY,CAAC;IAC9D,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAyBD,SAAgB,mBAAmB,CACjC,MAAc,EACd,UAAmC,EAAE;IAErC,MAAM,UAAU,GAAuB,EAAE,CAAC;IAC1C,UAAU,CAAC,IAAI,CAAC,mEAA6B,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAG,CAAC,uBAAuB,EAAE,CAAC;QACjC,UAAU,CAAC,IAAI,CAAC,yEAAmC,CAAC,CAAC;IACvD,CAAC;IAED,+BAA+B;IAC/B,UAAU,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAE1C,uDAAuD;IACvD,UAAU,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC;IAEzD,OAAO,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,iFAAiF;AACjF,qBAAqB;AACrB,SAAgB,qBAAqB,CACnC,MAAc,EACd,UAA8B,EAC9B,UAAmC,EAAE;IAErC,MAAM,cAAc,GAAG,oCAAoC,CACzD,MAAM,EACN,UAAU,EACV,MAAM,CAAC,UAAU,EAAE,gBAAgB,IAAI,IAAI,EAC3C,OAAO,CACR,CAAC;IAEF,mFAAmF;IACnF,qFAAqF;IAErF,yFAAyF;IACzF,MAAM,CAAC,UAAU,KAAK,EAAE,CAAC;IACzB,yFAAyF;IACzF,MAAM,CAAC,UAAU,CAAC,gBAAgB,GAAG,cAAc,CAAC;IAEpD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,mCAAmC,CACjD,MAA4B,EAC5B,gBAAyC,EAAE;IAE3C,OAAO,KAAK,EACV,UAAkB,EAClB,UAA0C,EAC1C,KAAiC,EACjC,YAA+B,EACkB,EAAE;QACnD,8HAA8H;QAC9H,MAAM,aAAa,GACjB,KAAK,CAAC,gBAAgB,CAAC,GAAG;YAC1B,KAAK,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,WAAW,KAAK,MAAM,CAAC;QACxE,mGAAmG;QACnG,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC;QAE9E,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,KAAK,CAAC,gBAAgB,EAAE,QAAQ;YAC1C,WAAW,EAAE,KAAK,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,WAAW,IAAI,QAAQ;SACrF,CAAC;QAEF,MAAM,OAAO,GAAsB;YACjC,GAAG,YAAY;YACf,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE;gBACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC;gBACzD,CAAC;gBAED,OAAO,YAAY,CAAC,cAAc,CAChC,QAAQ;gBACR,gGAAgG;gBAChG,OAAO,CACR,CAAC;YACJ,CAAC;SACF,CAAC;QAEF,IAAI,OAA2B,CAAC;QAChC,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,CAAC;gBAC9B,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,8BAA8B;YAC9B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC9D,GAAG,OAAO;gBACV,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,IAAA,wBAAc,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YAC/C,OAAO,GAAG,IAAA,sBAAY,EAAC,UAAU,CAAC,CAAC;YACnC,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,IAAI,kBAAkB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QAEzC,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,SAAS,GAAkB,IAAI,CAAC;QAEpC,+DAA+D;QAC/D,yGAAyG;QACzG,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC/F,IAAI,wBAAwB,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9F,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,UAAU,GAAG,MAAM,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;gBACzB,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;YAC9B,IAAI,aAAa,CAAC,wCAAwC,EAAE,CAAC;gBAC3D,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,wCAAwC,EAAE,CAAC;oBAC5E,kBAAkB,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GAAG,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;YACD,UAAU,GAAG,IAAA,wBAAc,EACzB,eAAe,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE;gBACvD,GAAG,OAAO;gBACV,OAAO;aACR,CAAC,CACH,CAAC,IAAI,CAAC;QACT,CAAC;QAED,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,SAAS,KAAK,kBAAkB,EAAE,CAChC,CAAC,GAAG,kBAAkB,EAAE,GAAG,IAAA,kCAAgB,EAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EACvF;gBACE,8BAA8B;gBAC9B,aAAa,EAAE,KAAK;gBACpB,2DAA2D;gBAC3D,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;gBAChD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;aACrD,CACF,CAAC;YAEF,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAA,2BAAY,EAAC,OAAO,CAAC,SAAS,CAAC;gBACzC,CAAC,CAAC,IAAA,0BAAW,EAAC,OAAO,CAAC,SAAS,CAAC;gBAChC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;YAC/C,2CAA2C;YAC3C,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,OAAO;oBACL,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,cAAc,EAAE;iBACtB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,SAAS;aACf,CAAC;QACJ,CAAC;QAED,cAAc;QAEd,SAAS,KAAK,cAAc,EAAE,CAAC;QAE/B,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,0BAA0B,GAAG,CAAC,SAAiB,EAAE,EAAE;gBACvD,qHAAqH;gBACrH,8DAA8D;gBAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9C,eAAe,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC;gBACxC,4CAA4C;gBAC5C,sCAAsC;gBACtC,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACzC,CAAC,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,0BAA0B,CAAC,SAAS,CAAC;aAC3C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,SAAS;SACf,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAmB,EACnB,kBAAsC,EACtC,gBAAyC,EAAE;IAE3C,MAAM,iBAAiB,GACrB,kBAAkB,IAAI,mCAAmC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEnF,MAAM,cAAc,GAAG,KAAK,EAC1B,UAAkB,EAClB,UAA0C,EAC1C,KAAiC,EACjC,YAAmC,EACc,EAAE;QACnD,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,KAAK,CAAC,gBAAgB,EAAE,QAAQ;YAC1C,WAAW,EAAE,KAAK,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,WAAW,IAAI,QAAQ;SACrF,CAAC;QAEF,MAAM,cAAc,GAClB,KAAK,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,KAAK,MAAM,CAAC;QAC5E,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;QAE5F,MAAM,OAAO,GAA0B;YACrC,GAAG,YAAY;YACf,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE;gBACrC,0EAA0E;gBAC1E,+EAA+E;gBAC/E,kFAAkF;gBAClF,IAAI,UAAU,GAAG,QAAQ,CAAC;gBAC1B,IAAI,cAAc,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChD,UAAU,GAAG,GAAG,QAAQ,SAAS,CAAC;gBACpC,CAAC;gBAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,OAAO,YAAY,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC;gBAC3D,CAAC;gBACD,OAAO,YAAY,CAAC,cAAc,CAChC,UAAU;gBACV,gGAAgG;gBAChG,OAAO,CACR,CAAC;YACJ,CAAC;SACF,CAAC;QAEF,MAAM,uBAAuB,GAAG,YAAY,CAAC,iBAAiB,CAAC;QAE/D,uEAAuE;QACvE,gHAAgH;QAChH,MAAM,uBAAuB,GAAG,CAAC,CAAC,uBAAuB,EAAE,MAAM,CAAC;QAElE,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE;YAC9B,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,OAAO;oBACL,UAAU,EAAE,uBAAuB,CAAC,MAAM;oBAC1C,WAAW,EAAE,uBAAuB,CAAC,WAAW;oBAChD,WAAW,EAAE,uBAAuB,CAAC,WAAW;oBAChD,iBAAiB,EAAE,uBAAuB,CAAC,iBAAiB;iBAC7D,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,OAAO,CAAC,SAAS,CAAC;oBAC/C,CAAC,CAAC,IAAA,0BAAW,EAAC,OAAO,CAAC,SAAS,CAAC;oBAChC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;gBAEtB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;gBAEnD,OAAO;oBACL,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC;oBACrD,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,MAAM;oBACtE,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,MAAM;oBACtE,iBAAiB,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,MAAM;iBACrE,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,iBAAiB,EAAE,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QAED,yDAAyD;QACzD,OAAO,CAAC,iBAAiB,GAAG;YAC1B,GAAG,OAAO,CAAC,iBAAiB;YAC5B,GAAG,iBAAiB;SACrB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,0CAAwB,EAC3C,MAAM,EACN;YACE,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,CAAC,iBAAiB;YACxD,WAAW,EAAE,CAAC,CAAC,iBAAiB,CAAC,WAAW;YAC5C,GAAG,aAAa;SACjB,EACD,UAAU,EACV,UAAU,EACV,KAAK,EAEL,OAAO,CACR,CAAC;QAEF,IAAI,uBAAuB,EAAE,CAAC;YAC5B,qFAAqF;YACrF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAgB,oCAAoC,CAClD,MAAmB,EACnB,UAA4C,EAC5C,kBAAqC,EACrC,UAAmC,EAAE;IAErC,MAAM,eAAe,GAAG,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAElF,OAAO,0BAA0B,CAC/B,kBAAkB,EAClB,KAAK,EAAE,GAAG,KAA2B,EAA0B,EAAE;QAC/D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC;IACnC,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,QAA2B,EAAE,IAAgB;IAC/E,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,oBAAoB,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,wBAAwB,CAAC,UAA8B;IAC9D,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,sBAAsB,IAAI,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACxE,OAAO,UAAU,CAAC,oBAAyC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,YAAkC;IACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,qCAAqC;YACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAW,CAAC;YAChC,IAAI,iBAAiB,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;gBAC1E,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"withExpoSerializers.js","sourceRoot":"","sources":["../../src/serializer/withExpoSerializers.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,12 @@
9
9
  * https://github.com/facebook/metro/blob/412771475c540b6f85d75d9dcd5a39a6e0753582/packages/metro-transform-worker/src/index.js#L1
10
10
  */
11
11
  import { types as t } from '@babel/core';
12
- import type { MetroSourceMapSegmentTuple } from '@expo/metro/metro-source-map';
13
12
  import type { JsTransformerConfig, JsTransformOptions } from '@expo/metro/metro-transform-worker';
14
13
  import type { CollectedDependencies, Options as CollectDependenciesOptions } from './collect-dependencies';
15
14
  import { InvalidRequireCallError as InternalInvalidRequireCallError } from './collect-dependencies';
16
15
  import type { ExpoJsOutput } from '../serializer/jsOutput';
16
+ import { type SerializableSourceMap } from '../serializer/packedMap';
17
+ import { type BabelSourceMapSegment } from '../serializer/sourceMap';
17
18
  export { JsTransformOptions };
18
19
  interface TransformResponse {
19
20
  readonly dependencies: CollectedDependencies['dependencies'];
@@ -24,9 +25,9 @@ export declare class InvalidRequireCallError extends Error {
24
25
  filename: string;
25
26
  constructor(innerError: InternalInvalidRequireCallError, filename: string);
26
27
  }
27
- export declare const minifyCode: (config: Pick<JsTransformerConfig, "minifierPath" | "minifierConfig">, filename: string, code: string, source: string, map: MetroSourceMapSegmentTuple[], reserved?: string[]) => Promise<{
28
+ export declare const minifyCode: (config: Pick<JsTransformerConfig, "minifierPath" | "minifierConfig">, filename: string, code: string, source: string, rawMappings: readonly BabelSourceMapSegment[], reserved?: string[]) => Promise<{
28
29
  code: string;
29
- map: MetroSourceMapSegmentTuple[];
30
+ sourceMap: SerializableSourceMap;
30
31
  }>;
31
32
  export declare function applyImportSupport<TFile extends t.File>(ast: TFile, { filename, options, importDefault, importAll, collectLocations, performConstantFolding, }: {
32
33
  filename: string;
@@ -63,8 +63,9 @@ const metroTransformPlugins = __importStar(require("@expo/metro/metro-transform-
63
63
  const node_assert_1 = __importDefault(require("node:assert"));
64
64
  const assetTransformer = __importStar(require("./asset-transformer"));
65
65
  const collect_dependencies_1 = __importStar(require("./collect-dependencies"));
66
- const count_lines_1 = require("./count-lines");
67
66
  const resolveOptions_1 = require("./resolveOptions");
67
+ const packedMap_1 = require("../serializer/packedMap");
68
+ const sourceMap_1 = require("../serializer/sourceMap");
68
69
  const transform_plugins_1 = require("../transform-plugins");
69
70
  const getMinifier_1 = require("./utils/getMinifier");
70
71
  class InvalidRequireCallError extends Error {
@@ -94,19 +95,8 @@ function getDynamicDepsBehavior(inPackages, filename) {
94
95
  throw new Error(`invalid value for dynamic deps behavior: \`${inPackages}\``);
95
96
  }
96
97
  }
97
- const minifyCode = async (config, filename, code, source, map, reserved = []) => {
98
- const sourceMap = (0, metro_source_map_1.fromRawMappings)([
99
- {
100
- code,
101
- source,
102
- map,
103
- // functionMap is overridden by the serializer
104
- functionMap: null,
105
- path: filename,
106
- // isIgnored is overriden by the serializer
107
- isIgnored: false,
108
- },
109
- ]).toMap(undefined, {});
98
+ const minifyCode = async (config, filename, code, source, rawMappings, reserved = []) => {
99
+ const sourceMap = (0, sourceMap_1.rawMappingsToEncodedMap)({ filename, source, rawMappings });
110
100
  const minify = (0, getMinifier_1.getMinifier)(config.minifierPath);
111
101
  try {
112
102
  const minified = await minify({
@@ -118,7 +108,9 @@ const minifyCode = async (config, filename, code, source, map, reserved = []) =>
118
108
  });
119
109
  return {
120
110
  code: minified.code,
121
- map: minified.map ? (0, metro_source_map_1.toBabelSegments)(minified.map).map(metro_source_map_1.toSegmentTuple) : [],
111
+ sourceMap: minified.map
112
+ ? (0, packedMap_1.packDecodedMappings)({ mappings: minified.map.mappings, names: minified.map.names })
113
+ : (0, packedMap_1.emptySourceMap)(),
122
114
  };
123
115
  }
124
116
  catch (error) {
@@ -380,12 +372,17 @@ async function transformJS(file, { config, options }) {
380
372
  sourceFileName: file.filename,
381
373
  sourceMaps: true,
382
374
  }, file.code);
383
- // NOTE: incorrectly typed upstream
384
- let map = result?.rawMappings.map(metro_source_map_1.toSegmentTuple) ?? [];
375
+ // `rawMappings` is omitted from `@types/babel__generator`'s
376
+ // `GeneratorResult`, but Babel emits it whenever `sourceMaps: true`.
377
+ const rawMappings = result?.rawMappings ?? [];
385
378
  let code = result.code;
379
+ let sourceMap;
386
380
  // NOTE: We might want to enable this on native + hermes when tree shaking is enabled.
387
381
  if (minify) {
388
- ({ map, code } = await (0, exports.minifyCode)(config, file.filename, result.code, file.code, map, reserved));
382
+ ({ sourceMap, code } = await (0, exports.minifyCode)(config, file.filename, result.code, file.code, rawMappings, reserved));
383
+ }
384
+ else {
385
+ sourceMap = (0, packedMap_1.packRawMappings)(rawMappings);
389
386
  }
390
387
  const possibleReconcile = optimize && collectDependenciesOptions
391
388
  ? {
@@ -409,7 +406,7 @@ async function transformJS(file, { config, options }) {
409
406
  }
410
407
  : undefined;
411
408
  let lineCount;
412
- ({ lineCount, map } = (0, count_lines_1.countLinesAndTerminateMap)(code, map));
409
+ ({ lineCount, sourceMap } = (0, packedMap_1.countLinesAndTerminateSourceMap)(code, sourceMap));
413
410
  // Clean the AST for tree shaking by stripping non-serializable values (Symbols, functions, etc.)
414
411
  // that React Compiler and other Babel plugins may add.
415
412
  const output = [
@@ -417,7 +414,11 @@ async function transformJS(file, { config, options }) {
417
414
  data: {
418
415
  code,
419
416
  lineCount,
420
- map,
417
+ // Reconcile re-runs Babel codegen and replaces `data.map` via
418
+ // `installPackedMap` before any reader sees it, so the sourceMap emitted
419
+ // here would be discarded — short-circuit to an empty Array to skip
420
+ // the work and avoid GC pressure on optimize builds.
421
+ map: possibleReconcile ? [] : sourceMap,
421
422
  functionMap: file.functionMap,
422
423
  hasCjsExports: file.hasCjsExports,
423
424
  reactServerReference: file.reactServerReference,
@@ -518,10 +519,10 @@ async function transformJSON(file, { options, config }) {
518
519
  let code = config.unstable_disableModuleWrapping === true
519
520
  ? JsFileWrapping.jsonToCommonJS(file.code)
520
521
  : JsFileWrapping.wrapJson(file.code, config.globalPrefix);
521
- let map = [];
522
+ let sourceMap = (0, packedMap_1.emptySourceMap)();
522
523
  const minify = (0, resolveOptions_1.shouldMinify)(options);
523
524
  if (minify) {
524
- ({ map, code } = await (0, exports.minifyCode)(config, file.filename, code, file.code, map));
525
+ ({ sourceMap, code } = await (0, exports.minifyCode)(config, file.filename, code, file.code, []));
525
526
  }
526
527
  let jsType;
527
528
  if (file.type === 'asset') {
@@ -534,10 +535,10 @@ async function transformJSON(file, { options, config }) {
534
535
  jsType = 'js/module';
535
536
  }
536
537
  let lineCount;
537
- ({ lineCount, map } = (0, count_lines_1.countLinesAndTerminateMap)(code, map));
538
+ ({ lineCount, sourceMap } = (0, packedMap_1.countLinesAndTerminateSourceMap)(code, sourceMap));
538
539
  const output = [
539
540
  {
540
- data: { code, lineCount, map, functionMap: null },
541
+ data: { code, lineCount, map: sourceMap, functionMap: null },
541
542
  type: jsType,
542
543
  },
543
544
  ];
@@ -612,6 +613,9 @@ async function transform(config, projectRoot, filename, data, options) {
612
613
  };
613
614
  return transformJSWithBabel(file, context);
614
615
  }
616
+ // NOTE: Increment if cache becomes incompatible (original value would be '')
617
+ // 1. Added new packed source map format
618
+ const CACHE_VERSION = '1';
615
619
  function getCacheKey(config, opts) {
616
620
  const {
617
621
  // The `expo_customTransformerPath` from `./supervising-transform-worker` should not participate be part of the cache key
@@ -643,7 +647,12 @@ function getCacheKey(config, opts) {
643
647
  extendsBabelConfigPath: config.extendsBabelConfigPath,
644
648
  })
645
649
  : '';
646
- return [filesKey, (0, metro_cache_1.stableHash)(remainingConfig).toString('hex'), babelTransformerCacheKey].join('$');
650
+ const keyParts = [];
651
+ if (CACHE_VERSION) {
652
+ keyParts.push(CACHE_VERSION);
653
+ }
654
+ keyParts.push(filesKey, (0, metro_cache_1.stableHash)(remainingConfig).toString('hex'), babelTransformerCacheKey);
655
+ return keyParts.join('$');
647
656
  }
648
657
  /**
649
658
  * Produces a Babel template that transforms an "import(...)" call into a