Sha256: b39804ab746c400c5e109a5c5357b37db20ce6a708ffe8a0f7d6c31d80ad4421

Contents?: true

Size: 1.31 KB

Versions: 62

Compression:

Stored size: 1.31 KB

Contents

/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/
function ModuleAsDirectoryPlugin(moduleType) {
	this.moduleType = moduleType;
}
module.exports = ModuleAsDirectoryPlugin;

ModuleAsDirectoryPlugin.prototype.apply = function(resolver) {
	resolver.plugin("module-" + this.moduleType, function(request, callback) {
		var fs = this.fileSystem;
		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+1);
		}
		var modulePath = this.join(request.path, moduleName);
		fs.stat(modulePath, function(err, stat) {
			if(err || !stat) {
				if(callback.log) callback.log(modulePath + " doesn't exist (module as directory)");
				return callback();
			}
			if(stat.isDirectory()) {
				return this.doResolve(request.directory ? "directory" : ["file", "directory"], {
					path: modulePath,
					request: remainingRequest,
					query: request.query
				}, callback, true);
			}
			if(callback.log) callback.log(modulePath + " is not a directory (module as directory)");
			return callback();
		}.bind(this));
	});
};

Version data entries

62 entries across 62 versions & 1 rubygems

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