unicorn/text-encoding-identifier-case Style
作用
此规则强制文本编码标识符的大小写保持一致,具体如下:
- 使用
'utf8',而不是'UTF-8'或'utf-8'(如果启用了withDash,则允许'utf-8') - 使用
'ascii',而不是'ASCII'
为什么这不好?
编码标识符大小写不一致会降低代码可读性,并可能在整个代码库中造成细微的混淆。虽然 ECMAScript 或 Node.js 并未严格强制大小写,但使用小写是惯例且被广泛认可的风格。
示例
此规则的错误代码示例:
javascript
import fs from "node:fs/promises";
async function bad() {
await fs.readFile(file, "UTF-8");
await fs.readFile(file, "ASCII");
const string = buffer.toString("utf-8");
}此规则的正确代码示例:
javascript
import fs from "node:fs/promises";
async function good() {
await fs.readFile(file, "utf8");
await fs.readFile(file, "ascii");
const string = buffer.toString("utf8");
}当使用 { "withDash": true } 时,此规则的正确代码示例:
javascript
import fs from "node:fs/promises";
async function good() {
await fs.readFile(file, "utf-8");
await fs.readFile(file, "ascii");
const string = buffer.toString("utf-8");
}配置
此规则接受一个包含以下属性的配置对象:
withDash
type: boolean
default: false
如果为 true,优先使用 utf-8 而不是 utf8。
如何使用
To enable this rule using the config file or in the CLI, you can use:
json
{
"rules": {
"unicorn/text-encoding-identifier-case": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
rules: {
"unicorn/text-encoding-identifier-case": "error",
},
});bash
oxlint --deny unicorn/text-encoding-identifier-case版本
此规则在 v0.0.15 中添加。
