Cara Mengubah Script ESM Ke CJS
ECMAScript Modules (ESM) dan CommonJS (CJS) adalah dua format modul JavaScript yang sering digunakan dalam pengembangan aplikasi.

Muhamad Nur Ibad
11 Januari 2025•1 menit baca

Cara Mengubah Script ESM ke CJS: Panduan Lengkap
ECMAScript Modules (ESM) dan CommonJS (CJS) adalah dua format modul JavaScript yang sering digunakan dalam pengembangan aplikasi. Dalam artikel ini, kita akan membahas cara mengubah script ESM ke CJS dengan contoh kasus yang diberikan.
Apa Itu ESM dan CJS?
ESM (ECMAScript Modules): Format modul modern yang diperkenalkan di ES6. Digunakan dengan import dan export.
CJS (CommonJS): Format modul lama yang digunakan di Node.js. Menggunakan require dan module.exports.
Konversi dari ESM ke CJS sering diperlukan jika Anda bekerja di lingkungan yang belum mendukung ESM sepenuhnya.
Contoh Script ESM
Berikut adalah contoh script ESM yang akan kita ubah ke format CJS:
const handler = async (m, { teks, conn, args }) => {
const ownerGroup = m.chat.split`-`[0] + "@s.whatsapp.net";
if (m.quoted) {
if (m.quoted.sender === ownerGroup || m.quoted.sender === conn.user.jid)
return;
const usr = m.quoted.sender;
await conn.groupParticipantsUpdate(m.chat, [usr], "remove");
return;
}
if (!m.mentionedJid[0]) throw `Tag yang mau dikick.`;
const users = m.mentionedJid.filter(
(u) => !(u == ownerGroup || u.includes(conn.user.jid)),
);
for (const user of users) {
if (user.endsWith("@s.whatsapp.net")) {
await conn.groupParticipantsUpdate(m.chat, [user], "remove");
}
}
};
handler.help = ['kick'];
handler.tags = ["group"];
handler.command = /^(kic?k|remove|tendang|\-)$/i;
export default handler;
Langkah-Langkah Mengubah ESM ke CJS
Ganti export default dengan module.exports Pada ESM, kita menggunakan export default untuk mengekspor modul. Dalam CJS, kita menggunakan module.exports.
Ganti import dengan require Jika ada penggunaan import (tidak ada pada contoh ini), ubah menjadi require.
Sesuaikan Struktur Ekspor Semua properti atau metode yang diekspor dalam ESM harus diintegrasikan dalam objek module.exports.
Hasil Konversi ke CJS
Berikut adalah script setelah diubah ke format CJS:
const handler = async (m, { teks, conn, args }) => {
const ownerGroup = m.chat.split`-`[0] + "@s.whatsapp.net";
if (m.quoted) {
if (m.quoted.sender === ownerGroup || m.quoted.sender === conn.user.jid)
return;
const usr = m.quoted.sender;
await conn.groupParticipantsUpdate(m.chat, [usr], "remove");
return;
}
if (!m.mentionedJid[0]) throw `Tag yang mau dikick.`;
const users = m.mentionedJid.filter(
(u) => !(u == ownerGroup || u.includes(conn.user.jid)),
);
for (const user of users) {
if (user.endsWith("@s.whatsapp.net")) {
await conn.groupParticipantsUpdate(m.chat, [user], "remove");
}
}
};
handler.help = ['kick'];
handler.tags = ["group"];
handler.command = /^(kic?k|remove|tendang|\-)$/i;
// Ekspor menggunakan module.exports
module.exports = handler;
Perbedaan Penting Antara ESM dan CJS
Fitur | ESM | CJS |
---|---|---|
Ekspor | Import | module.export |
Import | import | require |
Loading | Asinkron | Sinkron |
Dukungan | Browser & Node.js | Node.js |
Kesimpulan
Konversi script dari ESM ke CJS cukup mudah jika Anda memahami perbedaan antara keduanya. Dalam contoh di atas, kita mengubah penggunaan export default menjadi module.exports dan memastikan struktur script tetap sesuai. Jika Anda sering bekerja dengan modul dalam JavaScript, memahami kedua format ini adalah keterampilan penting.
Semoga artikel ini bermanfaat! Jika Anda memiliki pertanyaan atau ingin membahas lebih lanjut, jangan ragu untuk meninggalkan komentar.