Lagg till custom Metro-resolver for .js->ts samt react-native-web for SDK 54
This commit is contained in:
@@ -15,4 +15,24 @@ config.resolver.nodeModulesPaths = [
|
||||
path.resolve(workspaceRoot, "node_modules"),
|
||||
];
|
||||
|
||||
// SDK 54 Metro does not automatically strip `.js` extensions from relative
|
||||
// ESM imports (our workspace packages use `./foo.js` to point at `.ts` source).
|
||||
// Try the specifier without `.js` first, then fall back to the default resolver.
|
||||
const defaultResolveRequest = config.resolver.resolveRequest;
|
||||
config.resolver.resolveRequest = (context, moduleName, platform) => {
|
||||
if (
|
||||
(moduleName.startsWith("./") || moduleName.startsWith("../")) &&
|
||||
moduleName.endsWith(".js")
|
||||
) {
|
||||
try {
|
||||
return context.resolveRequest(context, moduleName.slice(0, -3), platform);
|
||||
} catch {}
|
||||
}
|
||||
return (defaultResolveRequest ?? context.resolveRequest)(
|
||||
context,
|
||||
moduleName,
|
||||
platform,
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = config;
|
||||
|
||||
Reference in New Issue
Block a user