12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- Object.defineProperty(exports, '__esModule', { value: true });
- const env = require('./env.js');
- /**
- * NOTE: In order to avoid circular dependencies, if you add a function to this module and it needs to print something,
- * you must either a) use `console.log` rather than the logger, or b) put your function elsewhere.
- */
- /**
- * Checks whether we're in the Node.js or Browser environment
- *
- * @returns Answer to given question
- */
- function isNodeEnv() {
- // explicitly check for browser bundles as those can be optimized statically
- // by terser/rollup.
- return (
- !env.isBrowserBundle() &&
- Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]'
- );
- }
- /**
- * Requires a module which is protected against bundler minification.
- *
- * @param request The module path to resolve
- */
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
- function dynamicRequire(mod, request) {
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
- return mod.require(request);
- }
- /**
- * Helper for dynamically loading module that should work with linked dependencies.
- * The problem is that we _should_ be using `require(require.resolve(moduleName, { paths: [cwd()] }))`
- * However it's _not possible_ to do that with Webpack, as it has to know all the dependencies during
- * build time. `require.resolve` is also not available in any other way, so we cannot create,
- * a fake helper like we do with `dynamicRequire`.
- *
- * We always prefer to use local package, thus the value is not returned early from each `try/catch` block.
- * That is to mimic the behavior of `require.resolve` exactly.
- *
- * @param moduleName module name to require
- * @returns possibly required module
- */
- function loadModule(moduleName) {
- let mod;
- try {
- mod = dynamicRequire(module, moduleName);
- } catch (e) {
- // no-empty
- }
- try {
- const { cwd } = dynamicRequire(module, 'process');
- mod = dynamicRequire(module, `${cwd()}/node_modules/${moduleName}`) ;
- } catch (e) {
- // no-empty
- }
- return mod;
- }
- exports.dynamicRequire = dynamicRequire;
- exports.isNodeEnv = isNodeEnv;
- exports.loadModule = loadModule;
- //# sourceMappingURL=node.js.map
|