@uvarov.frontend/pug-bem-plain-loader
Version:
Pug that adds BEM shortcuts to plain html loader for webpack
23 lines (17 loc) • 569 B
JavaScript
const pug = require('pug')
const bem = require('@uvarov.frontend/pug-bem')
const loaderUtils = require('loader-utils')
module.exports = function (source) {
const options = Object.assign({
filename: this.resourcePath,
doctype: 'html',
plugins: [bem],
compileDebug: this.debug || false
}, loaderUtils.getOptions(this))
bem.b = options.b || bem.b
bem.e = options.e || bem.e
bem.m = options.m || bem.m
const template = pug.compile(source, options)
template.dependencies.forEach(this.addDependency)
return template(options.data || {})
}