Tutorial Cara Menggunakan Pub

Apa itu Pub?

Pub adalah package manager untuk Dart. Fungsinya untuk menginstal package ke dalam proyek Dart.

Package adalah library yang berisi fungsi-fungsi, class, dan program Dart yang bisa digunakan ulang.

Pub menggunakan file pubspec.yaml untuk menentukan package yang akan digunakan pada proyek.

Cara install Pub di Linux

Pub sebenarnya sudah ikut terinstal dengan Dart.

Jika kamu menggunakan perintah ini untuk menginstal Dart:

sudo apt install dart

Maka lokasi Pub akan berada di dalam direktori /usr/lib/dart/bin/.

Lokasi pub

Tapi saat kita mengetik pub pada terminal, perintah ini tidak dikenali.

Perintah pub tidak dikenali di terminal

Ini disebabkan karena alamat path pub belum didaftarkan ke dalam .bashrc.

Silahkan ketik perinth berikut untuk mendaftarkan alamat path Pub:

echo 'export PATH=$PATH:/usr/lib/dart/bin' >> ~/.bashrc

Setelah itu, buka ulang terminal lalu coba ketik perintah:

pub --version

Maka hasilnya:

Versi Pub yang terinstall

Kini kita sudah bisa menggunakan Pub untuk pryek Dart.

Cara Menggunakan Pub pada Proyek Dart

Seperti yang sudah kita ketahui…

Pub akan menggunakan file pubspec.yaml untuk menginstal package, maka kita harus membuat file ini di dalam proyek aplikasi Dart.

Baiklah, silahkan buat folder baru bernama belajar_pub. Ikuti perintah berikut:

mkdir belajar_pub
cd belajar_pub
touch pubspec.yaml main.dart

Maka akan tercipta direktori baru beserta file pubspec.yaml dan main.dart.

Direktori Proyek Dart

Silahkan buka VS Code, lalu buka proyek tersebut melalui File->Open Folder. Setelah itu, isi file pubspec.yaml seperti ini:

name: dart_pub
dependencies:
  http: ^0.12.0+2

Ini adalah isi file pubspec.yaml yang paling sederhana.

Anatomi Pubspec YAML pada Dart

Pada file pubspec.yaml tersebut, kita baru hanya menggunakan dua meta data yaitu: name dan depedencies.

Sebenarnya masih banyak lagi meta data yang lain, kamu bisa membacanya di dokumentasi pubspec.

http adalah package Dart untuk melakukan HTTP Request.

Jika kamu sudah menginstal Dart Extension di VS Code, maka package ini akan otomatis diinstal tanpa harus menjalankan perintah:

pub get

Biasanya akan tampil seperti ini:

Instalasli pacakge dengan pub

Ini artinya package tersebut sudah terinstal ke dalam proyek. Paket-package ini akan disimpan pada direktori:

~/.pub-cache/hosted/pub.dartlang.org/

Jika kamu menghapus semua folder yang ada di sana, maka Pub akan men-download lagi dari internet.

Paket Dart yang terinstall

Oke…

Sekarang mari kita mencoba menggunakan package http.

Silahkan buka file main.dart, kemudian isi dengan kode ini:

import 'package:http/http.dart' as http;

Future main() async {
  var url = "https://api.github.com/users/petanikode";
  var response = await http.get(url);

  print("Status: ${response.statusCode}");
  print("Body: ${response.body}");
}

Lalu coba eksekusi dengan perintah ini:

dart main.dart

Maka hasilnya:

Aplikasi command line dart

Mencari Paket Pub

Kamu bisa mencari package Pub pada web https://pub.dartlang.org/.

Website Paket Pub

Di sana kamu bisa mencari package untuk Flutter dan Dart. Oh iya Flutter juga memiliki package manager seperti Pub.

Perbedaan depedencies vs dev_depedencies

Pada file pubspec.yaml kita menuliskan nama-nama paket yang akan diinstal pada proyek di bagian depedencies.

Nah paket yang kita tuliskan di metadata ini adalah paket yang dibutuhkan oleh aplikasi.

Sedangkan jika kita tulis pada dev_depedencies, maka paket tersebut hanya akan digunakan pada proses development saja.

Printah-perintah Pub

Pub memiliki beberapa argumen perintah yang bisa kita pakai:

  • pub cache untuk bekerja dengan cache;
  • pub deps untuk melihat daftar package;
  • pub downgrade untuk downgrade versi package;
  • pub get untuk mengambil package dari internet berdasarkan pubspec.yaml dan menginstalnya ke proyek;
  • pub global untuk menginstal package secara global;
  • pub publish untuk mempublikasi package ke web pub.darlang.org;
  • pub run untuk menjalankan package;
  • pub upgrade utuk upgrade versi package ke versi terbaru;
  • pub uploader untuk upload package ke pub.darlang.org;

Membaut Paket Pub Sendiri

Untuk membuat package Pub, kita harus membuat proyek Dart dengan struktur seperti ini:

Struktur Proyek Paket Dart
  • bin adalah folder yang berisi file program binary;
  • lib adalah folder yang berisi file dart;
  • pubspec.yaml adalah file yang berisi metadata dari paket.

Cara Publikasi Paket Dart

Website pub.darglang.org adalah website yang berisi kumpulan paket Dart yang dibuat oleh banyak orang.

Siapa saja bisa mempublikasikan paketnya di sana.

Tapi ada syaratnya…

File paket harus lengkap. Berikut ini daftar folder dan file yang harus ada.

  • bin/ berisi file binary;
  • lib/ berisi source code paket;
  • CHANGELOG berisi catatatn perubahan paket;
  • LICENSE berisi pernyataan tentan lisensi paket;
  • README.md berisi dokumentasi paket;
  • pubspec.yaml berisi meta data paket.

Kemudian untuk pubspec.yaml harus berisi seperti ini:

name: petanikode
homepage: https://www.petanikode.com
documentation: https://www.petanikode.com/dart-pub/
repository: https://www.github.com/petanikode
description: "Percobaan publish package dart"
version: 0.0.1

authors:
- Dian <[email protected]>

environment:
    sdk: ">=1.8.0 <2.0.0"

dependencies:
  http: ^0.12.0+2

Setelah itu, coba ketik perintah:

pub publish --dry-run

Untuk mengecek apakah syaratnya sudah terpenuhi atau belum. Jika sudah terpenuhi, maka akan muncul seperti ini:

Syarat paket terpenuhi

Berikutnya ketik perintah:

pub publish

Untuk mempublikasikan package. Kita akan diminta login menggunakan akun Google.

Silahkan buka link yang muncul melalui web browser.

Link Login ke Google

Sampai muncul seperti ini.

Authorized sukses

Ini artinya kita sudah berhasil login dengan akun Google dan paket akan segera di-upload.

Jika paket sudah terupload, maka diterminal akan muncul seperti ini:

Publikasi berhasil

Sekarang coba buka pub.darlang.org/packages/<namapaket>.

Paket Dart sudah dipublikasikan

Hore!

Paket petanikode berhasil dipublikasikan di web Pub.

Apa Selanjutnya?

Kita sudah belajar dasar-dasar cara menggunakan Pub untuk manajemen paket pada Dart.

Tentu ini masih belum cukup.

Karena itu, silahkan lanjutkan dengan bereksperimen sendiri. Buatlah paket sendiri dan publikasikan di website Pub.

Siapa tahu dengan paket yang kita buat, akan banyak membantu programmer yang lainnya di seluruh dunia.