UNPKG

react-native-integrate

Version:

Automate integration of additional code into React Native projects

44 lines (43 loc) 1.79 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.importIntegrateConfig = importIntegrateConfig; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const picocolors_1 = __importDefault(require("picocolors")); const constants_1 = require("../../../constants"); const prompter_1 = require("../../../prompter"); const getIntegrateConfig_1 = require("../../getIntegrateConfig"); const getProjectPath_1 = require("../../getProjectPath"); function importIntegrateConfig(projectPath) { try { const configFilePath = path_1.default.join(projectPath, constants_1.Constants.INTEGRATE_CONFIG_FILE_NAME); const integrateConfig = (0, getIntegrateConfig_1.getIntegrateConfig)(projectPath); if (!integrateConfig) return null; return { id: 'integrateConfigJs', title: 'Integrate Config File', value: `${integrateConfig.plugins?.length || '0'} plugin configuration`, apply: () => setIntegrateConfig(configFilePath), }; } catch (_e) { return null; } } async function setIntegrateConfig(file) { const destination = path_1.default.join((0, getProjectPath_1.getProjectPath)(), constants_1.Constants.INTEGRATE_CONFIG_FILE_NAME); await new Promise((res, rej) => { fs_1.default.copyFile(file, destination, err => { if (err) rej(err); else res(null); }); }); (0, prompter_1.logMessage)(`imported ${picocolors_1.default.yellow('integrate.config.js')}`); return Promise.resolve(); }