@nx/expo
Version:
31 lines (30 loc) • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ensureDependencies = ensureDependencies;
const devkit_1 = require("@nx/devkit");
const versions_1 = require("./versions");
function ensureDependencies(host, unitTestRunner) {
const devDependencies = {
'@types/react': versions_1.typesReactVersion,
'babel-preset-expo': versions_1.babelPresetExpoVersion,
};
const isPnpm = (0, devkit_1.detectPackageManager)(host.root) === 'pnpm';
if (isPnpm) {
devDependencies['@babel/runtime'] = versions_1.babelRuntimeVersion; // @babel/runtime is used by react-native-svg
}
if (unitTestRunner === 'jest') {
devDependencies['@testing-library/react-native'] =
versions_1.testingLibraryReactNativeVersion;
devDependencies['jest-expo'] = versions_1.jestExpoVersion;
}
return (0, devkit_1.addDependenciesToPackageJson)(host, {
'expo-splash-screen': versions_1.expoSplashScreenVersion,
'expo-status-bar': versions_1.expoStatusBarVersion,
'expo-system-ui': versions_1.expoSystemUiVersion,
'react-native-web': versions_1.reactNativeWebVersion,
'@expo/metro-config': versions_1.expoMetroConfigVersion,
'@expo/metro-runtime': versions_1.expoMetroRuntimeVersion,
'react-native-svg-transformer': versions_1.reactNativeSvgTransformerVersion,
'react-native-svg': versions_1.reactNativeSvgVersion,
}, devDependencies);
}