unicorn/text-encoding-identifier-case Style
What it does
This rule enforces consistent casing for text encoding identifiers, specifically:
'utf8'
instead of'UTF-8'
or'utf-8'
'ascii'
instead of'ASCII'
Why is this bad?
Inconsistent casing of encoding identifiers reduces code readability and can lead to subtle confusion across a codebase. Although casing is not strictly enforced by ECMAScript or Node.js, using lowercase is the conventional and widely recognized style.
Examples
Examples of incorrect code for this rule:
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");
}
Examples of correct code for this rule:
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");
}
How to use
To enable this rule in the CLI or using the config file, you can use:
bash
oxlint --deny unicorn/text-encoding-identifier-case
json
{
"rules": {
"unicorn/text-encoding-identifier-case": "error"
}
}