Skip to content

[SDK 53] Firebase JS SDK for Auth is incompatible with Metro's package.json:exports #36588

@jacoboressie

Description

@jacoboressie

TEMP SOLUTION ATTACHED

"Error: Component auth has not been registered yet, js engine: hermes"

Image

Using Firebase JS SDK. No issues before upgrade to v53

SOLUTION

Working for me right now, update metro config file to the following
`const { getDefaultConfig } = require('expo/metro-config');

module.exports = (() => {
const config = getDefaultConfig(__dirname);

const { transformer, resolver } = config;

// Add support for SVG files
config.transformer = {
...transformer,
babelTransformerPath: require.resolve('react-native-svg-transformer'),
};

config.resolver = {
...resolver,
assetExts: resolver.assetExts.filter((ext) => ext !== 'svg'),
sourceExts: [...resolver.sourceExts, 'svg'],
};

// Add src/assets to the asset include patterns
config.resolver.assetExts.push('png', 'jpg', 'jpeg', 'gif', 'webp');
config.watchFolders = [...(config.watchFolders || []), './src/assets'];

// Firebase compatibility fixes for Expo SDK 53
config.resolver.sourceExts.push('cjs');
config.resolver.unstable_enablePackageExports = false;

return config;
})();

`

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions