@ckeditor/ckeditor5-dev-utils
Version:
Utils for CKEditor 5 development tools packages.
31 lines (30 loc) • 1.06 kB
JavaScript
import { transform } from "lightningcss";
import { Buffer } from "node:buffer";
//#region src/loaders/ck-lightningcss-loader.ts
/**
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md.
*/
/**
* Transforms editor styles using Lightning CSS.
*/
function ckLightningCssLoader(source, map) {
try {
const lightningCssOptions = (this.getOptions ? this.getOptions() : this.query || {}).lightningCssOptions || {};
let inputSourceMap;
if (typeof map === "string") inputSourceMap = map;
else if (map) inputSourceMap = JSON.stringify(map);
const result = transform({
...lightningCssOptions,
filename: this.resourcePath,
code: Buffer.from(source),
inputSourceMap
});
const sourceMap = result.map ? JSON.parse(Buffer.from(result.map).toString()) : void 0;
this.callback(null, Buffer.from(result.code).toString(), sourceMap);
} catch (error) {
this.callback(error instanceof Error ? error : new Error(String(error)));
}
}
//#endregion
export { ckLightningCssLoader as default };