web-dev-qa-db-ja.com

sass-lintは特定の行を無視しましたか?

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警告をトリガーしています。

44
Evanss

コメントを使用して無効にする

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が実装されています。使用しているライブラリのソリューション。

Yml configsによる無効化

ただし、一般的にルールを無効にできます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 へのリンク 見かけのデフォルト設定 これにはいくつかの例があります。

87
Jeroen

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)のいくつかの問題を修正してから、それらが役立つと確信しました。

10
Dan Purdy

Sass-lint 1.10では、特定の行のリンティングルールを無効にすることがサポートされています。

https://github.com/sasstools/sass-lint#disabling-linters-via-source

まだ、sass-lintはファイルごとまたは行ごとのルールの無効化をサポートしていません。 長年のGitHubの問題 機能の追跡があります。

3
eppsilon

わかった。

最初に、sass-lintのルールのリストを示します。

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

次に、必要なルールのオプションを設定できます。

rule:
    severity: 0

0 =何も書かれていない

1 =警告

2 =エラー

これは必要なものですか?

0
suzumakes