lapeh 1.0.2 → 1.0.4

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 CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "lapeh",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Framework API Express yang siap pakai (Standardized)",
5
5
  "main": "index.js",
6
6
  "bin": {
7
7
  "lapeh": "bin/index.js"
8
8
  },
9
9
  "scripts": {
10
- "dev": "nodemon src/index.ts",
10
+ "dev": "node scripts/check-update.js && nodemon src/index.ts",
11
11
  "first": "node scripts/init-project.js",
12
12
  "build": "tsc",
13
13
  "start": "node dist/src/index.js",
@@ -34,8 +34,8 @@
34
34
  "prisma",
35
35
  "lapeh-cli"
36
36
  ],
37
- "author": "",
38
- "license": "ISC",
37
+ "author": "Roby Karti S <robyfull.dev@gmail.com>",
38
+ "license": "MIT",
39
39
  "type": "commonjs",
40
40
  "dependencies": {
41
41
  "@prisma/adapter-mariadb": "^7.2.0",
package/readme.md CHANGED
@@ -17,7 +17,7 @@
17
17
  Buat project baru cukup dengan satu perintah:
18
18
 
19
19
  ```bash
20
- npx lapeh-cli nama-project-anda
20
+ npx lapeh nama-project-anda
21
21
  ```
22
22
 
23
23
  ### Apa yang terjadi otomatis?
@@ -82,7 +82,10 @@ npm run prisma:generate
82
82
  # Migrasi Database (Development)
83
83
  npm run prisma:migrate
84
84
 
85
- # Migrasi Database Dan Seed (Development)
85
+ # Membuka GUI Database (Prisma Studio)
86
+ npm run db:studio
87
+
88
+ # Migrasi Database Dan Seed (Development - Reset Total default option for development)
86
89
  npm run db:reset
87
90
 
88
91
  # Deploy ke Production
@@ -0,0 +1,87 @@
1
+ const https = require('https');
2
+ const fs = require('fs');
3
+ const path = require('path');
4
+
5
+ // --- KONFIGURASI ---
6
+ // Ganti URL ini dengan URL raw package.json dari repository GitHub/GitLab Anda
7
+ // Contoh: 'https://raw.githubusercontent.com/username/project-name/main/package.json'
8
+ // Jika package dipublish ke NPM, Anda bisa menggunakan registry NPM.
9
+ const REPO_VERSION_URL = 'https://registry.npmjs.org/lapeh/latest';
10
+ const TIMEOUT = 2000; // Timeout 2 detik agar tidak terlalu lama menunggu
11
+
12
+ const packageJson = require('../package.json');
13
+ const currentVersion = packageJson.version;
14
+
15
+ function checkForUpdates() {
16
+ if (!REPO_VERSION_URL) return;
17
+
18
+ const req = https.get(REPO_VERSION_URL, {
19
+ headers: { 'User-Agent': 'NodeJS Update Checker' },
20
+ timeout: TIMEOUT
21
+ }, (res) => {
22
+ let data = '';
23
+
24
+ if (res.statusCode !== 200) {
25
+ // Silent fail jika URL tidak bisa diakses
26
+ return;
27
+ }
28
+
29
+ res.on('data', (chunk) => {
30
+ data += chunk;
31
+ });
32
+
33
+ res.on('end', () => {
34
+ try {
35
+ const remoteJson = JSON.parse(data);
36
+ // Jika cek ke NPM, version ada di root object atau 'version'
37
+ // Jika cek ke raw github, structure sama dengan package.json
38
+ const latestVersion = remoteJson.version || remoteJson['dist-tags']?.latest;
39
+
40
+ if (latestVersion && isNewer(latestVersion, currentVersion)) {
41
+ showUpdateMessage(latestVersion, currentVersion);
42
+ }
43
+ } catch (e) {
44
+ // Ignore parsing errors
45
+ }
46
+ });
47
+ });
48
+
49
+ req.on('error', (e) => {
50
+ // Ignore network errors
51
+ });
52
+
53
+ req.end();
54
+ }
55
+
56
+ function isNewer(latest, current) {
57
+ const lParts = latest.split('.').map(Number);
58
+ const cParts = current.split('.').map(Number);
59
+
60
+ for (let i = 0; i < 3; i++) {
61
+ if (lParts[i] > cParts[i]) return true;
62
+ if (lParts[i] < cParts[i]) return false;
63
+ }
64
+ return false;
65
+ }
66
+
67
+ function showUpdateMessage(latest, current) {
68
+ const reset = "\x1b[0m";
69
+ const bright = "\x1b[1m";
70
+ const fgYellow = "\x1b[33m";
71
+ const fgCyan = "\x1b[36m";
72
+
73
+ console.log('\n');
74
+ console.log(`${fgYellow}┌─────────────────────────────────────────────────────────────┐${reset}`);
75
+ console.log(`${fgYellow}│ │${reset}`);
76
+ console.log(`${fgYellow}│ ${bright}UPDATE FRAMEWORK TERSEDIA!${reset}${fgYellow} │${reset}`);
77
+ console.log(`${fgYellow}│ │${reset}`);
78
+ console.log(`${fgYellow}│ Versi Lokal : ${fgCyan}${current}${reset}${fgYellow} │${reset}`);
79
+ console.log(`${fgYellow}│ Versi Terbaru : ${fgCyan}${latest}${reset}${fgYellow} │${reset}`);
80
+ console.log(`${fgYellow}│ │${reset}`);
81
+ console.log(`${fgYellow}│ Silakan cek repository untuk melihat perubahan terbaru. │${reset}`);
82
+ console.log(`${fgYellow}│ │${reset}`);
83
+ console.log(`${fgYellow}└─────────────────────────────────────────────────────────────┘${reset}`);
84
+ console.log('\n');
85
+ }
86
+
87
+ checkForUpdates();