Language-tools: すべてのツールにsvelte.config.jsのonwarnおよびその他のオプションを使用します

作成日 2021年03月03日  ·  10コメント  ·  ソース: sveltejs/language-tools

現在、svelteのa11y警告の無視を構成する必要がある場所は3つあります。

  1. 言語サーバー
    lua lspconfig.svelte.setup{ cmd = { "yarn", "svelteserver", "--stdio" }; on_attach = on_attach; settings = { svelte = { plugin = { svelte = { compilerWarnings = { ["a11y-no-onchange"] = "ignore" } } } } } }
  2. svelte-check 、これは設定時にpackage.jsonを醜く見せ、これは設定する場所にすぎません

    {
      "val": "svelte-check --compiler-warnings a11y-no-onchange:ignore",
      "validate": "yarn val --threshold warning && yarn tsc --noEmit"
    }
    
  3. eslint

    settings: {
      'svelte3/ignore-warnings': ({ code }) => code === 'a11y-no-onchange',
      // ...
    },
    

svelte.config.js 1つの場所で構成したいと思います。 svelte-preprocessために回避することはできず、これらのツールはとにかくsvelte-preprocessでそれを読み取っています。なぜ、 onwarn使用しませんか?

また、現在の状況では、言語サーバーのプロジェクトごとの構成を行うことはできません。

理想的には、言語ツールとバンドラーの両方でsvelte.config.js使用し、そこでsvelte関連のすべてを構成したいと思います。
これも: https

最も参考になるコメント

私の意見では、onwarnの調和の候補は、language-server、svelte-check、rollupプラグイン、webpackプラグインです。

全てのコメント10件

男性は私に感じます。 難しい部分は、名前付け/正確に指定する方法について合意することになると思います

警告のようなものには意味があります。 私は、すべての言語サーバー設定をそこから読み取る必要があることに同意しません。それは、それらを提供し、言語サーバーと統合するIDEの責任である必要があります。

それで、現在の形でonwarnを使用することは、進むべき方向として受け入れられますか?
既存の構成と互換性を持たせるために、バンドラーのsvelteプラグインで現在行われているように、警告をインターセプトするための同様のonwarnコールバックインターフェイスを実装できます。

すべてではないかもしれませんが、 svelte.config.js言語サーバーの構成の一部は、少なくともフォーマットオプションが通常プロジェクトごとに構成されているためです。 :考え:

https://github.com/sveltejs/language-tools/tree/master/packages/svelte-vscode#sveltepluginsvelteformatenable

拡張機能はよりきれいなプラグインと組み合わせてよりきれいなプラグインを使用してフォーマットを実行するため、フォーマットオプションは.prettierrcファイルに入れる必要があります。 https://www.npmjs.com/package/prettier-plugin-svelte

私はプリコミットフックとしてよりきれいです。 構成はpackage.jsonます。

{
  "prettier": {
    "singleQuote": true,
    "printWidth": 80,
    "plugins": [
      "prettier-plugin-svelte"
    ]
  }
}

LSからのよりきれいな呼び出しに特別な何かがありますか? または、通常どおりにこの構成をロードする必要がありますか? :考え:

これも機能します。 私のポイントは、フォーマットオプションはsvelte.config.js問題であってはならないということ

私は今、私は以外に何か表示されていない、同意onwarn合理的に移動するsvelte.config.js

左を決めることはあまりありません。

すべてのツールでonwarnコールバックを作成することは、良い解決策のように聞こえますか?
バンドラーの現在のものと互換性のある統一された構成。

私は、構成のための十分に確立されたメカニズムをすでに持っているものにsvelte.config.jsサポートを追加することについてかなり心配しています。 たとえば、ESLintでは、プラグインにはESLintがすでにロードした構成オブジェクトが渡されます。 これは、いくつかの階層的な.eslintrc.jsファイル(またはJSONファイル、YAMLファイル、またはpackage.jsonファイルのeslintConfigキーの内容)のマージの結果である可能性があります。 ESLintがプラグインにこれ​​らのファイルの場所を教えてくれないと思うので、プラグインがsvelte.config.jsを探すべき場所がわかりません。 構成を処理するための単一の統一された方法があり、ESLintコアはそれを担当したいと考えています。

したがって、解決策は次のとおりです。

  1. LSクライアントに、ワークスペースから構成ファイルを読み取り、 svelte-vscodeように構成をLSに渡すように教えます。
  2. svelte.config.jsから構成をインポートし、なんとかして.eslintrc.jsで使用します。 無視してリストを作成し、両方の関数などで使用します。
  3. svelte-checkを教えて、ワークスペースから構成をロードします。

変更する価値があるのはsvelte-checkだけのようです。

svelte-check以外は、ユーザーランドで実行できるように感じます。 :考え:

私の意見では、onwarnの調和の候補は、language-server、svelte-check、rollupプラグイン、webpackプラグインです。

このページは役に立ちましたか?
0 / 5 - 0 評価