ts-migrate aracını kullanarak Javascript'ten TypeScript'e nasıl geçiş yapılır?

May 01 2023
TypeScript (TS) harika! Kodu daha net, bakımı kolay hale getirir ve yaygın hataları önler. Ekibiniz için en iyi seçim olduğuna karar verdiniz ve şimdi onu benimsemek istiyorsunuz.

TypeScript (TS) harika! Kodu daha net, bakımı kolay hale getirir ve yaygın hataları önler. Ekibiniz için en iyi seçim olduğuna karar verdiniz ve şimdi onu benimsemek istiyorsunuz. Yaşasın!

Ah... TS'yi benimsemek göründüğü kadar kolay değil . Çok sıkıcı ve zaman alıcıdır. Peki, JS'den TS'ye nasıl geçilir? Sohbet GPT ile! Henüz değil .
Ancak ts-migrate kullanmak işi kolaylaştırabilir .

ts-migrate hakkında

ts-migrate, kodun TypeScript'e taşınmasına yardımcı olan bir araçtır. Bir JavaScript (JS) veya kısmi bir TypeScript projesini alır ve derleyici bir TypeScript projesi verir.

Projemizdeki 1.000 dosyayı JS'den TS'ye dönüştürmek için ts-migrate kullandık. Bize değerli zaman kazandırdı ve süreci çok uygun hale getirdi.

TS'yi Yükleme ve Yapılandırma

Taşıma işlemine başlamadan önce TS'yi kurmalı ve yapılandırmalıyız:

  • TS paketini kurun:
  • npm install typescript --save-dev
    

    npx tsc --init
    

    npm install --save-dev @types/react
    

JS dosyalarımızı TS'ye geçirmek için ts-migrate kullanacağız:

  • ts-migrate'ı kurun:
  • npm install --save-dev ts-migrate
    

    yarn ts-migrate rename <project-dir> --sources <specific-dir>
    

    yarn ts-migrate migrate <project-dir> --sources <specific-dir>/file.tsx
    

Örnek

Bir geçiş sürecini göstermek için bu ts-migrate-example projesini oluşturdum . Makinenize klonlayın:

git clone https://github.com/shai20099/ts-migrate-example.git

yarn ts-migrate rename ./ --sources ./src/examples

Bir sonraki adımımız, geçiş komut dosyasını örnek dosyaya uygulamaktır:

yarn ts-migrate migrate ./ --sources ./src/examples/example.ts

ts-migrate, bir sayı değişkenine bir dizi atamaya çalıştığımızı algılar
ts-migrate, sabit bir değişkene yeniden değer atamaya çalıştığımızı fark eder
ts-migrate, bildirilmediği yere herhangi bir tür ekleyerek
ts-migrate eksik özellikleri bir sınıfa bildiriyor

Not: ts-migrate'in TS sorunlarını otomatik olarak düzeltemediği durumlarda , hata ayrıntılarını içeren bir @ts-expect-error yorumu bırakır .

Not: ts-migrate türleri gerektiğinde değişkenlere koyarken, yine de herhangi bir türü belirli türlerle değiştirmeyi hatırlamamız gerekir.

Not: ts-migrate, değişiklikleri otomatik olarak yapmak için eklentiler kullanır. Projenize özel eklentiler oluşturarak otomatik olarak daha fazla aksiyon almasını sağlayabilirsiniz. Daha fazla detay burada .

Özet

ts-migrate, kodun JS'den TS'ye taşınmasına yardımcı olan bir araçtır. Ana hedefi derlenmiş bir kod oluşturmaktır ve ayrıca bazı hataları eklentileri kullanarak otomatik olarak düzeltir. ts-migrate tam otomatik bir araç olmasa da, JS ile TS arasındaki boşlukları tespit etmesi, düzeltebildiğini düzeltmesi ve düzeltilmesi gereken kodu manuel olarak işaretlemesi nedeniyle çok kullanışlı buluyoruz. Bu, özellikle taşınacak çok sayıda dosyanız olduğunda, geçiş sürecinde önemli ölçüde zaman kazandırır.

İyi şanlar!