eslint-config-ardelint
v1.0.3
Published
Shared ESLint config for Next.js + TypeScript projects
Readme
eslint-config-ardelint
Shareable ESLint config untuk proyek Next.js + TypeScript. Fokus pada:
- Konsistensi impor/ekspor dan penghapusan import/variabel yang tidak terpakai
- Dukungan React Hooks dan aturan Next.js yang relevan
- Siap pakai untuk aplikasi produksi (ignore build output)
Fitur Utama
Base presets
eslint:recommendeduntuk aturan dasar JavaScriptnext/core-web-vitalsuntuk praktik Next.js dan React terbaikprettieruntuk menghindari konflik dengan format Prettier
TypeScript support
parser: @typescript-eslint/parseragar ESLint memahami sintaks TS/TSX- Override untuk file
*.ts/*.tsx:no-undef: offagar tidak ada false positive di proyek TS@typescript-eslint/no-explicit-any: offbila perlu menggunakananyreact-hooks/exhaustive-deps: warnagar dependency Hooks tetap diawasino-unused-vars: ["error", { "argsIgnorePattern": "^_" }]untuk argumen yang sengaja diabaikan
React Hooks
react-hooks/rules-of-hooks: error(tersedia via Next plugin)react-hooks/exhaustive-deps: offsecara global, danwarndi TS override untuk fleksibilitas
Unused imports & variables (bersih otomatis)
unused-imports/no-unused-imports: errormenghapus import yang tidak dipakaiunused-imports/no-unused-vars: ["error", { "vars": "all", "varsIgnorePattern": "^_", "args": "after-used", "argsIgnorePattern": "^_" }]- Memaklumi pola
_sebagai variabel/argumen yang diabaikan
- Memaklumi pola
Import/Export sorting (rapi dan konsisten)
simple-import-sort/imports: errordengan grup khusus:- React & packages:
^react,^@?\\w - Parent:
^\\.\\.(?!/?$),^\\.\\./?$ - Relative & same-folder:
^\\./(?=.*/)(?!/?$),^\\.(?!/?$),^\\./?$ - Internal:
^(@/|components)(/.*|$) - Side-effect:
^\\u0000 - Style:
^.+\\.?(scss)$
- React & packages:
simple-import-sort/exports: erroruntuk ekspor yang rapi
Aturan Next spesifik
@next/next/no-sync-scripts: off(mengizinkan penggunaan script sinkron saat diperlukan)@next/next/no-html-link-for-pages: offdi TS override (berguna jika routing tidak menggunakan heuristik default)
Lingkungan & ignore
env:es6,browser,nodeignorePatterns:.next/**,dist/**,build/**,coverage/**,node_modules/**
Instalasi
Pilih salah satu pendekatan berikut (tergantung bagaimana paket ini Anda publish):
Jika paket ini membundel plugin sebagai
dependencies:yarn add -D eslint-config-ardelint eslintCukup install
eslintdi proyek konsumen; plugin akan ikut terpasang.Jika paket ini mendeklarasikan plugin sebagai
peerDependencies:yarn add -D eslint-config-ardelint eslint eslint-config-next prettier eslint-plugin-import eslint-plugin-simple-import-sort eslint-plugin-unused-imports @typescript-eslint/parser @typescript-eslint/eslint-plugin
Pemakaian
Tambahkan di ./.eslintrc.json proyek Anda:
{
"extends": ["ardelint"]
}Opsional: pastikan .eslintignore mengabaikan output build:
.next
dist
build
coverage
node_modules