JSPM

@kazedevid/jawa-script

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q14108F
  • License MIT

Library Node.js untuk mengubah syntax JavaScript menjadi bahasa Jawa

Package Exports

  • @kazedevid/jawa-script
  • @kazedevid/jawa-script/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@kazedevid/jawa-script) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Jawa Script 🇮🇩

Library Node.js untuk mengubah syntax JavaScript menjadi bahasa Jawa. Belajar programming sambil melestarikan budaya!

📦 Instalasi

npm install @kazedevid/jawa-script

🚀 Penggunaan Dasar

const JawaScript = require('@kazedevid/jawa-script');

// Inisialisasi
const translator = new JawaScript();

// Contoh konversi
const jsCode = `
function greet(name) {
    console.log("Hello " + name);
    if (name === "Budi") {
        return true;
    }
    return false;
}
`;

const jawaCode = translator.translate(jsCode);
console.log(jawaCode);

Output:

fungsi salam(jeneng) {
    cetak.log("Hello " + jeneng);
    yen (jeneng === "Budi") {
        bali benar;
    }
    bali salah;
}

📚 API Reference

new JawaScript(options)

Membuat instance baru dari JawaScript translator.

Options:

  • customKeywords (Object): Kata kunci kustom tambahan
  • preserveComments (Boolean): Mempertahankan komentar (default: true)
const translator = new JawaScript({
    customKeywords: {
        'array': 'larik',
        'object': 'objek'
    },
    preserveComments: true
});

translate(code)

Mengubah kode JavaScript menjadi bahasa Jawa.

Parameter:

  • code (String): Kode JavaScript yang akan diterjemahkan

Return: String - Kode dalam bahasa Jawa

addCustomKeyword(jsKeyword, jawaKeyword)

Menambah kata kunci kustom.

translator.addCustomKeyword('fetch', 'jupuk');
translator.addCustomKeyword('async', 'ora_langsung');

exportToFile(translatedCode, filename)

Menyimpan hasil terjemahan ke file.

translator.exportToFile(jawaCode, 'output.jawa.js');

getAvailableKeywords()

Mendapatkan daftar semua kata kunci yang tersedia.

const keywords = translator.getAvailableKeywords();
console.log(keywords);

🔤 Kata Kunci yang Didukung

Fungsi Built-in

JavaScript Bahasa Jawa Keterangan
console.log cetak.log Menampilkan output
console.error cetak.salah Menampilkan error
parseInt angkaInt Konversi ke integer
parseFloat angkaFloat Konversi ke float
JSON.parse JSON.urai Parse JSON
JSON.stringify JSON.gabung Stringify JSON

Kata Kunci Kontrol

JavaScript Bahasa Jawa Keterangan
function fungsi Deklarasi fungsi
if yen Kondisi if
else liyane Kondisi else
for kanggo Loop for
while nalika Loop while
return bali Return statement
break mandheg Break statement
continue terus Continue statement

Tipe Data & Variabel

JavaScript Bahasa Jawa Keterangan
var ganti Variable declaration
let ayo Let declaration
const tetep Constant declaration
true benar Boolean true
false salah Boolean false
null kosong Null value
undefined ora_didefinisi Undefined value

ES6+ Features

JavaScript Bahasa Jawa Keterangan
arrow function => panah => Arrow function
async ora_langsung Async function
await ngenteni Await keyword
import lebokno Import statement
export metu Export statement
class kelas Class declaration

🌟 Contoh Lengkap

const JawaScript = require('@kazedevid/jawa-script');

// Kode JavaScript asli
const originalCode = `
class Calculator {
    constructor() {
        this.result = 0;
    }
    
    add(number) {
        this.result += number;
        return this;
    }
    
    subtract(number) {
        this.result -= number;
        return this;
    }
    
    getResult() {
        return this.result;
    }
}

const calc = new Calculator();
const result = calc.add(10).subtract(5).getResult();
console.log("Hasil:", result);
`;

// Terjemahkan
const translator = new JawaScript();
const jawaCode = translator.translate(originalCode);

// Simpan ke file
translator.exportToFile(jawaCode, 'kalkulator.jawa.js');

console.log('Terjemahan berhasil disimpan!');

Output (kalkulator.jawa.js):

kelas Kalkulator {
    konstruktor() {
        iki.asil = 0;
    }
    
    tambah(angka) {
        iki.asil += angka;
        bali iki;
    }
    
    kurang(angka) {
        iki.asil -= angka;
        bali iki;
    }
    
    jupukAsil() {
        bali iki.asil;
    }
}

tetep calc = anyar Kalkulator();
tetep asil = calc.tambah(10).kurang(5).jupukAsil();
cetak.log("Asil:", asil);

🎯 Use Cases

  1. Edukasi Programming: Membantu pemula belajar JavaScript dengan bahasa yang familiar
  2. Pelestarian Budaya: Mengenalkan bahasa Jawa dalam konteks teknologi modern
  3. Code Review: Membuat kode lebih mudah dipahami untuk developer lokal
  4. Dokumentasi: Menulis dokumentasi teknis dalam bahasa Jawa

🤝 Berkontribusi

Kami sangat senang menerima kontribusi! Berikut cara berkontribusi:

  1. Fork repository ini
  2. Buat branch feature (git checkout -b feature/kata-kunci-baru)
  3. Commit perubahan (git commit -am 'Tambah kata kunci baru')
  4. Push ke branch (git push origin feature/kata-kunci-baru)
  5. Buat Pull Request

Menambah Kata Kunci Baru

Edit file src/keywords.js untuk menambah kata kunci baru:

// Tambahkan di object yang sesuai
builtInFunctions: {
    'setTimeout': 'setWaktu',
    'setInterval': 'setInterval'
}

📝 Roadmap

  • Support untuk TypeScript
  • Plugin untuk VS Code
  • Web-based translator
  • Support bahasa daerah lainnya
  • Integration dengan bundler populer

🐛 Bug Reports

Jika menemukan bug, silakan buat issue di GitHub Issues dengan:

  1. Deskripsi bug
  2. Kode yang bermasalah
  3. Expected vs actual behavior
  4. Environment info (Node version, OS)

📄 Lisensi

MIT License - lihat file LICENSE untuk detail lengkap.

🙏 Acknowledgments

  • Terinspirasi dari kearifan lokal bahasa Jawa
  • Terima kasih kepada komunitas JavaScript Indonesia
  • Special thanks untuk semua kontributor

Dibuat dengan ❤️ untuk melestarikan budaya sambil belajar teknologi