Semua Package akan ‘deprecated’ pada Waktunya
Sebagai seorang flutter developer, tentu kamu tidak asing dengan pub.dev dan segala lika-likunya. Menggunakan package memang menyenangkan, tapi kadang kala tidak seindah kenyataan. Beberapa masalah yang umum kita temukan:
- Package sudah deprecated
- Package belum memiliki fitur yang dibutuhkan
- Package tidak memiliki dokumentasi yang lengkap
- Tidak ada package-nya 😅
Tetap tenang, ada beberapa solusi yang bisa kamu coba untuk memperbaiki situasi ini.
1. Buat issue baru (Level: Beginner)
Langkah pertama yang bisa dilakukan adalah masuk ke halaman repository-nya dan membuat issue baru.
Bagaimana kalau kita tidak ada waktu untuk menunggu fix dari owner repository? Jika kamu yakin dengan kemampuan coding-mu, kita bisa mencoba solusi yang kedua.
2. Fork Repository (level: intermediate)
Kita akan melakukan fork repository dan memperbaiki packagenya sendiri. Solusi ini relatif lebih mudah ketimbang membuat package dari awal, tapi umumnya hanya dilakukan sebagai temporary fix.
Jika sudah beres melakukan perubahan, push kembali ke repository. Langkah berikutnya adalah menambahkan spesifik git pada dependency di pubspec.yaml project yang menggunakan package ini. Misal, hasil forked package focus_detector saya ada di branch utama https://github.com/irfnyas/focus_detector.git, maka penulisannya nanti akan menjadi:
dependencies:
focus_detector:
git: https://github.com/irfnyas/focus_detector.git
Info lebih lengkap bisa baca di sini.
Nah, sekarang bagaimana kalau ternyata kamu tidak menemukan package yang dibutuhkan? Jika tertarik, kamu bisa membuat package sendiri.
3. Membuat package sendiri (level: advanced)
Membuat package tidak sesulit kelihatannya. Untuk proses publikasi sebenarnya mudah, yang sulit adalah kompleksitas dari package itu sendiri.
Pertama kamu perlu membuat package project-nya. Kamu bisa melakukan ini menggunakan Flutter Wizard di Android Studio atau menggunakan command:
flutter create --template=package {package name}
Setelah project dibuat, tulis kode fungsi dalam folder lib. Lebih direkomendasikan jika kamu bisa menambahkan flutter test dan example project. Kamu bisa membuat example project dengan menggunakan command:
flutter create example
Jangan lupa meng-update CHANGELOG.md, LICENSE.md, dan README.md. Beberapa web yang bisa membantu kamu untuk hal ini:
- keepachangelog.com: Rekomendasi cara menulis changelog yang baik.
- choosealicense.com: Jika tidak yakin mau menggunakan license mana.
- pandao.github.io: Membantumu melihat preview readme.
Sekarang package siap untuk publish. Kamu bisa menjalankan command flutter pub publish
langsung, tapi lebih baik menggunakan --dry-run
dahulu untuk memastikan package bebas dari warnings dan errors. Jadi, command yang perlu dimasukkan:
flutter pub publish --dry-run
flutter pub publish
Selamat, package-mu akan segera muncul di pub.dev 🎉
Jangan puas dulu, artikel ini hanya membahas langkah minimal untuk mempublikasikan package. Masih ada cara untuk membuat package-mu lebih baik yang akan kita bahas di kesempatan lain.
Silakan isi kolom komen jika ada pendapat atau pertanyaan. Thanks for reading and happy coding.