1import crypto from 'crypto';
2import { readFileSync } from 'fs';
3
4export const cacheKeyParts = [
5  readFileSync(__filename),
6  // Since babel-preset-fbjs cannot be safely resolved relative to the
7  // project root, use this environment variable that we define earlier.
8  process.env.EXPO_METRO_CACHE_KEY_VERSION || '3.3.0',
9  //   require('babel-preset-fbjs/package.json').version,
10];
11
12// Matches upstream
13export function getCacheKey(): string {
14  const key = crypto.createHash('md5');
15  cacheKeyParts.forEach((part) => key.update(part));
16  return key.digest('hex');
17}
18