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