eslint-plugin-svelte
Version:
ESLint plugin for Svelte using AST
38 lines (37 loc) • 1.32 kB
JavaScript
import { createRule } from '../utils/index.js';
export default createRule('valid-style-parse', {
meta: {
docs: {
description: 'require valid style element parsing',
category: 'Possible Errors',
recommended: false
},
schema: [],
messages: {},
type: 'problem'
},
create(context) {
const sourceCode = context.sourceCode;
if (!sourceCode.parserServices.isSvelte) {
return {};
}
const cwd = `${context.cwd ?? process.cwd()}/`;
return {
SvelteStyleElement(node) {
const styleContext = sourceCode.parserServices.getStyleContext();
if (styleContext.status === 'parse-error') {
context.report({
loc: node.loc,
message: `Error parsing style element. Error message: "${styleContext.error.message.replace(cwd, '')}"`
});
}
if (styleContext.status === 'unknown-lang') {
context.report({
loc: node.loc,
message: `Found unsupported style element language "${styleContext.sourceLang}"`
});
}
}
};
}
});