UNPKG

create-react-native-library

Version:
55 lines (53 loc) 2.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addNitroDependencyToLocalLibrary = addNitroDependencyToLocalLibrary; exports.linkLocalLibrary = linkLocalLibrary; var _fsExtra = _interopRequireDefault(require("fs-extra")); var _path = _interopRequireDefault(require("path")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** @returns `true` if successfull */ async function addNitroDependencyToLocalLibrary(config) { if (config.versions.nitro === undefined) { return false; } const appPackageJsonPath = await findAppPackageJsonPath(); if (appPackageJsonPath === null) { return false; } const appPackageJson = await _fsExtra.default.readJson(appPackageJsonPath); const dependencies = appPackageJson['dependencies'] ?? {}; dependencies['react-native-nitro-modules'] = config.versions.nitro; appPackageJson['dependencies'] = dependencies; await _fsExtra.default.writeJson(appPackageJsonPath, appPackageJson, { spaces: 2 }); return true; } /** @returns `true` if successfull */ async function linkLocalLibrary(config, folder, packageManager) { const appPackageJsonPath = await findAppPackageJsonPath(); if (appPackageJsonPath === null) { return false; } const appPackageJson = await _fsExtra.default.readJson(appPackageJsonPath); const isReactNativeProject = Boolean(appPackageJson.dependencies?.['react-native']); if (!isReactNativeProject) { return false; } const dependencies = appPackageJson['dependencies'] ?? {}; dependencies[config.project.slug] = packageManager === 'yarn' ? `link:./${_path.default.relative(process.cwd(), folder)}` : `file:./${_path.default.relative(process.cwd(), folder)}`; await _fsExtra.default.writeJSON(appPackageJsonPath, appPackageJson, { spaces: 2 }); return true; } async function findAppPackageJsonPath() { const cwdPackageJson = _path.default.join(process.cwd(), 'package.json'); if (!(await _fsExtra.default.pathExists(cwdPackageJson))) { return null; } return cwdPackageJson; } //# sourceMappingURL=local.js.map