Semua Package akan ‘deprecated’ pada Waktunya

Irfan Yas
JDS Engineering
Published in
3 min readFeb 22, 2023
Photo by Jiawei Zhao on Unsplash

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.

Klik link ‘Repository’ untuk lanjut
Setelah masuk ke halaman repository, cari halaman ‘Issues’ dan buatlah issue baru
Tulis issue yang kamu miliki. Klik ‘submit’ dan tunggu hingga issue kamu direspon. Secara default, seharusnya kamu menerima email ketika issue kamu memiliki respon baru.
Jika kamu beruntung, owner repository akan langsung merespon issue-mu dan memperbaikinya dalam beberapa hari ke depan 😁

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.

Masuk ke halaman utama repository dan klik ‘Fork’
Setelah fork sukses, clone repository dan buka dengan code editor
Lakukan perubahan yang dibutuhkan

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:

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.

--

--