devkit-tool 1.0.0 → 1.0.2
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/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +104 -12
- package/dist/commands/install.js.map +1 -1
- package/dist/core/update.d.ts +6 -0
- package/dist/core/update.d.ts.map +1 -0
- package/dist/core/update.js +60 -0
- package/dist/core/update.js.map +1 -0
- package/dist/core/welcome.d.ts.map +1 -1
- package/dist/core/welcome.js +8 -1
- package/dist/core/welcome.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +9 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AA6SA,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B9D"}
|
package/dist/commands/install.js
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
import * as p from "@clack/prompts";
|
|
2
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
3
4
|
import { dapatkanSemuaTeknologi } from "../core/registry.js";
|
|
4
5
|
import { execute } from "../core/executor.js";
|
|
5
6
|
import { jalankanBuatProyek } from "./buat.js";
|
|
7
|
+
import { deteksiEnvironmentLokal } from "../core/environment.js";
|
|
6
8
|
import { reset, bold, dim, green, yellow, cyan, warnaUntukTeknologi, teksBerwarna } from "../core/warna.js";
|
|
7
|
-
function deteksiProjectDetail() {
|
|
9
|
+
function deteksiProjectDetail(cwd = ".") {
|
|
8
10
|
const hasil = [];
|
|
9
|
-
if (existsSync("package.json")) {
|
|
11
|
+
if (existsSync(path.join(cwd, "package.json"))) {
|
|
10
12
|
try {
|
|
11
|
-
const pkg = JSON.parse(readFileSync("package.json", "utf-8"));
|
|
13
|
+
const pkg = JSON.parse(readFileSync(path.join(cwd, "package.json"), "utf-8"));
|
|
12
14
|
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
13
15
|
const depList = Object.keys(deps);
|
|
14
16
|
hasil.push({
|
|
15
17
|
jenis: "Node.js",
|
|
16
18
|
dependencies: depList,
|
|
17
19
|
});
|
|
18
|
-
if (existsSync("vite.config.ts") || existsSync("vite.config.js")) {
|
|
20
|
+
if (existsSync(path.join(cwd, "vite.config.ts")) || existsSync(path.join(cwd, "vite.config.js"))) {
|
|
19
21
|
hasil.push({ jenis: "Vite" });
|
|
20
22
|
}
|
|
21
23
|
if (depList.includes("react")) {
|
|
@@ -29,7 +31,7 @@ function deteksiProjectDetail() {
|
|
|
29
31
|
hasil.push({ jenis: "Node.js" });
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
|
-
if (existsSync("composer.json")) {
|
|
34
|
+
if (existsSync(path.join(cwd, "composer.json"))) {
|
|
33
35
|
hasil.push({ jenis: "Laravel" });
|
|
34
36
|
}
|
|
35
37
|
if (hasil.length === 0) {
|
|
@@ -45,18 +47,107 @@ function deteksiOS() {
|
|
|
45
47
|
return "macos";
|
|
46
48
|
return "linux";
|
|
47
49
|
}
|
|
50
|
+
function daftarProjectDiFolder(folderPath) {
|
|
51
|
+
try {
|
|
52
|
+
return readdirSync(folderPath, { withFileTypes: true })
|
|
53
|
+
.filter((entry) => entry.isDirectory())
|
|
54
|
+
.map((entry) => entry.name)
|
|
55
|
+
.filter((name) => !name.startsWith("."));
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async function pilihFolderProject() {
|
|
62
|
+
const environments = await deteksiEnvironmentLokal();
|
|
63
|
+
const wwwFolders = environments.filter((e) => e.terdeteksi && e.path.includes("www"));
|
|
64
|
+
const options = [];
|
|
65
|
+
if (wwwFolders.length > 0) {
|
|
66
|
+
for (const folder of wwwFolders) {
|
|
67
|
+
const projects = daftarProjectDiFolder(folder.path);
|
|
68
|
+
if (projects.length > 0) {
|
|
69
|
+
for (const project of projects) {
|
|
70
|
+
options.push({
|
|
71
|
+
value: path.join(folder.path, project),
|
|
72
|
+
label: `${project} — ${folder.path}`,
|
|
73
|
+
hint: `${folder.nama}`,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
options.push({
|
|
79
|
+
value: folder.path,
|
|
80
|
+
label: `${folder.nama} — ${folder.path}`,
|
|
81
|
+
hint: "Folder kosong",
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
options.push({
|
|
87
|
+
value: "current",
|
|
88
|
+
label: "Folder saat ini",
|
|
89
|
+
hint: process.cwd(),
|
|
90
|
+
});
|
|
91
|
+
options.push({
|
|
92
|
+
value: "custom",
|
|
93
|
+
label: "Input lokasi folder manual",
|
|
94
|
+
hint: "Masukkan path folder sendiri",
|
|
95
|
+
});
|
|
96
|
+
const folder = await p.select({
|
|
97
|
+
message: "Pilih folder project:",
|
|
98
|
+
options,
|
|
99
|
+
});
|
|
100
|
+
if (p.isCancel(folder)) {
|
|
101
|
+
return folder;
|
|
102
|
+
}
|
|
103
|
+
if (folder === "current") {
|
|
104
|
+
return process.cwd();
|
|
105
|
+
}
|
|
106
|
+
if (folder === "custom") {
|
|
107
|
+
const pathCustom = await p.text({
|
|
108
|
+
message: "Masukkan path folder project:",
|
|
109
|
+
placeholder: "C:\\laragon\\www\\my-project",
|
|
110
|
+
validate: (value) => {
|
|
111
|
+
if (!value?.trim()) {
|
|
112
|
+
return "Path tidak boleh kosong.";
|
|
113
|
+
}
|
|
114
|
+
return undefined;
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
if (p.isCancel(pathCustom)) {
|
|
118
|
+
return pathCustom;
|
|
119
|
+
}
|
|
120
|
+
return pathCustom;
|
|
121
|
+
}
|
|
122
|
+
return folder;
|
|
123
|
+
}
|
|
48
124
|
async function installDiProjectYangAda() {
|
|
49
125
|
const os = deteksiOS();
|
|
50
|
-
const
|
|
126
|
+
const folderProject = await pilihFolderProject();
|
|
127
|
+
if (p.isCancel(folderProject)) {
|
|
128
|
+
p.cancel("Operasi dibatalkan.");
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (typeof folderProject !== "string") {
|
|
132
|
+
p.cancel("Operasi dibatalkan.");
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (!existsSync(folderProject)) {
|
|
136
|
+
p.note(`Folder ${folderProject} tidak ditemukan.`, "Error");
|
|
137
|
+
p.outro("Silakan cek lokasi folder project.");
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const projectDetail = deteksiProjectDetail(folderProject);
|
|
51
141
|
const infoProject = projectDetail
|
|
52
142
|
.filter((p) => p.jenis !== "Tidak dikenali")
|
|
53
143
|
.map((p) => p.jenis);
|
|
54
144
|
if (infoProject.length === 0) {
|
|
55
|
-
p.note("Tidak ada project terdeteksi di
|
|
145
|
+
p.note("Tidak ada project terdeteksi di folder ini. Pastikan folder berisi project yang valid.", "Project Saat Ini");
|
|
56
146
|
p.outro("Install teknologi membutuhkan project yang sudah ada.");
|
|
57
147
|
return;
|
|
58
148
|
}
|
|
59
149
|
p.note([
|
|
150
|
+
`Folder: ${folderProject}`,
|
|
60
151
|
`Project terdeteksi: ${infoProject.join(", ")}`,
|
|
61
152
|
...(projectDetail[0]?.dependencies
|
|
62
153
|
? [`Dependencies: ${projectDetail[0].dependencies.slice(0, 5).join(", ")}${projectDetail[0].dependencies.length > 5 ? "..." : ""}`]
|
|
@@ -85,6 +176,7 @@ async function installDiProjectYangAda() {
|
|
|
85
176
|
p.note([
|
|
86
177
|
`Teknologi: ${teksBerwarna(teknologi.nama, warnaTeknologi)}`,
|
|
87
178
|
`Deskripsi: ${teknologi.deskripsi}`,
|
|
179
|
+
`Folder: ${folderProject}`,
|
|
88
180
|
`OS: ${os}`,
|
|
89
181
|
``,
|
|
90
182
|
`Perintah: ${perintahLengkap}`,
|
|
@@ -109,7 +201,7 @@ async function installDiProjectYangAda() {
|
|
|
109
201
|
}
|
|
110
202
|
const spinner = p.spinner();
|
|
111
203
|
spinner.start(`Menginstall ${teknologi.nama}...`);
|
|
112
|
-
const hasilInstall = await execute(perintahInstall, teknologi.perintahInstall.slice(1), { shell: true });
|
|
204
|
+
const hasilInstall = await execute(perintahInstall, teknologi.perintahInstall.slice(1), { cwd: folderProject, shell: true });
|
|
113
205
|
if (!hasilInstall.success) {
|
|
114
206
|
spinner.stop("Gagal menginstall");
|
|
115
207
|
p.note(`Auto-install gagal. Berikut panduan manual untuk install ${teknologi.nama}:`, "Panduan Install");
|
|
@@ -121,7 +213,7 @@ async function installDiProjectYangAda() {
|
|
|
121
213
|
}
|
|
122
214
|
spinner.stop(`${teknologi.nama} berhasil diinstall`);
|
|
123
215
|
spinner.start("Memverifikasi instalasi...");
|
|
124
|
-
const hasilVerifikasi = await execute(perintahVerifikasi, teknologi.perintahVerifikasi.slice(1));
|
|
216
|
+
const hasilVerifikasi = await execute(perintahVerifikasi, teknologi.perintahVerifikasi.slice(1), { cwd: folderProject });
|
|
125
217
|
if (!hasilVerifikasi.success) {
|
|
126
218
|
spinner.stop("Verifikasi gagal");
|
|
127
219
|
p.note(hasilVerifikasi.stderr, "Error");
|
|
@@ -129,7 +221,7 @@ async function installDiProjectYangAda() {
|
|
|
129
221
|
return;
|
|
130
222
|
}
|
|
131
223
|
spinner.stop("Verifikasi berhasil");
|
|
132
|
-
p.outro(`${teknologi.nama} berhasil diinstall!`);
|
|
224
|
+
p.outro(`${teknologi.nama} berhasil diinstall di ${folderProject}!`);
|
|
133
225
|
}
|
|
134
226
|
export async function jalankanInstallTeknologi() {
|
|
135
227
|
p.intro("Install Teknologi");
|
|
@@ -139,7 +231,7 @@ export async function jalankanInstallTeknologi() {
|
|
|
139
231
|
{
|
|
140
232
|
value: "existing",
|
|
141
233
|
label: "Install di project yang sudah ada",
|
|
142
|
-
hint: "Install teknologi ke project yang sudah ada
|
|
234
|
+
hint: "Install teknologi ke project yang sudah ada",
|
|
143
235
|
},
|
|
144
236
|
{
|
|
145
237
|
value: "new",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAO5G,SAAS,oBAAoB,CAAC,GAAG,GAAW,GAAG;IAC7C,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9E,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElC,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,SAAS;gBAChB,YAAY,EAAE,OAAO;aACtB,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;gBACjG,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAChC,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAC1C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACpD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,YAAY,GAAG,MAAM,uBAAuB,EAAE,CAAC;IACrD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtF,MAAM,OAAO,GAA0D,EAAE,CAAC;IAE1E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC;wBACX,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;wBACtC,KAAK,EAAE,GAAG,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE;wBACpC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE;qBACvB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,MAAM,CAAC,IAAI;oBAClB,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE;oBACxC,IAAI,EAAE,eAAe;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC;QACX,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC;QACX,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,4BAA4B;QACnC,IAAI,EAAE,8BAA8B;KACrC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,uBAAuB;QAChC,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;YAC9B,OAAO,EAAE,+BAA+B;YACxC,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,CAAC,KAAyB,EAAE,EAAE;gBACtC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;oBACnB,OAAO,0BAA0B,CAAC;gBACpC,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,uBAAuB;IACpC,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAEvB,MAAM,aAAa,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAEjD,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACtC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,CAAC,CAAC,IAAI,CAAC,UAAU,aAAa,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG,aAAa;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,gBAAgB,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEvB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,CAAC,CAAC,IAAI,CACJ,wFAAwF,EACxF,kBAAkB,CACnB,CAAC;QACF,CAAC,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,CAAC,CAAC,IAAI,CACJ;QACE,WAAW,aAAa,EAAE;QAC1B,uBAAuB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC/C,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY;YAChC,CAAC,CAAC,CAAC,iBAAiB,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACnI,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,kBAAkB,CACnB,CAAC;IAEF,MAAM,eAAe,GAAG,sBAAsB,EAAE,CAAC,MAAM,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CACpC,CAAC;IAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QACtC,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,KAAK,EAAE,CAAC,CAAC,IAAI;YACb,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC,CAAC,SAAS;SAClB,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACzC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CACd,CAAC;IAEvB,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAEjE,CAAC,CAAC,IAAI,CACJ;QACE,cAAc,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE;QAC5D,cAAc,SAAS,CAAC,SAAS,EAAE;QACnC,WAAW,aAAa,EAAE;QAC1B,OAAO,EAAE,EAAE;QACX,EAAE;QACF,aAAa,eAAe,EAAE;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,iBAAiB,CAClB,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;QACjC,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,CAAC,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAE5B,OAAO,CAAC,KAAK,CAAC,eAAe,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,MAAM,OAAO,CAChC,eAAe,EACf,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAClC,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CACpC,CAAC;IAEF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAElC,CAAC,CAAC,IAAI,CACJ,4DAA4D,SAAS,CAAC,IAAI,GAAG,EAC7E,iBAAiB,CAClB,CAAC;QAEF,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACpD,CAAC;QAED,CAAC,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,qBAAqB,CAAC,CAAC;IAErD,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,MAAM,OAAO,CACnC,kBAAkB,EAClB,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EACrC,EAAE,GAAG,EAAE,aAAa,EAAE,CACvB,CAAC;IAEF,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAEpC,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,0BAA0B,aAAa,GAAG,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC5C,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAE7B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,mCAAmC;gBAC1C,IAAI,EAAE,6CAA6C;aACpD;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,2CAA2C;aAClD;SACF;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,kBAAkB,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,uBAAuB,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/core/update.ts"],"names":[],"mappings":"AAWA,wBAAsB,SAAS,IAAI,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAYvF;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAyCrD"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { execa } from "execa";
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { bold, cyan, green, yellow, reset } from "./warna.js";
|
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = path.dirname(__filename);
|
|
8
|
+
const pkg = JSON.parse(readFileSync(path.join(__dirname, "../../package.json"), "utf-8"));
|
|
9
|
+
const VERSI_LOKAL = pkg.version;
|
|
10
|
+
export async function cekUpdate() {
|
|
11
|
+
try {
|
|
12
|
+
const hasil = await execa("npm", ["view", "devkit-tool", "version"], { timeout: 10000 });
|
|
13
|
+
const versiTerbaru = hasil.stdout.trim();
|
|
14
|
+
return {
|
|
15
|
+
adaUpdate: versiTerbaru !== VERSI_LOKAL,
|
|
16
|
+
versiTerbaru,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return { adaUpdate: false, versiTerbaru: VERSI_LOKAL };
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export async function tampilkanUpdate() {
|
|
24
|
+
const { adaUpdate, versiTerbaru } = await cekUpdate();
|
|
25
|
+
if (!adaUpdate) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const p = await import("@clack/prompts");
|
|
29
|
+
const pilihan = await p.select({
|
|
30
|
+
message: `${bold}${yellow}Tersedia update versi ${versiTerbaru}!${reset}`,
|
|
31
|
+
options: [
|
|
32
|
+
{
|
|
33
|
+
value: "update",
|
|
34
|
+
label: `${green}Update sekarang${reset}`,
|
|
35
|
+
hint: `Install versi ${versiTerbaru}`,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
value: "skip",
|
|
39
|
+
label: `${cyan}Lewati${reset}`,
|
|
40
|
+
hint: "Lanjut ke DevKit",
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
});
|
|
44
|
+
if (p.isCancel(pilihan) || pilihan === "skip") {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const spinner = p.spinner();
|
|
48
|
+
spinner.start("Mengupdate devkit-tool...");
|
|
49
|
+
try {
|
|
50
|
+
await execa("npm", ["install", "-g", "devkit-tool@latest"], { timeout: 120000 });
|
|
51
|
+
spinner.stop("Update berhasil!");
|
|
52
|
+
p.outro("Silakan jalankan ulang `devkit` untuk menggunakan versi terbaru.");
|
|
53
|
+
process.exit(0);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
spinner.stop("Update gagal");
|
|
57
|
+
p.note("Silakan update manual: npm install -g devkit-tool@latest", "Error");
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/core/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/core/welcome.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/core/welcome.ts"],"names":[],"mappings":"AAsBA,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwCtD"}
|
package/dist/core/welcome.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import * as p from "@clack/prompts";
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import path from "node:path";
|
|
2
5
|
import { reset, bold, dim, yellow, cyan, white, warnaUntukTeknologi, teksBerwarna } from "./warna.js";
|
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = path.dirname(__filename);
|
|
8
|
+
const pkg = JSON.parse(readFileSync(path.join(__dirname, "../../package.json"), "utf-8"));
|
|
9
|
+
const VERSI = pkg.version;
|
|
3
10
|
function center(text, width) {
|
|
4
11
|
const lines = text.split("\n");
|
|
5
12
|
return lines
|
|
@@ -27,7 +34,7 @@ export async function tampilkanWelcome() {
|
|
|
27
34
|
console.log(center(title, termWidth));
|
|
28
35
|
console.log();
|
|
29
36
|
const info = [
|
|
30
|
-
`${bold}${cyan} Versi:${reset}
|
|
37
|
+
`${bold}${cyan} Versi:${reset} ${VERSI}`,
|
|
31
38
|
`${bold}${cyan} Node:${reset} ${process.version}`,
|
|
32
39
|
`${bold}${cyan} Platform:${reset} ${process.platform}`,
|
|
33
40
|
];
|
package/dist/core/welcome.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/core/welcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEtG,SAAS,MAAM,CAAC,IAAY,EAAE,KAAa;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACpC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAE/C,MAAM,IAAI,GAAG;QACX,GAAG,IAAI,GAAG,IAAI,kDAAkD,KAAK,EAAE;QACvE,GAAG,IAAI,GAAG,IAAI,kDAAkD,KAAK,EAAE;QACvE,GAAG,IAAI,GAAG,IAAI,kDAAkD,KAAK,EAAE;QACvE,GAAG,IAAI,GAAG,IAAI,kDAAkD,KAAK,EAAE;QACvE,GAAG,IAAI,GAAG,IAAI,kDAAkD,KAAK,EAAE;QACvE,GAAG,IAAI,GAAG,IAAI,kDAAkD,KAAK,EAAE;KACxE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,KAAK,GAAG,GAAG,IAAI,GAAG,KAAK,WAAW,KAAK,IAAI,GAAG,6BAA6B,KAAK,EAAE,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,IAAI,GAAG;QACX,GAAG,IAAI,GAAG,IAAI,WAAW,KAAK,
|
|
1
|
+
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/core/welcome.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,8 +5,10 @@ import { jalankanBuatProyek } from "./commands/buat.js";
|
|
|
5
5
|
import { jalankanInstallTeknologi } from "./commands/install.js";
|
|
6
6
|
import { jalankanReferensiPerintah } from "./commands/referensi.js";
|
|
7
7
|
import { tampilkanWelcome } from "./core/welcome.js";
|
|
8
|
+
import { tampilkanUpdate } from "./core/update.js";
|
|
8
9
|
import { reset, bold, cyan, green, yellow, magenta, blue, warnaUntukTeknologi, teksBerwarna } from "./core/warna.js";
|
|
9
10
|
async function utama() {
|
|
11
|
+
await tampilkanUpdate();
|
|
10
12
|
await tampilkanWelcome();
|
|
11
13
|
const opsi = await p.select({
|
|
12
14
|
message: `${bold}${cyan}Apa yang ingin kamu lakukan?${reset}`,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devkit-tool",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "CLI tool untuk membantu developer membuat project, menginstall teknologi, mengecek environment, dan mencari command yang sering lupa.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -19,7 +19,14 @@
|
|
|
19
19
|
"test": "vitest run",
|
|
20
20
|
"prepublishOnly": "npm run build"
|
|
21
21
|
},
|
|
22
|
-
"keywords": [
|
|
22
|
+
"keywords": [
|
|
23
|
+
"cli",
|
|
24
|
+
"developer",
|
|
25
|
+
"project",
|
|
26
|
+
"wizard",
|
|
27
|
+
"scaffold",
|
|
28
|
+
"devkit"
|
|
29
|
+
],
|
|
23
30
|
"author": "Adiwijaya11",
|
|
24
31
|
"license": "ISC",
|
|
25
32
|
"type": "module",
|