anypack
Version:
webpack the local deps
67 lines (62 loc) • 1.77 kB
JavaScript
var glob = require("glob");
var fs = require("fs");
var path = require("path");
var async = require("async");
var _ = require("lodash");
var nUtil = require("./nodeUtil");
var tempateMap = require("./templateFactory");
var defineScope = require("./defineScope");
var util = require("./util");
module.exports = opack;
function opack(options) {
this.options = _.assign({
nameRegx: "",
output: {},
entry: [],
resolve: {
root: process.cwd(),
alias: {}
}
}, options);
console.log(this.options);
this._run();
}
opack.prototype.entries = function () {
var entries = [];
var entriesObj = [];
var entryOption = this.options.entry;
entryOption.forEach(function (item) {
var files = glob.sync(item);
entries = entries.concat(files);
});
return entries;
};
opack.prototype._run = function () {
var parallels = [];
var options = this.options;
var outConfig = options.output;
this.entries().forEach(function (src, k) {
parallels.push(function () {
var instance = new defineScope({
src: src,
resolve: options.resolve
});
var info = instance.inlineDefine();
var finalContent = info.contents.join("");
var destPath = outdir(info.name);
fs.writeFileSync(destPath, finalContent);
});
});
function outdir(name) {
var m = name.match(RegExp(outConfig.fileNamePattern));
if (m) {
name = m[1];
}
return path.join(outConfig.path, name + ".js");
}
async.parallel(parallels, function () {
console.log("done");
});
};
//# sourceMappingURL=index.js.map
;