Apa saja yang perlu di install pada saat membuat project dengan Nest Js ?

Jan 8, 2025
2 min read
Widodo
Widodo
Author

Share This Article

Apa saja yang perlu di install pada saat membuat project dengan Nest Js ?

 Ketika memulai proyek NestJS, berikut adalah daftar instalasi awal yang umumnya diperlukan tergantung pada kebutuhan proyek Anda:


1. Instalasi Dasar

NestJS CLI

Untuk membuat proyek dan mengelola komponen:

npm install -g @nestjs/cli

Buat Proyek Baru

nest new nama-proyek

2. Dependency Wajib

Saat membuat proyek baru, beberapa dependensi sudah terinstal, tetapi berikut tambahan yang sering dibutuhkan:

2.1. Konfigurasi Environment

Gunakan untuk mengelola variabel lingkungan seperti secret keys, database URL, dll.

npm install @nestjs/config

2.2. ORM untuk Database

  • Prisma:
    ORM modern dengan tipe data yang kuat.

    npm install @prisma/client
    npm install -D prisma
    npx prisma init
    
  • TypeORM:
    ORM tradisional yang mendukung banyak database.

    npm install @nestjs/typeorm typeorm mysql2
    
  • Sequelize (opsi lain):
    ORM berbasis Promise.

    npm install @nestjs/sequelize sequelize sequelize-typescript mysql2
    

2.3. Validasi Input

Gunakan untuk validasi data yang diterima oleh controller.

npm install class-validator class-transformer

3. Middleware dan Autentikasi

3.1. JWT untuk Autentikasi

Untuk autentikasi berbasis token.

npm install @nestjs/jwt @nestjs/passport passport passport-jwt
npm install --save-dev @types/passport-jwt

3.2. Bcrypt untuk Hashing Password

Untuk mengenkripsi dan memvalidasi password.

npm install bcrypt
npm install --save-dev @types/bcrypt

3.3. Rate Limiting

Untuk mencegah serangan brute force.

npm install @nestjs/throttler

4. Dokumentasi API

Gunakan Swagger untuk membuat dokumentasi API otomatis.

npm install @nestjs/swagger swagger-ui-express

5. Utility dan Pengujian

5.1. Linter dan Formatter

Gunakan ESLint dan Prettier untuk menjaga kualitas kode.

npm install eslint prettier eslint-config-prettier eslint-plugin-prettier -D

5.2. Testing Framework

NestJS menggunakan Jest secara default, tetapi pastikan dependensi berikut ada:

npm install jest @nestjs/testing @types/jest ts-jest -D

5.3. Logger Tambahan

Gunakan library seperti winston untuk logging yang lebih baik.

npm install @nestjs/winston winston

6. Docker (Opsional)

Jika ingin menggunakan Docker untuk pengembangan atau deployment:

# Buat file Dockerfile dan docker-compose.yml

7. Frontend Integration (Opsional)

Jika Anda memerlukan integrasi dengan frontend:

  • CORS untuk API yang dapat diakses secara lintas origin:
    npm install @nestjs/platform-express
    
    Kemudian aktifkan CORS di main.ts:
    const app = await NestFactory.create(AppModule);
    app.enableCors();
    

Checklist Instalasi Awal

FiturPerintah Instalasi
Konfigurasi Environmentnpm install @nestjs/config
ORM (Prisma)npm install @prisma/client && npm install -D prisma
ORM (TypeORM)npm install @nestjs/typeorm typeorm mysql2
Validasinpm install class-validator class-transformer
Autentikasi (JWT)npm install @nestjs/jwt @nestjs/passport passport passport-jwt
Hashing Passwordnpm install bcrypt && npm install --save-dev @types/bcrypt
Rate Limitingnpm install @nestjs/throttler
Swaggernpm install @nestjs/swagger swagger-ui-express
Logger (Winston)npm install @nestjs/winston winston