@tuannvm/ccodex 0.2.9 → 0.3.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/aliases.d.ts.map +1 -1
- package/dist/aliases.js +31 -31
- package/dist/aliases.js.map +1 -1
- package/dist/claude.d.ts.map +1 -1
- package/dist/claude.js +87 -82
- package/dist/claude.js.map +1 -1
- package/dist/cli.js +60 -59
- package/dist/cli.js.map +1 -1
- package/dist/config.js +7 -7
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/powershell.d.ts.map +1 -1
- package/dist/powershell.js +11 -13
- package/dist/powershell.js.map +1 -1
- package/dist/proxy.d.ts +2 -1
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +227 -214
- package/dist/proxy.js.map +1 -1
- package/dist/status.d.ts +1 -1
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +28 -21
- package/dist/status.js.map +1 -1
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +3 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +117 -77
- package/dist/utils.js.map +1 -1
- package/package.json +9 -1
package/dist/utils.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { existsSync } from
|
|
2
|
-
import { homedir, platform } from
|
|
3
|
-
import { join, delimiter, isAbsolute } from
|
|
4
|
-
import spawnCmd from
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { spawn } from 'child_process';
|
|
8
|
-
const exec = promisify(execCallback);
|
|
1
|
+
import { existsSync } from "fs";
|
|
2
|
+
import { homedir, platform } from "os";
|
|
3
|
+
import { join, delimiter, isAbsolute, resolve, sep } from "path";
|
|
4
|
+
import spawnCmd from "cross-spawn";
|
|
5
|
+
import { execSync } from "child_process";
|
|
6
|
+
import { spawn } from "child_process";
|
|
9
7
|
/**
|
|
10
8
|
* Debug logging helper
|
|
11
9
|
*/
|
|
@@ -20,31 +18,31 @@ export function debugLog(message, ...args) {
|
|
|
20
18
|
export async function execCommand(cmd, args = [], timeoutMs = 10000) {
|
|
21
19
|
return new Promise((resolve, reject) => {
|
|
22
20
|
const child = spawnCmd(cmd, args, {
|
|
23
|
-
stdio: [
|
|
21
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
24
22
|
});
|
|
25
|
-
let stdout =
|
|
26
|
-
let stderr =
|
|
27
|
-
child.stdout?.on(
|
|
23
|
+
let stdout = "";
|
|
24
|
+
let stderr = "";
|
|
25
|
+
child.stdout?.on("data", (data) => {
|
|
28
26
|
stdout += data.toString();
|
|
29
27
|
});
|
|
30
|
-
child.stderr?.on(
|
|
28
|
+
child.stderr?.on("data", (data) => {
|
|
31
29
|
stderr += data.toString();
|
|
32
30
|
});
|
|
33
31
|
// Add timeout to prevent hangs
|
|
34
32
|
const timeout = setTimeout(() => {
|
|
35
33
|
child.kill();
|
|
36
|
-
reject(new Error(`Command timed out: ${cmd} ${args.join(
|
|
34
|
+
reject(new Error(`Command timed out: ${cmd} ${args.join(" ")}`));
|
|
37
35
|
}, timeoutMs);
|
|
38
|
-
child.on(
|
|
36
|
+
child.on("close", (code) => {
|
|
39
37
|
clearTimeout(timeout);
|
|
40
38
|
if (code === 0) {
|
|
41
39
|
resolve(stdout.trim());
|
|
42
40
|
}
|
|
43
41
|
else {
|
|
44
|
-
reject(new Error(`Command failed: ${cmd} ${args.join(
|
|
42
|
+
reject(new Error(`Command failed: ${cmd} ${args.join(" ")}\n${stderr}`));
|
|
45
43
|
}
|
|
46
44
|
});
|
|
47
|
-
child.on(
|
|
45
|
+
child.on("error", (error) => {
|
|
48
46
|
clearTimeout(timeout);
|
|
49
47
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
50
48
|
reject(err);
|
|
@@ -56,18 +54,16 @@ export async function execCommand(cmd, args = [], timeoutMs = 10000) {
|
|
|
56
54
|
* Returns absolute/relative executable path if found, otherwise null.
|
|
57
55
|
*/
|
|
58
56
|
export function resolveCommandPath(cmd) {
|
|
59
|
-
const pathEnv = process.env.PATH ||
|
|
57
|
+
const pathEnv = process.env.PATH || "";
|
|
60
58
|
const pathDirs = pathEnv.split(delimiter).filter(Boolean);
|
|
61
59
|
// If cmd already has a path separator, test directly
|
|
62
|
-
if (cmd.includes(
|
|
60
|
+
if (cmd.includes("/") || cmd.includes("\\")) {
|
|
63
61
|
return existsSync(cmd) ? cmd : null;
|
|
64
62
|
}
|
|
65
|
-
if (process.platform ===
|
|
66
|
-
const pathext = (process.env.PATHEXT ||
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const hasKnownExt = pathext.some(ext => cmd.toUpperCase().endsWith(ext.toUpperCase()));
|
|
70
|
-
const candidates = hasKnownExt ? [cmd] : [cmd, ...pathext.map(ext => `${cmd}${ext}`)];
|
|
63
|
+
if (process.platform === "win32") {
|
|
64
|
+
const pathext = (process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean);
|
|
65
|
+
const hasKnownExt = pathext.some((ext) => cmd.toUpperCase().endsWith(ext.toUpperCase()));
|
|
66
|
+
const candidates = hasKnownExt ? [cmd] : [cmd, ...pathext.map((ext) => `${cmd}${ext}`)];
|
|
71
67
|
for (const dir of pathDirs) {
|
|
72
68
|
for (const candidate of candidates) {
|
|
73
69
|
const fullPath = join(dir, candidate);
|
|
@@ -120,29 +116,29 @@ export function detectPlatform() {
|
|
|
120
116
|
const osPlatform = platform();
|
|
121
117
|
let os;
|
|
122
118
|
// Explicitly handle supported platforms
|
|
123
|
-
if (osPlatform ===
|
|
124
|
-
os =
|
|
119
|
+
if (osPlatform === "darwin") {
|
|
120
|
+
os = "darwin";
|
|
125
121
|
}
|
|
126
|
-
else if (osPlatform ===
|
|
127
|
-
os =
|
|
122
|
+
else if (osPlatform === "linux") {
|
|
123
|
+
os = "linux";
|
|
128
124
|
}
|
|
129
|
-
else if (osPlatform ===
|
|
130
|
-
os =
|
|
125
|
+
else if (osPlatform === "win32") {
|
|
126
|
+
os = "windows";
|
|
131
127
|
}
|
|
132
128
|
else {
|
|
133
129
|
throw new Error(`Unsupported platform: ${osPlatform}. ccodex supports darwin, linux, and win32.`);
|
|
134
130
|
}
|
|
135
131
|
// Detect shell
|
|
136
132
|
let shell = null;
|
|
137
|
-
const shellEnv = process.env.SHELL ||
|
|
138
|
-
if (shellEnv.includes(
|
|
139
|
-
shell =
|
|
133
|
+
const shellEnv = process.env.SHELL || "";
|
|
134
|
+
if (shellEnv.includes("zsh")) {
|
|
135
|
+
shell = "zsh";
|
|
140
136
|
}
|
|
141
|
-
else if (shellEnv.includes(
|
|
142
|
-
shell =
|
|
137
|
+
else if (shellEnv.includes("bash")) {
|
|
138
|
+
shell = "bash";
|
|
143
139
|
}
|
|
144
|
-
else if (os ===
|
|
145
|
-
shell = process.env.PSModulePath ?
|
|
140
|
+
else if (os === "windows") {
|
|
141
|
+
shell = process.env.PSModulePath ? "powershell" : "cmd";
|
|
146
142
|
}
|
|
147
143
|
return {
|
|
148
144
|
os,
|
|
@@ -155,24 +151,24 @@ export function detectPlatform() {
|
|
|
155
151
|
* Returns appropriate config file based on platform and shell
|
|
156
152
|
*/
|
|
157
153
|
export function getShellRcFile(platform) {
|
|
158
|
-
if (platform.os ===
|
|
154
|
+
if (platform.os === "windows") {
|
|
159
155
|
// Windows doesn't use rc files the same way
|
|
160
156
|
// Return a placeholder path for documentation purposes
|
|
161
|
-
return join(platform.home,
|
|
157
|
+
return join(platform.home, ".ccodex-config.ps1");
|
|
162
158
|
}
|
|
163
|
-
if (platform.shell ===
|
|
164
|
-
return join(platform.home,
|
|
159
|
+
if (platform.shell === "zsh") {
|
|
160
|
+
return join(platform.home, ".zshrc");
|
|
165
161
|
}
|
|
166
|
-
else if (platform.shell ===
|
|
167
|
-
return join(platform.home,
|
|
162
|
+
else if (platform.shell === "bash") {
|
|
163
|
+
return join(platform.home, ".bashrc");
|
|
168
164
|
}
|
|
169
|
-
return join(platform.home,
|
|
165
|
+
return join(platform.home, ".zshrc"); // default to zsh on Unix
|
|
170
166
|
}
|
|
171
167
|
/**
|
|
172
168
|
* Sleep for ms milliseconds
|
|
173
169
|
*/
|
|
174
170
|
export function sleep(ms) {
|
|
175
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
171
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
176
172
|
}
|
|
177
173
|
/**
|
|
178
174
|
* Make HTTP GET request with timeout
|
|
@@ -214,7 +210,7 @@ export function safeJsonParse(str, validator) {
|
|
|
214
210
|
return parsed;
|
|
215
211
|
}
|
|
216
212
|
catch (error) {
|
|
217
|
-
debugLog(
|
|
213
|
+
debugLog("safeJsonParse failed:", str.substring(0, 100), error);
|
|
218
214
|
return null;
|
|
219
215
|
}
|
|
220
216
|
}
|
|
@@ -234,7 +230,7 @@ export function fileExists(path) {
|
|
|
234
230
|
* Ensure directory exists
|
|
235
231
|
*/
|
|
236
232
|
export async function ensureDir(path) {
|
|
237
|
-
const fs = await import(
|
|
233
|
+
const fs = await import("fs/promises");
|
|
238
234
|
try {
|
|
239
235
|
await fs.mkdir(path, { recursive: true });
|
|
240
236
|
}
|
|
@@ -247,31 +243,31 @@ export async function ensureDir(path) {
|
|
|
247
243
|
* Read file content
|
|
248
244
|
*/
|
|
249
245
|
export async function readFile(path) {
|
|
250
|
-
const fs = await import(
|
|
251
|
-
return await fs.readFile(path,
|
|
246
|
+
const fs = await import("fs/promises");
|
|
247
|
+
return await fs.readFile(path, "utf-8");
|
|
252
248
|
}
|
|
253
249
|
/**
|
|
254
250
|
* Write file content
|
|
255
251
|
*/
|
|
256
252
|
export async function writeFile(path, content) {
|
|
257
|
-
const fs = await import(
|
|
258
|
-
await fs.writeFile(path, content,
|
|
253
|
+
const fs = await import("fs/promises");
|
|
254
|
+
await fs.writeFile(path, content, "utf-8");
|
|
259
255
|
}
|
|
260
256
|
/**
|
|
261
257
|
* Append to file
|
|
262
258
|
*/
|
|
263
259
|
export async function appendFile(path, content) {
|
|
264
|
-
const fs = await import(
|
|
265
|
-
await fs.appendFile(path, content,
|
|
260
|
+
const fs = await import("fs/promises");
|
|
261
|
+
await fs.appendFile(path, content, "utf-8");
|
|
266
262
|
}
|
|
267
263
|
/**
|
|
268
264
|
* Make file executable
|
|
269
265
|
* Only applies chmod on Unix/macOS; no-op on Windows
|
|
270
266
|
*/
|
|
271
267
|
export async function makeExecutable(path) {
|
|
272
|
-
const fs = await import(
|
|
268
|
+
const fs = await import("fs/promises");
|
|
273
269
|
// chmod doesn't work on Windows the same way
|
|
274
|
-
if (process.platform ===
|
|
270
|
+
if (process.platform === "win32") {
|
|
275
271
|
debugLog(`Skipping chmod on Windows for ${path}`);
|
|
276
272
|
return;
|
|
277
273
|
}
|
|
@@ -288,29 +284,73 @@ export async function makeExecutable(path) {
|
|
|
288
284
|
* Copy file
|
|
289
285
|
*/
|
|
290
286
|
export async function copyFile(src, dest) {
|
|
291
|
-
const fs = await import(
|
|
287
|
+
const fs = await import("fs/promises");
|
|
292
288
|
await fs.copyFile(src, dest);
|
|
293
289
|
}
|
|
294
290
|
/**
|
|
295
291
|
* Get user ID (cross-platform)
|
|
296
292
|
*/
|
|
297
293
|
export function getUid() {
|
|
298
|
-
if (typeof process.getuid ===
|
|
294
|
+
if (typeof process.getuid === "function") {
|
|
299
295
|
return process.getuid();
|
|
300
296
|
}
|
|
301
297
|
// Fallback for Windows - use a sensible default
|
|
302
298
|
// On Windows, we'd typically use username or SID instead
|
|
303
299
|
return 1000;
|
|
304
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* Get allowed installation directories for system commands
|
|
303
|
+
* Returns paths that are considered safe sources for tar/brew/npm
|
|
304
|
+
*/
|
|
305
|
+
function getTrustedCommandDirs() {
|
|
306
|
+
const home = homedir();
|
|
307
|
+
const allowed = [
|
|
308
|
+
"/usr/bin", // Standard system bin
|
|
309
|
+
"/usr/local/bin", // System local bin
|
|
310
|
+
"/bin", // Core system bin
|
|
311
|
+
"/opt/homebrew/bin", // Homebrew Apple Silicon
|
|
312
|
+
"/usr/local/bin", // Homebrew Intel
|
|
313
|
+
"/opt/homebrew", // Homebrew base
|
|
314
|
+
"/usr/local", // Local software base
|
|
315
|
+
];
|
|
316
|
+
// Add user-local paths
|
|
317
|
+
if (home) {
|
|
318
|
+
allowed.push(join(home, ".local", "bin"), join(home, ".npm", "global", "bin"), join(home, "node_modules", ".bin"));
|
|
319
|
+
}
|
|
320
|
+
return allowed;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Validate that a command path is from a trusted directory
|
|
324
|
+
* Throws if path is not absolute or not from allowed directory
|
|
325
|
+
*/
|
|
326
|
+
function validateCommandPath(cmd, cmdPath) {
|
|
327
|
+
if (!isAbsolute(cmdPath)) {
|
|
328
|
+
throw new Error(`${cmd} path is not absolute: ${cmdPath}`);
|
|
329
|
+
}
|
|
330
|
+
const realPath = resolve(cmdPath);
|
|
331
|
+
const allowedDirs = getTrustedCommandDirs();
|
|
332
|
+
const isAllowed = allowedDirs.some((allowedDir) => {
|
|
333
|
+
const resolvedAllowed = resolve(allowedDir);
|
|
334
|
+
return realPath.startsWith(resolvedAllowed + sep) || realPath === resolvedAllowed;
|
|
335
|
+
});
|
|
336
|
+
if (!isAllowed) {
|
|
337
|
+
throw new Error(`${cmd} binary not from trusted location.\n` +
|
|
338
|
+
`Path: ${realPath}\n` +
|
|
339
|
+
`Allowed directories: ${allowedDirs.join(", ")}\n\n` +
|
|
340
|
+
`For security, only commands from trusted locations are executed.\n` +
|
|
341
|
+
`If you installed ${cmd} manually, move it to a trusted directory.`);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
305
344
|
/**
|
|
306
345
|
* Resolve and validate trusted command path
|
|
307
|
-
* Ensures the command is
|
|
346
|
+
* Ensures the command is from a trusted directory before use
|
|
308
347
|
*/
|
|
309
348
|
export async function requireTrustedCommand(cmd) {
|
|
310
349
|
const p = await getCommandPath(cmd);
|
|
311
350
|
if (!p || !isAbsolute(p)) {
|
|
312
351
|
throw new Error(`${cmd} not found as absolute path in PATH`);
|
|
313
352
|
}
|
|
353
|
+
validateCommandPath(cmd, p);
|
|
314
354
|
return p;
|
|
315
355
|
}
|
|
316
356
|
/**
|
|
@@ -319,35 +359,35 @@ export async function requireTrustedCommand(cmd) {
|
|
|
319
359
|
*/
|
|
320
360
|
export async function runCmdBounded(cmd, args, timeoutMs = 15000, maxOut = 1_000_000) {
|
|
321
361
|
return await new Promise((resolve, reject) => {
|
|
322
|
-
const cp = spawn(cmd, args, { stdio: [
|
|
323
|
-
let stdout =
|
|
324
|
-
let stderr =
|
|
362
|
+
const cp = spawn(cmd, args, { stdio: ["ignore", "pipe", "pipe"] });
|
|
363
|
+
let stdout = "";
|
|
364
|
+
let stderr = "";
|
|
325
365
|
let killed = false;
|
|
326
366
|
const timer = setTimeout(() => {
|
|
327
367
|
killed = true;
|
|
328
368
|
// Platform-aware termination: SIGKILL on Unix, default kill on Windows
|
|
329
|
-
if (process.platform ===
|
|
369
|
+
if (process.platform === "win32") {
|
|
330
370
|
cp.kill(); // Windows: uses default termination
|
|
331
371
|
}
|
|
332
372
|
else {
|
|
333
|
-
cp.kill(
|
|
373
|
+
cp.kill("SIGKILL"); // Unix: force kill
|
|
334
374
|
}
|
|
335
375
|
}, timeoutMs);
|
|
336
|
-
cp.stdout?.on(
|
|
376
|
+
cp.stdout?.on("data", (d) => {
|
|
337
377
|
if (stdout.length < maxOut) {
|
|
338
378
|
stdout += d.toString();
|
|
339
379
|
}
|
|
340
380
|
});
|
|
341
|
-
cp.stderr?.on(
|
|
381
|
+
cp.stderr?.on("data", (d) => {
|
|
342
382
|
if (stderr.length < maxOut) {
|
|
343
383
|
stderr += d.toString();
|
|
344
384
|
}
|
|
345
385
|
});
|
|
346
|
-
cp.on(
|
|
386
|
+
cp.on("error", (error) => {
|
|
347
387
|
clearTimeout(timer);
|
|
348
388
|
reject(error);
|
|
349
389
|
});
|
|
350
|
-
cp.on(
|
|
390
|
+
cp.on("close", (code) => {
|
|
351
391
|
clearTimeout(timer);
|
|
352
392
|
if (killed) {
|
|
353
393
|
reject(new Error(`Command timeout after ${timeoutMs}ms: ${cmd}`));
|
|
@@ -369,10 +409,10 @@ const INSTALL_LOCK_MAX_WAIT_MS = 30 * 1000; // 30 seconds
|
|
|
369
409
|
* Returns false if PID doesn't exist, true if possibly alive
|
|
370
410
|
*/
|
|
371
411
|
function isPidAlive(pid) {
|
|
372
|
-
if (process.platform ===
|
|
412
|
+
if (process.platform === "win32") {
|
|
373
413
|
// On Windows, use tasklist to check if process exists
|
|
374
414
|
try {
|
|
375
|
-
const result = execSync(`tasklist /FI "PID eq ${pid}" 2>nul`, { encoding:
|
|
415
|
+
const result = execSync(`tasklist /FI "PID eq ${pid}" 2>nul`, { encoding: "utf8" });
|
|
376
416
|
return result.includes(String(pid));
|
|
377
417
|
}
|
|
378
418
|
catch {
|
|
@@ -389,12 +429,12 @@ function isPidAlive(pid) {
|
|
|
389
429
|
}
|
|
390
430
|
}
|
|
391
431
|
export async function withInstallLock(lockPath, fn) {
|
|
392
|
-
const fs = await import(
|
|
432
|
+
const fs = await import("fs/promises");
|
|
393
433
|
const start = Date.now();
|
|
394
434
|
while (true) {
|
|
395
435
|
try {
|
|
396
436
|
// Try to create lock file exclusively
|
|
397
|
-
const fh = await fs.open(lockPath,
|
|
437
|
+
const fh = await fs.open(lockPath, "wx");
|
|
398
438
|
// Write PID and timestamp
|
|
399
439
|
await fh.writeFile(JSON.stringify({ pid: process.pid, ts: Date.now() }));
|
|
400
440
|
try {
|
|
@@ -409,10 +449,10 @@ export async function withInstallLock(lockPath, fn) {
|
|
|
409
449
|
}
|
|
410
450
|
catch (e) {
|
|
411
451
|
// Lock file exists
|
|
412
|
-
if (e?.code !==
|
|
452
|
+
if (e?.code !== "EEXIST")
|
|
413
453
|
throw e;
|
|
414
454
|
// Read lock file to check PID
|
|
415
|
-
const lockContent = await fs.readFile(lockPath,
|
|
455
|
+
const lockContent = await fs.readFile(lockPath, "utf-8").catch(() => null);
|
|
416
456
|
let lockData = null;
|
|
417
457
|
if (lockContent) {
|
|
418
458
|
try {
|
|
@@ -420,7 +460,7 @@ export async function withInstallLock(lockPath, fn) {
|
|
|
420
460
|
}
|
|
421
461
|
catch {
|
|
422
462
|
// Malformed lock file - treat as invalid/stale
|
|
423
|
-
debugLog(
|
|
463
|
+
debugLog("Lock file contains invalid JSON, treating as stale");
|
|
424
464
|
lockData = null;
|
|
425
465
|
}
|
|
426
466
|
}
|
|
@@ -437,10 +477,10 @@ export async function withInstallLock(lockPath, fn) {
|
|
|
437
477
|
}
|
|
438
478
|
// Check timeout
|
|
439
479
|
if (Date.now() - start > INSTALL_LOCK_MAX_WAIT_MS) {
|
|
440
|
-
throw new Error(
|
|
480
|
+
throw new Error("Timed out waiting for install lock. Another install may be in progress.");
|
|
441
481
|
}
|
|
442
482
|
// Wait before retry
|
|
443
|
-
await new Promise(resolve => setTimeout(resolve, 250));
|
|
483
|
+
await new Promise((resolve) => setTimeout(resolve, 250));
|
|
444
484
|
}
|
|
445
485
|
}
|
|
446
486
|
}
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tuannvm/ccodex",
|
|
3
|
-
"version": "0.2
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "TypeScript reimplementation of ccodex - run Claude Code with OpenAI GPT models via CLIProxyAPI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "tsc",
|
|
12
12
|
"dev": "tsc --watch",
|
|
13
|
+
"lint": "eslint src --ext .ts",
|
|
14
|
+
"lint:fix": "eslint src --ext .ts --fix",
|
|
15
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
16
|
+
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
13
17
|
"prepack": "npm run build",
|
|
14
18
|
"prepublishOnly": "npm run build"
|
|
15
19
|
},
|
|
@@ -31,6 +35,10 @@
|
|
|
31
35
|
"devDependencies": {
|
|
32
36
|
"@types/cross-spawn": "^6.0.6",
|
|
33
37
|
"@types/node": "^20.0.0",
|
|
38
|
+
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
39
|
+
"@typescript-eslint/parser": "^7.0.0",
|
|
40
|
+
"eslint": "^8.57.0",
|
|
41
|
+
"prettier": "^3.2.0",
|
|
34
42
|
"typescript": "^5.0.0"
|
|
35
43
|
},
|
|
36
44
|
"dependencies": {
|