/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ var loaderUtils = require("loader-utils"); var path = require("path"); module.exports = function getLocalIdent(loaderContext, localIdentName, localName, options) { if(!options.context) { if (loaderContext.rootContext) { options.context = loaderContext.rootContext; } else if (loaderContext.options && typeof loaderContext.options.context === "string") { options.context = loaderContext.options.context; } else { options.context = loaderContext.context; } } var request = path.relative(options.context, loaderContext.resourcePath); options.content = options.hashPrefix + request + "+" + localName; localIdentName = localIdentName.replace(/\[local\]/gi, localName); var hash = loaderUtils.interpolateName(loaderContext, localIdentName, options); return hash.replace(new RegExp("[^a-zA-Z0-9\\-_\u00A0-\uFFFF]", "g"), "-").replace(/^((-?[0-9])|--)/, "_$1"); };