π‘οΈ ESLint Config
configs/eslint-config
μν¬μ€νμ΄μ€λ λͺ¨λ
Έλ ν¬ λ΄ μ¬λ¬ ν¨ν€μ§μ μ±μμ 곡ν΅μΌλ‘ μ¬μ©ν μ μλ ESLint μ€μ (곡μ config)μ μ 곡ν©λλ€.
μ£Όμ λͺ©μ
- μ½λ μ€νμΌκ³Ό νμ§μ μΌκ΄λκ² μ μ§νκΈ° μν κ³΅ν΅ ESLint κ·μΉμ μ μν©λλ€.
- κ° μν¬μ€νμ΄μ€(μ±/ν¨ν€μ§)μμ μ΄ μ€μ μ νμ₯νκ±°λ κ·Έλλ‘ μ¬μ©ν μ μμ΅λλ€.
μ£Όμ ꡬμ±
base.js
κΈ°λ³Έμ μΈ ESLint κ·μΉμ μ μν μ€μ νμΌμ λλ€.react-internal.js
React νλ‘μ νΈμ νΉνλ μΆκ° κ·μΉμ ν¬ν¨ν μ€μ νμΌμ λλ€.next.js
Next.js νλ‘μ νΈμ νΉνλ μΆκ° κ·μΉμ ν¬ν¨ν μ€μ νμΌμ λλ€.
μ¬μ© λ°©λ²
κ·Έλλ‘ μ¬μ©νκΈ°
κ° μν¬μ€νμ΄μ€μ ESLint μ€μ νμΌμμ @repo/eslint-config/{configλͺ
}
μ import νμ¬ μ¬μ©ν μ μμ΅λλ€.
apps/web/eslint.config.js
import { nextJsConfig } from "@repo/eslint-config/next-js";
/** @type {import("eslint").Linter.Config} */
export default nextJsConfig;
νμ₯νκΈ°
νμμ λ°λΌ configλ₯Ό νμ₯νμ¬ μΆκ° κ·μΉμ μ μν μλ μμ΅λλ€.
apps/frontend-workshop
μμλ @repo/eslint-config/react-internal
μ νμ₯νμ¬ μ¬μ©νκ³ μμ΅λλ€.
ν΄λΉ μν¬μ€νμ΄μ€μ ESLint μ€μ μ μ°Έκ³ νλ©΄, μ΄λ»κ² κ³΅ν΅ κ·μΉμ νμ₯νμ¬ μ¬μ©ν μ μλμ§ νμΈν μ μμ΅λλ€.
κ΄λ ¨ λ΄μ©μ μ½λ© κ·μ½ > ESLint
λ¬Έμμμλ νμΈν μ μμ΅λλ€.
// μμ: apps/frontend-workshop/eslint.config.js
import { config } from "@repo/eslint-config/react-internal";
export default {
extends: [...config],
// μΆκ° κ·μΉ μ μ κ°λ₯
};
μ°Έκ³
- μ€μ κ·μΉ λ° μμΈ μ€μ μ
configs/eslint-config
μν¬μ€νμ΄μ€μ κ° config νμΌμ μ°Έκ³ νμΈμ. - μλ‘μ΄ κ³΅ν΅ κ·μΉμ΄ νμνλ€λ©΄ μ΄ μν¬μ€νμ΄μ€μ μΆκ°νμ¬ μ 체 νλ‘μ νΈμ μ μ©ν μ μμ΅λλ€.
Last updated on