Etkili Bir On Yıl: npm Paketlerimiz 1 Milyar İndirmeye Nasıl Ulaştı ve JavaScript'i Nasıl Şekillendirdi
İçinde JavaScript ve node.js dünyada, bazı paketler olmazsa olmazdır—günlük milyonlarca kez indirilir ve dünya çapında uygulamalara güç verir. Bu araçların arkasında açık kaynak kalitesine odaklanmış geliştiriciler vardır. Bugün, ekibimizin JavaScript ekosisteminin temel parçaları haline gelen npm paketlerini nasıl oluşturup koruduğunu gösteriyoruz.
Bize Güvenen Öncüler: Isaac Z. Schlueter ve Forward Email
Sahip olmaktan gurur duyuyoruz Isaac Z. Schlueter (GitHub: isaacs) bir kullanıcı olarak. Isaac oluşturdu Deniz seviyesinden yukarıda ve inşa etmeye yardımcı oldu node.jsForward Email'e olan güveni, kalite ve güvenliğe odaklanmamızı gösteriyor. Isaac, izs.me dahil olmak üzere çeşitli alan adları için Forward Email'i kullanıyor.
Isaac'in JavaScript üzerindeki etkisi çok büyüktür. 2009'da Node.js'in potansiyelini ilk görenlerden biriydi ve Ryan DahlPlatformu yaratan . Isaac'ın bir konuşmasında söylediği gibi Increment dergisiyle röportaj: "Sunucu taraflı JS'nin nasıl gerçekleştirileceğini anlamaya çalışan bir grup insandan oluşan bu çok küçük topluluğun ortasında, Ryan Dahl Node'u ortaya çıkardı ve bu çok açık bir şekilde doğru yaklaşımdı. Ben de buna tüm gücümü kattım ve 2009'un ortalarında çok fazla dahil oldum."
[!NOT] Node.js'nin geçmişiyle ilgilenenler için, gelişiminin kaydını tutan mükemmel belgeseller mevcuttur; bunlara şunlar dahildir: Node.js'nin Hikayesi ve Node.js Hakkında Pişman Olduğum 10 Şey - Ryan Dahl. Ryan Dahl'ın kişisel web sitesi Ayrıca çalışmalarına dair değerli görüşler de içeriyor.
npm'in Yaratılışından Node.js Liderliğine
Isaac, npm'i Eylül 2009'da yarattı ve ilk kullanılabilir sürümü 2010'un başlarında yayınlandı. Bu paket yöneticisi, Node.js'deki önemli bir ihtiyacı karşıladı ve geliştiricilerin kodu kolayca paylaşmasına ve yeniden kullanmasına olanak tanıdı. Node.js Wikipedia sayfası, "Ocak 2010'da, Node.js ortamı için npm adlı bir paket yöneticisi tanıtıldı. Paket yöneticisi, programcıların Node.js paketlerini, beraberindeki kaynak koduyla birlikte yayınlamalarına ve paylaşmalarına olanak tanır ve paketlerin kurulumunu, güncellenmesini ve kaldırılmasını basitleştirmek için tasarlanmıştır."
Ryan Dahl Ocak 2012'de Node.js'den ayrıldığında, Isaac proje lideri olarak görevi devraldı. özeti"CommonJS modül sistemi, dosya sistemi API'leri ve akışları da dahil olmak üzere birçok temel Node.js çekirdek API'sinin geliştirilmesine öncülük etti" ve "2 yıl boyunca projenin BDFL'si (Ömür Boyu Hayırsever Diktatör) olarak görev yaptı ve Node.js v0.6'dan v0.10'a kadar olan sürümleri için giderek artan kalite ve güvenilir derleme süreci sağladı."
Isaac, Node.js'yi önemli bir büyüme döneminde yönlendirdi ve bugün hala platformu şekillendiren standartları belirledi. Daha sonra 2014'te daha önce kendi başına çalıştırdığı npm kayıt defterini desteklemek için npm, Inc.'i kurdu.
JavaScript'e yaptığı büyük katkılardan dolayı Isaac'e teşekkür ediyoruz ve onun yarattığı birçok paketi kullanmaya devam ediyoruz. Çalışmaları, yazılım oluşturma şeklimizi ve milyonlarca geliştiricinin dünya çapında kod paylaşma şeklini değiştirdi.
Kodun Arkasındaki Mimar: Nick Baugh'un Yolculuğu
Açık kaynak başarımızın merkezinde Forward Email'in kurucusu ve sahibi Nick Baugh yer alıyor. JavaScript'teki çalışmaları yaklaşık 20 yılı kapsıyor ve sayısız geliştiricinin uygulamaları nasıl oluşturduğunu şekillendirdi. Açık kaynak yolculuğu hem teknik beceriyi hem de topluluk liderliğini gösteriyor.
Express Teknik Komitesi ve Temel Katkılar
Nick'in web çerçevesi uzmanlığı ona bir yer kazandırdı Ekspres Teknik Komitesi, en çok kullanılan Node.js çerçevelerinden birinde yardımcı olduğu yer. Nick artık aktif olmayan bir üye olarak listeleniyor Express topluluk sayfası.
[!ÖNEMLİ] Express, başlangıçta Node.js ekosisteminin çoğunu şekillendirmiş üretken bir açık kaynak katılımcısı olan TJ Holowaychuk tarafından yaratıldı. TJ'nin temel çalışmaları için minnettarız ve ona saygı duyuyoruz mola verme kararı geniş kapsamlı açık kaynaklı katkılarından dolayı.
Bir üyesi olarak Ekspres Teknik KomitesiNick, açıklama gibi konularda ayrıntılara büyük önem verdi req.originalUrl
dokümantasyon ve çok parçalı form işleme sorunlarının giderilmesi.
Koa Çerçeve Katkıları
Nick'in çalışması Koa çerçevesi—TJ Holowaychuk tarafından yaratılan Express'e modern ve daha hafif bir alternatif—daha iyi web geliştirme araçlarına olan bağlılığını daha da göstermektedir. Koa katkıları, hem sorunları hem de çekme istekleri aracılığıyla kodu, hata işlemeyi, içerik türü yönetimini ve dokümantasyon iyileştirmelerini içerir.
Hem Express hem de Koa'daki çalışmaları, Node.js web geliştirmeye dair benzersiz bir bakış açısı kazandırarak ekibimizin birden fazla çerçeve ekosistemiyle uyumlu çalışan paketler oluşturmasına yardımcı oluyor.
Bireysel Katılımcıdan Kuruluş Liderine
Mevcut projelere yardım etmekle başlayan şey, bütün paket ekosistemleri yaratmaya ve sürdürmeye dönüştü. Nick, şunlar da dahil olmak üzere birden fazla GitHub organizasyonu kurdu: Kabin, Spam Tarayıcı, E-posta Yönlendir, İzin Vermek, ve Bree—her biri JavaScript topluluğunun özel ihtiyaçlarını çözüyor.
Katkıda bulunandan lidere geçiş, Nick'in gerçek sorunları çözen iyi tasarlanmış yazılım vizyonunu gösteriyor. İlgili paketleri odaklanmış GitHub organizasyonları altında düzenleyerek, daha geniş geliştirici topluluğu için modüler ve esnek kalırken birlikte çalışan araç ekosistemleri oluşturdu.
GitHub Organizasyonlarımız: Yenilik Ekosistemleri
Açık kaynak çalışmalarımızı, her biri JavaScript'teki belirli ihtiyaçları çözen odaklanmış GitHub organizasyonları etrafında düzenliyoruz. Bu yapı, modüler kalırken birlikte iyi çalışan tutarlı paket aileleri oluşturur.
Kabin: Modern Uygulamalar için Yapılandırılmış Günlük Kaydı
Kabin organizasyonu basit, güçlü uygulama günlüğü tutma konusundaki görüşümüzdür. Ana cabin
paketin yaklaşık 900 GitHub yıldızı ve 100.000'den fazla haftalık indirmesi var[^1]. Cabin, Sentry, LogDNA ve Papertrail gibi popüler servislerle çalışan yapılandırılmış günlük kaydı sağlar.
Cabin'i özel kılan şey, düşünceli API'si ve eklenti sistemidir. Şu gibi paketleri destekler: axe
Express ara yazılımı ve parse-request
HTTP istek ayrıştırmada izole araçlar yerine komple çözümlere olan bağlılığımızı gösteriyoruz.
bson-objectid
paket, sadece iki ayda 1,7 milyondan fazla indirmeyle özel bir bahsi hak ediyor[^2]. Bu hafif MongoDB ObjectID uygulaması, tam MongoDB bağımlılıkları olmadan kimliklere ihtiyaç duyan geliştiriciler için başvurulacak bir yol haline geldi.
Spam Tarayıcı: E-posta Kötüye Kullanımıyla Mücadele
Spam Tarayıcı organizasyonu gerçek sorunları çözmeye olan bağlılığımızı gösterir. Ana spamscanner
paket gelişmiş e-posta spam tespiti sağlar, ancak bu url-regex-safe
inanılmaz bir benimsenme gören paket.
İki ayda 1,2 milyondan fazla indirmeyle[^3], url-regex-safe
diğer URL algılama düzenli ifadelerindeki kritik güvenlik sorunlarını düzeltir. Bu paket açık kaynak yaklaşımımızı gösterir: yaygın bir sorunu bulma (bu durumda, Yeniden Yap URL doğrulamasındaki güvenlik açıklarını ortadan kaldırmak, sağlam bir çözüm oluşturmak ve bunu dikkatli bir şekilde sürdürmek.
Bree: İşçi İş Parçacıklarıyla Modern İş Planlaması
Bree örgütü yaygın bir Node.js zorluğuna cevabımızdır: güvenilir iş planlaması. Ana bree
3.100'den fazla GitHub yıldızına sahip paket, daha iyi performans ve güvenilirlik için Node.js çalışan iş parçacıklarını kullanan modern bir iş zamanlayıcısı sağlar.
[!NOT] Bree, bakımını yapmamıza yardımcı olduktan sonra yaratıldı Gündem, daha iyi bir iş planlayıcısı oluşturmak için öğrenilen derslerin uygulanması. Agenda katkılarımız, iş planlamasını iyileştirmenin yollarını bulmamıza yardımcı oldu.
Bree'yi Agenda gibi diğer planlayıcılardan farklı kılan nedir:
- Hiçbir Dış Bağımlılık Yok: MongoDB'ye ihtiyaç duyan Agenda'nın aksine, Bree iş durumunu yönetmek için Redis veya MongoDB'ye ihtiyaç duymaz.
- İşçi Konuları: Bree, daha iyi izolasyon ve performans sağlamak için korumalı süreçlerde Node.js çalışan iş parçacıklarını kullanır.
- Basit API: Bree, karmaşık planlama ihtiyaçlarının uygulanmasını kolaylaştırarak, ayrıntılı kontrolü basitlikle sunar.
- Dahili Destek:Zarif yeniden yükleme, cron işleri, tarihler ve kullanıcı dostu saatler gibi şeyler varsayılan olarak dahil edilmiştir.
Bree, önemli bir parçadır forwardemail.net, e-posta işleme, temizleme ve planlı bakım gibi kritik arka plan görevlerini ele alır. Bree'yi Forward Email'de kullanmak, üretimde kendi araçlarımızı kullanma ve yüksek güvenilirlik standartlarını karşılamalarını sağlama konusundaki kararlılığımızı gösterir.
Ayrıca şu gibi diğer harika işçi iş parçacığı paketlerini de kullanıyoruz ve takdir ediyoruz: havuz ve HTTP istemcileri gibi onbir. Piscina, Bree gibi, verimli görev işleme için Node.js çalışan iş parçacıklarını kullanır. Teşekkür ederiz Matthew TepesiNode.js'e yaptığı önemli katkılardan dolayı hem undici hem de piscina'yı yöneten Matteo'ya teşekkür ederiz. Matteo, Node.js Teknik Yönlendirme Komitesi'nde görev yapıyor ve Node.js'deki HTTP istemci yeteneklerini önemli ölçüde geliştirdi.
E-postayı İlet: Açık Kaynaklı E-posta Altyapısı
En iddialı projemiz E-posta Yönlendir, e-posta yönlendirme, depolama ve API hizmetleri sağlayan açık kaynaklı bir e-posta hizmetidir. Ana depoda 1.100'den fazla GitHub yıldızı[^4] vardır ve bu, tescilli e-posta hizmetlerine bu alternatif için topluluk takdirini gösterir.
preview-email
Bu organizasyondan gelen paket, iki ayda 2,5 milyondan fazla indirmeyle[^5], e-posta şablonlarıyla çalışan geliştiriciler için olmazsa olmaz bir araç haline geldi. Geliştirme sırasında e-postaları önizlemenin basit bir yolunu sağlayarak, e-posta özellikli uygulamalar oluştururken yaygın bir sorun noktasını çözer.
Lad: Temel Koa Yardımcı Programları ve Araçları
Delikanlı örgütü Koa çerçeve ekosistemini geliştirmeye odaklanan temel yardımcı programlar ve araçlar koleksiyonu sağlar. Bu paketler web geliştirmedeki yaygın zorlukları çözer ve bağımsız olarak yararlı kalırken sorunsuz bir şekilde birlikte çalışmak üzere tasarlanmıştır.
koa-better-error-handler: Koa için Geliştirilmiş Hata İşleme
koa-better-error-handler
Koa uygulamaları için daha iyi bir hata işleme çözümü sunar. 50'den fazla GitHub yıldızıyla bu paket, ctx.throw
Koa'nın yerleşik hata işleyicisinin çeşitli sınırlamalarını ele alırken kullanıcı dostu hata mesajları üretmek:
- Node.js DNS hatalarını, Mongoose hatalarını ve Redis hatalarını algılar ve düzgün bir şekilde işler
- Kullanımlar Patlama tutarlı, iyi biçimlendirilmiş hata yanıtları oluşturmak için
- Başlıkları korur (Koa'nın yerleşik işleyicisinin aksine)
- Varsayılan olarak 500'e dönmek yerine uygun durum kodlarını korur
- Flaş mesajları ve oturum korumayı destekler
- Doğrulama hataları için HTML hata listeleri sağlar
- Birden fazla yanıt türünü destekler (HTML, JSON ve düz metin)
Bu paket, özellikle aşağıdakilerle birlikte kullanıldığında çok değerlidir: koa-404-handler
Koa uygulamalarında kapsamlı hata yönetimi için.
pasaport: Lad için kimlik doğrulama
@ladjs/passport
popüler Passport.js kimlik doğrulama ara yazılımını modern web uygulamaları için belirli geliştirmelerle genişletir. Bu paket, kutudan çıktığı anda birden fazla kimlik doğrulama stratejisini destekler:
- E-posta ile yerel kimlik doğrulama
- Apple'la oturum açın
- GitHub kimlik doğrulaması
- Google kimlik doğrulaması
- Tek seferlik parola (OTP) kimlik doğrulaması
Paket son derece özelleştirilebilirdir ve geliştiricilerin alan adlarını ve ifadeleri uygulamalarının gereksinimlerine uyacak şekilde ayarlamalarına olanak tanır. Kullanıcı yönetimi için Mongoose ile sorunsuz bir şekilde entegre olacak şekilde tasarlanmıştır ve bu da onu sağlam kimlik doğrulaması gerektiren Koa tabanlı uygulamalar için ideal bir çözüm haline getirir.
zarif: Zarif Uygulama Kapatma
@ladjs/graceful
Node.js uygulamalarını zarif bir şekilde kapatmanın kritik zorluğunu çözer. 70'ten fazla GitHub yıldızıyla bu paket, uygulamanızın veri kaybetmeden veya bağlantıları askıda bırakmadan temiz bir şekilde sonlandırılabilmesini sağlar. Temel özellikler şunlardır:
- HTTP sunucularını (Express/Koa/Fastify) zarif bir şekilde kapatma desteği
- Veritabanı bağlantılarının (MongoDB/Mongoose) temiz bir şekilde kapatılması
- Redis istemcilerinin uygun şekilde kapatılması
- Bree iş planlayıcılarının işlenmesi
- Özel kapatma işleyicileri için destek
- Yapılandırılabilir zaman aşımı ayarları
- Kayıt sistemleriyle entegrasyon
Bu paket, beklenmeyen kapanmaların veri kaybına veya bozulmasına yol açabileceği üretim uygulamaları için olmazsa olmazdır. Uygun kapanma prosedürlerini uygulayarak, @ladjs/graceful
Uygulamanızın güvenilirliğini ve kararlılığını garanti altına almaya yardımcı olur.
Upptime: Açık Kaynaklı Uptime İzleme
Upptime organizasyonu şeffaf, açık kaynaklı izleme konusundaki bağlılığımızı temsil eder. Ana upptime
deposu 13.000'den fazla GitHub yıldızına sahip ve bu da onu katkıda bulunduğumuz en popüler projelerden biri yapıyor. Upptime, tamamen bir sunucu olmadan çalışan GitHub destekli bir çalışma süresi izleme ve durum sayfası sağlar.
Upptime'ı kendi durum sayfamız için kullanıyoruz https://status.forwardemail.net kaynak kodu şu adreste mevcuttur: https://github.com/forwardemail/status.forwardemail.net.
Upptime’ı özel kılan şey mimarisidir:
- %100 Açık Kaynak: Her bileşen tamamen açık kaynaklıdır ve özelleştirilebilir.
- GitHub tarafından desteklenmektedir: Sunucusuz izleme çözümü için GitHub Actions, Issues ve Pages'ı kullanır.
- Sunucu Gerekmiyor: Geleneksel izleme araçlarının aksine, Upptime bir sunucu çalıştırmanızı veya bakımını yapmanızı gerektirmez.
- Otomatik Durum Sayfası: GitHub Pages'da barındırılabilen güzel bir durum sayfası oluşturur.
- Güçlü Bildirimler: E-posta, SMS ve Slack dahil olmak üzere çeşitli bildirim kanallarıyla entegre olur.
Kullanıcılarımızın deneyimini geliştirmek için şunları entegre ettik: @octokit/çekirdek forwardemail.net kod tabanına gerçek zamanlı durum güncellemelerini ve olayları doğrudan web sitemizde sunmak için. Bu entegrasyon, tüm yığınımızda (Web sitesi, API, MongoDB, Redis, SQLite, SMTP, POP3, IMAP, Bree, vb.) herhangi bir sorun olması durumunda kullanıcılarımıza anında bildirimler, rozet simgesi değişiklikleri, uyarı renkleri ve daha fazlasıyla net bir şeffaflık sağlar.
@octokit/core kütüphanesi, Upptime GitHub havuzumuzdan gerçek zamanlı verileri almamızı, işlememizi ve kullanıcı dostu bir şekilde görüntülememizi sağlar. Herhangi bir hizmette kesinti veya performans düşüşü olduğunda, kullanıcılar ana uygulamadan ayrılmak zorunda kalmadan görsel göstergeler aracılığıyla anında bilgilendirilir. Bu kusursuz entegrasyon, kullanıcılarımızın sistem durumumuz hakkında her zaman güncel bilgilere sahip olmasını sağlayarak şeffaflığı ve güveni artırır.
Upptime, hizmetlerini izlemek ve durumu kullanıcılara iletmek için şeffaf ve güvenilir bir yol arayan yüzlerce kuruluş tarafından benimsenmiştir. Projenin başarısı, ortak sorunları yeni yollarla çözmek için mevcut altyapıyı (bu durumda GitHub) kullanan araçlar oluşturmanın gücünü göstermektedir.
İleri E-posta Ekosistemine Katkılarımız
Açık kaynaklı paketlerimiz dünya çapında geliştiriciler tarafından kullanılırken, aynı zamanda kendi Forward Email hizmetimizin temelini oluştururlar. Bu ikili rol—bu araçların hem yaratıcıları hem de kullanıcıları olarak—gerçek dünya uygulamalarına dair bize benzersiz bir bakış açısı kazandırır ve sürekli iyileştirmeyi teşvik eder.
Paketlerden Üretime
Bireysel paketlerden bütünleşik bir üretim sistemine giden yolculuk, dikkatli bir entegrasyon ve genişletmeyi içerir. Forward Email için bu süreç şunları içerir:
- Özel Uzantılar: Benzersiz gereksinimlerimizi karşılayan açık kaynaklı paketlerimize E-postaya özgü uzantılar ekliyoruz.
- Entegrasyon Modelleri: Bu paketlerin üretim ortamında nasıl etkileşime gireceğine dair kalıplar geliştirmek.
- Performans Optimizasyonları: Ölçeklendikçe ortaya çıkan performans darboğazlarını belirlemek ve ele almak.
- Güvenlik Güçlendirme: E-posta işleme ve kullanıcı verilerinin korunmasına özgü ek güvenlik katmanları ekleniyor.
Bu çalışma, temel paketlerin ötesinde binlerce saatlik geliştirmeyi temsil ediyor ve açık kaynaklı katkılarımızın en iyilerinden yararlanan sağlam ve güvenli bir e-posta hizmetinin ortaya çıkmasını sağlıyor.
Geri bildirim döngüsü
Belki de üretimde kendi paketlerimizi kullanmanın en değerli yönü, yarattığı geri bildirim döngüsüdür. Forward Email'de sınırlamalarla veya uç durumlarla karşılaştığımızda, bunları yalnızca yerel olarak yamamakla kalmayız; altta yatan paketleri iyileştirerek hem hizmetimizi hem de daha geniş topluluğu faydalandırırız.
Bu yaklaşım çok sayıda iyileştirmeye yol açtı:
- Bree'nin zarif kapanışı: Forward Email'in sıfır kesinti süresiyle dağıtım ihtiyacı, Bree'de gelişmiş zarif kapatma yeteneklerine yol açtı.
- Spam Tarayıcısının Desen Tanıma: Forward Email'de karşılaşılan gerçek dünyadaki spam kalıpları Spam Scanner'ın tespit algoritmalarına bilgi sağlamıştır.
- Kabin Performans Optimizasyonları:Üretimdeki yüksek hacimli günlük kaydı, Cabin'de tüm kullanıcıların faydalanabileceği optimizasyon fırsatlarını ortaya çıkardı.
Açık kaynaklı çalışmalarımız ile üretim hizmetimiz arasındaki bu erdemli döngüyü koruyarak, paketlerimizin teorik uygulamalar olmaktan ziyade pratik, savaşta test edilmiş çözümler olmasını sağlıyoruz.
Forward Email'in Temel İlkeleri: Mükemmellik İçin Bir Temel
Forward Email, tüm geliştirme kararlarımıza rehberlik eden bir dizi temel ilkeye göre tasarlanmıştır. Bu ilkeler, web sitesiHizmetimizin geliştirici dostu, güvenli ve kullanıcı gizliliğine odaklı kalmasını sağlamak.
Her Zaman Geliştirici Dostu, Güvenlik Odaklı ve Şeffaf
İlk ve en önemli ilkemiz, en yüksek güvenlik ve gizlilik standartlarını korurken geliştirici dostu yazılımlar yaratmaktır. Teknik mükemmelliğin asla kullanılabilirlik pahasına olmaması gerektiğine ve şeffaflığın topluluğumuzla güven inşa ettiğine inanıyoruz.
Bu ilke, detaylı dokümantasyonumuzda, net hata mesajlarımızda ve hem başarılar hem de zorluklar hakkında açık iletişimimizde kendini gösterir. Tüm kod tabanımızı açık kaynaklı yaparak, inceleme ve iş birliğini davet ediyor, hem yazılımımızı hem de daha geniş ekosistemi güçlendiriyoruz.
Zamanla Test Edilmiş Yazılım Geliştirme İlkelerine Uyum
Onlarca yıldır değerlerini kanıtlamış, yerleşik yazılım geliştirme prensiplerini takip ediyoruz:
- MVC: Model-Görünüm-Denetleyici deseniyle endişeleri ayırma
- Unix Felsefesi: Bir şeyi iyi yapan modüler bileşenler yaratmak
- KISS: Basit ve Açık Tutmak
- DRY: Kendinizi Tekrar Etmeyin, kodun yeniden kullanımını teşvik edin
- YAGNI: Buna ihtiyacınız olmayacak, erken optimizasyondan kaçınarak
- Oniki Faktör: Modern, ölçeklenebilir uygulamalar oluşturmak için en iyi uygulamaları takip etmek
- Occam'ın usturası: Gereksinimleri karşılayan en basit çözümü seçmek
- Köpek Maması:Kendi ürünlerimizi yoğun bir şekilde kullanıyoruz
Bu ilkeler yalnızca teorik kavramlar değildir; günlük geliştirme uygulamalarımıza yerleşmiştir. Örneğin, Unix felsefesine bağlılığımız npm paketlerimizi nasıl yapılandırdığımızda açıkça görülür: karmaşık sorunları çözmek için bir araya getirilebilen küçük, odaklanmış modüller.
Hırçın, Önyüklemeli Geliştiriciyi Hedefleme
Özellikle hırçın, kendi kendine yeten ve ramen-karlı geliştirici. Bu odak, fiyatlandırma modelimizden teknik kararlarımıza kadar her şeyi şekillendirir. Sınırlı kaynaklarla ürün oluşturmanın zorluklarını anlıyoruz çünkü biz de oradaydık.
Bu ilke, açık kaynağa yaklaşımımızda özellikle önemlidir. Kurumsal bütçeleri olmayan geliştiriciler için gerçek sorunları çözen paketler oluşturuyor ve sürdürüyoruz, güçlü araçları kaynakları ne olursa olsun herkesin erişimine sunuyoruz.
Uygulamada İlkeler: İleri E-posta Kod Tabanı
Bu ilkeler Forward Email kod tabanında açıkça görülebilir. package.json dosyamız, her biri temel değerlerimizle uyumlu olacak şekilde seçilmiş, düşünceli bir bağımlılık seçkisi ortaya koyar:
- Güvenlik odaklı paketler gibi
mailauth
e-posta kimlik doğrulaması için - Geliştirici dostu araçlar gibi
preview-email
daha kolay hata ayıklama için - Çeşitli modüler bileşenler
p-*
Sindre Sorhus'tan kamu hizmetleri
Bu ilkeleri zaman içinde tutarlı bir şekilde izleyerek, geliştiricilerin e-posta altyapılarına güvenebilecekleri, güvenli, güvenilir ve açık kaynak topluluğunun değerleriyle uyumlu bir hizmet oluşturduk.
Tasarıma Göre Gizlilik
Gizlilik, Forward Email için sonradan akla gelen bir şey veya pazarlama özelliği değildir; hizmetimizin ve kodumuzun her yönünü bilgilendiren temel bir tasarım ilkesidir:
- Sıfır Erişim Şifrelemesi:Kullanıcıların e-postalarını okumamızı teknik olarak imkansız hale getiren sistemler uyguladık.
- Minimum Veri Toplama:Hizmetimizi sunmak için yalnızca gerekli olan verileri topluyoruz, daha fazlasını değil.
- Şeffaf Politikalar: Gizlilik politikamız hukuki terimlerden uzak, açık ve anlaşılır bir dille yazılmıştır.
- Açık Kaynak Doğrulaması:Açık kaynak kod tabanımız, güvenlik araştırmacılarının gizlilik iddialarımızı doğrulamalarına olanak tanır.
Bu bağlılık, baştan sona güvenlik ve gizlilik en iyi uygulamalarıyla tasarlanan açık kaynaklı paketlerimize de uzanıyor.
Sürdürülebilir Açık Kaynak
Açık kaynaklı yazılımların uzun vadede gelişebilmesi için sürdürülebilir modellere ihtiyaç duyduğuna inanıyoruz. Yaklaşımımız şunları içerir:
- Ticari Destek:Açık kaynaklı araçlarımızla ilgili birinci sınıf destek ve hizmetler sunuyoruz.
- Dengeli Lisanslama:Hem kullanıcı özgürlüklerini hem de projenin sürdürülebilirliğini koruyan lisansların kullanılması.
- Topluluk Katılımı:Destekleyici bir topluluk oluşturmak için katılımcılarla aktif olarak etkileşim kurmak.
- Şeffaf Yol Haritaları:Kullanıcıların buna göre planlama yapabilmeleri için geliştirme planlarımızı paylaşıyoruz.
Sürdürülebilirliğe odaklanarak, açık kaynaklı katkılarımızın ihmal edilmek yerine zaman içinde büyümeye ve gelişmeye devam etmesini sağlıyoruz.
Rakamlar Yalan Söylemez: Şaşırtıcı npm İndirme İstatistiklerimiz
Açık kaynaklı yazılımların etkisinden bahsettiğimizde, indirme istatistikleri benimseme ve güvenin somut bir ölçüsünü sağlar. Bakımını yaptığımız paketlerin çoğu, çok az açık kaynaklı projenin ulaştığı bir ölçeğe ulaşmış olup, toplam indirme sayıları milyarları bulmuştur.
[!ÖNEMLİ] JavaScript ekosistemindeki çok indirilen birkaç paketi sürdürmeye yardımcı olmaktan gurur duysak da, bu paketlerin çoğunun başlangıçta diğer yetenekli geliştiriciler tarafından oluşturulduğunu kabul etmek istiyoruz. Superagent ve supertest gibi paketler başlangıçta açık kaynak kodlu yazılımlara yaptığı verimli katkılarla Node.js ekosisteminin şekillenmesinde etkili olan TJ Holowaychuk tarafından oluşturuldu.
Etkimizin Kuşbakışı Görünümü
Sadece Şubat-Mart 2025 arasındaki iki aylık dönemde, katkıda bulunduğumuz ve kaydedilen şaşırtıcı indirme sayılarını korumaya yardımcı olduğumuz en iyi paketler:
- süper ajan: 84.575.829 indirme[^7] (aslen TJ Holowaychuk tarafından oluşturuldu)
- süper test: 76.432.591 indirme[^8] (aslen TJ Holowaychuk tarafından oluşturuldu)
- Ayrıca: 28.539.295 indirme[^34] (aslen TJ Holowaychuk tarafından oluşturuldu)
- @koa/yönlendirici: 11.007.327 indirme[^35]
- koa-yönlendirici: 3.498.918 indirme[^36]
- url-regex: 2.819.520 indirme[^37]
- önizleme-e-posta: 2.500.000 indirme[^9]
- kabin: 1.800.000 indirme[^10]
- @breejs/sonra: 1.709.938 indirme[^38]
- E-posta Şablonları: 1.128.139 indirme[^39]
- alma yolları: 1.124.686 indirme[^40]
- url-regex-güvenli: 1.200.000 indirme[^11]
- dotenv-değişkenleri-ayrıştırma: 894.666 indirme[^41]
- @koa/multer: 839.585 indirme[^42]
- spam tarayıcısı: 145.000 indirme[^12]
- esinti: 24.270 indirme[^30]
[!NOTE] Bakımını sağladığımız ancak oluşturmadığımız diğer birkaç paketin indirme sayıları daha da yüksek, bunlara şunlar dahildir:
form-data
(738M+ indirme),toidentifier
(309M+ indirme),stackframe
(116M+ indirme) veerror-stack-parser
(113M+ indirme). Orijinal yazarlarının çalışmalarına saygı duyarak bu paketlere katkıda bulunmaktan onur duyuyoruz.
Bunlar yalnızca etkileyici sayılar değil; gerçek geliştiricilerin, bakımına yardımcı olduğumuz kodlarla gerçek sorunları çözmelerini temsil ediyor. Her indirme, bu paketlerin birinin, hobi amaçlı projelerden milyonlarca kişi tarafından kullanılan kurumsal uygulamalara kadar anlamlı bir şey inşa etmesine yardımcı olduğu bir örnektir.
Ölçekte Günlük Etki
Günlük indirme kalıpları, zirvelerin günde milyonlarca indirmeye ulaştığı tutarlı, yüksek hacimli kullanım ortaya koyuyor[^13]. Bu tutarlılık, bu paketlerin kararlılığı ve güvenilirliğinden bahsediyor; geliştiriciler bunları yalnızca denemiyor; bunları temel iş akışlarına entegre ediyor ve her gün bunlara güveniyorlar.
Haftalık indirme kalıpları daha da etkileyici sayılar gösteriyor ve haftada sürekli olarak on milyonlarca indirme civarında seyrediyor[^14]. Bu, JavaScript ekosisteminde devasa bir ayak izini temsil ediyor ve bu paketler dünya çapında üretim ortamlarında çalışıyor.
Ham Sayıların Ötesinde
İndirme istatistikleri kendi başlarına etkileyici olsa da, topluluğun bu paketlere duyduğu güven hakkında daha derin bir hikaye anlatıyor. Paketleri bu ölçekte sürdürmek, şunlara sarsılmaz bir bağlılık gerektirir:
- Geriye Dönük Uyumluluk:Mevcut uygulamaları bozmamak için değişiklikler dikkatlice değerlendirilmelidir.
- GüvenlikMilyonlarca uygulamanın bu paketlere bağlı olması nedeniyle, güvenlik açıklarının çok geniş kapsamlı sonuçları olabilir.
- Performans: Bu ölçekte, küçük performans iyileştirmeleri bile toplu olarak önemli faydalar sağlayabilir.
- Belgeleme: Her deneyim seviyesindeki geliştiricinin kullandığı paketler için açık ve kapsamlı dokümantasyon şarttır.
Zaman içinde indirme sayılarındaki istikrarlı büyüme, bu taahhütlerin yerine getirilmesindeki başarıyı ve güvenilir, iyi yönetilen paketler aracılığıyla geliştirici topluluğuyla güven oluşturulmasını yansıtıyor.
Ekosistemi Desteklemek: Açık Kaynak Sponsorluklarımız
[!TIP] Açık kaynak sürdürülebilirliği yalnızca kod katkıda bulunmakla ilgili değildir; aynı zamanda kritik altyapıyı sürdüren geliştiricileri desteklemekle de ilgilidir.
JavaScript ekosistemine doğrudan katkılarımızın ötesinde, çalışmaları birçok modern uygulamanın temelini oluşturan önemli Node.js katılımcılarına sponsor olmaktan gurur duyuyoruz. Sponsorluklarımız şunları içerir:
Andris Reinman: E-posta Altyapısı Öncüsü
Andris Reinman yaratıcısıdır Not postacısı, Node.js için en popüler e-posta gönderme kütüphanesi olup, haftalık 14 milyondan fazla indirmeye sahiptir[^15]. Çalışmaları, aşağıdakiler gibi diğer kritik e-posta altyapısı bileşenlerine kadar uzanır: SMTP Sunucusu, Posta ayrıştırıcısı, ve Vahşi ördek.
Sponsorluğumuz, kendi Forward Email servisimiz de dahil olmak üzere sayısız Node.js uygulaması için e-posta iletişimini destekleyen bu temel araçların sürekli bakımının ve geliştirilmesinin sağlanmasına yardımcı oluyor.
Sindre Sorhus: Fayda Paketi Beyni
Sindre Sorhus JavaScript ekosistemindeki en üretken açık kaynak katkıda bulunanlardan biridir ve adına 1.000'den fazla npm paketi eklenmiştir. Yardımcı programları arasında p-haritası, ön-tekrar deneme, ve akış Node.js ekosisteminde kullanılan temel yapı taşlarıdır.
Sindre'nin çalışmalarına sponsor olarak, JavaScript geliştirmeyi daha verimli ve güvenilir hale getiren bu kritik yardımcı programların geliştirilmesinin sürdürülmesine yardımcı oluyoruz.
Bu sponsorluklar, daha geniş açık kaynak ekosistemine olan bağlılığımızı yansıtır. Kendi başarımızın bu ve diğer katkıda bulunanlar tarafından atılan temele dayandığını kabul ediyoruz ve tüm ekosistemin sürdürülebilirliğini sağlamaya adadık kendimizi.
JavaScript Ekosistemindeki Güvenlik Açıklarını Ortaya Çıkarma
Açık kaynak taahhüdümüz, milyonlarca geliştiriciyi etkileyebilecek güvenlik açıklarını belirlemeyi ve ele almayı da içerecek şekilde özellik geliştirmenin ötesine uzanır. JavaScript ekosistemine yaptığımız en önemli katkılardan birkaçı güvenlik alanında olmuştur.
Koa-Router Kurtarma
Şubat 2019'da Nick, popüler koa-router paketinin bakımıyla ilgili kritik bir sorun tespit etti. Hacker News'da bildirildi, paket orijinal bakıcısı tarafından terk edilmişti, bu da güvenlik açıklarının giderilmemesine ve topluluğun güncellenmemesine neden oldu.
[!UYARI] Güvenlik açıkları olan terk edilmiş paketler, özellikle haftada milyonlarca kez indirildiklerinde, tüm ekosistem için önemli riskler oluşturur.
Buna karşılık Nick, @koa/yönlendirici ve topluluğu durum hakkında uyarmaya yardımcı oldu. O zamandan beri bu kritik paketi sürdürüyor ve Koa kullanıcılarının güvenli, iyi bakımlı bir yönlendirme çözümüne sahip olmasını sağlıyor.
ReDoS Güvenlik Açıklarının Giderilmesi
2020 yılında Nick kritik bir sorunu tespit etti ve ele aldı Düzenli İfade Hizmet Reddi (ReDoS) yaygın olarak kullanılan güvenlik açığı url-regex
paket. Bu güvenlik açığı (SNYK-JS-URLREGEX-569472) saldırganların, düzenli ifadede felaketle sonuçlanan geri izlemelere neden olan özel olarak hazırlanmış girdiler sağlayarak hizmet reddi oluşturmasına olanak tanıyabilir.
Nick, mevcut paketi basitçe yamalamak yerine, url-regex-safe
, orijinal API ile uyumluluğu korurken güvenlik açığını gideren tamamen yeniden yazılmış bir uygulama. Ayrıca bir kapsamlı blog yazısı Güvenlik açığını ve nasıl azaltılacağını açıklıyoruz.
Bu çalışma, güvenliğe yönelik yaklaşımımızı göstermektedir: yalnızca sorunları çözmek değil, aynı zamanda toplumu eğitmek ve gelecekte benzer sorunların yaşanmasını önleyecek sağlam alternatifler sunmak.
Node.js ve Chromium Güvenliğini Savunmak
Nick ayrıca daha geniş ekosistemde güvenlik iyileştirmeleri için savunuculuk yapmada aktif rol oynadı. Ağustos 2020'de, Node.js'de HTTP başlıklarının işlenmesiyle ilgili önemli bir güvenlik sorunu tespit etti ve bu, Kayıt.
Chromium'daki bir yamadan kaynaklanan bu sorun, saldırganların güvenlik önlemlerini atlatmasına olanak tanıyabilir. Nick'in savunuculuğu, sorunun derhal ele alınmasını sağlayarak milyonlarca Node.js uygulamasının olası istismardan korunmasını sağladı.
npm Altyapısını Güvence Altına Alma
Aynı ayın ilerleyen günlerinde Nick, bu sefer npm'nin e-posta altyapısında olan başka bir kritik güvenlik sorununu tespit etti. Kayıtnpm, DMARC, SPF ve DKIM e-posta kimlik doğrulama protokollerini düzgün bir şekilde uygulamadığından, saldırganların npm'den geliyormuş gibi görünen kimlik avı e-postaları göndermesine olanak tanıyordu.
Nick'in raporu, npm'nin e-posta güvenliği duruşunda iyileştirmelere yol açarak, paket yönetimi için npm'e güvenen milyonlarca geliştiriciyi potansiyel kimlik avı saldırılarından korudu.
İleri E-posta Ekosistemine Katkılarımız
Forward Email, Nodemailer, WildDuck ve mailauth gibi çeşitli kritik açık kaynaklı projelerin üzerine kurulmuştur. Ekibimiz bu projelere önemli katkılarda bulunarak e-posta teslimatını ve güvenliğini etkileyen derin sorunları belirlemeye ve düzeltmeye yardımcı olmuştur.
Nodemailer'ın Temel İşlevselliğini Geliştirme
Not postacısı Node.js'de e-posta göndermenin omurgasını oluşturur ve katkılarımız onu daha sağlam hale getirmeye yardımcı oldu:
- SMTP Sunucusu İyileştirmeleri:SMTP sunucu bileşenindeki ayrıştırma hatalarını, akış işleme sorunlarını ve TLS yapılandırma sorunlarını düzelttik[^16][^17].
- Posta Ayrıştırıcı Geliştirmeleri:Karakter dizisi kod çözme hatalarını ele aldık ve e-posta işleme hatalarına neden olabilecek ayrıştırıcı sorunlarını giderdik[^18][^19].
Bu katkılar, Nodemailer'ın Forward Email dahil Node.js uygulamalarında e-posta işleme için güvenilir bir temel olmaya devam etmesini sağlar.
Mailauth ile E-posta Kimlik Doğrulamasını Geliştirme
Posta Yetkisi kritik e-posta kimlik doğrulama işlevselliği sağlar ve katkılarımız yeteneklerini önemli ölçüde iyileştirdi:
- DKIM Doğrulama İyileştirmeleri:X/Twitter'ın giden mesajlarında DKIM hatasına neden olan DNS önbellek sorunları yaşadığını keşfettik ve bunu Hacker One'a bildirdik[^20].
- DMARC ve ARC Geliştirmeleri: Yanlış kimlik doğrulama sonuçlarına yol açabilecek DMARC ve ARC doğrulama sorunlarını düzelttik[^21][^22].
- Performans Optimizasyonları: E-posta kimlik doğrulama süreçlerinin performansını artıran iyileştirmelere katkıda bulunduk[^23][^24][^25][^26].
Bu iyileştirmeler, e-posta kimlik doğrulamasının doğru ve güvenilir olmasını sağlayarak kullanıcıları kimlik avı ve sahtekarlık saldırılarından korumaya yardımcı olur.
Önemli Upptime Geliştirmeleri
Upptime'a katkılarımız şunlardır:
- SSL Sertifika İzleme: SSL sertifikasının süresinin dolmasını izleme işlevini ekledik ve süresi dolan sertifikalar nedeniyle beklenmeyen kesintilerin önüne geçtik[^27].
- Çoklu SMS Numarası Desteği:Olaylar meydana geldiğinde birden fazla ekip üyesine SMS yoluyla uyarı gönderilmesini sağlayan desteği uygulamaya koyduk ve bu sayede yanıt sürelerini iyileştirdik[^28].
- IPv6 Kontrol Düzeltmeleri: IPv6 bağlantı kontrollerindeki sorunları düzelterek modern ağ ortamlarında daha doğru izleme sağladık[^29].
- Koyu/Açık Mod Desteği:Durum sayfalarının kullanıcı deneyimini iyileştirmek için tema desteği ekledik[^31].
- Daha İyi TCP-Ping Desteği: Daha güvenilir bağlantı testi sağlamak için TCP ping işlevselliğini geliştirdik[^32].
Bu geliştirmeler yalnızca Forward Email'in durum izleme özelliğini geliştirmekle kalmıyor, aynı zamanda Upptime kullanıcılarının tüm topluluğuna da sunuluyor ve bu da güvendiğimiz araçları iyileştirme konusundaki kararlılığımızı gösteriyor.
Her Şeyi Bir Arada Tutturan Tutkal: Ölçekte Özel Kod
Npm paketlerimiz ve mevcut projelere katkılarımız önemli olsa da, teknik uzmanlığımızı gerçekten sergileyen şey bu bileşenleri entegre eden özel koddur. Forward Email kod tabanı, projenin başladığı 2017'ye kadar uzanan on yıllık bir geliştirme çabasını temsil eder ücretsiz-e-posta-yönlendirme bir monorepoya birleştirilmeden önce.
Büyük Bir Geliştirme Çabası
Bu özel entegrasyon kodunun ölçeği etkileyici:
- Toplam Katkılar: 3.217'den fazla taahhüt
- Kod Tabanı Boyutu: JavaScript, Pug, CSS ve JSON dosyalarında 421.545'ten fazla satır kod[^33]
Bu, binlerce saatlik geliştirme çalışması, hata ayıklama oturumları ve performans optimizasyonlarını temsil eder. Bu, bireysel paketleri her gün binlerce müşteri tarafından kullanılan tutarlı, güvenilir bir hizmete dönüştüren "gizli sos"tur.
Çekirdek Bağımlılıkların Entegrasyonu
Forward Email kod tabanı çok sayıda bağımlılığı kusursuz bir bütün halinde birleştirir:
- E-posta İşleme: Gönderme için Nodemailer'ı, alma için SMTP Server'ı ve ayrıştırma için Mailparser'ı entegre eder
- Kimlik Doğrulama: DKIM, SPF, DMARC ve ARC doğrulaması için Mailauth'u kullanır
- DNS Çözümlemesi: Küresel önbelleğe alma ile DNS-over-HTTPS için Tangerine'den yararlanır
- MX Bağlantısı: Güvenilir posta sunucusu bağlantıları için Tangerine entegrasyonuyla mx-connect'i kullanır
- İş Planlaması: İşçi iş parçacıklarıyla güvenilir arka plan görevi işleme için Bree'yi kullanır
- Şablonlama: Müşteri iletişimlerinde web sitesindeki stil sayfalarını yeniden kullanmak için e-posta şablonlarını kullanır
- E-posta Depolama: Kuantum güvenli gizlilik için ChaCha20-Poly1305 şifrelemesiyle better-sqlite3-multiple-ciphers kullanılarak ayrı ayrı şifrelenmiş SQLite posta kutuları uygulanır, kullanıcılar arasında tam izolasyon sağlanır ve yalnızca kullanıcının posta kutusuna erişimi sağlanır
Bu entegrasyonların her biri uç durumların, performans etkilerinin ve güvenlik endişelerinin dikkatli bir şekilde değerlendirilmesini gerektirir. Sonuç, milyonlarca e-posta işlemini güvenilir bir şekilde işleyen sağlam bir sistemdir. SQLite uygulamamız ayrıca verimli ikili serileştirme için msgpackr'ı ve altyapımız genelinde gerçek zamanlı durum güncellemeleri için WebSockets'ı (ws aracılığıyla) kullanır.
Tangerine ve mx-connect ile DNS Altyapısı
Forward Email altyapısının kritik bir bileşeni, iki temel paket etrafında oluşturulmuş DNS çözümleme sistemimizdir:
-
mandalina:Node.js DNS-over-HTTPS uygulamamız, yerleşik yeniden denemeler, zaman aşımları, akıllı sunucu rotasyonu ve önbelleğe alma desteğiyle standart DNS çözümleyicisine anında bir alternatif sunar.
-
mx bağlantısı: Bu paket, hedef etki alanını veya e-posta adresini alarak, uygun MX sunucularını çözümleyerek ve bunlara öncelik sırasına göre bağlanarak MX sunucularına TCP bağlantıları kurar.
Tangerine'i mx-connect ile entegre ettik çekme isteği #4, HTTP istekleri üzerinden uygulama katmanı DNS'ini Forward Email boyunca garanti eder. Bu, dağıtılmış bir sistemde güvenilir e-posta teslimi için kritik olan, herhangi bir bölge, uygulama veya işlem genelinde 1:1 tutarlılıkla ölçekte DNS için küresel önbelleğe alma sağlar.
Kurumsal Etki: Açık Kaynaktan Görev Kritik Çözümlere
Açık kaynak geliştirme alanındaki on yıllık yolculuğumuzun doruk noktası, Forward Email'in yalnızca bireysel geliştiricilere değil, aynı zamanda açık kaynak hareketinin omurgasını oluşturan büyük işletmelere ve eğitim kurumlarına da hizmet vermesini sağladı.
Görev Kritik E-posta Altyapısında Vaka Çalışmaları
Güvenilirlik, gizlilik ve açık kaynak ilkelerine olan bağlılığımız, Forward Email'i zorlu e-posta gereksinimleri olan kuruluşlar için güvenilir bir seçim haline getirmiştir:
-
Eğitim Kurumları: Ayrıntılı olarak açıkladığımız gibi mezun e-posta yönlendirme vaka çalışması, büyük üniversiteler, güvenilir e-posta yönlendirme hizmetleri aracılığıyla yüz binlerce mezunla ömür boyu bağlantı kurmak için altyapımıza güveniyor.
-
Kurumsal Linux Çözümleri: : Canonical Ubuntu e-posta kurumsal vaka çalışması Açık kaynak yaklaşımımızın kurumsal Linux sağlayıcılarının ihtiyaçlarıyla nasıl mükemmel bir şekilde uyumlu olduğunu, onlara ihtiyaç duydukları şeffaflığı ve kontrolü nasıl sağladığını göstermektedir.
-
Açık Kaynak Temelleri:Belki de en doğrulayıcı olanı, Linux Vakfı ile olan ortaklığımızdır, bu da belgelenmiştir Linux Foundation e-posta kurumsal vaka çalışması, hizmetimizin Linux gelişimini yöneten kuruluşun iletişimini güçlendirdiği yer.
Uzun yıllar boyunca özenle sürdürülen açık kaynak paketlerimizin, artık açık kaynak yazılımlarını savunan toplulukları ve kuruluşları destekleyen bir e-posta hizmeti oluşturmamızı sağlamasında güzel bir simetri var. Bu tam daire yolculuğu—bireysel paketler katkıda bulunmaktan açık kaynak liderleri için kurumsal düzeyde e-posta altyapısı sağlamaya—yazılım geliştirmeye yönelik yaklaşımımızın nihai doğrulamasını temsil ediyor.
Açık Kaynaklı Bir On Yıl: Geleceğe Bakış
Açık kaynaklı yazılımlara yapılan katkıların on yılına geri dönüp önümüzdeki on yıla baktığımızda, çalışmalarımızı destekleyen topluluğa duyduğumuz minnet ve geleceğe yönelik heyecanla doluyuz.
Bireysel paket katkıcılarından büyük kuruluşlar ve açık kaynak vakıfları tarafından kullanılan kapsamlı bir e-posta altyapısının bakımcılarına doğru yolculuğumuz dikkat çekiciydi. Bu, açık kaynak geliştirmenin gücüne ve düşünceli, iyi bakımı yapılmış yazılımların daha geniş ekosistem üzerindeki etkisinin bir kanıtıdır.
Önümüzdeki yıllarda şunları taahhüt ediyoruz:
- Mevcut paketlerimizi korumaya ve geliştirmeye devam ediyoruz, dünya çapındaki geliştiriciler için güvenilir araçlar olmaya devam etmelerini sağlar.
- Kritik altyapı projelerine katkılarımızı genişletiyoruzÖzellikle e-posta ve güvenlik alanlarında.
- Forward Email'in yeteneklerinin geliştirilmesi Gizlilik, güvenlik ve şeffaflık konusundaki kararlılığımızı sürdürürken.
- Gelecek nesil açık kaynak katılımcılarını desteklemek Mentorluk, sponsorluk ve toplum katılımı yoluyla.
Yazılım geliştirmenin geleceğinin açık, işbirlikçi ve güven temeline dayalı olduğuna inanıyoruz. JavaScript ekosistemine yüksek kaliteli, güvenliğe odaklı paketler sunmaya devam ederek, bu geleceği inşa etmede küçük bir rol oynamayı umuyoruz.
Paketlerimizi kullanan, projelerimize katkıda bulunan, sorunları bildiren veya sadece çalışmalarımız hakkında bilgi yayan herkese teşekkür ederiz. Desteğiniz bu on yıllık etkiyi mümkün kıldı ve önümüzdeki on yılda birlikte neler başarabileceğimizi görmek için heyecanlıyız.
[^1]: npm indirme istatistikleri cabin, Nisan 2025 [^2]: npm indirme istatistikleri bson-objectid, Şubat-Mart 2025 [^3]: npm indirme istatistikleri url-regex-safe, Nisan 2025 [^4]: GitHub yıldız sayısı forwardemail/forwardemail.net için Nisan 2025 itibarıyla [^5]: npm indirme istatistikleri preview-email, Nisan 2025 [^7]: npm indirme istatistikleri superagent, Şubat-Mart 2025 [^8]: npm indirme istatistikleri supertest, Şubat-Mart 2025 [^9]: npm indirme istatistikleri preview-email, Şubat-Mart 2025 [^10]: npm indirme istatistikleri cabin, Şubat-Mart 2025 [^11]: npm indirme istatistikleri url-regex-safe, Şubat-Mart 2025 [^12]: spamscanner için npm indirme istatistikleri, Şubat-Mart 2025 [^13]: npm istatistiklerinden günlük indirme kalıpları, Nisan 2025 [^14]: npm istatistiklerinden haftalık indirme kalıpları, Nisan 2025 [^15]: nodemailer için npm indirme istatistikleri, Nisan 2025 [^16]: https://github.com/nodemailer/smtp-server/issues/155 [^17]: https://github.com/nodemailer/smtp-server/issues/node-v12-requires-tls-min [^18]: https://github.com/nodemailer/mailparser/issues/261 [^19]: https://github.com/nodemailer/nodemailer/issues/1102 [^20]: https://github.com/postalsys/mailauth/issues/30 [^21]: https://github.com/postalsys/mailauth/issues/58 [^22]: https://github.com/postalsys/mailauth/issues/48 [^23]: https://github.com/postalsys/mailauth/issues/74 [^24]: https://github.com/postalsys/mailauth/issues/75 [^25]: https://github.com/postalsys/mailauth/issues/60 [^26]: https://github.com/postalsys/mailauth/issues/73 [^27]: Upptime deposundaki GitHub sorunlarına dayanmaktadır [^28]: Upptime deposundaki GitHub sorunlarına dayanmaktadır [^29]: Upptime deposundaki GitHub sorunlarına dayanmaktadır [^30]: bree için npm indirme istatistikleri, Şubat-Mart 2025 [^31]: Upptime'a yapılan GitHub çekme isteklerine dayanmaktadır [^32]: Upptime'a yapılan GitHub çekme isteklerine dayanmaktadır [^34]: koa için npm indirme istatistikleri, Şubat-Mart 2025 [^35]: @koa/router için npm indirme istatistikleri, Şubat-Mart 2025 [^36]: koa-router için npm indirme istatistikleri, Şubat-Mart 2025 [^37]: url-regex için npm indirme istatistikleri, Şubat-Mart 2025 [^38]: @breejs/later için npm indirme istatistikleri, Şubat-Mart 2025 [^39]: email-templates için npm indirme istatistikleri, Şubat-Mart 2025 [^40]: get-paths için npm indirme istatistikleri, Şubat-Mart 2025 [^41]: dotenv-parse-variables için npm indirme istatistikleri, Şubat-Mart 2025 [^42]: @koa/multer için npm indirme istatistikleri, Şubat-Mart 2025