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":"AAgMA,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B9D"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AA6SA,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B9D"}
@@ -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 projectDetail = deteksiProjectDetail();
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 directory ini. Pastikan kamu berada di folder project.", "Project Saat Ini");
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 di folder ini",
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":"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"}
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.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": ["cli", "developer", "project", "wizard", "scaffold", "devkit"],
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",