Sha256: d83ad77fc5a15e175af3481fefd45d7c1d7b012a2966e65035e0c9441ef49e29

Contents?: true

Size: 1.04 KB

Versions: 43

Compression:

Stored size: 1.04 KB

Contents

'use strict';

var helpers = require('../helpers');

module.exports = {
  'name': 'no-empty-rulesets',
  'defaults': {},
  'detect': function (ast, parser) {
    var result = [];

    ast.traverseByType('block', function (block) {
      var nonSpaceCount = 0,
          empty = false;

      if (block.content.length === 0) {
        empty = true;
      }
      else {
        block.traverse(function (item) {
          if (!helpers.isEqual(block, item)) {
            if (item.type !== 'space' &&
                item.type !== 'singlelineComment' &&
                item.type !== 'multilineComment') {
              nonSpaceCount++;
            }
          }
        });
        if (nonSpaceCount === 0) {
          empty = true;
        }
      }

      if (empty) {
        result = helpers.addUnique(result, {
          'ruleId': parser.rule.name,
          'severity': parser.severity,
          'line': block.start.line,
          'column': block.start.column,
          'message': 'No empty blocks allowed'
        });
      }
    });


    return result;
  }
};

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
govuk_publishing_components-18.0.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.21.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.20.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.19.1 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.19.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.18.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.17.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.16.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.15.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.14.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.13.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.12.2 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.12.1 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.12.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.11.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.10.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.9.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.8.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.7.0 node_modules/sass-lint/lib/rules/no-empty-rulesets.js
govuk_publishing_components-17.6.1 node_modules/sass-lint/lib/rules/no-empty-rulesets.js