js-makedepend
Advanced tools
Comparing version 2.4.4 to 2.4.5
{ | ||
"name": "js-makedepend", | ||
"version": "2.4.4", | ||
"version": "2.4.5", | ||
"description": "Determines dependencies of javascript modules and saves them in a Makefile. A bit like makedepend does for C.", | ||
@@ -15,3 +15,3 @@ "bin": { | ||
"npm-check-updates": "ncu --upgrade", | ||
"postversion": "git push && git push --tags && npm publish", | ||
"postversion": "git push && git push --tags", | ||
"preversion": "test `git branch | grep \"^* [a-zA-Z]\" | cut -c 3-` = 'master'", | ||
@@ -65,3 +65,3 @@ "test": "mocha --reporter dot test", | ||
"commander": "2.13.0", | ||
"dependency-cruiser": "2.11.0", | ||
"dependency-cruiser": "2.12.1", | ||
"lodash": "4.17.4", | ||
@@ -68,0 +68,0 @@ "resolve": "1.5.0", |
"use strict"; | ||
const fs = require('fs'); | ||
const path = require('path'); | ||
const acorn = require('acorn'); | ||
const acorn_loose = require('acorn/dist/acorn_loose'); | ||
const _ = require('lodash'); | ||
const transpile = require('dependency-cruiser/src/extract/transpile'); | ||
const extractES6Dependencies = require('dependency-cruiser/src/extract/extract-ES6'); | ||
const extractCommonJSDependencies = require('dependency-cruiser/src/extract/extract-commonJS'); | ||
const extractAMDDependencies = require('dependency-cruiser/src/extract/extract-AMD'); | ||
const extractES6Dependencies = require('dependency-cruiser/src/extract/ast-extractors/extract-ES6-deps'); | ||
const extractCommonJSDependencies = require('dependency-cruiser/src/extract/ast-extractors/extract-commonJS-deps'); | ||
const extractAMDDependencies = require('dependency-cruiser/src/extract/ast-extractors/extract-AMD-deps'); | ||
const extractTypeScript = require('dependency-cruiser/src/extract/ast-extractors/extract-typescript-deps'); | ||
const getJSASTCached = require('dependency-cruiser/src/extract/parse/toJavascriptAST').getASTCached; | ||
const toTypescriptAST = require('dependency-cruiser/src/extract/parse/toTypescriptAST'); | ||
const resolve = require('./resolve'); | ||
const utl = require('./utl'); | ||
function getExtension(pFileName) { | ||
let lRetval = path.extname(pFileName); | ||
if (lRetval === ".md") { | ||
return pFileName.endsWith(".coffee.md") ? ".coffee.md" : lRetval; | ||
} | ||
return lRetval; | ||
} | ||
function getASTBare(pFileName) { | ||
const lFile = transpile( | ||
getExtension(pFileName), | ||
fs.readFileSync(pFileName, 'utf8') | ||
); | ||
try { | ||
return acorn.parse(lFile, {sourceType: 'module'}); | ||
} catch (e) { | ||
return acorn_loose.parse_dammit(lFile, {sourceType: 'module'}); | ||
} | ||
} | ||
const getAST = _.memoize(getASTBare); | ||
/** | ||
@@ -64,3 +40,3 @@ * Returns an array of dependencies present in the given file. Of | ||
try { | ||
const lAST = getAST(pFileName); | ||
const lAST = getJSASTCached(pFileName); | ||
let lDependencies = []; | ||
@@ -76,11 +52,21 @@ | ||
if (_.includes(pOptions.moduleSystems, "cjs")){ | ||
if (pOptions.moduleSystems.indexOf("cjs") > -1){ | ||
extractCommonJSDependencies(lAST, lDependencies); | ||
} | ||
if (_.includes(pOptions.moduleSystems, "es6")){ | ||
extractES6Dependencies(lAST, lDependencies); | ||
if (pOptions.moduleSystems.indexOf("es6") > -1) { | ||
if (path.extname(pFileName).startsWith(".ts") && toTypescriptAST.isAvailable()) { | ||
lDependencies = lDependencies.concat( | ||
extractTypeScript( | ||
toTypescriptAST.getASTCached( | ||
path.join(pOptions.baseDir, pFileName) | ||
) | ||
) | ||
); | ||
} else { | ||
extractES6Dependencies(lAST, lDependencies); | ||
} | ||
} | ||
if (_.includes(pOptions.moduleSystems, "amd")){ | ||
if (pOptions.moduleSystems.indexOf("amd") > -1){ | ||
extractAMDDependencies(lAST, lDependencies); | ||
@@ -87,0 +73,0 @@ } |
4
40819
484
+ Addedajv@6.1.0(transitive)
+ Addeddependency-cruiser@2.12.1(transitive)
+ Addedsemver-try-require@1.1.0(transitive)
- Removedajv@6.0.1(transitive)
- Removeddependency-cruiser@2.11.0(transitive)
Updateddependency-cruiser@2.12.1