Türlerle paket yayımlama
Birinci sınıf tür tanımlarıyla kütüphaneler yayımlayın: tsc ile .d.ts üretin, package.json'u bunları gösterecek şekilde ayarlayın, ESM/CJS dışa aktarmalarını yönetin ve yayımlamadan önce sınayın.
Türlerle paket yayımlama, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 2 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 2 dersten oluşur.
Giriş
Amaç: Sağlam tür bildirimlerine sahip bir paket yayımlamaktır. .d.ts dosyaları oluşturacak, package.json dosyasını doğru şekilde bağlayacak, exports aracılığıyla ESM/CJS desteği sağlayacak ve örnek bir uygulamada tsc --noEmit ile doğrulayacaksınız.
- Bildirimleri oluşturma
typesalanını (veya giriş başınaexportsalanını) gösterme- Yayımlamadan önce sınama
Bildirimleri oluşturma
declaration özelliğini etkinleştirerek .d.ts dosyaları oluşturun. Uygulamanın tsconfig ayarlarını sıkı ve temiz tutmak için özel bir derleme yapılandırması kullanın.
// tsconfig.build.json
{
"compilerOptions": {
"target": "ES2020",
"module": "ESNext",
"declaration": true,
"emitDeclarationOnly": false,
"outDir": "dist",
"rootDir": "src",
"stripInternal": true
},
"include": ["src/**/*"]
}package.json türleri ve dışa aktarımları
Kök bildirim dosyasına işaret etmek için types alanını kullanın. Alt yol dışa aktarımlarında, düzenleyicilerin modül başına .d.ts dosyalarını çözümleyebilmesi için bir türler girdisi ekleyin.
// package.json
{
"name": "@acme/widgets",
"version": "1.0.0",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
},
"./utils": {
"types": "./dist/utils.d.ts",
"import": "./dist/utils.js",
"require": "./dist/utils.cjs"
}
}
}Kaynak ve .d.ts
Genel API'nizin türlerinin doğru belirtildiğinden emin olun. Bildirimler kaynak imzalarını yansıtır; böylece paketi kullananlar otomatik tamamlama ve denetimden yararlanır.
// src/index.ts
export interface Widget { id: string; name: string }
export function greet(w: Widget): string { return `Hello, ${w.name}` }
// dist/index.d.ts (emitted)
export interface Widget { id: string; name: string }
export declare function greet(w: Widget): string
Kullanan projede sınama
Yayımlamadan önce tsc --noEmit içeren küçük bir kullanan projede sınayın. Geçersiz kullanımlar için doğru hataların verilmesini bekleyin.
// consumer/tsconfig.json
{
"compilerOptions": { "strict": true, "target": "ES2020", "module": "ESNext" },
"include": ["./src"]
}
// consumer/src/app.ts
import { greet } from "@acme/widgets"
// Type checks in the consumer
console.log(greet({ id: "w1", name: "Ada" }))
// @ts-expect-error: missing name
// console.log(greet({ id: "w1" }))İpuçları ve tuzaklar
İpuçları:
- Giriş başına
typesalanları içeren alt yolexportskullanımını tercih edin. - İç türleri dışa aktarmayın veya
@internalile işaretleyin. npm publishöncesinde derleme yapmak için birpreparebetiği kullanın.
Türleri yayımlama kontrolü
Hızlı kontrol: Türleri sunmak için en küçük doğru yapılandırma nedir?
Özet
Özet: Bildirimleri tsc ile oluşturun, package.json dosyasını (types/exports) bağlayın ve yayımlamadan önce kullanan bir uygulamada doğrulayın.
Sıkça Sorulan Sorular
“Türlerle paket yayımlama” dersi ücretsiz mi?
Evet — “Türlerle paket yayımlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 2 dersten oluşur.
“Türlerle paket yayımlama” dersinde ne öğreneceğim?
Birinci sınıf tür tanımlarıyla kütüphaneler yayımlayın: tsc ile .d.ts üretin, package.json'u bunları gösterecek şekilde ayarlayın, ESM/CJS dışa aktarmalarını yönetin ve yayımlamadan önce sınayın. TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 2 dersinin 2. dersidir.
“Türlerle paket yayımlama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- .d.ts temelleri; export type ve export karşılaştırması
- Türlerle paket yayımlama