Skip to main content

sv check

sv 检查 查找您项目中的错误和警告,例如:

  • 未使用 CSS
  • 无障碍提示
  • JavaScript/TypeScript 编译器错误

需要 Node 16 或更高版本。

安装

您需要在项目中安装 svelte-check 包:

npm i -D svelte-check

使用

npx sv 检查

选项

--工作空间 <path>

工作空间路径。除了node_modules--ignore中列出的子目录外,所有子目录都将进行检查。

输出

如何显示错误和警告。参见机器可读输出

  • 人类
  • 人-详细
  • 机器
  • 机器详细

–观察

保持进程运行并监视更改。

保留监视输出

防止在监视模式下清除屏幕。

–tsconfig

传递一个 tsconfigjsconfig 文件的路径。路径可以是相对于工作区路径的相对路径或绝对路径。这样做意味着只有与配置文件中的 files / include/exclude 模式匹配的文件才会被诊断。这也意味着会报告 TypeScript 和 JavaScript 文件的错误。如果没有提供,将向上遍历项目目录以查找下一个 jsconfig/tsconfig.json 文件。

–无 tsconfig

使用此选项仅检查当前目录及其下找到的 Svelte 文件,并忽略任何 .js / .ts 文件(它们将不会进行类型检查)

忽略 <paths>

文件/文件夹忽略列表,相对于工作区根目录。路径应以逗号分隔并用引号括起来。示例:

npx sv check --ignore "dist,build"

仅当与--no-tsconfig结合使用时才有效。当与--tsconfig结合使用时,这只会影响监视的文件,而不是诊断的文件,后者由tsconfig.json决定。

在警告时失败

如果提供,警告将导致sv 检查以错误代码退出。

--compiler-warnings <warnings>

一个以逗号分隔的引用列表,包含代码:行为对,其中代码编译器警告代码,而行为忽略错误

npx sv check --compiler-warnings "css_unused_selector:ignore,a11y_missing_attribute:error"

--diagnostic-sources <sources>

一个逗号分隔的源列表,这些源应该对您的代码运行诊断。默认情况下,所有源都处于活动状态:

  • js(包括 TypeScript)
  • 斯维特
  • css

示例:

npx sv check --diagnostic-sources "js,svelte"

阈值<<level>

过滤诊断:

  • 警告(默认)— 显示错误和警告
  • 错误 — 只显示错误

故障排除

查看语言工具文档以获取有关预处理器设置和其他故障排除的更多信息。

可读机输出

设置 –输出机器机器-详细 将以更易于机器阅读的方式格式化输出,例如在 CI 管道中、进行代码质量检查等。

每行对应一条新记录。行由单个空格字符分隔的列组成。每行的第一列包含一个时间戳(以毫秒为单位),可用于监控目的。第二列提供了“行类型”,根据此类型,后续列的数量和类型可能会有所不同。

第一行是类型为 START,并包含工作空间文件夹(用引号括起来)。示例:

1590680325583 START "/home/user/language-tools/packages/language-server/test/plugins/typescript/testfiles"

任何数量的错误警告记录可能随后出现。它们的结构相同,取决于输出参数。

如果参数是 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"}

输出以一个完成消息结束,该消息总结了在检查过程中遇到的文件总数、错误和警告。示例:

1590680326807 COMPLETED 20 FILES 21 ERRORS 1 WARNINGS 3 FILES_WITH_PROBLEMS

如果应用程序在运行时遇到错误,此错误将显示为 失败 记录。示例:

1590680328921 FAILURE "Connection closed"

致谢

  • Vue 的VTIsvelte-check奠定了基础

常见问题解答

为什么没有只检查特定文件(例如只检查暂存文件)的选项?

سوفتلی-چک 需要查看整个项目以确保检查有效。假设你重命名了一个组件属性,但没有更新任何使用该属性的地方——现在所有使用位置都是错误,但如果只对更改的文件进行检查,你可能会错过它们。

Edit this page on GitHub llms.txt

previous next