У вас есть ли какая-нибудь линия?
Я использую 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, а не глобально. Я буду использовать это, когда вещь, вызывающая предупреждение, будет преднамеренной. Например, я мог бы установить несколько фоновых стилей, чтобы можно было отказаться от старых браузеров. Но в настоящее время это вызывает предупреждение о недопущении дубликатов.
Ответы
Ответ 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, прежде чем мы были уверены в их полезности.
Ответ 3
Отключение правил линии для определенных строк поддерживается как sass-lint 1.10.
https://github.com/sasstools/sass-lint#disabling-linters-via-source
Пока sass-lint не поддерживает правила отключения для каждого файла или строки. У них есть давняя проблема GitHub, отслеживающая эту функцию.
Ответ 4
Гоча.
Во-первых, здесь перечислены правила для sass-lint:
https://github.com/sasstools/sass-lint/tree/develop/lib/rules
Затем вы можете установить параметр для нужного правила:
rule:
severity: 0
0 = ничего не записано
1 = предупреждение
2 = ошибка
Это то, что вам нужно?