Cara Membuat NPM Package dari Nol
TutorialPackage#nodejs#javascript#NPM#Package

Cara Membuat NPM Package dari Nol

A
Abd. Asis
Bagikan:

import { Badge } from "../../components/ui/badge";

Membuat NPM package adalah skill yang sangat valuable untuk developer JavaScript. Artikel ini akan membahas step-by-step cara membuat dan publish package pertama Anda.

Mengapa Membuat NPM Package?

NPM package memungkinkan Anda untuk:

  • Reusability: Code yang bisa digunakan di berbagai project
  • Sharing: Berbagi solusi dengan developer lain
  • Maintainability: Centralized code management
  • Version Control: Semantic versioning untuk updates

Setup Project

Pertama, buat folder baru untuk package Anda:

BashBASH
mkdir my-awesome-package
cd my-awesome-package
npm init -y

Struktur Folder

CodeCODE
my-awesome-package/
├── src/
│   └── index.js
├── test/
│   └── index.test.js
├── package.json
├── README.md
└── .gitignore

Menulis Code Package

Buat file src/index.js:

JavaScriptJAVASCRIPT
/**
 * Fungsi untuk format currency
 * @param {number} amount - Jumlah uang
 * @param {string} currency - Kode mata uang (default: IDR)
 * @returns {string} Formatted currency string
 */
function formatCurrency(amount, currency = 'IDR') {
  return new Intl.NumberFormat('id-ID', {
    style: 'currency',
    currency: currency
  }).format(amount);
}

module.exports = { formatCurrency };

Konfigurasi package.json

Update package.json Anda:

{}JSON
{
  "name": "my-awesome-package",
  "version": "1.0.0",
  "description": "Utility package for formatting currency",
  "main": "src/index.js",
  "scripts": {
    "test": "jest"
  },
  "keywords": ["currency", "format", "utility"],
  "author": "Your Name",
  "license": "MIT"
}

Testing Package

Install Jest untuk testing:

BashBASH
npm install --save-dev jest

Buat file test/index.test.js:

JavaScriptJAVASCRIPT
const { formatCurrency } = require('../src/index');

describe('formatCurrency', () => {
  test('should format IDR currency correctly', () => {
    expect(formatCurrency(1000000)).toBe('Rp1.000.000,00');
  });

  test('should format USD currency correctly', () => {
    expect(formatCurrency(1000, 'USD')).toBe('US$1.000,00');
  });
});

Publish ke NPM

  1. Login ke NPM:
BashBASH
npm login
  1. Publish package:
BashBASH
npm publish

Best Practices

Tips

  • Gunakan semantic versioning
  • Tulis dokumentasi yang jelas
  • Tambahkan TypeScript definitions
  • Setup CI/CD untuk automated testing
  • Gunakan .npmignore untuk exclude files

Kesimpulan

Membuat NPM package adalah cara yang bagus untuk berkontribusi ke ecosystem JavaScript. Mulai dari package kecil dan simple, lalu tingkatkan complexity seiring pengalaman.

Happy coding! 🚀

Abd. Asis
Ditulis oleh
Abd. Asis

Software Developer dari Madura. Menulis tentang PHP, Laravel, dan pengembangan web modern dalam Bahasa Indonesia.