Gulpでsass-lintを使用しています。 lintコンソールの出力から、sassの特定のスタイルの警告を無効にするにはどうすればよいですか?
同様の質問を見つけましたが、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の特定のスタイルの警告を無効にします。警告をトリガーするものが意図的である場合、これを使用します。たとえば、複数の背景スタイルを設定して、古いブラウザのフォールバックにすることができます。しかし現在、これはno-duplicate-properties警告をトリガーしています。
2016年12月ごとに更新ドキュメント に従って、これはこの構文を使用して可能になりました:
ファイル全体に対して複数のルールを無効にします
// 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 }
コメント提供者@IanRoutledgeの好意による新しい情報。
ただし、before、特定のルールを無効にしたい場合、ただし特定のコードブロックおよび/またはコードの一部。 できる限り tell基になるソースコードからnotはsass-では不可能です糸くず。他のいくつかの検索も試してみましたが、一般的なコードベースをざっと読みましたが、探している機能が存在するというヒントは見つかりませんでした。
比較のために、 このscss-lintソースコードのクエリ は、それを明確に示していますisが実装されています。使用しているライブラリのソリューション。
ただし、一般的にルールを無効にできますcan。警告を無効にするには、.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)
Gulpfileの隣に.sass-lint.yml
ファイルを追加すると、次のコンテンツが含まれます:
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)
警告の1つが無視されるようになりました。
sass-lint readme.md へのリンク 見かけのデフォルト設定 これにはいくつかの例があります。
Sass-lint 1.10.0以降、ソースコメントを介してsass-lintルールを無効にすることが可能になりました
以下はこれの異なる順列であり、意図的に以前のscss-lintの方法とほぼ同じです。
ファイル全体のルールを無効にします
// sass-lint:disable border-zero
p {
border: none; // No lint reported
}
複数のルールを無効にする
// 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
}
Sass-lint readme にはすべての詳細が含まれ、 docs も更新されています。
Grunt、gulp、およびatomプラグインもすべてv1.10以降を必要とするように更新されているため、これらをすばやく再インストールするか、更新して準備が整います。
申し訳ありませんが、非常に時間がかかってしまいましたが、AST)のいくつかの問題を修正してから、それらが役立つと確信しました。
Sass-lint 1.10では、特定の行のリンティングルールを無効にすることがサポートされています。
https://github.com/sasstools/sass-lint#disabling-linters-via-source
まだ、sass-lintはファイルごとまたは行ごとのルールの無効化をサポートしていません。 長年のGitHubの問題 機能の追跡があります。
わかった。
最初に、sass-lintのルールのリストを示します。
https://github.com/sasstools/sass-lint/tree/develop/lib/rules
次に、必要なルールのオプションを設定できます。
rule:
severity: 0
0 =何も書かれていない
1 =警告
2 =エラー
これは必要なものですか?