Sha256: 4691701ccefd08c9343459bf34ba7edb94f326ae4a085c94db2c2304173b658e

Contents?: true

Size: 1.34 KB

Versions: 45

Compression:

Stored size: 1.34 KB

Contents

'use strict';

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

module.exports = {
  'name': 'quotes',
  'defaults': {
    'style': 'single'
  },
  'detect': function (ast, parser) {
    var result = [];

    ast.traverseByType('string', function (node) {
      var firstQuote = node.content.charAt(0),
          lastQuote = node.content.charAt(node.content.length - 1);

      if (firstQuote !== lastQuote) {
        result = helpers.addUnique(result, {
          'ruleId': parser.rule.name,
          'line': node.start.line,
          'column': node.start.column,
          'message': 'Mixed quote styles',
          'severity': parser.severity
        });
      }

      if (parser.options.style === 'single' && firstQuote !== '\'') {
        result = helpers.addUnique(result, {
          'ruleId': parser.rule.name,
          'line': node.start.line,
          'column': node.start.column,
          'message': 'Strings must use single quotes',
          'severity': parser.severity
        });
      }
      else if (parser.options.style === 'double' && firstQuote !== '"') {
        result = helpers.addUnique(result, {
          'ruleId': parser.rule.name,
          'line': node.start.line,
          'column': node.start.column,
          'message': 'Strings must use double quotes',
          '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/quotes.js
govuk_publishing_components-17.21.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.20.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.19.1 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.19.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.18.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.17.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.16.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.15.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.14.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.13.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.12.2 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.12.1 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.12.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.11.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.10.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.9.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.8.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.7.0 node_modules/sass-lint/lib/rules/quotes.js
govuk_publishing_components-17.6.1 node_modules/sass-lint/lib/rules/quotes.js