create-react-native-library
Version:
CLI to scaffold React Native libraries
30 lines (29 loc) • 1.31 kB
JavaScript
;
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 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