Skip to content
← Back to rules

unicorn/text-encoding-identifier-case 스타일

An auto-fix is available for this rule.

작동 방식

이 규칙은 텍스트 인코딩 식별자의 일관된 대소문자 사용을 강제합니다. 구체적으로는 다음과 같습니다:

  • '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

기본값: false

true로 설정하면 utf8보다 utf-8을 우선적으로 사용합니다.

사용 방법

이 규칙을 설정 파일 또는 명령줄 인터페이스에서 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "unicorn/text-encoding-identifier-case": "error"
  }
}
bash
oxlint --deny unicorn/text-encoding-identifier-case

참고자료