| /* |
| MIT License http://www.opensource.org/licenses/mit-license.php |
| Author Tobias Koppers @sokra |
| */ |
| "use strict"; |
| |
| const RequireIncludeDependency = require("./RequireIncludeDependency"); |
| |
| module.exports = class RequireIncludeDependencyParserPlugin { |
| apply(parser) { |
| parser.hooks.call |
| .for("require.include") |
| .tap("RequireIncludeDependencyParserPlugin", expr => { |
| if (expr.arguments.length !== 1) return; |
| const param = parser.evaluateExpression(expr.arguments[0]); |
| if (!param.isString()) return; |
| const dep = new RequireIncludeDependency(param.string, expr.range); |
| dep.loc = expr.loc; |
| parser.state.current.addDependency(dep); |
| return true; |
| }); |
| } |
| }; |