@uisap/fastify-cli
v1.0.2
Published
UISAP Fastify MVC projeleri için CLI aracı
Readme
@uisap/fastify-cli
UISAP Fastify CLI
UISAP Fastify MVC projeleri için geliştirilmiş bir komut satırı aracı (CLI). Bu araç, Fastify tabanlı projelerde controller ve model dosyalarını hızlıca oluşturmak için kullanılır ve mevcut BaseController ile DbHelper yapılarına entegre olacak şekilde tasarlanmıştır.
Özellikler
- Controller Oluşturma:
BaseControllertabanlı controller dosyaları oluşturur. - Model Oluşturma:
DbHelpertabanlı model dosyaları oluşturur. - Kısayol Desteği: Hem uzun (
generate) hem kısa (g) komutlarla çalışır. - Modüler Yapı: Şablonlar ve komutlar kolayca genişletilebilir.
Kurulum
CLI’yi projenize geliştirme bağımlılığı (devDependency) olarak ekleyin:
npm install --save-dev @uisap/fastify-cliKullanımı
Controller Oluşturma
npx uisap generate controller <name>Veya kısaca:
npx uisap g c <name>Model Oluşturma
npx uisap generate model <name>Veya kısaca:
npx uisap g m <name>Middleware Oluşturma
npx uisap generate middleware <name>Veya kısaca:
npx uisap g mw <name>Gereksinimler
- Node.js: v20.x veya üstü
- Fastify Projesi: CLI, Fastify tabanlı bir MVC yapısında çalışmak üzere tasarlanmıştır.
- Not: Projenizde
BaseControllerveDbHelperdosyalarının mevcut olması gerekir.
Geliştirme ve Katkı Sağlama
CLI’yi genişletmek veya özelleştirmek isterseniz:
Repoyu Klonlayın:
git clone https://github.com/sefacicekli/uisap-fastify-cli.git cd uisap-fastify-cliBağımlılıkları Yükleyin:
npm installYerel Test:
npm link npx uisap generate controller testYeni Şablon Ekleme:
- templates/ klasörüne yeni bir şablon dosyası ekleyin (örneğin route.js).
- src/cli.js’ye yeni komutu tanımlayın:
const templateFiles = ['controller', 'model', 'middleware', 'route']; - src/cli.js içerisinde
typeMap’e ekle:r: 'route'
Değişiklikleri Yayınlama:
- Versiyonu artırın:
npm version patch - Yayınlayın:
npm publish --access public
- Versiyonu artırın:
Katkı sağlamak için pull request açabilirsiniz. Lütfen değişikliklerinizi açıklayan bir commit mesajı ekleyin.
Lisans
Bu proje MIT Lisansı altında lisanslanmıştır.
