J'utilise sass - peluche avec Gulp. Comment puis-je désactiver les avertissements pour un style particulier dans mon sass depuis la sortie de la console lint?
J'ai trouvé une question similaire mais j'utilise sass - peluche, pas scss - lint: scss-lint ignore une ligne particulière
C'est celui que j'utilise: https://www.npmjs.com/package/gulp-sass-lint
J'ai essayé quelques variantes basées sur le projet scss - lint:
// scss-lint:disable ImportantRule
// sass-lint:disable ImportantRule
// sass-lint:disable no-important
Juste pour être clair, je veux désactiver les avertissements pour un style spécifique dans mon SASS, pas globalement. J'utiliserai cela lorsque la chose qui déclenche l'avertissement est intentionnelle. Par exemple, je pourrais définir plusieurs styles d'arrière-plan afin que l'un puisse constituer un repli pour les anciens navigateurs. Mais actuellement, cela déclenche l'avertissement no-duplicate-properties.
Mise à jour pour décembre 2016 conformément à la documentation ceci sera désormais possible avec la syntaxe suivante:
Désactive plus d'une règle pour l'ensemble du fichier
// sass-lint:disable border-zero, quotes p { border: none; // No lint reported content: "hello"; // No lint reported }
Désactive une règle pour une seule ligne
p { border: none; // sass-lint:disable-line border-zero }
Désactive toutes les peluches dans un bloc (et tous les blocs contenus)
p { // sass-lint:disable-block border-zero border: none; // No result reported }
Nouvelles informations avec la permission de commenter @IanRoutledge.
Cependant, avant, si vous souhaitez désactiver certaines règles, mais uniquement pour des blocs de code spécifiques et/ou des morceaux de le code. Autant que je peux dire à partir du code source sous-jacent, cela serait pas être possible avec sass-lint. J'ai également essayé quelques autres recherches et parcouru la base de code en général, mais je n'ai trouvé aucune indication selon laquelle la fonctionnalité que vous recherchez existe.
A titre de comparaison, cette requête pour le code source scss-lint le montre clairement est implémenté ici, d'une manière qui ne semble pas avoir de solution analogue dans le lib vous utilisez.
Vous pouvez désactiver les règles en général cependant. Vous devez avoir un .sass-lint.yml
fichier pour désactiver les avertissements.
Supposons que vous ayez ceci 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());
});
Et ça package.json
:
{
"devDependencies": {
"gulp": "^3.9.0",
"gulp-sass": "^2.1.1",
"gulp-sass-lint": "^1.1.1"
}
}
Courir sur ce styles.scss
fichier:
div { dsply: block; }
Vous obtenez cette sortie:
[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)
Maintenant, si vous ajoutez un .sass-lint.yml
fichier à côté du fichier gulp, avec ce contenu:
rules:
no-misspelled-properties: 0
Vous verrez à la place:
[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)
Un des avertissements est maintenant ignoré.
Le fichier readme.md de sass-lint renvoie à la configuration par défaut apparente qui contient quelques exemples supplémentaires.
Depuis sass-lint 1.10.0, il était possible de désactiver les règles sass-lint via les commentaires sources
Ci-dessous sont les différentes permutations de cette, intentionnellement presque identique à la manière scss-lint auparavant.
Désactive une règle pour l'ensemble du fichier
// sass-lint:disable border-zero
p {
border: none; // No lint reported
}
Désactiver plus d'une règle
// 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
}
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
}
Le sass-lint readme inclut tous les détails et les docs ont également été mis à jour.
Les plugins grunt, gulp et atom ont tous été mis à jour également pour exiger la version 1.10 et les versions ultérieures. Vous pouvez donc les réinstaller rapidement ou les mettre à jour et vous êtes prêt à commencer.
Nous sommes désolés que la publication ait été si longue, mais nous avons dû résoudre quelques problèmes dans notre AST avant de pouvoir compter sur leur utilité.
La désactivation des règles de filtrage pour des lignes spécifiques est prise en charge à partir de la version 1.10 de sass-lint.
https://github.com/sasstools/sass-lint#disabling-linters-via-source
À ce jour, sass-lint ne prend pas en charge la désactivation des règles fichier par fichier ou ligne par ligne. Ils ont un problème de GitHub de longue date suivi de la fonctionnalité.
Je t'ai eu.
Premièrement, voici la liste des règles pour sass-lint:
https://github.com/sasstools/sass-lint/tree/develop/lib/rules
Ensuite, vous pouvez définir une option pour la règle souhaitée:
rule:
severity: 0
0 = rien écrit
1 = avertissement
2 = erreur
Est-ce ce dont vous aviez besoin?