UNPKG

eslint-plugin-san

Version:

Official ESLint plugin for San

48 lines (45 loc) 1.52 kB
/** * @author BUPTlhuanyu */ 'use strict'; /* eslint-disable */ // ------------------------------------------------------------------------------ // Rule Definition // ------------------------------------------------------------------------------ module.exports = { meta: { type: 'problem', docs: { description: 'disallow expression in the template in template literals', categories: ['recommended'], url: 'https://ecomfe.github.io/eslint-plugin-san/rules/no-expression-in-template-literals.html' }, fixable: null, schema: [] }, /** * @param {RuleContext} context - The rule context. * @returns {RuleListener} AST event handlers. */ create(context) { return { 'ClassProperty, Property, PropertyDefinition'(node) { if (!node || !node.value) { return; } if (node.key.name === 'template' && node.value.type === 'TemplateLiteral') { const expressions = node.value.expressions; expressions.forEach(exp => { if (exp) { context.report({ node: exp, loc: exp.loc, message: "The template disallows expression." }); } }); } } }; } };