UNPKG

682 BJavaScriptView Raw
1var traverse = require("./traverse");
2var comparify = require("comparify");
3var optionsNormalize = require("./options_normalize");
4var getAst = require("./get_ast");
5
6function isRequire(obj) {
7 return comparify(obj, {
8 "type": "CallExpression",
9 "callee": {
10 "type": "Identifier",
11 "name": "require"
12 }
13 });
14}
15
16module.exports = function(load, options){
17 var ast = getAst(load);
18
19 traverse(ast, function(obj){
20 if(isRequire(obj)) {
21 var arg = obj.arguments[0];
22 if(arg.type === "Literal") {
23 var val = arg.value;
24 arg.value = optionsNormalize(options, val, load.name, load.address);
25 arg.raw = '"'+arg.value+'"';
26 }
27
28 return false;
29 }
30 });
31
32 return ast;
33};