Skip to content

noUndeclaredVariables

¥Summary

¥How to configure

biome.json
{
"linter": {
"rules": {
"correctness": {
"noUndeclaredVariables": "error"
}
}
}
}

¥Description

防止使用文档中未声明的变量。

¥Prevents the usage of variables that haven’t been declared inside the document.

如果你需要允许列出某些全局绑定,则可以使用 javascript.globals 配置。

¥If you need to allow-list some global bindings, you can use the javascript.globals configuration.

¥Examples

¥Invalid

foobar;
code-block.js:1:1 lint/correctness/noUndeclaredVariables ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The foobar variable is undeclared.

> 1 │ foobar;
^^^^^^
2 │

By default, Biome recognizes browser and Node.js globals.
You can ignore more globals using the javascript.globals configuration.

// throw diagnostic for JavaScript files
PromiseLike;
code-block.js:2:1 lint/correctness/noUndeclaredVariables ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The PromiseLike variable is undeclared.

1 │ // throw diagnostic for JavaScript files
> 2 │ PromiseLike;
^^^^^^^^^^^
3 │

By default, Biome recognizes browser and Node.js globals.
You can ignore more globals using the javascript.globals configuration.

¥Valid

type B<T> = PromiseLike<T>

¥Options

设置为 true 时,它还会检查未声明的类型。该选项默认值为 false

¥When set to true, it checks for undeclared types too. The option defaults to false.

biome.json
{
"linter": {
"rules": {
"correctness": {
"noUndeclaredVariables": {
"options": {
"checkTypes": true
}
}
}
}
}
}
type A = number extends infer T ? never : T;
code-block.ts:1:43 lint/correctness/noUndeclaredVariables ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The T variable is undeclared.

> 1 │ type A = number extends infer T ? never : T;
^
2 │

By default, Biome recognizes browser and Node.js globals.
You can ignore more globals using the javascript.globals configuration.

¥Related links