grunt-webpack
Advanced tools
Comparing version 0.3.0 to 0.3.1
{ | ||
"name": "grunt-webpack", | ||
"description": "Use webpack with grunt.", | ||
"version": "0.3.0", | ||
"version": "0.3.1", | ||
"homepage": "https://github.com/webpack/grunt-webpack", | ||
@@ -6,0 +6,0 @@ "author": { |
@@ -13,29 +13,33 @@ /* | ||
var webpack = require("webpack"); | ||
var theCache = new (require("webpack/lib/Cache"))(); | ||
grunt.registerMultiTask('webpack', 'Webpack files.', function() { | ||
var webpack = require("webpack"); | ||
var input = path.join(process.cwd(), this.file.src); | ||
var output = path.join(process.cwd(), this.file.dest); | ||
var statsTarget = this.data.statsTarget; | ||
var options = this.data; | ||
var done = this.async(); | ||
// Get options from this.data | ||
var options = Object.create(this.data); | ||
var input = path.join(process.cwd(), grunt.template.process(options.src)); | ||
var output = path.join(process.cwd(), grunt.template.process(options.dest)); | ||
var statsTarget = options.statsTarget; | ||
// Default values | ||
if(!options.outputDirectory) options.outputDirectory = path.dirname(output); | ||
if(!options.output) options.output = path.basename(output); | ||
if(!options.outputPostfix) options.outputPostfix = "." + path.basename(output); | ||
var done = this.async(); | ||
if(!options.events) options.events = new (require("events").EventEmitter)(); | ||
if(!options.cache) options.cache = theCache; | ||
if(!options.events) options.events = new (require("events").EventEmitter)(); | ||
var events = options.events; | ||
var sum = 0; | ||
var finished = 0; | ||
var chars = 0; | ||
function c(str) { | ||
return str; | ||
} | ||
function print() { | ||
var msg = ""; | ||
if(sum > 0) { | ||
msg += "compiling... (" + c("\033[1m\033[33m"); | ||
msg += sprintf("%4s", finished+"") + "/" + sprintf("%4s", sum+""); | ||
msg += " " + sprintf("%4s", Math.floor(finished*100/sum)+"%"); | ||
msg += c("\033[39m\033[22m") + ")"; | ||
msg += "compiling... ("; | ||
msg += String(sprintf("%4s", finished+"") + "/" + sprintf("%4s", sum+"")).yellow.bold; | ||
msg += String(" " + sprintf("%4s", Math.floor(finished*100/sum)+"%")).yellow.bold; | ||
msg += ")"; | ||
} | ||
@@ -47,7 +51,8 @@ for(var i = 0; i < chars; i++) | ||
} | ||
events.on("task", function(name) { | ||
var taskListener, taskEndListener, bundleListener; | ||
events.on("task", taskListener = function(name) { | ||
sum++; | ||
print(); | ||
}); | ||
events.on("task-end", function(name) { | ||
events.on("task-end", taskEndListener = function(name) { | ||
finished++; | ||
@@ -57,3 +62,3 @@ if(name) { | ||
grunt.log.write("\b \b"); | ||
grunt.log.write(name + " " + c("\033[1m\033[32m") + "done" + c("\033[39m\033[22m") + "\n"); | ||
grunt.log.writeln(name + " " + "done".green.bold); | ||
chars = 0; | ||
@@ -63,3 +68,3 @@ } | ||
}); | ||
events.on("bundle", function(name) { | ||
events.on("bundle", bundleListener = function(name) { | ||
sum = 0; | ||
@@ -72,2 +77,5 @@ finished = 0; | ||
webpack(input, options, function(err, stats) { | ||
events.removeListener("task", taskListener); | ||
events.removeListener("task-end", taskEndListener); | ||
events.removeListener("bundle", bundleListener); | ||
if(err) { | ||
@@ -74,0 +82,0 @@ grunt.log.error(err); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
5723
89