Opsi tsconfig yang penting, dikelompokkan per tugas: memperketat pemeriksaan tipe, mengatur target bahasa dan modul, mengontrol apa yang di-emit, memetakan path import, menstrukturkan build multi-proyek, dan menyetel pemeriksaan sisanya.
Sebuah tsconfig memberi tahu compiler file mana yang disertakan dan seberapa ketat pemeriksaannya. Dua opsi melakukan sebagian besar pekerjaan: target mengatur level pembuatan JavaScript, dan strict mengaktifkan pemeriksaan keamanan sebagai satu paket. Opsi di bawah ini adalah yang mengubah perilaku; flag yang aktif secara bawaan ditandai. Turunkan konfigurasi Anda dari sebuah basis, lalu timpa hanya yang berbeda.
Tabel referensi · 55 entri
Opsi tsconfigExplained
55 of 55 rows
Keketatan
Saklar utama: mengaktifkan strictNullChecks, noImplicitAny, dan beberapa lainnya sekaligus.
Error pada parameter dan variabel yang tipenya tidak bisa disimpulkan (tanpa ini akan menjadi any).
null dan undefined tidak lagi bisa di-assign ke semua tipe; Anda harus memasukkannya secara eksplisit.
Memeriksa parameter fungsi secara kontravarian; menangkap tipe parameter callback yang tidak sehat.
Type-check bind, call, dan apply terhadap parameter yang dideklarasikan fungsi.
Error saat properti kelas tidak punya nilai awal dan tidak di-assign di constructor.
Properti opsional { p?: T } tidak lagi menerima assignment undefined eksplisit.
Mewajibkan kata kunci override pada member yang menimpa member kelas dasar.
Error pada variabel lokal yang dideklarasikan tapi tidak pernah dibaca.
Error pada parameter fungsi yang dideklarasikan tapi tidak pernah dibaca.
Error pada statement ekspresi yang tidak berpengaruh.
Akses titik dilarang untuk kunci index-signature; gunakan kurung siku (obj["key"]).
Error saat satu jalur kode mengembalikan nilai tetapi jalur lain tidak.
Error saat sebuah case switch jatuh ke case berikutnya tanpa break.
Bahasa dan modul
Level pembuatan JavaScript (mis. ES2022); target lebih baru meng-emit lebih sedikit downleveling.
API bawaan yang tersedia (mis. ES2022, DOM, DOM.Iterable).
Sistem modul yang di-emit (mis. ESNext, CommonJS, NodeNext).
Memakai aturan asli Node: tiap file memilih CJS atau ESM dari package.json terdekat, dan import relatif butuh ekstensi file.
Cara path import di-resolve (mis. bundler, node, nodenext).
Kapan sebuah file dihitung sebagai modul: auto (berdasarkan ada/tidaknya import/export), legacy, atau force (selalu).
Mengizinkan gaya default-import dari modul CommonJS (bawaan true di kebanyakan setup).
Mengizinkan default import dari modul yang hanya mengekspor nilai bernama (hanya di level tipe).
Import di-emit persis seperti ditulis; import khusus tipe harus memakai import type (TS 5).
Mengizinkan import memuat file .json sebagai nilai bertipe.