# Developer environment notes (Bahasa Melayu) 馃寪 **Languages:** 馃嚭馃嚫 [English](../../../DEVELOPER-ENVIRONMENT.md) 路 馃嚜馃嚬 [am](../../am/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚫馃嚘 [ar](../../ar/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚘馃嚳 [az](../../az/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚙馃嚞 [bg](../../bg/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚙馃嚛 [bn](../../bn/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚙馃嚘 [bs](../../bs/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚚馃嚳 [cs](../../cs/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚛馃嚢 [da](../../da/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚛馃嚜 [de](../../de/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚞馃嚪 [el](../../el/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚜馃嚫 [es](../../es/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚜馃嚜 [et](../../et/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚪 [fa](../../fa/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚝馃嚠 [fi](../../fi/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚝馃嚪 [fr](../../fr/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚜 [ga](../../ga/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚦 [gu](../../gu/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚦馃嚞 [ha](../../ha/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚤 [he](../../he/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚦 [hi](../../hi/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚟馃嚪 [hr](../../hr/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚟馃嚭 [hu](../../hu/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚘馃嚥 [hy](../../hy/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚛 [id](../../id/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚦馃嚞 [ig](../../ig/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚬 [it](../../it/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚡馃嚨 [ja](../../ja/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚞馃嚜 [ka](../../ka/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚢馃嚟 [km](../../km/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚦 [kn](../../kn/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚢馃嚪 [ko](../../ko/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚤馃嚬 [lt](../../lt/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚤馃嚮 [lv](../../lv/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚦 [ml](../../ml/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚦 [mr](../../mr/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚥馃嚬 [mt](../../mt/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚥馃嚥 [my](../../my/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚦馃嚨 [ne](../../ne/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚦馃嚤 [nl](../../nl/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚦馃嚧 [no](../../no/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚦 [or](../../or/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚦 [pa](../../pa/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚨馃嚟 [phi](../../phi/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚨馃嚤 [pl](../../pl/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚨馃嚬 [pt](../../pt/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚙馃嚪 [pt-BR](../../pt-BR/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚪馃嚧 [ro](../../ro/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚪馃嚭 [ru](../../ru/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚤馃嚢 [si](../../si/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚫馃嚢 [sk](../../sk/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚫馃嚠 [sl](../../sl/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚪馃嚫 [sr](../../sr/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚫馃嚜 [sv](../../sv/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚢馃嚜 [sw](../../sw/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚦 [ta](../../ta/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚠馃嚦 [te](../../te/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚬馃嚟 [th](../../th/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚬馃嚪 [tr](../../tr/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚭馃嚘 [uk-UA](../../uk-UA/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚨馃嚢 [ur](../../ur/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚭馃嚳 [uz](../../uz/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚮馃嚦 [vi](../../vi/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚦馃嚞 [yo](../../yo/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚚馃嚦 [zh-CN](../../zh-CN/docs/DEVELOPER-ENVIRONMENT.md) 路 馃嚬馃嚰 [zh-TW](../../zh-TW/docs/DEVELOPER-ENVIRONMENT.md) --- Halaman ini menerangkan tingkah laku `.env` setempat projek dan cara mengendalikan fail persekitaran serta rahsia semasa membangunkan OmniRoute. ## Tingkah laku postinstall .env Projek mungkin menjana fail `.env` setempat semasa `npm install` / `postinstall` untuk kemudahan pembangun. Fail ini hanya bertujuan untuk pembangunan dan pengujian setempat dan tidak boleh sekali-kali dikomit kepada kawalan versi. Perkara utama: - `.gitignore` repositori sudah mengabaikan fail `.env*` (lihat entri `.gitignore`). Jangan alih keluar atau ubah peraturan tersebut melainkan anda sengaja mahu mengomit fail contoh tertentu dan mempunyai proses yang didokumenkan untuknya. - Jika rahsia sebenar terkomit secara tidak sengaja kepada repo, tukar/batalkan kelayakan tersebut dengan segera dan alih keluarnya daripada sejarah repositori (contohnya, menggunakan `git filter-repo` atau aliran kerja pemulihan yang setara). Hubungi pemilik keselamatan/hubungan jika anda memerlukan bantuan. - Untuk CI dan pengeluaran, gunakan rahsia CI atau pengurus rahsia (GitHub Actions Secrets, Azure Key Vault, HashiCorp Vault, dsb.) dan bukannya mengomit rahsia ke dalam fail. ## Aliran kerja setempat yang disyorkan - Simpan `.env` dalam ruang kerja setempat anda sahaja. Gunakan `.env.example` (sudah dijejaki) untuk mendokumenkan pemboleh ubah yang diperlukan dan nilai contoh yang boleh diterima. - Apabila menjalankan ujian secara setempat yang memerlukan nilai seakan rahsia, utamakan nilai ruang letak sintetik atau kunci sementara yang dijana semasa masa jalan dan bukannya kelayakan sebenar. - Tambahkan komen ringkas dalam ujian yang menggunakan nilai ruang letak supaya penyemak memahami bahawa lekapan tersebut adalah sintetik. ## Catatan pengimbas - Sesetengah aset terkompil atau binari (cth., blob WASM base64 terbenam) boleh mengandungi subrentetan ASCII yang kelihatan seperti kelayakan dan mungkin mencetuskan pengimbas rahsia berasaskan teks. Jika aset ini sah, sama ada tandakannya dalam senarai dibenarkan pengimbas atau kecualikan direktori tersebut dalam konfigurasi pengimbas. ## Jika anda menemui kebocoran 1. Tukar/batalkan kunci tersebut dengan segera. 2. Alih keluar rahsia daripada sejarah dan lakukan push paksa pada cabang yang telah dibersihkan jika perlu. 3. Maklumkan kepada penyelenggara dan ikuti senarai semak tindak balas insiden organisasi anda.