devkit-tool 1.0.0 → 1.0.1
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.
|
@@ -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":"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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.1",
|
|
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",
|