var Walker = require('node-source-walk');
/**
* Extracts the dependencies of the supplied es6 module
*
* @param {String|Object} src - File's content or AST
* @return {String[]}
*/
module.exports = function(src) {
var walker = new Walker();
var dependencies = [];
Iif (!src) { throw new Error('src not given'); }
walker.walk(src, function(node) {
switch (node.type) {
case 'ImportDeclaration':
Eif (node.source && node.source.value) {
dependencies.push(node.source.value);
}
break;
case 'ExportNamedDeclaration':
case 'ExportAllDeclaration':
if (node.source && node.source.value) {
dependencies.push(node.source.value);
}
break;
default:
return;
}
});
return dependencies;
};
|