Formatter & Validator YAML
Tempel YAML, format dengan indentasi 2 spasi, atau validasi sintaks. Mode ketat YAML 1.2. Tanpa unggah.
- Tempel YAML Anda ke area teks kiri.
- Klik Format untuk round-trip melalui parser dan mengeluarkan YAML kanonik.
- Klik Validasi untuk memeriksa sintaks tanpa mengubah input.
- Kesalahan menunjuk ke baris dan kolom yang bermasalah.
Apa fungsinya?
Memparse YAML Anda dengan js-yaml dalam mode ketat YAML 1.2 dan mengeluarkannya kembali dengan indentasi 2 spasi, lebar baris 100 kolom, dan kutipan konsisten. Tombol Validasi memeriksa sintaks dan melaporkan kesalahan pertama tanpa mengubah input. Output secara semantik setara dengan input — nilai, tipe, dan struktur dipertahankan.
Contoh
Input YAML berantakan:
name: Ada
tags: [math,logic]
active:true Output yang diformat:
name: Ada
tags:
- math
- logic
active: true Kesalahan YAML umum dan cara memperbaikinya
YAML 1.2 dalam mode ketat tidak ramah dengan whitespace. Pola di bawah mencakup sebagian besar kegagalan parser.
- Tab alih-alih spasi. YAML 1.2 melarang tab untuk indentasi. Ganti setiap tab dengan spasi.
- Level indentasi tidak konsisten. Anak yang diindentasi 2 spasi di bawah saudara dengan 4 spasi akan gagal. Pilih satu lebar dan gunakan secara konsisten.
- Jebakan boolean. Di YAML 1.1 (bukan mode di sini), `yes`, `no`, `on`, `off` di-parse sebagai boolean. js-yaml menggunakan 1.2, tetapi input dunia nyata yang bergantung pada perilaku lama mengejutkan pengguna. Beri kutip nilai ambigu: `country: "NO"`.
- Karakter khusus tanpa kutip. Nilai yang dimulai dengan `:`, `?`, `&`, `*`, `!`, `|`, `>`, `\'`, `"`, `%`, `@`, `` ` `` perlu dikutip.
- Kutip tidak ditutup. Kutip penutup yang hilang membuat parser menyerap sisa file sebagai bagian dari string. Nomor baris yang dilaporkan bisa jauh dari kesalahan sebenarnya.
- Anchor / alias tidak cocok. Alias `*name` yang merujuk anchor `&name` yang tidak dideklarasikan menimbulkan kesalahan. Verifikasi setiap alias punya anchor yang cocok dideklarasikan lebih awal.
Pertanyaan yang sering diajukan
Apakah Format mengubah data saya?
Tidak — hanya whitespace, kutipan, dan urutan detail representasi. Grafik nilai yang di-parse identik. YAML yang diformat di-parse ulang ke struktur dalam memori yang sama dengan aslinya.
Apakah komentar dipertahankan saat memformat?
Tidak. js-yaml tidak mempertahankan komentar melalui round-trip parse-and-dump. Jika Anda butuh formatting YAML yang mempertahankan komentar, gunakan pustaka berbeda (yaml.js dengan opsi, atau alat CLI seperti `prettier --parser yaml`).
Bisakah saya kustomisasi indentasi?
Build saat ini menggunakan indentasi 2 spasi. Untuk kustomisasi, jalankan js-yaml di command line — pustaka yang sama — dan teruskan `{ indent: 4 }` atau apa pun yang Anda butuhkan.
Berapa besar file YAML yang bisa ditangani?
Hingga sekitar 10 MB sebelum textarea melambat. Sebagian besar file config jauh di bawah 1 MB.
Apakah YAML saya diunggah?
Tidak. Semua berjalan di browser Anda — input Anda di-parse dan diserialisasi ulang oleh JavaScript di halaman ini dan tidak pernah dikirim ke server.
Apakah ini mem-lint masalah gaya seperti kunci duplikat?
js-yaml dalam config default akan menolak kunci duplikat (persyaratan ketat YAML 1.2). Masalah gaya lain seperti kutipan tidak konsisten atau penamaan anchor tidak ditandai — itu butuh linter khusus seperti yamllint.