react-native-integrate
Version:
Automate integration of additional code into React Native projects
34 lines (33 loc) • 1.44 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getIntegrateConfig = getIntegrateConfig;
exports.getIntegratePackageConfig = getIntegratePackageConfig;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const constants_1 = require("../constants");
const getProjectPath_1 = require("./getProjectPath");
function getIntegrateConfig(projectPath) {
try {
const configFilePath = path_1.default.join(projectPath || (0, getProjectPath_1.getProjectPath)(), constants_1.Constants.INTEGRATE_CONFIG_FILE_NAME);
if (!fs_1.default.existsSync(configFilePath))
return null;
// eslint-disable-next-line @typescript-eslint/no-require-imports
const config = require(configFilePath);
return 'default' in config ? config.default : config;
}
catch (error) {
console.error('Error reading integrate.config.js:', error);
process.exit(0);
}
}
function getIntegratePackageConfig(integrateConfig, packageName) {
if (!integrateConfig)
return null;
const plugin = integrateConfig.plugins?.find(plugin => (Array.isArray(plugin) ? plugin[0] : plugin) === packageName);
if (!Array.isArray(plugin))
return null;
return plugin[1] ?? null;
}