« Tüm yayınlar

Node.js'te process.platform ve arch değerleri sanılandan fazla

Node.js resmi dokümanları process.platform/arch için sınırlı değer listeler; kaynak kod incelemesi GYP build sistemi üzerinden çok daha geniş bir liste ortaya koyuyor.

Node.js'in resmi dokümantasyonu process.platform için 7, process.arch için 10 değer listeliyor. Ancak bir geliştirici, Node.js'in C++ kaynak kodunu (node_*.cc dosyaları), GYP build sistemini ve configure.py betiğini inceleyerek bu listenin eksik olduğunu ortaya koyuyor. process.platform değeri aslında derleme zamanında NODE_PLATFORM makrosu üzerinden GYP'nin OS değişkeninden türetiliyor; bu değişken de sys.platform kontrolüyle netbsd, os390, android, os400, ios, openharmony, emscripten, wasm, wasi, cloudabi gibi çok daha fazla değeri alabiliyor. Benzer şekilde process.arch da mips64el ve riscv32 gibi resmi dokümanlarda yer almayan değerler içerebiliyor.

Yazının önemi, Node.js gibi yaygın kullanılan bir platformda bile resmi API dokümantasyonunun gerçek davranışı tam yansıtmayabileceğini göstermesinde yatıyor. process.platform veya process.arch üzerinden koşullu mantık yazan geliştiriciler için bu, beklenmedik platform/mimari değerleriyle karşılaşma riskinin göz ardı edilmemesi gerektiği anlamına geliyor; özellikle cross-compilation, gömülü sistemler veya WebAssembly hedefleri söz konusu olduğunda.

» KaynakHashnode #15