UNPKG

sass-lint

Version:

Sass linter. Compatible but different from scss-lint

61 lines (51 loc) 1.55 kB
'use strict'; var helpers = require('../helpers'); module.exports = { 'name': 'trailing-semicolon', 'defaults': { 'include': true }, 'detect': function (ast, parser) { var result = []; if (ast.syntax !== 'sass') { ast.traverseByType('block', function (block) { var last, next; try { last = block.last('declaration'); } catch (e) { return; } block.forEach('declaration', function (item, i, parent) { if (helpers.isEqual(last, item)) { next = parent.content[i + 1]; if (next.type === 'declarationDelimiter') { if (!parser.options.include) { result = helpers.addUnique(result, { 'ruleId': parser.rule.name, 'severity': parser.severity, 'line': item.end.line, 'column': item.end.column, 'message': 'No trailing semicolons allowed' }); } } else { if (parser.options.include) { result = helpers.addUnique(result, { 'ruleId': parser.rule.name, 'severity': parser.severity, 'line': item.last('value').start.line, 'column': item.last('value').start.column, 'message': 'Trailing semicolons required' }); } } } }); }); } return result; } };