Sha256: 935d2f8061579fd3c38b96f43af0a6128897595c2ecb3841679e8fd043b9ac5c

Contents?: true

Size: 1.55 KB

Versions: 62

Compression:

Stored size: 1.55 KB

Contents

/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/
var createInnerCallback = require("./createInnerCallback");

function ModuleTemplatesPlugin(moduleType, templates, targetModuleType) {
	this.moduleType = moduleType;
	this.targetModuleType = targetModuleType;
	this.templates = templates;
}
module.exports = ModuleTemplatesPlugin;

ModuleTemplatesPlugin.prototype.apply = function(resolver) {
	var templates = this.templates;
	var targetModuleType = this.targetModuleType;
	resolver.plugin("module-" + this.moduleType, function(request, callback) {
		var fs = this.fileSystem;
		var topLevelCallback = callback;
		var i = request.request.indexOf("/"),
			j = request.request.indexOf("\\");
		var p = i < 0 ? j : j < 0 ? i : i < j ? i : j;
		var moduleName, remainingRequest;
		if(p < 0) {
			moduleName = request.request;
			remainingRequest = "";
		} else {
			moduleName = request.request.substr(0, p);
			remainingRequest = request.request.substr(p);
		}
		this.forEachBail(templates, function(template, callback) {
			var moduleFinalName = template.replace(/\*/g, moduleName);
			this.applyPluginsParallelBailResult("module-" + targetModuleType, {
				path: request.path,
				request: moduleFinalName + remainingRequest,
				query: request.query,
				directory: request.directory
			}, createInnerCallback(function(err, result) {
				if(err) return callback(err);
				if(!result) return callback();
				return callback(null, result);
			}, topLevelCallback, "module variation " + moduleFinalName));
		}.bind(this), callback);
	});
};

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
smock-0.1.268 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.267 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.266 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.265 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.264 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.263 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.262 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.261 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.260 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.259 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.258 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.256 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.255 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.254 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.253 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.252 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.251 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.250 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.249 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
smock-0.1.247 node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js