UNPKG

esbuild-plugin-lit

Version:

Import CSS, SVG, HTML, XLIFF files as tagged-template literals. Optionally minify with esbuild minifier.

32 lines 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SVGLoader = void 0; const asset_loader_js_1 = require("./asset-loader.js"); class SVGLoader extends asset_loader_js_1.AssetLoader { extension = /\.svg$/; 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) { const transformed = this.minifier(output, this.options.svgo || {}) .data; if (!transformed) return Promise.resolve(``); //TODO: error output = transformed; } output = this.sanitize(output); return Promise.resolve(`import { html } from '${this.specifier}'; export const template = html\`${output}\`; export default template;`); } } exports.SVGLoader = SVGLoader; //# sourceMappingURL=svg-loader.js.map