Подтвердить что ты не робот

У вас есть ли какая-нибудь линия?

Я использую sass-lint с Gulp. Как я могу отключить предупреждения для определенного стиля в моем sass из вывода консоли lint?

Я нашел аналогичный вопрос, но я использую sass -lint, а не scss -lint: Если scss-lint игнорирует определенную строку

Это тот, который я использую: https://www.npmjs.com/package/gulp-sass-lint

Я пробовал несколько вариантов, основанных на проекте scss -lint:

// scss-lint:disable ImportantRule
// sass-lint:disable ImportantRule
// sass-lint:disable no-important

Чтобы быть ясным, я хочу отключить предупреждения для определенного стиля в моем SASS, а не глобально. Я буду использовать это, когда вещь, вызывающая предупреждение, будет преднамеренной. Например, я мог бы установить несколько фоновых стилей, чтобы можно было отказаться от старых браузеров. Но в настоящее время это вызывает предупреждение о недопущении дубликатов.

4b9b3361

Ответ 1

Отключение через комментарии

Обновление за декабрь 2016 года в соответствии с документами теперь можно будет использовать этот синтаксис:

Отключить более 1 правило для всего файла

// sass-lint:disable border-zero, quotes

p {
  border: none; // No lint reported
  content: "hello"; // No lint reported
}

Отключить правило для одной строки

p {
  border: none; // sass-lint:disable-line border-zero
}

Отключить все lints внутри блока (и все содержащиеся блоки)

p {
  // sass-lint:disable-block border-zero
  border: none; // No result reported
}

Новая информация любезно предоставлена ​​комментатором @IanRoutledge.

Однако перед, если вы хотите отключить определенные правила, но только для определенных блоков кода и/или фрагментов кода. Насколько я могу сказать из исходного исходного кода, это было бы невозможно с sass-lint. Я также пробовал несколько других поисков, и вообще отказался от базы кода, но не нашел намека на то, что функция, которую вы ищете, существует.

Для сравнения, этот запрос для исходного кода scss-lint ясно показывает, что он реализован там, таким образом, который, похоже, не имеет аналогичного решения в который вы используете.

Отключение через yml configs

Однако вы можете отключить правила вообще. Для отключения предупреждений необходимо иметь файл .sass-lint.yml.

Предположим, что у вас есть это gulpfile.js:

'use strict';

var gulp = require('gulp'),
    sassLint = require('gulp-sass-lint');

gulp.task('default', [], function() {
  gulp.src('sass/*.scss')
    .pipe(sassLint())
    .pipe(sassLint.format())
    .pipe(sassLint.failOnError());
});

И этот package.json:

{
  "devDependencies": {
    "gulp": "^3.9.0",
    "gulp-sass": "^2.1.1",
    "gulp-sass-lint": "^1.1.1"
  }
}

Выполняется в этом файле styles.scss:

div { dsply: block; }

Вы получаете этот вывод:

[23:53:33] Using gulpfile D:\experiments\myfolder\gulpfile.js
[23:53:33] Starting 'default'...
[23:53:33] Finished 'default' after 8.84 ms

sass\styles.scss
  1:7   warning  Property `dsply` appears to be spelled incorrectly  no-misspelled-properties
  1:21  warning  Files must end with a new line                      final-newline

??? 2 problems (0 errors, 2 warnings)

Теперь, если вы добавите файл .sass-lint.yml рядом с gulpfile, с этим контентом:

rules:
  no-misspelled-properties: 0

Вместо этого вы увидите:

[23:54:56] Using gulpfile D:\experiments\myfolder\gulpfile.js
[23:54:56] Starting 'default'...
[23:54:56] Finished 'default' after 9.32 ms

sass\styles.scss
  1:21  warning  Files must end with a new line  final-newline

??? 1 problem (0 errors, 1 warning)

Одно из предупреждений теперь игнорируется.

Sass-lint readme.md ссылается на кажущуюся конфигурацию по умолчанию, в которой есть еще несколько примеров.

Ответ 2

С sass-lint 1.10.0 можно было отключить правила sass-lint с помощью комментариев источника

Ниже приведены различные перестановки этого, преднамеренно почти идентичные scss-lint раньше.

Отключить правило для всего файла

// sass-lint:disable border-zero
p {
  border: none; // No lint reported
}

Отключить более 1 правило

// sass-lint:disable border-zero, quotes
p {
  border: none; // No lint reported
  content: "hello"; // No lint reported
}

Отключить правило для одной строки

p {
  border: none; // sass-lint:disable-line border-zero
}

Отключите все lints внутри блока (и все содержащиеся блоки)

p {
  // sass-lint:disable-block border-zero
  border: none; // No result reported
}

a {
  border: none; // Failing result reported
}

Отключить и включить снова

// sass-lint:disable border-zero
p {
  border: none; // No result reported
}
// sass-lint:enable border-zero

a {
  border: none; // Failing result reported
}

Отключить/включить все литеры

// sass-lint:disable-all
p {
  border: none; // No result reported
}
// sass-lint:enable-all

a {
  border: none; // Failing result reported
}

Sass-lint readme включает в себя все детали и docs также были обновлены.

Плагины grunt, gulp и atom все также были обновлены, чтобы потребовать v1.10 и выше, чтобы быстро переустановить их или обновление, и вы будете готовы к работе.

Мы сожалеем, что потребовалось так много времени, чтобы выйти, но нам пришлось исправить несколько проблем в нашем AST, прежде чем мы были уверены в их полезности.

Ответ 4

Гоча.

Во-первых, здесь перечислены правила для sass-lint:

https://github.com/sasstools/sass-lint/tree/develop/lib/rules

Затем вы можете установить параметр для нужного правила:

rule:
    severity: 0

0 = ничего не записано

1 = предупреждение

2 = ошибка

Это то, что вам нужно?