1.0.2 • Published 5 months ago
@uisap/fastify-cli v1.0.2
@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:
BaseController
tabanlı controller dosyaları oluşturur. - Model Oluşturma:
DbHelper
tabanlı 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-cli
Kullanı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
BaseController
veDbHelper
dosyaları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-cli
Bağımlılıkları Yükleyin:
npm install
Yerel Test:
npm link npx uisap generate controller test
Yeni Ş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.