UNPKG

flipper-babel-transformer

Version:

Babel transformer for Flipper plugins

42 lines 1.61 kB
"use strict"; /** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /** * There are some env vars which affect transformations, so the Metro/Babel cache should be invalidated when at least one of them changed. * * If any issues found with such approach, we can fallback to the implementation which always invalidates caches, but also makes bundling significantly slower: * export default function getCacheKey() { return Math.random().toString(36); } */ const flipper_env_1 = __importDefault(require("./flipper-env")); const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = __importDefault(require("path")); let selfChecksum; function getSelfChecksum() { if (!selfChecksum) { selfChecksum = fs_extra_1.default .readFileSync(path_1.default.resolve(__dirname, '..', 'lib', 'checksum.txt')) .toString(); } return selfChecksum; } function getCacheKey() { const key = [ getSelfChecksum(), ...Object.entries(flipper_env_1.default) .sort(([name1, _value1], [name2, _value2]) => name1.localeCompare(name2)) .map(([name, value]) => `${name}=${value}`), ].join('|'); return key; } exports.default = getCacheKey; //# sourceMappingURL=get-cache-key.js.map