worker-loader
Advanced tools
Comparing version 0.1.3 to 0.2.0
23
index.js
var webpack = require("webpack"); | ||
var clone = require("clone"); | ||
var path = require("path"); | ||
var EventEmitter = require("events").EventEmitter; | ||
@@ -9,2 +10,3 @@ module.exports = function(source) { | ||
var options = clone(this.options); | ||
var constructor = "new Worker"; | ||
options.cache = this.options.cache; | ||
@@ -22,2 +24,7 @@ options.watch = false; | ||
options.resolve.paths.unshift(newBuildin); | ||
options.events = new EventEmitter(); | ||
options.events.on("module", this.options.events.emit.bind(this.options.events, "module")); | ||
options.events.on("context-enum", this.options.events.emit.bind(this.options.events, "context-enum")); | ||
options.events.on("context", this.options.events.emit.bind(this.options.events, "context")); | ||
options.events.on("task", this.options.events.emit.bind(this.options.events, "task-end")); | ||
if(this.options.worker) { | ||
@@ -30,2 +37,3 @@ if(typeof this.options.worker.webpack == "object") { | ||
} | ||
var inlineWorker = this.options.worker.inline | ||
var self = this; | ||
@@ -36,11 +44,24 @@ var callback = this.async(); | ||
var worker = null; | ||
var workerMainContent = null; | ||
workerWrites.forEach(function(write) { | ||
self.emitFile(write[0].replace(/\[hash\]/g, stats.hash), write[1]); | ||
if(inlineWorker && write[0] == options.output && write[1]) { | ||
constructor = "require(" + JSON.stringify(path.join(__dirname, "createInlineWorker.js")) + ")"; | ||
workerMainContent = write[1]; | ||
} | ||
}); | ||
stats.request = remReq; | ||
self.emitSubStats(stats); | ||
stats.dependencies.forEach(function(dep) { | ||
self.dependency && self.dependency(dep); | ||
}); | ||
stats.loaders.forEach(function(dep) { | ||
self.loaderDependency && self.loaderDependency(dep); | ||
}); | ||
callback(null, "module.exports = function() {\n"+ | ||
" return new Worker(" + require("webpack/api/getPublicPrefix") + " + " + | ||
" return " + constructor + "(" + | ||
(workerMainContent ? JSON.stringify(workerMainContent) + ", " : "") + | ||
require("webpack/api/getPublicPrefix") + " + " + | ||
JSON.stringify(options.output.replace(/\[hash\]/g, stats.hash)) + ");\n" + "}"); | ||
}); | ||
} |
{ | ||
"name": "worker-loader", | ||
"version": "0.1.3", | ||
"version": "0.2.0", | ||
"author": "Tobias Koppers @sokra", | ||
@@ -5,0 +5,0 @@ "description": "worker loader module for webpack", |
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
6867
9
160