From 3001529487387fbc2fe6d2bdb33e4d9501dd8cd1 Mon Sep 17 00:00:00 2001 From: Satyajit Sahoo Date: Thu, 15 May 2025 02:27:30 +0200 Subject: [PATCH] fix: enable package exports for metro. fixes #842 --- .github/workflows/build-templates.yml | 4 ++++ .../templates/expo-library/example/metro.config.js | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-templates.yml b/.github/workflows/build-templates.yml index 062c227dc..1265ae35d 100644 --- a/.github/workflows/build-templates.yml +++ b/.github/workflows/build-templates.yml @@ -193,6 +193,10 @@ jobs: working-directory: ${{ env.work_dir }} if: matrix.type.language == 'js' run: | + # Clean up built JS files + # So we test that bundling works without any pre-built files + rm -rf lib/* + yarn example expo export --platform web - name: Install JDK diff --git a/packages/create-react-native-library/templates/expo-library/example/metro.config.js b/packages/create-react-native-library/templates/expo-library/example/metro.config.js index c54d1cba1..097c7e0ae 100644 --- a/packages/create-react-native-library/templates/expo-library/example/metro.config.js +++ b/packages/create-react-native-library/templates/expo-library/example/metro.config.js @@ -10,7 +10,11 @@ const root = path.resolve(__dirname, '..'); * * @type {import('metro-config').MetroConfig} */ -module.exports = withMetroConfig(getDefaultConfig(__dirname), { +const config = withMetroConfig(getDefaultConfig(__dirname), { root, dirname: __dirname, }); + +config.resolver.unstable_enablePackageExports = true; + +module.exports = config;