UNPKG

create-react-native-library

Version:
34 lines (33 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.alignDependencyVersionsWithExampleApp = alignDependencyVersionsWithExampleApp; var _path = _interopRequireDefault(require("path")); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _sortObjectKeys = _interopRequireDefault(require("../utils/sortObjectKeys")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } async function alignDependencyVersionsWithExampleApp(pkg, folder) { const examplePackageJson = await _fsExtra.default.readJSON(_path.default.join(folder, 'example', 'package.json')); const PACKAGES_TO_COPY = ['react', 'react-native', '@types/react', '@react-native/babel-preset']; const usesCodegen = pkg['react-native-builder-bob']?.targets?.some(target => Array.isArray(target) ? target[0] === 'codegen' : target === 'codegen') ?? false; if (usesCodegen) { PACKAGES_TO_COPY.push('@react-native-community/cli'); } const devDependencies = {}; PACKAGES_TO_COPY.forEach(name => { if (name) { const version = examplePackageJson.dependencies?.[name] ?? examplePackageJson.devDependencies?.[name]; if (version != null) { devDependencies[name] = version; } else if (pkg.devDependencies?.[name] == null) { throw new Error(`Couldn't find the package "${name}" in the example app.`); } } }); pkg['devDependencies'] = (0, _sortObjectKeys.default)({ ...pkg['devDependencies'], ...devDependencies }); } //# sourceMappingURL=dependencies.js.map