@expo/metro-config 58.0.1 → 58.0.3

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 (50) 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/cache-vary/LruCache.d.ts +8 -0
  8. package/build/cache-vary/LruCache.js +39 -0
  9. package/build/cache-vary/LruCache.js.map +1 -0
  10. package/build/cache-vary/VaryingCacheStore.d.ts +34 -0
  11. package/build/cache-vary/VaryingCacheStore.js +265 -0
  12. package/build/cache-vary/VaryingCacheStore.js.map +1 -0
  13. package/build/cache-vary/ambient.d.ts +15 -0
  14. package/build/cache-vary/ambient.js +90 -0
  15. package/build/cache-vary/ambient.js.map +1 -0
  16. package/build/env.d.ts +4 -0
  17. package/build/env.js +6 -0
  18. package/build/env.js.map +1 -1
  19. package/build/serializer/environmentVariableSerializerPlugin.js +4 -2
  20. package/build/serializer/environmentVariableSerializerPlugin.js.map +1 -1
  21. package/build/serializer/jsOutput.d.ts +5 -6
  22. package/build/serializer/jsOutput.js.map +1 -1
  23. package/build/serializer/reconcileTransformSerializerPlugin.js +14 -15
  24. package/build/serializer/reconcileTransformSerializerPlugin.js.map +1 -1
  25. package/build/serializer/sourceMap.d.ts +40 -4
  26. package/build/serializer/sourceMap.js +85 -155
  27. package/build/serializer/sourceMap.js.map +1 -1
  28. package/build/transform-worker/metro-transform-worker.d.ts +2 -3
  29. package/build/transform-worker/metro-transform-worker.js +48 -42
  30. package/build/transform-worker/metro-transform-worker.js.map +1 -1
  31. package/build/transform-worker/noxcturnal/noxcturnal-transformer.d.ts +2 -1
  32. package/build/transform-worker/noxcturnal/noxcturnal-transformer.js +5 -0
  33. package/build/transform-worker/noxcturnal/noxcturnal-transformer.js.map +1 -1
  34. package/build/transform-worker/noxcturnal/plugins/cache-vary.d.ts +7 -0
  35. package/build/transform-worker/noxcturnal/plugins/cache-vary.js +49 -0
  36. package/build/transform-worker/noxcturnal/plugins/cache-vary.js.map +1 -0
  37. package/build/transform-worker/noxcturnal/plugins/define.js +7 -0
  38. package/build/transform-worker/noxcturnal/plugins/define.js.map +1 -1
  39. package/build/transform-worker/noxcturnal/plugins/metro-dependency.js +1 -1
  40. package/build/transform-worker/noxcturnal/plugins/metro-dependency.js.map +1 -1
  41. package/build/transform-worker/noxcturnal/plugins/process-env.js +7 -0
  42. package/build/transform-worker/noxcturnal/plugins/process-env.js.map +1 -1
  43. package/build/transform-worker/transform-worker.js.map +1 -1
  44. package/build/transform-worker/transformShim.js +3 -4
  45. package/build/transform-worker/transformShim.js.map +1 -1
  46. package/build/transform-worker/types.d.ts +4 -0
  47. package/package.json +4 -4
  48. package/build/serializer/packedMap.d.ts +0 -48
  49. package/build/serializer/packedMap.js +0 -440
  50. package/build/serializer/packedMap.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import type { ConfigT as MetroConfig } from '@expo/metro/metro-config';
2
2
  import type { MixedOutput, Module, ReadOnlyGraph } from '@expo/metro/metro/DeltaBundler/types';
3
3
  import { FileStore } from './binary-file-store';
4
+ import { BuildCacheStore } from './build-cache-store';
4
5
  import { INTERNAL_CALLSITES_REGEX } from './customizeFrame';
5
6
  export interface DefaultConfigOptions {
6
7
  /** @deprecated */
@@ -56,7 +57,7 @@ export declare function getDefaultConfig(projectRoot: string, { mode, isCSSEnabl
56
57
  nodeModulesPaths: string[];
57
58
  blockList: RegExp[];
58
59
  };
59
- cacheStores: FileStore<any>[];
60
+ cacheStores: BuildCacheStore<any>[] | FileStore<any>[];
60
61
  watcher: {
61
62
  additionalExts: string[];
62
63
  };
@@ -85,15 +86,14 @@ export declare function getDefaultConfig(projectRoot: string, { mode, isCSSEnabl
85
86
  readonly column: null | undefined | number;
86
87
  readonly methodName: null | undefined | string;
87
88
  }) => (null | undefined | {
88
- readonly collapse?: boolean;
89
+ readonly collapse?: boolean | undefined;
89
90
  }) | Promise<null | undefined | {
90
- readonly collapse?: boolean;
91
+ readonly collapse?: boolean | undefined;
91
92
  }>;
92
93
  };
93
94
  transformerPath: string;
94
95
  transformer: {
95
96
  unstable_workerThreads: true;
96
- unstable_renameRequire: false;
97
97
  _expoRouterPath: string | undefined;
98
98
  postcssHash: string | null;
99
99
  browserslistHash: string | null;
@@ -94,6 +94,7 @@ function _resolvefrom() {
94
94
  return data;
95
95
  }
96
96
  const _binaryfilestore = require("./binary-file-store");
97
+ const _buildcachestore = require("./build-cache-store");
97
98
  const _customizeFrame = require("./customizeFrame");
98
99
  const _env = require("./env");
99
100
  const _events = require("./events");
@@ -277,9 +278,22 @@ function getDefaultConfig(projectRoot, { mode, isCSSEnabled = true, unstable_bef
277
278
  console.log();
278
279
  }
279
280
  const metroDefaultValues = getDefaultMetroConfig.getDefaultValues(projectRoot);
280
- const cacheStore = new _binaryfilestore.FileStore({
281
- root: _path().default.join(_os().default.tmpdir(), 'metro-cache')
282
- });
281
+ const restoredRoot = _env.env.EXPO_METRO_CACHE_RESTORE_DIR;
282
+ const outputRoot = _env.env.EXPO_METRO_CACHE_OUTPUT_DIR;
283
+ // The build runner supplies separate absolute directories and starts each job with
284
+ // an empty output directory. Keep output across Metro invocations in the same job.
285
+ // After bundling processes exit, archive only output to exclude unused restored entries.
286
+ // One store keeps these directories together when projects reorder cacheStores.
287
+ const cacheStores = restoredRoot && outputRoot ? [
288
+ new _buildcachestore.BuildCacheStore({
289
+ restoredRoot,
290
+ outputRoot
291
+ })
292
+ ] : [
293
+ new _binaryfilestore.FileStore({
294
+ root: outputRoot || _path().default.join(_os().default.tmpdir(), 'metro-cache')
295
+ })
296
+ ];
283
297
  const serverRoot = (0, _paths().getMetroServerRoot)(projectRoot);
284
298
  const routerPackageRoot = _resolvefrom().default.silent(projectRoot, 'expo-router');
285
299
  const expoMetroConfig = asMetroConfigInput({
@@ -347,9 +361,7 @@ function getDefaultConfig(projectRoot, { mode, isCSSEnabled = true, unstable_bef
347
361
  /^(?:android[\\/]app[\\/]build|android[\\/]\.gradle|ios[\\/]Pods)$/
348
362
  ]
349
363
  },
350
- cacheStores: [
351
- cacheStore
352
- ],
364
+ cacheStores,
353
365
  watcher: {
354
366
  // strip starting dot from env files. We only support watching development variants of env files as production is inlined using a different system.
355
367
  additionalExts: [
@@ -415,7 +427,6 @@ function getDefaultConfig(projectRoot, { mode, isCSSEnabled = true, unstable_bef
415
427
  transformer: {
416
428
  unstable_workerThreads: true,
417
429
  // Custom: These are passed to `getCacheKey` and ensure invalidation when the version changes.
418
- unstable_renameRequire: false,
419
430
  _expoRouterPath: routerPackageRoot ? _path().default.relative(serverRoot, routerPackageRoot) : undefined,
420
431
  postcssHash: (0, _postcss.getPostcssConfigHash)(projectRoot),
421
432
  browserslistHash: pkg?.browserslist ? (0, _metrocache().stableHash)(JSON.stringify(pkg?.browserslist)).toString('hex') : null,
@@ -1 +1 @@
1
- {"version":3,"sources":["ExpoMetroConfig.ts"],"sourcesContent":[null],"names":["EXPO_DEBUG","INTERNAL_CALLSITES_REGEX","createStableModuleIdFactory","getDefaultConfig","internal_supervisingTransformerPath","unstable_transformerPath","hasWarnedAboutReactNative","getReactNativeHostPackage","platform","getReactNativeHostPath","projectRoot","hostPackage","path","dirname","resolveFrom","silent","patchMetroGraphToSupportUncachedModules","Graph","require","original_traverseDependencies","prototype","traverseDependencies","__patched","paths","options","dependencies","forEach","dependency","output","find","file","data","css","skipCache","includes","setOnReadonly","unstable_transformResultKey","push","call","createNumericModuleIdFactory","fileToIdMap","Map","nextId","modulePath","id","get","set","memoize","fn","cache","args","key","JSON","stringify","has","result","asMetroConfigInput","config","root","getModulePath","scope","isVirtualModule","isAbsolute","toPosixPath","relative","memoizedGetModulePath","context","env","environment","Error","mode","isCSSEnabled","unstable_beforeAssetSerializationPlugins","getDefaultMetroConfig","mergeConfig","reactNativePath","console","log","chalk","yellow","sourceExtsConfig","isTS","isReact","isModern","sourceExts","getBareExtensions","reanimatedVersion","getPkgVersion","workletsVersion","babelRuntimeVersion","sassVersion","pkg","getPackageJson","error","name","watchFolders","getWatchFolders","nodeModulesPaths","getModulesPaths","version","join","metroDefaultValues","getDefaultValues","cacheStore","FileStore","os","tmpdir","serverRoot","getMetroServerRoot","routerPackageRoot","expoMetroConfig","reporter","update","resolver","unstable_conditionsByPlatform","ios","android","tvos","macos","web","resolverMainFields","platforms","assetExts","concat","filter","assetExt","blockList","exclusionList","cacheStores","watcher","additionalExts","serializer","isThirdPartyModule","module","test","match","createModuleIdFactory","EXPO_USE_METRO_REQUIRE","bind","getModulesRunBeforeMainModule","preModules","resolve","stdRuntime","event","metroRuntime","getExpoMetroRuntimeOptional","getPolyfills","server","rewriteRequestUrl","getRewriteRequestUrl","port","Number","RCT_METRO_PORT","unstable_serverRoot","symbolicator","customizeFrame","getDefaultCustomizeFrame","transformerPath","transformer","unstable_workerThreads","unstable_renameRequire","_expoRouterPath","undefined","postcssHash","getPostcssConfigHash","browserslistHash","browserslist","stableHash","toString","_expoRelativeProjectRoot","unstable_allowRequireContext","allowOptionalDependencies","babelTransformerPath","asyncRequireModulePath","getExpoOptional","assetRegistryPath","enableBabelRuntime","enableBabelRCLookup","getTransformOptions","transform","experimentalImportSupport","inlineRequires","metroConfig","useWatchman","withExpoSerializers","subModule","EXPO_METRO_RUNTIME","baseExpoRouter","baseExpo"],"mappings":"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"}
1
+ {"version":3,"sources":["ExpoMetroConfig.ts"],"sourcesContent":[null],"names":["EXPO_DEBUG","INTERNAL_CALLSITES_REGEX","createStableModuleIdFactory","getDefaultConfig","internal_supervisingTransformerPath","unstable_transformerPath","hasWarnedAboutReactNative","getReactNativeHostPackage","platform","getReactNativeHostPath","projectRoot","hostPackage","path","dirname","resolveFrom","silent","patchMetroGraphToSupportUncachedModules","Graph","require","original_traverseDependencies","prototype","traverseDependencies","__patched","paths","options","dependencies","forEach","dependency","output","find","file","data","css","skipCache","includes","setOnReadonly","unstable_transformResultKey","push","call","createNumericModuleIdFactory","fileToIdMap","Map","nextId","modulePath","id","get","set","memoize","fn","cache","args","key","JSON","stringify","has","result","asMetroConfigInput","config","root","getModulePath","scope","isVirtualModule","isAbsolute","toPosixPath","relative","memoizedGetModulePath","context","env","environment","Error","mode","isCSSEnabled","unstable_beforeAssetSerializationPlugins","getDefaultMetroConfig","mergeConfig","reactNativePath","console","log","chalk","yellow","sourceExtsConfig","isTS","isReact","isModern","sourceExts","getBareExtensions","reanimatedVersion","getPkgVersion","workletsVersion","babelRuntimeVersion","sassVersion","pkg","getPackageJson","error","name","watchFolders","getWatchFolders","nodeModulesPaths","getModulesPaths","version","join","metroDefaultValues","getDefaultValues","restoredRoot","EXPO_METRO_CACHE_RESTORE_DIR","outputRoot","EXPO_METRO_CACHE_OUTPUT_DIR","cacheStores","BuildCacheStore","FileStore","os","tmpdir","serverRoot","getMetroServerRoot","routerPackageRoot","expoMetroConfig","reporter","update","resolver","unstable_conditionsByPlatform","ios","android","tvos","macos","web","resolverMainFields","platforms","assetExts","concat","filter","assetExt","blockList","exclusionList","watcher","additionalExts","serializer","isThirdPartyModule","module","test","match","createModuleIdFactory","EXPO_USE_METRO_REQUIRE","bind","getModulesRunBeforeMainModule","preModules","resolve","stdRuntime","event","metroRuntime","getExpoMetroRuntimeOptional","getPolyfills","server","rewriteRequestUrl","getRewriteRequestUrl","port","Number","RCT_METRO_PORT","unstable_serverRoot","symbolicator","customizeFrame","getDefaultCustomizeFrame","transformerPath","transformer","unstable_workerThreads","_expoRouterPath","undefined","postcssHash","getPostcssConfigHash","browserslistHash","browserslist","stableHash","toString","_expoRelativeProjectRoot","unstable_allowRequireContext","allowOptionalDependencies","babelTransformerPath","asyncRequireModulePath","getExpoOptional","assetRegistryPath","enableBabelRuntime","enableBabelRCLookup","getTransformOptions","transform","experimentalImportSupport","inlineRequires","metroConfig","useWatchman","withExpoSerializers","subModule","EXPO_METRO_RUNTIME","baseExpoRouter","baseExpo"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /** Collects only results used by this build in the output directory. */
2
+ export declare class BuildCacheStore<T> {
3
+ private readonly output;
4
+ private readonly restored;
5
+ constructor({ restoredRoot, outputRoot }: {
6
+ restoredRoot: string;
7
+ outputRoot: string;
8
+ });
9
+ get(key: Buffer): Promise<T | null | undefined>;
10
+ set(key: Buffer, value: T): Promise<void>;
11
+ clear(): void;
12
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "BuildCacheStore", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return BuildCacheStore;
9
+ }
10
+ });
11
+ const _binaryfilestore = require("./binary-file-store");
12
+ class BuildCacheStore {
13
+ output;
14
+ restored;
15
+ constructor({ restoredRoot, outputRoot }){
16
+ // The build runner creates an empty output directory once per job.
17
+ // Do not clear it here: multiple Metro processes can share the same job.
18
+ this.output = new _binaryfilestore.FileStore({
19
+ root: outputRoot
20
+ });
21
+ this.restored = new _binaryfilestore.FileStore({
22
+ root: restoredRoot
23
+ });
24
+ }
25
+ async get(key) {
26
+ const current = await this.output.get(key);
27
+ if (current != null) {
28
+ return current;
29
+ }
30
+ const previous = await this.restored.get(key);
31
+ if (previous != null) {
32
+ // Complete promotion here, even if Metro does not call set after a hit.
33
+ await this.output.set(key, previous);
34
+ }
35
+ return previous;
36
+ }
37
+ set(key, value) {
38
+ return this.output.set(key, value);
39
+ }
40
+ clear() {
41
+ this.output.clear();
42
+ this.restored.clear();
43
+ }
44
+ }
45
+
46
+ //# sourceMappingURL=build-cache-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["build-cache-store.ts"],"sourcesContent":[null],"names":["BuildCacheStore","output","restored","restoredRoot","outputRoot","FileStore","root","get","key","current","previous","set","value","clear"],"mappings":";;;;+BAGaA;;;eAAAA;;;iCAHa;AAGnB,MAAMA;IACMC,OAAqB;IACrBC,SAAuB;IAExC,YAAY,EAAEC,YAAY,EAAEC,UAAU,EAAgD,CAAE;QACtF,mEAAmE;QACnE,yEAAyE;QACzE,IAAI,CAACH,MAAM,GAAG,IAAII,0BAAS,CAAI;YAAEC,MAAMF;QAAW;QAClD,IAAI,CAACF,QAAQ,GAAG,IAAIG,0BAAS,CAAI;YAAEC,MAAMH;QAAa;IACxD;IAEA,MAAMI,IAAIC,GAAW,EAAiC;QACpD,MAAMC,UAAU,MAAM,IAAI,CAACR,MAAM,CAACM,GAAG,CAACC;QACtC,IAAIC,WAAW,MAAM;YACnB,OAAOA;QACT;QACA,MAAMC,WAAW,MAAM,IAAI,CAACR,QAAQ,CAACK,GAAG,CAACC;QACzC,IAAIE,YAAY,MAAM;YACpB,wEAAwE;YACxE,MAAM,IAAI,CAACT,MAAM,CAACU,GAAG,CAACH,KAAKE;QAC7B;QACA,OAAOA;IACT;IAEAC,IAAIH,GAAW,EAAEI,KAAQ,EAAiB;QACxC,OAAO,IAAI,CAACX,MAAM,CAACU,GAAG,CAACH,KAAKI;IAC9B;IAEAC,QAAc;QACZ,IAAI,CAACZ,MAAM,CAACY,KAAK;QACjB,IAAI,CAACX,QAAQ,CAACW,KAAK;IACrB;AACF"}
@@ -0,0 +1,8 @@
1
+ export declare class LruCache<K, V> {
2
+ #private;
3
+ constructor(capacity: number);
4
+ get(key: K): V | undefined;
5
+ set(key: K, value: V): void;
6
+ delete(key: K): void;
7
+ clear(): void;
8
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "LruCache", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return LruCache;
9
+ }
10
+ });
11
+ class LruCache {
12
+ #map = new Map();
13
+ #capacity;
14
+ constructor(capacity){
15
+ this.#capacity = capacity;
16
+ }
17
+ get(key) {
18
+ if (!this.#map.has(key)) return undefined;
19
+ const value = this.#map.get(key);
20
+ this.#map.delete(key);
21
+ this.#map.set(key, value);
22
+ return value;
23
+ }
24
+ set(key, value) {
25
+ this.#map.delete(key);
26
+ this.#map.set(key, value);
27
+ if (this.#map.size > this.#capacity) {
28
+ this.#map.delete(this.#map.keys().next().value);
29
+ }
30
+ }
31
+ delete(key) {
32
+ this.#map.delete(key);
33
+ }
34
+ clear() {
35
+ this.#map.clear();
36
+ }
37
+ }
38
+
39
+ //# sourceMappingURL=LruCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["cache-vary/LruCache.ts"],"sourcesContent":[null],"names":["LruCache","Map","capacity","get","key","has","undefined","value","delete","set","size","keys","next","clear"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA;IACX,CAAA,GAAI,GAAG,IAAIC,MAAY;IACvB,CAAA,QAAS,CAAS;IAElB,YAAYC,QAAgB,CAAE;QAC5B,IAAI,CAAC,CAAA,QAAS,GAAGA;IACnB;IAEAC,IAAIC,GAAM,EAAiB;QACzB,IAAI,CAAC,IAAI,CAAC,CAAA,GAAI,CAACC,GAAG,CAACD,MAAM,OAAOE;QAChC,MAAMC,QAAQ,IAAI,CAAC,CAAA,GAAI,CAACJ,GAAG,CAACC;QAC5B,IAAI,CAAC,CAAA,GAAI,CAACI,MAAM,CAACJ;QACjB,IAAI,CAAC,CAAA,GAAI,CAACK,GAAG,CAACL,KAAKG;QACnB,OAAOA;IACT;IAEAE,IAAIL,GAAM,EAAEG,KAAQ,EAAQ;QAC1B,IAAI,CAAC,CAAA,GAAI,CAACC,MAAM,CAACJ;QACjB,IAAI,CAAC,CAAA,GAAI,CAACK,GAAG,CAACL,KAAKG;QACnB,IAAI,IAAI,CAAC,CAAA,GAAI,CAACG,IAAI,GAAG,IAAI,CAAC,CAAA,QAAS,EAAE;YACnC,IAAI,CAAC,CAAA,GAAI,CAACF,MAAM,CAAC,IAAI,CAAC,CAAA,GAAI,CAACG,IAAI,GAAGC,IAAI,GAAGL,KAAK;QAChD;IACF;IAEAC,OAAOJ,GAAM,EAAQ;QACnB,IAAI,CAAC,CAAA,GAAI,CAACI,MAAM,CAACJ;IACnB;IAEAS,QAAc;QACZ,IAAI,CAAC,CAAA,GAAI,CAACA,KAAK;IACjB;AACF"}
@@ -0,0 +1,34 @@
1
+ import type { CacheStore } from '@expo/metro/metro-cache';
2
+ export type { AmbientVaryScheme } from './ambient';
3
+ /**
4
+ * A cache-store decorator that keeps transform results separate when they depend on ambient
5
+ * values such as environment variables.
6
+ *
7
+ * @remarks
8
+ * Metro supplies a cache key for a transform. The first result for that key is stored unchanged in
9
+ * the base slot at that key. The result's `expoCacheVary` metadata records the ambient names that
10
+ * affected the transform and the fingerprints of their values at transform time.
11
+ *
12
+ * On a read, this store recomputes the fingerprints for those names. If they match, it returns the
13
+ * base result with one store read. If they differ, it derives a variant key from Metro's key and
14
+ * the current fingerprints, then reads the matching result from that key. Each distinct set of
15
+ * ambient values can therefore have its own cached transform.
16
+ *
17
+ * A transform should consistently report the same ambient names for one Metro key. If it does not,
18
+ * this store wraps the base result in a small registry containing the other reported name sets.
19
+ * Reads try those name sets as fallbacks. This preserves cache entries produced by different
20
+ * versions or by a producer that violated the name-set contract.
21
+ *
22
+ * Metro normally follows a cache miss with a write. A small in-memory LRU carries the observed base
23
+ * state between those calls, avoiding another base read. It is only an optimization: if the
24
+ * observation is missing or evicted, `set()` derives the same state from the stored base value.
25
+ *
26
+ * @typeParam T - The value type accepted by the wrapped Metro cache store.
27
+ */
28
+ export declare class VaryingCacheStore<T> implements CacheStore<T> {
29
+ #private;
30
+ constructor(inner: CacheStore<T>);
31
+ get(key: Buffer): Promise<T | null>;
32
+ set(key: Buffer, value: T): Promise<void>;
33
+ clear(): void | Promise<void>;
34
+ }
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "VaryingCacheStore", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return VaryingCacheStore;
9
+ }
10
+ });
11
+ function _nodecrypto() {
12
+ const data = /*#__PURE__*/ _interop_require_default(require("node:crypto"));
13
+ _nodecrypto = function() {
14
+ return data;
15
+ };
16
+ return data;
17
+ }
18
+ const _LruCache = require("./LruCache");
19
+ const _ambient = require("./ambient");
20
+ function _interop_require_default(obj) {
21
+ return obj && obj.__esModule ? obj : {
22
+ default: obj
23
+ };
24
+ }
25
+ const VARY_REGISTRY_VERSION = 1;
26
+ const OBSERVATION_LIMIT = 1_000;
27
+ const REGISTRY_TAG = 'expoVaryHead';
28
+ const NO_NAME_SETS = [];
29
+ const NO_DIMS = [];
30
+ const VACANT_BASE = Symbol('vacantBase');
31
+ class VaryingCacheStore {
32
+ #inner;
33
+ #observedBasesByKey = new _LruCache.LruCache(OBSERVATION_LIMIT);
34
+ constructor(inner){
35
+ this.#inner = inner;
36
+ }
37
+ async get(key) {
38
+ const stored = await this.#inner.get(key);
39
+ if (stored == null) {
40
+ this.#rememberBase(key, VACANT_BASE);
41
+ return null;
42
+ }
43
+ const registry = readVaryRegistry(stored);
44
+ if (hasRegistryTag(stored) && registry == null) {
45
+ // Do not expose an invalid registry as a transform result.
46
+ this.#rememberBase(key, VACANT_BASE);
47
+ return null;
48
+ }
49
+ const value = registry ? registry.value : stored;
50
+ const nameSets = registry ? registry.nameSets : NO_NAME_SETS;
51
+ const baseDims = readEmbeddedVaryDims(value);
52
+ if (baseDims == null) {
53
+ // Malformed vary metadata is an unusable cache entry, not a build error.
54
+ return null;
55
+ }
56
+ // Try the base value, then any variants described by its registry.
57
+ const resolved = await this.#resolve(key, value, baseDims, nameSets);
58
+ if (resolved != null) {
59
+ return resolved;
60
+ } else {
61
+ // Carry the observed name sets to the write that normally follows this miss.
62
+ this.#rememberBase(key, collectNameSetIds(baseDims, nameSets));
63
+ return null;
64
+ }
65
+ }
66
+ async set(key, value) {
67
+ const data = value?.output?.[0]?.data;
68
+ if (data?.css?.skipCache) {
69
+ return this.#inner.set(key, value);
70
+ }
71
+ const observedBase = await this.#takeBaseObservation(key);
72
+ if (observedBase === VACANT_BASE) {
73
+ // The first result claims Metro's normal cache key as the base value.
74
+ return this.#inner.set(key, value);
75
+ }
76
+ const dims = Array.isArray(data?.expoCacheVary) ? data.expoCacheVary : [];
77
+ const nameSetId = (0, _ambient.canonicalDimNames)(dims);
78
+ if (observedBase.has(nameSetId)) {
79
+ // Known dimension names can go straight to their fingerprint-derived key.
80
+ await this.#inner.set(variantKey(key, dims), value);
81
+ } else {
82
+ // NOTE(@kitten): A transform is expected to report stable dimension names for a Metro key.
83
+ // Record an unexpected name set so entries from version skew or a producer bug remain usable.
84
+ await this.#registerNameSet(key, value, dims);
85
+ }
86
+ }
87
+ #rememberBase(key, observation) {
88
+ this.#observedBasesByKey.set(cacheKeyId(key), observation);
89
+ }
90
+ async #takeBaseObservation(key) {
91
+ const id = cacheKeyId(key);
92
+ const observation = this.#observedBasesByKey.get(id);
93
+ if (observation != undefined) {
94
+ // Observations are consumed by one write; later writes must inspect the base again.
95
+ this.#observedBasesByKey.delete(id);
96
+ return observation;
97
+ }
98
+ const stored = await this.#inner.get(key);
99
+ if (stored == null) {
100
+ return VACANT_BASE;
101
+ }
102
+ const registry = readVaryRegistry(stored);
103
+ if (hasRegistryTag(stored) && registry == null) {
104
+ // A later write can replace an invalid base entry with a valid result.
105
+ return VACANT_BASE;
106
+ }
107
+ const value = registry ? registry.value : stored;
108
+ const baseDims = readEmbeddedVaryDims(value);
109
+ if (baseDims != null) {
110
+ return collectNameSetIds(baseDims, registry ? registry.nameSets : NO_NAME_SETS);
111
+ } else {
112
+ return VACANT_BASE;
113
+ }
114
+ }
115
+ async #registerNameSet(key, value, dims) {
116
+ // Write the variant first so the registry never points at a value that was not written.
117
+ await this.#inner.set(variantKey(key, dims), value);
118
+ const stored = await this.#inner.get(key);
119
+ const registry = readVaryRegistry(stored);
120
+ if (stored == null || hasRegistryTag(stored) && registry == null) {
121
+ // The base disappeared or became invalid while the variant was being written; reclaim it.
122
+ await this.#inner.set(key, value);
123
+ return;
124
+ }
125
+ const baseValue = registry ? registry.value : stored;
126
+ const registeredNameSets = registry ? registry.nameSets : NO_NAME_SETS;
127
+ const dimNames = dims.map(({ scheme, name })=>({
128
+ scheme,
129
+ name
130
+ }));
131
+ const nameSets = mergeNameSets(embeddedVaryDims(baseValue), registeredNameSets, dimNames);
132
+ // NOTE(@kitten): Reaching this path means transforms for one Metro key unexpectedly reported
133
+ // different dimension names. Keep the base value and record the extra set silently so cache
134
+ // entries from version skew or a producer bug remain resolvable.
135
+ const nextRegistry = {
136
+ expoVaryHead: VARY_REGISTRY_VERSION,
137
+ value: baseValue,
138
+ nameSets
139
+ };
140
+ await this.#inner.set(key, nextRegistry);
141
+ }
142
+ async #resolve(key, value, baseDims, nameSets) {
143
+ if (!baseDims.length && !nameSets.length) return value;
144
+ // The value in the base slot is the cheapest hit: it needs no second store read.
145
+ const currentBaseDims = baseDims.length ? await currentDims(baseDims) : null;
146
+ if (currentBaseDims && sameDims(baseDims, currentBaseDims)) {
147
+ return value;
148
+ } else if (currentBaseDims) {
149
+ // The usual miss path uses the same names as the base with different fingerprints.
150
+ const variant = await this.#readVariant(key, currentBaseDims);
151
+ if (variant != null) {
152
+ return variant;
153
+ }
154
+ }
155
+ // NOTE(@kitten): Registered name sets are an exceptional fallback. They only exist when
156
+ // transforms for one Metro key unexpectedly reported different dimension names.
157
+ for (const names of nameSets){
158
+ if (!names.length) continue;
159
+ const dims = await currentDims(names);
160
+ if (!dims) continue;
161
+ const variant = await this.#readVariant(key, dims);
162
+ if (variant != null) return variant;
163
+ }
164
+ if (nameSets.some((names)=>names.length === 0)) {
165
+ // NOTE(@kitten): An empty registered set is the same exceptional case for a transform that
166
+ // unexpectedly reported no varying dimensions.
167
+ const variant = await this.#readVariant(key, []);
168
+ if (variant != null) return variant;
169
+ }
170
+ return baseDims.length ? null : value;
171
+ }
172
+ async #readVariant(key, dims) {
173
+ const variant = await this.#inner.get(variantKey(key, dims));
174
+ return variant != null && !hasRegistryTag(variant) ? variant : null;
175
+ }
176
+ clear() {
177
+ this.#observedBasesByKey.clear();
178
+ return this.#inner.clear();
179
+ }
180
+ }
181
+ const readVaryRegistry = (stored)=>{
182
+ if (!hasRegistryTag(stored)) {
183
+ return null;
184
+ }
185
+ const registry = stored;
186
+ if (registry.expoVaryHead !== VARY_REGISTRY_VERSION || !('value' in registry) || !Array.isArray(registry.nameSets) || !registry.nameSets.every(isDimNameSet)) {
187
+ return null;
188
+ } else {
189
+ return registry;
190
+ }
191
+ };
192
+ const hasRegistryTag = (stored)=>typeof stored === 'object' && stored != null && REGISTRY_TAG in stored;
193
+ function readEmbeddedVaryDims(value) {
194
+ const dims = value?.output?.[0]?.data?.expoCacheVary;
195
+ if (dims === undefined) return NO_DIMS;
196
+ return Array.isArray(dims) && dims.every(isEmbeddedVaryDim) ? dims : null;
197
+ }
198
+ function embeddedVaryDims(value) {
199
+ return readEmbeddedVaryDims(value) ?? NO_DIMS;
200
+ }
201
+ function isDimNameSet(value) {
202
+ return Array.isArray(value) && value.every(isCacheVaryDim);
203
+ }
204
+ function isCacheVaryDim(value) {
205
+ if (typeof value !== 'object' || value == null) return false;
206
+ const dim = value;
207
+ return typeof dim.scheme === 'string' && typeof dim.name === 'string';
208
+ }
209
+ function isEmbeddedVaryDim(value) {
210
+ if (typeof value !== 'object' || value == null) {
211
+ return false;
212
+ } else {
213
+ const dim = value;
214
+ return typeof dim.scheme === 'string' && typeof dim.name === 'string' && typeof dim.fp === 'string';
215
+ }
216
+ }
217
+ async function currentDims(names) {
218
+ const dims = [];
219
+ for (const { scheme, name } of names){
220
+ const fp = await (0, _ambient.currentFingerprint)(scheme, name);
221
+ if (fp == null) return null;
222
+ dims.push({
223
+ scheme,
224
+ name,
225
+ fp
226
+ });
227
+ }
228
+ return dims;
229
+ }
230
+ function collectNameSetIds(baseNames, nameSets) {
231
+ const ids = new Set([
232
+ (0, _ambient.canonicalDimNames)(baseNames)
233
+ ]);
234
+ for (const names of nameSets){
235
+ ids.add((0, _ambient.canonicalDimNames)(names));
236
+ }
237
+ return ids;
238
+ }
239
+ function mergeNameSets(baseNames, nameSets, nextNames) {
240
+ const seen = new Set([
241
+ (0, _ambient.canonicalDimNames)(baseNames)
242
+ ]);
243
+ const merged = [];
244
+ for (const names of [
245
+ ...nameSets,
246
+ nextNames
247
+ ]){
248
+ const canonical = (0, _ambient.canonicalDimNames)(names);
249
+ if (seen.has(canonical)) continue;
250
+ seen.add(canonical);
251
+ merged.push(names);
252
+ }
253
+ return merged;
254
+ }
255
+ function variantKey(key, dims) {
256
+ return _nodecrypto().default.createHash('sha1').update(key).update('\0expo-vary\0' + (0, _ambient.canonicalDims)(dims)).digest();
257
+ }
258
+ function cacheKeyId(key) {
259
+ return key.toString('hex');
260
+ }
261
+ function sameDims(a, b) {
262
+ return (0, _ambient.canonicalDims)(a) === (0, _ambient.canonicalDims)(b);
263
+ }
264
+
265
+ //# sourceMappingURL=VaryingCacheStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["cache-vary/VaryingCacheStore.ts"],"sourcesContent":[null],"names":["VaryingCacheStore","VARY_REGISTRY_VERSION","OBSERVATION_LIMIT","REGISTRY_TAG","NO_NAME_SETS","NO_DIMS","VACANT_BASE","Symbol","LruCache","inner","get","key","stored","registry","readVaryRegistry","hasRegistryTag","value","nameSets","baseDims","readEmbeddedVaryDims","resolved","collectNameSetIds","set","data","output","css","skipCache","observedBase","dims","Array","isArray","expoCacheVary","nameSetId","canonicalDimNames","has","variantKey","observation","cacheKeyId","id","undefined","delete","baseValue","registeredNameSets","dimNames","map","scheme","name","mergeNameSets","embeddedVaryDims","nextRegistry","expoVaryHead","length","currentBaseDims","currentDims","sameDims","variant","names","some","clear","every","isDimNameSet","isEmbeddedVaryDim","isCacheVaryDim","dim","fp","currentFingerprint","push","baseNames","ids","Set","add","nextNames","seen","merged","canonical","crypto","createHash","update","canonicalDims","digest","toString","a","b"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export type AmbientVaryScheme = 'env';
2
+ export declare function isAmbientVaryScheme(scheme: string): scheme is AmbientVaryScheme;
3
+ export declare function readAmbientVaryValue(scheme: AmbientVaryScheme, name: string): string | undefined;
4
+ export type CacheVaryDim = {
5
+ scheme: string;
6
+ name: string;
7
+ };
8
+ export interface EmbeddedVaryDim extends CacheVaryDim {
9
+ fp: string;
10
+ }
11
+ export declare function currentFingerprint(scheme: string, name: string): Promise<string | null>;
12
+ export declare function embedCurrentFingerprints(dims: readonly CacheVaryDim[] | undefined): Promise<EmbeddedVaryDim[] | undefined>;
13
+ export declare const dimId: (dim: CacheVaryDim) => string;
14
+ export declare function canonicalDimNames(dims: readonly CacheVaryDim[]): string;
15
+ export declare function canonicalDims(dims: readonly EmbeddedVaryDim[]): string;