Before submitting a new issue
Bug summary
The instructions in the README.md state:
Non-Expo Projects
react-native-css relies on the bundler to process CSS files. Currently only Expo provides a CSS asset pipeline. Since the Expo SDK is modular, you can add this functionality by just using the @expo/metro-config package.
Follow the Expo instructions, but replace the expo package with @expo/metro-config.
When I try this I receive an error:
error Error loading Metro config at: metro.config.js
Cannot find module 'expo/package.json'
Require stack:
- node_modules/@expo/metro-config/build/transform-worker/utils/moduleMapper.js
Is there a specific version of @expo/metro-config I should be using? I'd like to avoid importing all of expo.
Library version
3.0.7
Environment info
System:
OS: Linux 7.0
CPU:
Memory: GB
Shell:
version: 5
path: /bin/sh
Binaries:
Node:
version: 24.15.0
path:
Yarn:
version: 1.22.22
path:
npm:
version: 11.13.0
path:
Watchman: Not Found
SDKs:
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Languages:
Java:
version: 17.0.19
path:
Ruby: Not Found
npmPackages:
"@react-native-community/cli":
installed: 20.1.3
wanted: ^20.1.3
react:
installed: 19.2.3
wanted: ^19.2.5
react-native:
installed: 0.85.3
wanted: ^0.85.3
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
Steps to reproduce
npx @react-native-community/cli@latest init reactNativeCssExample --version latest
npm i --save-dev react-native-css @expo/metro-config
- setup
metro.config.js
const { mergeConfig } = require('@react-native/metro-config');
const { getDefaultConfig } = require('@expo/metro-config');
/**
* Metro configuration
* https://reactnative.dev/docs/metro
*
* @type {import('@react-native/metro-config').MetroConfig}
*/
const config = {};
module.exports = mergeConfig(
getDefaultConfig(__dirname),
config
);
npm run start
Reproducible example repository
https://github.com/wallzero/react-native-css-example
Before submitting a new issue
Bug summary
The instructions in the
README.mdstate:When I try this I receive an error:
Is there a specific version of
@expo/metro-configI should be using? I'd like to avoid importing all ofexpo.Library version
3.0.7
Environment info
System: OS: Linux 7.0 CPU: Memory: GB Shell: version: 5 path: /bin/sh Binaries: Node: version: 24.15.0 path: Yarn: version: 1.22.22 path: npm: version: 11.13.0 path: Watchman: Not Found SDKs: Android SDK: Not Found IDEs: Android Studio: Not Found Languages: Java: version: 17.0.19 path: Ruby: Not Found npmPackages: "@react-native-community/cli": installed: 20.1.3 wanted: ^20.1.3 react: installed: 19.2.3 wanted: ^19.2.5 react-native: installed: 0.85.3 wanted: ^0.85.3 npmGlobalPackages: "*react-native*": Not Found Android: hermesEnabled: true newArchEnabled: true iOS: hermesEnabled: true newArchEnabled: trueSteps to reproduce
npx @react-native-community/cli@latest init reactNativeCssExample --version latestnpm i --save-dev react-native-css @expo/metro-configmetro.config.jsnpm run startReproducible example repository
https://github.com/wallzero/react-native-css-example