Finch CLI

Finch CLI یک ابزار خط فرمان برای ساخت پروژه، اجرای سرور توسعه، ساخت، اجرای تست‌ها، و مدیریت مهاجرت دیتابیس است. دستورات رایج دارت را پوشش می‌دهد و وظایف مختص فینچ را نیز اضافه می‌کند.

نصب

dart pub global activate finch

دستورات

برای مشاهده تمام دستورات موجود finch -h را اجرا کنید:

finch -h
✔ templates
        نمایش لیست قالب‌های موجود
✔ create
        ساخت پروژه جدید
        -p, --path       مسیر پروژه
        -n, --name       نام پروژه
        -d, --docker     استفاده از docker
        -t, --template   قالب پروژه [simple, example,...]
✔ get
        دریافت پکیج‌های پروژه (dart pub get)
✔ runner
        اجرای build runner پروژه (dart pub run build_runner build)
✔ run
        اجرای پروژه (dart run)
        -p, --path       مسیر فایل app
        -a, --args       آرگومان‌های فایل app
✔ serve
        سرویس پروژه با file watcher
        -p, --path       مسیر فایل app
        -a, --args       آرگومان‌های فایل app
✔ build
        ساخت پروژه (dart compile exe)
        -c, --cli        ساخت برای CLI
        -a, --appPath    مسیر فایل app
        -l, --langPath   مسیر فایل‌های زبان
        -p, --publicPath مسیر عمومی
        -w, --widgetPath مسیر widget
        -e, --envPath    مسیر فایل محیطی (.env)
        -o, --output     مسیر خروجی
        -t, --type       نوع ساخت (zip, exe)
✔ migrate
        مدیریت مهاجرت‌های MySQL و SQLite
        -c, --create     ساخت فایل مهاجرت جدید
        -n, --name       نام فایل مهاجرت (فقط با --create)
        -s, --sqlite     هدف قرار دادن SQLite به جای MySQL
✔ test
        اجرای unit test‌ها (dart test)
        -r, --reporter   تنظیم نحوه نمایش نتایج تست

        -h, --help       نمایش راهنما
        -v, --version    نمایش نسخه فینچ
        -u, --update     بروزرسانی Finch CLI

مثال‌های رایج

ساخت پروژه جدید با قالب example

finch create -n my_app -t example

اجرای سرور توسعه با file watcher

دستور serve فایل‌های widget و زبان را رصد می‌کند و آن‌ها را بدون راه‌اندازی مجدد سرور بارگذاری می‌کند:

finch serve

یا با تعیین نقطه ورود:

finch serve -p lib/serve.dart

ساخت باینری برای محیط production

finch build -a lib/app.dart -o ./build/app

اجرای مهاجرت دیتابیس

# اعمال تمام مهاجرت‌های MySQL معلق
finch migrate --init

# ساخت فایل مهاجرت MySQL جدید
finch migrate --create --name add_users_table

# اعمال مهاجرت‌های SQLite
finch migrate --init --sqlite

دستور migrate به سیستم مهاجرت داخلی app در حال اجرا واگذار می‌شود. برای جزئیات بیشتر به Database Migration مراجعه کنید.