UNPKG

eslint-plugin-svelte

Version:
49 lines (48 loc) 1.14 kB
import { loadModule } from '../../../utils/load-module.js'; import { getFilename } from '../../../utils/compat.js'; /** * Transpile with less */ export function transform(node, text, context) { const less = loadLess(context); if (!less) { return null; } let inputRange; if (node.endTag) { inputRange = [node.startTag.range[1], node.endTag.range[0]]; } else { inputRange = [node.startTag.range[1], node.range[1]]; } const code = text.slice(...inputRange); const filename = `${getFilename(context)}.less`; try { let output; less.render(code, { sourceMap: {}, syncImport: true, filename, lint: false }, (_error, result) => { output = result; }); if (!output) { return null; } return { inputRange, output: output.css, mappings: JSON.parse(output.map).mappings }; } catch { return null; } } /** * Load less */ function loadLess(context) { return loadModule(context, 'less'); }