Ana içeriğe geç

Derleme

TypeScript dosyalarınızı JavaScript'e derlemek tsx tarafından yönetilmez, ancak çoğu kurulumda gerekli bir adımdır.

::: info TypeScript dosyalarını yayınlamalı mıyım?

Hayır. tsx ihtiyacında TypeScript dosyalarını bağımlılıklar içinde çalıştırma yeteneğine sahip olsa da (örneğin, monorepo'lar), derlenmemiş TypeScript'i yayınlamak kesinlikle önerilmez. Kaynak dosyaları, okunmayabilecek belirli bir derleme yapılandırması gerektirir ve TypeScript performansı düşecektir. :::

npm paketi derlemek

npm paketleri, package.json içinde paket giriş noktalarını tanımlayarak uygulamalardan ayrılır.

pkgroll tsx kullanan projeler için önerilen paketleyicidir. Aynı yazar tarafından geliştirilmiştir ve tsx'yi derlemek için kullanılır.

Kaynak dosyalarınız src dizinindeyse, package.json içinde tanımlanan giriş noktalarına dayanarak paketinizi nasıl oluşturacağını otomatik olarak çıkarsar ve bunları dist dizinine çıktılar.

Kurulum

::: details Temel kurulum

Giriş noktanızı exports içinde ayarlayın:

// package.json
{
"exports": "./dist/index.mjs"
}

:::

::: details Çift paket (CJS & ESM)

CommonJS ve Modül giriş noktalarınızı exports içinde ayarlayın:

// package.json
{
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.cts",

"exports": {
"require": {
"types": "./dist/index.d.cts",
"default": "./dist/index.cjs"
},
"import": {
"types": "./dist/index.d.mts",
"default": "./dist/index.mjs"
}
}
}

:::

::: details Komut satırı paketi

CLI giriş noktanızı bin içinde ayarlayın:

// package.json
{
"bin": "./dist/cli.mjs"
}

:::

Derle

Klasörünüzde, sadece pkgroll komutunu çalıştırın:

::: code-group

$ npx pkgroll
$ pnpm pkgroll
$ yarn pkgroll

:::

Opsiyonel olarak, kolaylık için bir build script'i ekleyin:

// package.json
{
// Opsiyonel: build script
"scripts": {// [!code ++]
"build": "pkgroll"// [!code ++]
}// [!code ++]
}