Sha256: d7a0de043b677e275e5239ebd323629013d7d0cc1e4a21d349480d564aeff040

Contents?: true

Size: 1.28 KB

Versions: 45

Compression:

Stored size: 1.28 KB

Contents

'use strict';

var helpers = require('../helpers');
var lengths = {
  short: 3,
  long: 6
};
var canShorten = function (hex) {
  return hex.length === lengths.long &&
          hex[0] === hex[1] &&
          hex[2] === hex[3] &&
          hex[4] === hex[5];
};

module.exports = {
  'name': 'hex-length',
  'defaults': {
    'style': 'short'
  },
  'detect': function (ast, parser) {
    var result = [];

    ast.traverseByType('color', function (value) {
      if (parser.options.style === 'short' && canShorten(value.content)) {
        result = helpers.addUnique(result, {
          'ruleId': parser.rule.name,
          'line': value.start.line,
          'column': value.start.column,
          'message': 'Hex values should use the shorthand format - 3 characters where possible',
          'severity': parser.severity
        });
      }
      else if (parser.options.style === 'long') {
        if (value.content.length !== lengths.long) {
          result = helpers.addUnique(result, {
            'ruleId': parser.rule.name,
            'line': value.start.line,
            'column': value.start.column,
            'message': 'Hex values should use the long-form format - 6 characters',
            'severity': parser.severity
          });
        }
      }
    });

    return result;
  }
};

Version data entries

45 entries across 45 versions & 2 rubygems

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