@nx/expo
Version:
33 lines (32 loc) • 1.62 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['react-test-renderer'] = versions_1.reactTestRendererVersion;
devDependencies['@testing-library/react-native'] =
versions_1.testingLibraryReactNativeVersion;
devDependencies['@testing-library/jest-native'] =
versions_1.testingLibraryJestNativeVersion;
devDependencies['jest-expo'] = versions_1.jestExpoVersion;
}
return (0, devkit_1.addDependenciesToPackageJson)(host, {
'expo-splash-screen': versions_1.expoSplashScreenVersion,
'expo-status-bar': versions_1.expoStatusBarVersion,
'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);
}