UNPKG

dependency-cruiser

Version:

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

49 lines (43 loc) 1.1 kB
"use strict"; const path = require('path'); const resolve = require('resolve'); const SUPPORTED_EXTENSIONS = [ ".js", ".ts", ".d.ts", ".coffee", ".litcoffee", ".coffee.md" ]; /* * resolves both CommonJS and ES6 */ function resolveCJSModule(pModuleName, pBaseDir, pFileDir) { let lRetval = { resolved : pModuleName, coreModule : false, followable : false, couldNotResolve : false }; if (resolve.isCore(pModuleName)){ lRetval.coreModule = true; } else { try { lRetval.resolved = path.relative( pBaseDir, resolve.sync( pModuleName, { basedir: pFileDir, extensions: SUPPORTED_EXTENSIONS } ) ); lRetval.followable = (path.extname(lRetval.resolved) !== ".json"); } catch (e) { lRetval.couldNotResolve = true; } } return lRetval; } module.exports = resolveCJSModule;