esbuild-plugin-lit
Version:
Import CSS, SVG, HTML, XLIFF files as tagged-template literals. Optionally minify with esbuild minifier.
28 lines • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HTMLLoader = void 0;
const asset_loader_js_1 = require("./asset-loader.js");
class HTMLLoader extends asset_loader_js_1.AssetLoader {
extension = /\.html/;
constructor(build, options = {}, specifier = "lit", minifier) {
super(build, options, specifier, minifier);
if (options.extension)
this.extension = options.extension;
if (options.transform)
this.transform = options.transform;
this.minify = !!build.initialOptions.minify && options.minify !== false &&
!!this.minifier;
}
load(input, filename) {
let output = this.transform(input, filename);
if (this.minify) {
output = this.minifier(output, this.options.htmlMinifier);
}
output = output = this.sanitize(input);
return Promise.resolve(`import { html } from '${this.specifier}';
export const template = html\`${output}\`;
export default template;`);
}
}
exports.HTMLLoader = HTMLLoader;
//# sourceMappingURL=html-loader.js.map