@dr.pogodin/react-utils
Version:
Collection of generic ReactJS components and utils
20 lines • 1.78 kB
JavaScript
// eslint-disable-next-line import/enforce-node-protocol-usage
import{createRequire}from"module";import{IS_CLIENT_SIDE,IS_SERVER_SIDE}from"./isomorphy/index.js";let require;if(IS_SERVER_SIDE)require=createRequire(import.meta.url);/**
* Requires the specified module without including it into the bundle during
* Webpack build.
* @param modulePath
* @param [basePath]
* @return Required module.
*/export function requireWeak(modulePath,// TODO: For now `basePath` can be provided directly as a string here,
// for backward compatibility. Deprecate it in future, if any other
// breaking changes are done for requireWeak().
basePathOrOptions){if(IS_CLIENT_SIDE)return null;let basePath;let ops;if(typeof basePathOrOptions==="string"){basePath=basePathOrOptions}else{ops=basePathOrOptions??{};({basePath}=ops)}// eslint-disable-next-line @typescript-eslint/unbound-method
const{resolve}=require("node:path");const path=basePath?resolve(basePath,modulePath):modulePath;const module=require(path);if(!("default"in module)||!module.default)return module;const{default:def,...named}=module;const res=def;Object.entries(named).forEach(([name,value])=>{const assigned=res[name];if(assigned===undefined){res[name]=value}else if(assigned!==value){throw Error("Conflict between default and named exports")}});return res}/**
* Resolves specified module path with help of Babel's module resolver.
* Yes, the function itself just returns its argument to the caller, but Babel
* is configured to resolve the first argument of resolveWeak(..) function, thus
* the result will be the resolved path.
* @param {string} modulePath
* @return {string} Absolute or relative path to the module.
*/export function resolveWeak(modulePath){return modulePath}
//# sourceMappingURL=webpack.js.map