lapeh 2.0.4 โ 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -2
- package/readme.md +27 -2
- package/scripts/config-clear.js +45 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lapeh",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.5",
|
|
4
4
|
"description": "Framework API Express yang siap pakai (Standardized)",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
"generate:jwt": "node scripts/generate-jwt-secret.js",
|
|
24
24
|
"make:module": "node scripts/make-module.js",
|
|
25
25
|
"make:model": "node scripts/make-model.js",
|
|
26
|
-
"make:controller": "node scripts/make-controller.js"
|
|
26
|
+
"make:controller": "node scripts/make-controller.js",
|
|
27
|
+
"config:clear": "node scripts/config-clear.js"
|
|
27
28
|
},
|
|
28
29
|
"keywords": [
|
|
29
30
|
"express",
|
package/readme.md
CHANGED
|
@@ -162,7 +162,19 @@ npm run make:model NamaModel
|
|
|
162
162
|
|
|
163
163
|
Ini akan membuat file `src/models/User.prisma`.
|
|
164
164
|
|
|
165
|
-
### 3.
|
|
165
|
+
### 3. Membuat Controller
|
|
166
|
+
|
|
167
|
+
Membuat file Controller baru. Gunakan flag `-r` untuk membuat controller lengkap dengan method CRUD (index, show, store, update, destroy).
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
npm run make:controller NamaController
|
|
171
|
+
# Contoh Basic: npm run make:controller PaymentController
|
|
172
|
+
|
|
173
|
+
# Contoh Resource (CRUD Lengkap):
|
|
174
|
+
npm run make:controller PaymentController -r
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### 4. Workflow Database (Prisma)
|
|
166
178
|
|
|
167
179
|
Karena framework ini menggunakan **Schema Terpisah** (split schema), Anda **TIDAK BOLEH** mengedit `prisma/schema.prisma` secara manual.
|
|
168
180
|
|
|
@@ -188,7 +200,7 @@ npm run prisma:deploy
|
|
|
188
200
|
|
|
189
201
|
> **Catatan:** Script `compile-schema.js` akan otomatis berjalan sebelum perintah prisma di atas dieksekusi.
|
|
190
202
|
|
|
191
|
-
###
|
|
203
|
+
### 5. Generate JWT Secret
|
|
192
204
|
|
|
193
205
|
Jika Anda perlu me-refresh secret key JWT:
|
|
194
206
|
|
|
@@ -196,6 +208,19 @@ Jika Anda perlu me-refresh secret key JWT:
|
|
|
196
208
|
npm run generate:jwt
|
|
197
209
|
```
|
|
198
210
|
|
|
211
|
+
### 6. Maintenance (Clear Config)
|
|
212
|
+
|
|
213
|
+
Membersihkan cache framework, NPM, build artifacts, dan temporary files (sangat berguna jika mengalami isu cache aneh atau ingin reset environment development).
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
npm run config:clear
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
- Menghapus `node_modules/.cache`
|
|
220
|
+
- Menghapus `dist/`
|
|
221
|
+
- Menghapus `dump.rdb` (Redis Persistence)
|
|
222
|
+
- Membersihkan `npm cache`
|
|
223
|
+
|
|
199
224
|
---
|
|
200
225
|
|
|
201
226
|
## ๐ Struktur Folder
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const { execSync } = require('child_process');
|
|
4
|
+
|
|
5
|
+
const rootDir = path.join(__dirname, '..');
|
|
6
|
+
|
|
7
|
+
console.log('๐งน Starting cleanup process...');
|
|
8
|
+
|
|
9
|
+
// 1. Remove dist folder (Build artifacts)
|
|
10
|
+
const distDir = path.join(rootDir, 'dist');
|
|
11
|
+
if (fs.existsSync(distDir)) {
|
|
12
|
+
console.log('๐๏ธ Removing dist/ folder...');
|
|
13
|
+
fs.rmSync(distDir, { recursive: true, force: true });
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// 2. Remove node_modules/.cache (Framework caches: ts-node, eslint, etc)
|
|
17
|
+
const nmCacheDir = path.join(rootDir, 'node_modules', '.cache');
|
|
18
|
+
if (fs.existsSync(nmCacheDir)) {
|
|
19
|
+
console.log('๐๏ธ Removing node_modules/.cache...');
|
|
20
|
+
fs.rmSync(nmCacheDir, { recursive: true, force: true });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// 3. Remove Redis local persistence file (dump.rdb)
|
|
24
|
+
const dumpRdb = path.join(rootDir, 'dump.rdb');
|
|
25
|
+
if (fs.existsSync(dumpRdb)) {
|
|
26
|
+
console.log('๐๏ธ Removing dump.rdb (Redis persistence)...');
|
|
27
|
+
fs.unlinkSync(dumpRdb);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// 4. Remove Coverage folder (if exists)
|
|
31
|
+
const coverageDir = path.join(rootDir, 'coverage');
|
|
32
|
+
if (fs.existsSync(coverageDir)) {
|
|
33
|
+
console.log('๐๏ธ Removing coverage/ folder...');
|
|
34
|
+
fs.rmSync(coverageDir, { recursive: true, force: true });
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// 5. Clear NPM Cache
|
|
38
|
+
try {
|
|
39
|
+
console.log('๐ฆ Clearing NPM cache...');
|
|
40
|
+
execSync('npm cache clean --force', { stdio: 'inherit' });
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.warn('โ ๏ธ Warning: Could not clear NPM cache. You might need admin privileges.');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
console.log('โจ Cleanup complete! Project is fresh.');
|