0Pricing
TypeScript Academy · Ders

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
  • types alanını (veya giriş başına exports alanı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 types alanları içeren alt yol exports kullanımını tercih edin.
  • İç türleri dışa aktarmayın veya @internal ile işaretleyin.
  • npm publish öncesinde derleme yapmak için bir prepare betiğ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

  1. .d.ts temelleri; export type ve export karşılaştırması
  2. Türlerle paket yayımlama
← TypeScript Academy Sayfasına Dön