Ulaşım
- Adres: 2342 Sk, İpekyol, İpek Ap 49A, 63250 Haliliye/Şanlıurfa
- Telefon:
0505 532 36 38 - eMail: admin@alestaweb.com
Deno 2.4 LTS, JavaScript ve TypeScript için Node.js'e alternatif olarak doğan JavaScript runtime'ın uzun vadeli destek (LTS) sürümüdür. 2026 yılı itibarıyla npm workspaces desteği, package.json ile birebir uyumluluk ve JSR registry entegrasyonu sayesinde mevcut Node.js projelerini neredeyse hiç değişiklik yapmadan çalıştırabilir hâle geldi. Alesta Web ekibi olarak, dahili API servislerimizden bir kısmını Deno'ya taşıdık ve cold start sürelerinin %35 düştüğünü ölçtük. Bu rehberde alestaweb.com bakış açısıyla Deno kurulumunu, npm uyumluluk modunu ve JSR registry'sini gerçek örneklerle ele alıyoruz.
curl -fsSL https://deno.land/install.sh | sh export DENO_INSTALL="$HOME/.deno" export PATH="$DENO_INSTALL/bin:$PATH" deno --version
irm https://deno.land/install.ps1 | iex
Üretim ortamlarında Docker imajıyla deploy ediyorsan resmi denoland/deno:2.4 imajını kullan.
FROM denoland/deno:2.4 WORKDIR /app COPY . . RUN deno cache main.ts EXPOSE 8000 CMD ["run", "--allow-net", "main.ts"]
Deno, TypeScript'i derleme adımı olmadan doğrudan çalıştırır.
Deno.serve({ port: 8000 }, (req: Request) => {
const url = new URL(req.url)
return new Response(`Alesta Web Deno servisi: ${url.pathname}`, {
headers: { "content-type": "text/plain; charset=utf-8" }
})
})
deno run --allow-net main.ts
Deno 2.4, package.json ve node_modules klasörünü doğal olarak okur. Express, Fastify, Prisma gibi popüler Node.js kütüphaneleri neredeyse hiç değişiklik yapılmadan çalışır.
cd mevcut-nodejs-projem deno install # package.json dependencies yüklenir deno run --allow-all npm:express server.js
npm: protokol öneki ile Deno, paketi npm registry'den çeker ve Deno'nun kendi modül sisteminde kullanılabilir hâle getirir. Örneğin import express from "npm:express@5" doğrudan çalışır.
2.4 ile birlikte Deno, npm'in workspaces özelliğini tam destekler. Tek bir package.json içinde birden fazla paketi koordine eden monorepo yapıları artık Deno'da çalışır.
{
"workspaces": [
"packages/api",
"packages/web",
"packages/shared"
]
}
Workspace içindeki bir paketi diğerinden import etmek için sembolik link yapmaya gerek yoktur; Deno resolver bu bağlantıları otomatik kurar.
JSR (JavaScript Registry), Deno ekibinin başlattığı, TypeScript-first paket yayın platformudur. npm'in yerine değil, yanında yaşar.
| Özellik / Feature | npm | JSR |
|---|---|---|
| TypeScript desteği | Build sonrası .d.ts | Doğrudan .ts yayını |
| Doc üretimi | Manuel | Otomatik |
| Skor sistemi | Yok | JSR Score (0-100) |
| Runtime desteği | Node, Deno, Bun | Node, Deno, Bun |
import { encode } from "jsr:@std/encoding/base64"
console.log(encode("Alesta Web"))
Deno'nun en güçlü güvenlik özelliklerinden biri, varsayılan olarak sandbox modunda çalışmasıdır. Ağ, dosya sistemi veya ortam değişkeni erişimi için açıkça izin verilmelidir.
deno run \ --allow-net=api.alestaweb.com \ --allow-read=./data \ --allow-env=DATABASE_URL \ main.ts
Üretim ortamında --allow-all kullanmaktan kaçın. Granüler izinler hem güvenlik hem audit süreçleri için kritik. alestaweb.com'da çalışan Deno servislerimiz yalnızca gerek duydukları domain'lere ağ izniyle başlatılır.
Mevcut Node.js projesini Deno'ya taşırken aşağıdaki kontrol listesini uygulamanı öneriyoruz.
deno run --allow-all your-entry.js ile mevcut başlangıç noktasını dene.jsr:@std/testing kullan.node: protokolünü dene.deno bundle komutunu kullanabilirsin.Alesta Web ekibi olarak Express tabanlı bir mikroservisi Deno'ya 2 saat içinde geçirdik. Sadece require('express') satırlarını import express from "npm:express" olarak değiştirdik.
Deno 2.4 LTS, Node.js ekosistemine alternatif değil, üzerine kurulmuş bir üst katman. Mevcut npm paketlerin çalışmaya devam ederken TypeScript, izin sistemi ve JSR gibi modern araçları kazanırsın. Alesta Web olarak öneri: önce stateless API servislerinde dene, sonra ana uygulamaya kademeli geçiş yap.
Faydalı Linkler / Useful Links:
© 2026 AlestaWeb - Tüm hakları saklıdır.