UNPKG

765 BJavaScriptView Raw
1var installer = require("./installer");
2var loaderUtils = require("loader-utils");
3var path = require("path");
4var parser = require("./parser");
5var util = require("util");
6
7module.exports = function loader(source, map) {
8 if (this.cacheable) {
9 this.cacheable();
10 }
11
12 var context = this.options.context || process.cwd();
13 var resolve = this.options.resolve;
14
15 var dependencies = parser.parse(source);
16
17 var modulePaths = [].concat(
18 resolve.root || [],
19 resolve.modulesDirectories || []
20 ).map(function(dir) {
21 return path.resolve(context, dir);
22 });
23
24 var missing = installer.check(dependencies, modulePaths);
25 var query = loaderUtils.parseQuery(this.query);
26
27 installer.install(missing, query.cli);
28
29 this.callback(null, source, map);
30};