"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getProjectBabelConfigFile = getProjectBabelConfigFile; exports.watchBabelConfig = watchBabelConfig; exports.watchBabelConfigForProject = watchBabelConfigForProject; function _chalk() { const data = _interopRequireDefault(require("chalk")); _chalk = function () { return data; }; return data; } function _fs() { const data = require("fs"); _fs = function () { return data; }; return data; } function _path() { const data = _interopRequireDefault(require("path")); _path = function () { return data; }; return data; } function _resolveFrom() { const data = _interopRequireDefault(require("resolve-from")); _resolveFrom = function () { return data; }; return data; } function _internal() { const data = require("../internal"); _internal = function () { return data; }; return data; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // List of files that are being observed. const watchingFiles = []; /** * Get the babel configuration file for the project. */ function getProjectBabelConfigFile(projectRoot) { return _resolveFrom().default.silent(projectRoot, './babel.config.js') || _resolveFrom().default.silent(projectRoot, './.babelrc') || _resolveFrom().default.silent(projectRoot, './.babelrc.js'); } function watchBabelConfigForProject(projectRoot) { const configPath = getProjectBabelConfigFile(projectRoot); if (configPath) { return watchBabelConfig(projectRoot, configPath); } return configPath; } /** * Watch the babel configuration file and warn to reload the CLI if it changes. */ function watchBabelConfig(projectRoot, configPath) { if (watchingFiles.includes(configPath)) { return; } watchingFiles.push(configPath); const configName = _path().default.relative(projectRoot, configPath); (0, _fs().watchFile)(configPath, (cur, prev) => { if (prev.size || cur.size) { _internal().ProjectUtils.logInfo(projectRoot, 'expo', `\u203A Detected a change in ${_chalk().default.bold(configName)}. Restart the server to see the new results.`); } }); } //# sourceMappingURL=watchBabelConfig.js.map