sv check
sv checkは、プロジェクト内のエラーと警告を検出します。たとえば、
- 未使用のCSS
- アクセシビリティのヒント
- JavaScript/TypeScriptコンパイラエラー
Node 16 以降が必要です。
インストール
プロジェクトにsvelte-checkパッケージがインストールされている必要があります。
npm i -D svelte-check使い方
npx sv checkオプション
--workspace <path>
ワークスペースへのパス。node_modulesと--ignoreにリストされているものを除くすべてのサブディレクトリがチェックされます。
--output <format>
エラーと警告の表示方法。「機械可読な出力」を参照してください。
humanhuman-verbosemachinemachine-verbose
--watch
プロセスを稼働させ続け、変更を監視します。
--preserveWatchOutput
ウォッチモードで画面がクリアされるのを防ぎます。
--tsconfig <path>
tsconfigまたはjsconfigファイルへのパスを渡します。パスはワークスペースパスからの相対パスまたは絶対パスを指定できます。これにより、構成ファイルのfiles/include/excludeパターンに一致するファイルのみが診断されます。また、TypeScriptとJavaScriptファイルのエラーが報告されます。指定しない場合、プロジェクトディレクトリから上に辿って、次のjsconfig/tsconfig.jsonファイルを探します。
--no-tsconfig
現在のディレクトリ以下のSvelteファイルのみをチェックし、.js/.tsファイルを無視したい場合に使用します(型チェックは行われません)。
--ignore <paths>
ワークスペースルートからの相対パスで、無視するファイル/フォルダー。パスはカンマ区切りで引用符で囲む必要があります。例:
npx sv check --ignore "dist,build"--no-tsconfigと組み合わせて使用した場合にのみ効果があります。--tsconfigと組み合わせて使用した場合、これは監視対象のファイルにのみ影響し、診断されるファイルには影響しません。診断されるファイルはtsconfig.jsonによって決定されます。
--fail-on-warnings
指定した場合、警告があるとsv checkがエラーコードで終了します。
--compiler-warnings <warnings>
code:behaviourペアのカンマ区切りのリスト(引用符で囲む)。ここで、codeはコンパイラの警告コードであり、behaviourはignoreまたはerrorです。
npx sv check --compiler-warnings "css_unused_selector:ignore,a11y_missing_attribute:error"--diagnostic-sources <sources>
コードで診断を実行する必要があるソースのカンマ区切りのリスト(引用符で囲む)。デフォルトでは、すべてがアクティブです。
js(TypeScriptを含む)sveltecss
例
npx sv check --diagnostic-sources "js,svelte"--threshold <level>
診断をフィルター処理します。
warning(デフォルト)— エラーと警告の両方が表示されます。error— エラーのみが表示されます。
トラブルシューティング
プリプロセッサのセットアップやその他のトラブルシューティングの詳細については、language-toolsドキュメントを参照してください。
機械可読な出力
--outputをmachineまたはmachine-verboseに設定すると、CIパイプライン内やコード品質チェックなど、機械で読みやすい形式で出力がフォーマットされます。
各行は新しいレコードに対応します。行は、単一のスペース文字で区切られた列で構成されます。各行の最初の列には、監視目的で使用できるミリ秒単位のタイムスタンプが含まれています。2番目の列は「行タイプ」を示しており、これに基づいて、後続の列の数とタイプが異なる場合があります。
最初の行はSTARTタイプで、ワークスペースフォルダー(引用符で囲まれています)が含まれています。例:
1590680325583 START "/home/user/language-tools/packages/language-server/test/plugins/typescript/testfiles"任意の数のERRORまたはWARNINGレコードが続く可能性があります。それらの構造は同一で、出力引数に依存します。
引数がmachineの場合、ファイル名、開始行と列番号、およびエラーメッセージが通知されます。ファイル名はワークスペースディレクトリからの相対パスです。ファイル名とメッセージは両方とも引用符で囲まれています。例:
1590680326283 ERROR "codeactions.svelte" 1:16 "Cannot find module 'blubb' or its corresponding type declarations."
1590680326778 WARNING "imported-file.svelte" 0:37 "Component has unused export property 'prop'. If it is for external reference only, please consider using `export const prop`"引数がmachine-verboseの場合、ファイル名、開始行と列番号、終了行と列番号、エラーメッセージ、診断のコード、コードの人間が理解しやすい説明、および診断の人間が理解しやすいソース(例:svelte/typescript)が通知されます。ファイル名はワークスペースディレクトリからの相対パスです。各診断は、ログのタイムスタンプがプレフィックスとして付いたndjson行として表されます。例:
1590680326283 {"type":"ERROR","fn":"codeaction.svelte","start":{"line":1,"character":16},"end":{"line":1,"character":23},"message":"Cannot find module 'blubb' or its corresponding type declarations.","code":2307,"source":"js"}
1590680326778 {"type":"WARNING","filename":"imported-file.svelte","start":{"line":0,"character":37},"end":{"line":0,"character":51},"message":"Component has unused export property 'prop'. If it is for external reference only, please consider using `export
const prop`","code":"unused-export-let","source":"svelte"}出力は、チェック中に検出されたファイルの総数、エラー、および警告をまとめたCOMPLETEDメッセージで終わります。例:
1590680326807 COMPLETED 20 FILES 21 ERRORS 1 WARNINGS 3 FILES_WITH_PROBLEMSアプリケーションでランタイムエラーが発生した場合、このエラーはFAILUREレコードとして表示されます。例:
1590680328921 FAILURE "Connection closed"クレジット
svelte-checkの基礎を築いたVueのVTI
FAQ
特定のファイルのみ(たとえば、ステージングされたファイルのみ)をチェックするオプションがないのはなぜですか?
svelte-checkは、チェックを有効にするためにプロジェクト全体を「見る」必要があります。コンポーネントのpropの名前を変更したが、propが使用されている場所を更新しなかったとします。使用箇所はすべてエラーになりますが、変更されたファイルでのみチェックを実行した場合は見逃してしまいます。