UNPKG

esbuild-plugin-lit

Version:

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

34 lines 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CSSLoader = void 0; const asset_loader_js_1 = require("./asset-loader.js"); class CSSLoader extends asset_loader_js_1.AssetLoader { extension = /\.css$/; 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.sourcemap = !!build.initialOptions.sourcemap; } async load(input, filename) { let output = this.transform(input, filename); let sourcemap = ""; const { code, map } = await this.build.esbuild.transform(output, { loader: "css", minify: this.minify, sourcemap: this.sourcemap, sourcefile: filename, }); if (this.sourcemap) sourcemap = this.toSourceMapURL(map); output = this.sanitize(code); return `import { css } from '${this.specifier}'; export const styles = css\`${output}\`; export default styles;${sourcemap}`; } } exports.CSSLoader = CSSLoader; //# sourceMappingURL=css-loader.js.map