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