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:
Kemudian aktifkan CORS dinpm install @nestjs/platform-express
main.ts
:const app = await NestFactory.create(AppModule); app.enableCors();
Checklist Instalasi Awal
Fitur | Perintah Instalasi |
---|---|
Konfigurasi Environment | npm install @nestjs/config |
ORM (Prisma) | npm install @prisma/client && npm install -D prisma |
ORM (TypeORM) | npm install @nestjs/typeorm typeorm mysql2 |
Validasi | npm install class-validator class-transformer |
Autentikasi (JWT) | npm install @nestjs/jwt @nestjs/passport passport passport-jwt |
Hashing Password | npm install bcrypt && npm install --save-dev @types/bcrypt |
Rate Limiting | npm install @nestjs/throttler |
Swagger | npm install @nestjs/swagger swagger-ui-express |
Logger (Winston) | npm install @nestjs/winston winston |