one
Version:
One is a new React Framework that makes Vite serve both native and web.
71 lines (70 loc) • 3.15 kB
JavaScript
import module from "module";
import path from "path";
function buildOneMetroResolverOverrides(param) {
var {
projectRoot
} = param;
var require2 = module.createRequire(projectRoot + "/");
var emptyPath = require2.resolve("@vxrn/vite-plugin-metro/empty", {
paths: [projectRoot]
});
return function (defaultConfig) {
var _defaultConfig_resolver, _defaultConfig_resolver1;
var resolver = {
...(defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.resolver),
extraNodeModules: {
...(defaultConfig === null || defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.extraNodeModules)
},
nodeModulesPaths: defaultConfig === null || defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver1 = defaultConfig.resolver) === null || _defaultConfig_resolver1 === void 0 ? void 0 : _defaultConfig_resolver1.nodeModulesPaths,
resolveRequest: function (context, moduleName, platform) {
var _defaultConfig_resolver2;
if (moduleName.endsWith(".css")) {
return {
type: "sourceFile",
filePath: emptyPath
};
}
if (/_middleware.tsx?$/.test(moduleName)) {
return {
type: "sourceFile",
filePath: emptyPath
};
}
if (/\.server(\.[jt]sx?)?$/.test(moduleName)) {
return {
type: "sourceFile",
filePath: emptyPath
};
}
if (moduleName === "react-native-svg") {
var _defaultConfig_resolver12;
var defaultResolveRequest = (defaultConfig === null || defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver12 = defaultConfig.resolver) === null || _defaultConfig_resolver12 === void 0 ? void 0 : _defaultConfig_resolver12.resolveRequest) || context.resolveRequest;
var res = defaultResolveRequest(context, moduleName, platform);
var svgSrcSuffix = `${path.sep}src${path.sep}index.ts`;
if (res && "filePath" in res && res.filePath.includes(svgSrcSuffix)) {
return {
...res,
filePath: res.filePath.replace(svgSrcSuffix, `${path.sep}lib${path.sep}commonjs${path.sep}index.js`)
};
}
return res;
}
var defaultResolveRequest1 = (defaultConfig === null || defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
var res1 = defaultResolveRequest1(context, moduleName, platform);
if (res1 && "filePath" in res1 && /\.server\.[jt]sx?$/.test(res1.filePath)) {
return {
type: "sourceFile",
filePath: emptyPath
};
}
return res1;
}
};
return {
...defaultConfig,
resolver
};
};
}
export { buildOneMetroResolverOverrides };
//# sourceMappingURL=buildOneMetroResolverOverrides.native.js.map