UNPKG

dependency-cruiser

Version:

Validate and visualize dependencies. With your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.

47 lines (35 loc) 1.36 kB
const path = require('path'); function pryConfigFromTheConfig(pWebpackConfigModule, pEnvironment, pArguments){ let lRetval = pWebpackConfigModule; if (typeof pWebpackConfigModule === 'function'){ lRetval = pWebpackConfigModule(pEnvironment, pArguments); } if (Array.isArray(pWebpackConfigModule)){ lRetval = pryConfigFromTheConfig(pWebpackConfigModule[0], pEnvironment, pArguments); } return lRetval; } function makeAbsolute (pFilename) { let lRetval = pFilename; if (!path.isAbsolute(pFilename)) { lRetval = path.join(process.cwd(), pFilename); } return lRetval; } module.exports = (pWebpackConfigFilename, pEnvironment, pArguments) => { let lRetval = {}; try { /* eslint global-require:0, security/detect-non-literal-require:0, import/no-dynamic-require:0 */ const lWebpackConfigModule = require(makeAbsolute(pWebpackConfigFilename)); const lWebpackConfig = pryConfigFromTheConfig(lWebpackConfigModule, pEnvironment, pArguments); if (lWebpackConfig.resolve){ lRetval = lWebpackConfig.resolve; } } catch (pError){ throw new Error( `The webpack config '${pWebpackConfigFilename}' seems to be not quite valid for use:` + `\n\n "${pError}"\n` ); } return lRetval; };