the-real-gib-run 1.0.0

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.
Files changed (3) hide show
  1. package/README.md +67 -0
  2. package/index.js +109 -0
  3. package/package.json +11 -0
package/README.md ADDED
@@ -0,0 +1,67 @@
1
+ # GIB RUN (The Real Task Runner)
2
+
3
+ > "Kembalikan fungsi 'Run' kepada yang berhak mengeksekusi, bukan yang menyimpan data."
4
+
5
+ [![npm version](https://img.shields.io/badge/npm-v1.0.0-blue)](https://www.npmjs.com/)
6
+ [![License](https://img.shields.io/badge/license-MIT-green)](./LICENSE)
7
+ [![Status](https://img.shields.io/badge/status-Sangat_Valid-red)]()
8
+
9
+ **Gib Run** adalah CLI Wrapper untuk ekosistem JavaScript (Node.js, Bun, PNPM, Yarn) yang dirancang untuk menggantikan `npm`.
10
+
11
+ Project ini dibuat sebagai respons atas "kebingungan" di komunitas yang menamai framework Redis/Go dengan akhiran `.run`. Di sini, kami meluruskan bahwa **Run** adalah kata kerja untuk menjalankan task, bukan menyimpan cache.
12
+
13
+ ## Kenapa Pakai Gib Run?
14
+
15
+ | Fitur | Gib Run (Ini) | Gib.Run (Sebelah) |
16
+ | :--- | :--- | :--- |
17
+ | **Fungsi Utama** | Menjalankan Script (Task Runner) | Database/Cache (Redis) |
18
+ | **Logika Bahasa** | Valid (`gib run dev`) | Tidak Valid (Redis kok Run?) |
19
+ | **Dukungan** | NPM, Bun, PNPM, Yarn | Golang only |
20
+ | **Fitur Spesial** | Protokol Fufufafa (Pembersih) | Tidak ada |
21
+
22
+ ## Instalasi
23
+
24
+ Karena ini gerakan bawah tanah, silakan install langsung dari source atau tunggu rilis di NPM.
25
+
26
+ ```bash
27
+ # Clone repository
28
+ git clone [https://github.com/username-anda/gib-run.git](https://github.com/username-anda/gib-run.git)
29
+
30
+ # Masuk folder
31
+ cd gib-run
32
+
33
+ # Install secara global (Link)
34
+ npm link
35
+ Cara Pakai (Usage)
36
+ Cukup ganti npm dengan gib dalam keseharian Anda.
37
+
38
+ 1. Mode Development
39
+ Menjalankan server dev dengan asupan gizi yang cukup.
40
+
41
+ Bash
42
+
43
+ gib run dev
44
+ 2. Mode Production
45
+ Menjalankan build production untuk menuju Indonesia Emas.
46
+
47
+ Bash
48
+
49
+ gib run start
50
+ 3. Install Paket
51
+ Membagikan dependencies (bansos) ke dalam folder node_modules.
52
+
53
+ Bash
54
+
55
+ gib install axios
56
+ # atau
57
+ gib i react
58
+ 4. [BAHAYA] Protokol Fufufafa
59
+ Fitur khusus untuk menghapus jejak digital project secara massal. PERINGATAN: Gunakan dengan bijak. Penulis tidak bertanggung jawab atas hilangnya skripsi atau codingan kantor.
60
+
61
+ Bash
62
+
63
+ gib fufufafa
64
+ Disclaimer
65
+ Project ini adalah satire dan bentuk kritik konstruktif terhadap penamaan framework. Tidak ada maksud menjatuhkan, hanya meluruskan syntax.
66
+
67
+ #IMPHNEN #Javascript #GibRun #TheRealOne
package/index.js ADDED
@@ -0,0 +1,109 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { execSync } = require('child_process');
4
+ const fs = require('fs');
5
+ const path = require('path');
6
+ const readline = require('readline');
7
+
8
+ // --- DETEKSI KOALISI (Package Manager) ---
9
+ const getPackageManager = () => {
10
+ const cwd = process.cwd();
11
+ if (fs.existsSync(path.join(cwd, 'bun.lockb'))) return 'bun';
12
+ if (fs.existsSync(path.join(cwd, 'pnpm-lock.yaml'))) return 'pnpm';
13
+ if (fs.existsSync(path.join(cwd, 'yarn.lock'))) return 'yarn';
14
+ return 'npm';
15
+ };
16
+
17
+ const pm = getPackageManager();
18
+ const args = process.argv.slice(2);
19
+ const fullCommand = args.join(' ');
20
+
21
+ // Helper jalanin command
22
+ const runCommand = (cmdArgs) => {
23
+ try {
24
+ const finalCmd = `${pm} ${cmdArgs}`;
25
+ console.log(`[SYSTEM] Menggunakan mesin penggerak: ${pm.toUpperCase()}`);
26
+ execSync(finalCmd, { stdio: 'inherit' });
27
+ } catch (error) {
28
+ process.exit(1);
29
+ }
30
+ };
31
+
32
+ console.log("\n[GIB RUN - OFFICIAL CLI]");
33
+ console.log("Mengembalikan fungsi 'Run' ke jalan yang benar.\n");
34
+
35
+ // --- LOGIKA UTAMA ---
36
+
37
+ // Command: gib run dev / gib run start
38
+ if (args[0] === 'run') {
39
+ if (!args[1]) {
40
+ console.log("[WARN] Mau run apa? Harap spesifik.");
41
+ } else {
42
+ console.log(`[INFO] Memerintahkan bawahan untuk lari... (${args[1]})`);
43
+ if (args[1] === 'dev') console.log("[INFO] Menyiapkan asupan gizi codingan...");
44
+ runCommand(`run ${args[1]}`);
45
+ }
46
+ }
47
+
48
+ // Command: gib install / gib i
49
+ else if (args[0] === 'install' || args[0] === 'i') {
50
+ console.log("[INFO] Membagikan dependencies ke dalam node_modules...");
51
+ const installArgs = args.length > 1 ? args.slice(1).join(' ') : 'install';
52
+
53
+ // Penyesuaian syntax bun
54
+ if (pm === 'bun' && args.length > 1) {
55
+ execSync(`bun add ${args.slice(1).join(' ')}`, { stdio: 'inherit' });
56
+ } else {
57
+ runCommand(installArgs);
58
+ }
59
+ }
60
+
61
+ // Command: gib fufufafa (FITUR PRANK)
62
+ else if (args[0] === 'fufufafa') {
63
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
64
+
65
+ console.log("\n[ALERT] AKSES KOMANDO RAHASIA: PROTOKOL PEMBERSIHAN JEJAK.");
66
+ console.log("[WARN] Semua file di folder ini akan DIHAPUS.");
67
+ console.log("(Fitur ini untuk menghilangkan bukti, bukan nyimpen data di Redis).");
68
+
69
+ rl.question("\nKetik 'FUFUFAFA' untuk eksekusi: ", (answer) => {
70
+ if (answer === 'FUFUFAFA') {
71
+ console.log("\n[ACTION] MEMULAI OPERASI BUMI HANGUS...");
72
+ const files = fs.readdirSync(process.cwd());
73
+
74
+ let delay = 500;
75
+ files.forEach(file => {
76
+ if(file !== 'index.js' && file !== 'node_modules') {
77
+ setTimeout(() => {
78
+ console.log(`[DELETED] Menghapus jejak: ${file} ... SUKSES`);
79
+ // HAPUS TANDA KOMENTAR DI BAWAH JIKA INGIN HAPUS BENERAN
80
+ // fs.rmSync(path.join(process.cwd(), file), { recursive: true, force: true });
81
+ }, delay);
82
+ delay += 300;
83
+ }
84
+ });
85
+
86
+ setTimeout(() => {
87
+ console.log("\n[STATUS] Operasi Selesai. Anda Aman.");
88
+ process.exit(0);
89
+ }, delay + 1000);
90
+ } else {
91
+ console.log("[ERROR] Kode salah. Operasi dibatalkan.");
92
+ process.exit(0);
93
+ }
94
+ });
95
+ }
96
+
97
+ // Command Tidak Dikenal (Sindir Sebelah)
98
+ else {
99
+ if (fullCommand.length > 0) {
100
+ runCommand(fullCommand);
101
+ } else {
102
+ console.log("[?] Bingung Mas?");
103
+ console.log("Gunakan: 'gib run dev' atau 'gib install'.");
104
+ console.log("\n[DISCLAIMER]");
105
+ console.log("Ini GIB RUN (Task Runner).");
106
+ console.log("Kalau nyari GIB RUN yang isinya REDIS/DATABASE, itu di sebelah.");
107
+ console.log("Di sini kita KERJA (Run), bukan NONGKRONG (Store).");
108
+ }
109
+ }
package/package.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "the-real-gib-run",
3
+ "version": "1.0.0",
4
+ "description": "The Authentic Gib Run - Task Runner bukan Database.",
5
+ "bin": {
6
+ "gib": "./index.js"
7
+ },
8
+ "main": "index.js",
9
+ "author": "yunggialyana",
10
+ "license": "ISC"
11
+ }