.infrastructure/webpack/helpers/loadersByExtension.js
function extsToRegExp (exts) {
return new RegExp('\\.(' + exts.map(function (ext) {
return ext.replace(/\./g, '\\.')
}).join('|') + ')(\\?.*)?$')
}
module.exports = function loadersByExtension (obj) {
var loaders = []
Object.keys(obj).forEach(function (key) {
var exts = key.split('|')
var value = obj[key]
var entry = {
extensions: exts,
test: extsToRegExp(exts)
}
if (Array.isArray(value)) {
entry.loaders = value
} else if (typeof value === 'string') {
entry.loader = value
} else {
Object.keys(value).forEach(function (valueKey) {
entry[valueKey] = value[valueKey]
})
}
loaders.push(entry)
})
return loaders
}