Modul ES6

Pustaka Kalender Jawa mendukung penggunaan sistem modul ES6, meskipun saat ini tidak semua browser mendukung fitur ini (cek di caniuse.com), tetapi prosentase pemakai browser modern sudah lebih dari 90% sehingga Pustaka Kalender Jawa ditargetkan terutama untuk browser yang mendukung ES Module.

Manfaat utama dari Modul ES6 adalah kode yang di eksekusi oleh browser bukanlah kode hasil transpilasi dari babel ataupun hasil bundling dari webpack dan ukuran berkas JavaScript jauh lebih kecil karena tidak adanya polyfill, dsb.

Anda bisa mereferensikan paket npm dengan dukungan Modul ES6 ini melalui unpkg.com maupun melalui jsDelivr.

Instalasi

Pustaka Kalender Jawa bisa dipakai dilingkungan Node maupun Browser dan ada 3 hasil build untuk Node.js ataupun browser dengan default build yaitu ES Module (ESM). Berikut daftar hasil build dari Pustaka Kalender Jawa:

Untuk browser yang tidak mendukung ESM

kalenderjawa.browser.min.js

Untuk Node.js yang tidak mendukung ESM (sebelum Node.js 12.17.0)

kalenderjawa.min.cjs

Untuk Node.js & browser yang mendukung ESM

kalenderjawa.min.js

Node

npm install --save @kalenderjawa/pustaka

Penggunaanya umum saja kalau untuk Node.js yang sudah mendukung ES Module

import * as KalenderJawa from "@kalenderjawa/pustaka"

Untuk Node.js yang belum mendukung ES Module maka anda harus meng-import hasil build yang spesifik seperti berikut

const KalenderJawa = require("@kalenderjawa/pustaka/lib/kalenderjawa.min.cjs")

Browser

Jika anda memakai browser pustaka ini bisa di ambil melalui CDN (Content Delivery Network) di unpkg.com.

Kode berikut akan mengambil pustaka dengan versi terbaru dari CDN dan default adalah mendukung ES Module.


<script type="module">
  import * as KalenderJawa from "@kalenderjawa/pustaka";

  const thun = 1954;

  KalenderJawa.cariKurupTahunJawa(1954).then((d) => {
    document.getElementById("tahun").innerHTML = `${thun}:${d.kurup.taun}_${d.kurup.dinten.dino}_${d.kurup.pasaran.pasaran}`;
  });

  let s = KalenderJawa.araningSasi;
  document.getElementById("sasi").innerHTML = `sasi_1:${s[0].wulan}`;
</script>

Untuk browser yang belum mendukung ES Module anda harus meng-import hasil build khusus untuk browser yang belum mendukung ES Module.

Misalnya melalui CDN unpkg

<script src="https://unpkg.com/@kalenderjawa/pustaka/lib/kalenderjawa.browser.min.js">

Online Editor

Kalau anda tidak ingin ribet-ribet dengan instalasi anda bisa juga jika anda memakai editor online seperti Codesandbox.


Jika ada yang ditanyakan atau kurang jelas silahkan bertanya atau mengisi issue di Github.