@tscircuit/cli 0.1.92 → 0.1.94
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/README.md +1 -0
- package/dist/main.js +566 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -49,6 +49,7 @@ Commands:
|
|
|
49
49
|
config Manage tscircuit CLI configuration
|
|
50
50
|
export [options] <file> Export tscircuit code to various formats
|
|
51
51
|
add <component> Add a component from tscircuit.com
|
|
52
|
+
upgrade Upgrade CLI to the latest version
|
|
52
53
|
help [command] display help for command
|
|
53
54
|
```
|
|
54
55
|
<!-- END_HELP_OUTPUT -->
|
package/dist/main.js
CHANGED
|
@@ -433425,7 +433425,7 @@ import readline from "node:readline";
|
|
|
433425
433425
|
import { execSync as execSync2 } from "node:child_process";
|
|
433426
433426
|
var import_semver = __toESM2(require_semver2(), 1);
|
|
433427
433427
|
// package.json
|
|
433428
|
-
var version = "0.1.
|
|
433428
|
+
var version = "0.1.93";
|
|
433429
433429
|
var package_default = {
|
|
433430
433430
|
name: "@tscircuit/cli",
|
|
433431
433431
|
version,
|
|
@@ -433436,7 +433436,7 @@ var package_default = {
|
|
|
433436
433436
|
"@tscircuit/core": "^0.0.353",
|
|
433437
433437
|
"@tscircuit/eval": "^0.0.152",
|
|
433438
433438
|
"@tscircuit/fake-snippets": "^0.0.23",
|
|
433439
|
-
"@tscircuit/file-server": "^0.0.
|
|
433439
|
+
"@tscircuit/file-server": "^0.0.19",
|
|
433440
433440
|
"@tscircuit/runframe": "^0.0.341",
|
|
433441
433441
|
"@types/bun": "^1.2.2",
|
|
433442
433442
|
"@types/configstore": "^6.0.2",
|
|
@@ -433495,7 +433495,7 @@ var package_default = {
|
|
|
433495
433495
|
|
|
433496
433496
|
// lib/shared/check-for-cli-update.ts
|
|
433497
433497
|
var checkForTsciUpdates = async () => {
|
|
433498
|
-
if (process.env.TSCI_SKIP_CLI_UPDATE
|
|
433498
|
+
if (process.env.TSCI_SKIP_CLI_UPDATE === "true")
|
|
433499
433499
|
return;
|
|
433500
433500
|
const currentCliVersion = program2.version() ?? import_semver.default.inc(version, "patch") ?? version;
|
|
433501
433501
|
const { version: latestCliVersion } = await distribution_default.get("https://registry.npmjs.org/@tscircuit/cli/latest", { throwHttpErrors: false }).json();
|
|
@@ -433514,6 +433514,8 @@ Would you like to update now?`);
|
|
|
433514
433514
|
console.warn(` ${installCommand}`);
|
|
433515
433515
|
}
|
|
433516
433516
|
}
|
|
433517
|
+
} else {
|
|
433518
|
+
return false;
|
|
433517
433519
|
}
|
|
433518
433520
|
};
|
|
433519
433521
|
var askConfirmation = (question) => {
|
|
@@ -434297,6 +434299,7 @@ init_lib();
|
|
|
434297
434299
|
init_lib();
|
|
434298
434300
|
init_lib();
|
|
434299
434301
|
init_lib();
|
|
434302
|
+
init_lib();
|
|
434300
434303
|
var fileSchema = z.object({
|
|
434301
434304
|
file_id: z.string(),
|
|
434302
434305
|
file_path: z.string(),
|
|
@@ -434531,7 +434534,7 @@ var get_default = withRouteSpec({
|
|
|
434531
434534
|
<p><span class="label">Created At:</span> ${file.created_at}</p>
|
|
434532
434535
|
</div>
|
|
434533
434536
|
<h2>Content:</h2>
|
|
434534
|
-
<pre>${file.text_content}</pre>
|
|
434537
|
+
<pre>${file.text_content.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">")}</pre>
|
|
434535
434538
|
</div>
|
|
434536
434539
|
</body>
|
|
434537
434540
|
</html>`, {
|
|
@@ -434758,6 +434761,70 @@ var health_default = withRouteSpec({
|
|
|
434758
434761
|
})((req, ctx) => {
|
|
434759
434762
|
return ctx.json({ ok: true });
|
|
434760
434763
|
});
|
|
434764
|
+
var PROXY_HEADERS = [
|
|
434765
|
+
"X-Target-Url",
|
|
434766
|
+
"X-Sender-Origin",
|
|
434767
|
+
"X-Sender-Host",
|
|
434768
|
+
"X-Sender-Referer",
|
|
434769
|
+
"X-Sender-User-Agent",
|
|
434770
|
+
"X-Sender-Cookie"
|
|
434771
|
+
];
|
|
434772
|
+
var proxy_default = withRouteSpec({
|
|
434773
|
+
methods: ["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"],
|
|
434774
|
+
jsonResponse: z.any()
|
|
434775
|
+
})(async (req, ctx) => {
|
|
434776
|
+
const targetUrl = req.headers.get("X-Target-Url");
|
|
434777
|
+
if (!targetUrl) {
|
|
434778
|
+
return ctx.json({ error: "X-Target-Url header is required" }, { status: 400 });
|
|
434779
|
+
}
|
|
434780
|
+
let body = undefined;
|
|
434781
|
+
if (["POST", "PUT", "PATCH"].includes(req.method)) {
|
|
434782
|
+
body = await req.clone().text();
|
|
434783
|
+
}
|
|
434784
|
+
const headers = new Headers(req.headers);
|
|
434785
|
+
const senderOrigin = req.headers.get("X-Sender-Origin");
|
|
434786
|
+
if (senderOrigin) {
|
|
434787
|
+
headers.set("Origin", senderOrigin);
|
|
434788
|
+
}
|
|
434789
|
+
const senderHost = req.headers.get("X-Sender-Host");
|
|
434790
|
+
if (senderHost) {
|
|
434791
|
+
headers.set("Host", senderHost);
|
|
434792
|
+
}
|
|
434793
|
+
const senderReferer = req.headers.get("X-Sender-Referer");
|
|
434794
|
+
if (senderReferer) {
|
|
434795
|
+
headers.set("Referer", senderReferer);
|
|
434796
|
+
}
|
|
434797
|
+
const senderUserAgent = req.headers.get("X-Sender-User-Agent");
|
|
434798
|
+
if (senderUserAgent) {
|
|
434799
|
+
headers.set("User-Agent", senderUserAgent);
|
|
434800
|
+
}
|
|
434801
|
+
const senderCookie = req.headers.get("X-Sender-Cookie");
|
|
434802
|
+
if (senderCookie) {
|
|
434803
|
+
headers.set("Cookie", senderCookie);
|
|
434804
|
+
}
|
|
434805
|
+
for (const header of PROXY_HEADERS) {
|
|
434806
|
+
headers.delete(header);
|
|
434807
|
+
}
|
|
434808
|
+
headers.delete("content-encoding");
|
|
434809
|
+
headers.delete("accept-encoding");
|
|
434810
|
+
try {
|
|
434811
|
+
const response = await fetch(targetUrl, {
|
|
434812
|
+
method: req.method,
|
|
434813
|
+
headers,
|
|
434814
|
+
body: ["GET", "HEAD"].includes(req.method) ? undefined : body
|
|
434815
|
+
});
|
|
434816
|
+
const responseHeaders = new Headers(response.headers);
|
|
434817
|
+
responseHeaders.delete("content-encoding");
|
|
434818
|
+
return new Response(response.body, {
|
|
434819
|
+
status: response.status,
|
|
434820
|
+
statusText: response.statusText,
|
|
434821
|
+
headers: responseHeaders
|
|
434822
|
+
});
|
|
434823
|
+
} catch (error) {
|
|
434824
|
+
console.error("Proxy error:", error);
|
|
434825
|
+
return ctx.json({ error: { message: "Failed to proxy request" } }, { status: 502 });
|
|
434826
|
+
}
|
|
434827
|
+
});
|
|
434761
434828
|
var routes_default = withRouteSpec({
|
|
434762
434829
|
methods: ["GET"],
|
|
434763
434830
|
jsonResponse: z.any()
|
|
@@ -434805,6 +434872,7 @@ var routeMapWithHandlers = {
|
|
|
434805
434872
|
"/files/list": list_default4,
|
|
434806
434873
|
"/files/upsert": upsert_default,
|
|
434807
434874
|
"/health": health_default,
|
|
434875
|
+
"/proxy": proxy_default,
|
|
434808
434876
|
"/": routes_default
|
|
434809
434877
|
};
|
|
434810
434878
|
var winterSpec = {
|
|
@@ -464290,6 +464358,499 @@ var registerAdd = (program3) => {
|
|
|
464290
464358
|
});
|
|
464291
464359
|
};
|
|
464292
464360
|
|
|
464361
|
+
// node_modules/chalk/source/vendor/ansi-styles/index.js
|
|
464362
|
+
var ANSI_BACKGROUND_OFFSET = 10;
|
|
464363
|
+
var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
|
|
464364
|
+
var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
|
|
464365
|
+
var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
|
|
464366
|
+
var styles = {
|
|
464367
|
+
modifier: {
|
|
464368
|
+
reset: [0, 0],
|
|
464369
|
+
bold: [1, 22],
|
|
464370
|
+
dim: [2, 22],
|
|
464371
|
+
italic: [3, 23],
|
|
464372
|
+
underline: [4, 24],
|
|
464373
|
+
overline: [53, 55],
|
|
464374
|
+
inverse: [7, 27],
|
|
464375
|
+
hidden: [8, 28],
|
|
464376
|
+
strikethrough: [9, 29]
|
|
464377
|
+
},
|
|
464378
|
+
color: {
|
|
464379
|
+
black: [30, 39],
|
|
464380
|
+
red: [31, 39],
|
|
464381
|
+
green: [32, 39],
|
|
464382
|
+
yellow: [33, 39],
|
|
464383
|
+
blue: [34, 39],
|
|
464384
|
+
magenta: [35, 39],
|
|
464385
|
+
cyan: [36, 39],
|
|
464386
|
+
white: [37, 39],
|
|
464387
|
+
blackBright: [90, 39],
|
|
464388
|
+
gray: [90, 39],
|
|
464389
|
+
grey: [90, 39],
|
|
464390
|
+
redBright: [91, 39],
|
|
464391
|
+
greenBright: [92, 39],
|
|
464392
|
+
yellowBright: [93, 39],
|
|
464393
|
+
blueBright: [94, 39],
|
|
464394
|
+
magentaBright: [95, 39],
|
|
464395
|
+
cyanBright: [96, 39],
|
|
464396
|
+
whiteBright: [97, 39]
|
|
464397
|
+
},
|
|
464398
|
+
bgColor: {
|
|
464399
|
+
bgBlack: [40, 49],
|
|
464400
|
+
bgRed: [41, 49],
|
|
464401
|
+
bgGreen: [42, 49],
|
|
464402
|
+
bgYellow: [43, 49],
|
|
464403
|
+
bgBlue: [44, 49],
|
|
464404
|
+
bgMagenta: [45, 49],
|
|
464405
|
+
bgCyan: [46, 49],
|
|
464406
|
+
bgWhite: [47, 49],
|
|
464407
|
+
bgBlackBright: [100, 49],
|
|
464408
|
+
bgGray: [100, 49],
|
|
464409
|
+
bgGrey: [100, 49],
|
|
464410
|
+
bgRedBright: [101, 49],
|
|
464411
|
+
bgGreenBright: [102, 49],
|
|
464412
|
+
bgYellowBright: [103, 49],
|
|
464413
|
+
bgBlueBright: [104, 49],
|
|
464414
|
+
bgMagentaBright: [105, 49],
|
|
464415
|
+
bgCyanBright: [106, 49],
|
|
464416
|
+
bgWhiteBright: [107, 49]
|
|
464417
|
+
}
|
|
464418
|
+
};
|
|
464419
|
+
var modifierNames = Object.keys(styles.modifier);
|
|
464420
|
+
var foregroundColorNames = Object.keys(styles.color);
|
|
464421
|
+
var backgroundColorNames = Object.keys(styles.bgColor);
|
|
464422
|
+
var colorNames = [...foregroundColorNames, ...backgroundColorNames];
|
|
464423
|
+
function assembleStyles() {
|
|
464424
|
+
const codes = new Map;
|
|
464425
|
+
for (const [groupName, group] of Object.entries(styles)) {
|
|
464426
|
+
for (const [styleName, style] of Object.entries(group)) {
|
|
464427
|
+
styles[styleName] = {
|
|
464428
|
+
open: `\x1B[${style[0]}m`,
|
|
464429
|
+
close: `\x1B[${style[1]}m`
|
|
464430
|
+
};
|
|
464431
|
+
group[styleName] = styles[styleName];
|
|
464432
|
+
codes.set(style[0], style[1]);
|
|
464433
|
+
}
|
|
464434
|
+
Object.defineProperty(styles, groupName, {
|
|
464435
|
+
value: group,
|
|
464436
|
+
enumerable: false
|
|
464437
|
+
});
|
|
464438
|
+
}
|
|
464439
|
+
Object.defineProperty(styles, "codes", {
|
|
464440
|
+
value: codes,
|
|
464441
|
+
enumerable: false
|
|
464442
|
+
});
|
|
464443
|
+
styles.color.close = "\x1B[39m";
|
|
464444
|
+
styles.bgColor.close = "\x1B[49m";
|
|
464445
|
+
styles.color.ansi = wrapAnsi16();
|
|
464446
|
+
styles.color.ansi256 = wrapAnsi256();
|
|
464447
|
+
styles.color.ansi16m = wrapAnsi16m();
|
|
464448
|
+
styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
|
|
464449
|
+
styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
|
|
464450
|
+
styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
|
|
464451
|
+
Object.defineProperties(styles, {
|
|
464452
|
+
rgbToAnsi256: {
|
|
464453
|
+
value(red, green, blue) {
|
|
464454
|
+
if (red === green && green === blue) {
|
|
464455
|
+
if (red < 8) {
|
|
464456
|
+
return 16;
|
|
464457
|
+
}
|
|
464458
|
+
if (red > 248) {
|
|
464459
|
+
return 231;
|
|
464460
|
+
}
|
|
464461
|
+
return Math.round((red - 8) / 247 * 24) + 232;
|
|
464462
|
+
}
|
|
464463
|
+
return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
|
|
464464
|
+
},
|
|
464465
|
+
enumerable: false
|
|
464466
|
+
},
|
|
464467
|
+
hexToRgb: {
|
|
464468
|
+
value(hex) {
|
|
464469
|
+
const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
|
|
464470
|
+
if (!matches) {
|
|
464471
|
+
return [0, 0, 0];
|
|
464472
|
+
}
|
|
464473
|
+
let [colorString] = matches;
|
|
464474
|
+
if (colorString.length === 3) {
|
|
464475
|
+
colorString = [...colorString].map((character) => character + character).join("");
|
|
464476
|
+
}
|
|
464477
|
+
const integer = Number.parseInt(colorString, 16);
|
|
464478
|
+
return [
|
|
464479
|
+
integer >> 16 & 255,
|
|
464480
|
+
integer >> 8 & 255,
|
|
464481
|
+
integer & 255
|
|
464482
|
+
];
|
|
464483
|
+
},
|
|
464484
|
+
enumerable: false
|
|
464485
|
+
},
|
|
464486
|
+
hexToAnsi256: {
|
|
464487
|
+
value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
|
|
464488
|
+
enumerable: false
|
|
464489
|
+
},
|
|
464490
|
+
ansi256ToAnsi: {
|
|
464491
|
+
value(code) {
|
|
464492
|
+
if (code < 8) {
|
|
464493
|
+
return 30 + code;
|
|
464494
|
+
}
|
|
464495
|
+
if (code < 16) {
|
|
464496
|
+
return 90 + (code - 8);
|
|
464497
|
+
}
|
|
464498
|
+
let red;
|
|
464499
|
+
let green;
|
|
464500
|
+
let blue;
|
|
464501
|
+
if (code >= 232) {
|
|
464502
|
+
red = ((code - 232) * 10 + 8) / 255;
|
|
464503
|
+
green = red;
|
|
464504
|
+
blue = red;
|
|
464505
|
+
} else {
|
|
464506
|
+
code -= 16;
|
|
464507
|
+
const remainder = code % 36;
|
|
464508
|
+
red = Math.floor(code / 36) / 5;
|
|
464509
|
+
green = Math.floor(remainder / 6) / 5;
|
|
464510
|
+
blue = remainder % 6 / 5;
|
|
464511
|
+
}
|
|
464512
|
+
const value2 = Math.max(red, green, blue) * 2;
|
|
464513
|
+
if (value2 === 0) {
|
|
464514
|
+
return 30;
|
|
464515
|
+
}
|
|
464516
|
+
let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
|
|
464517
|
+
if (value2 === 2) {
|
|
464518
|
+
result += 60;
|
|
464519
|
+
}
|
|
464520
|
+
return result;
|
|
464521
|
+
},
|
|
464522
|
+
enumerable: false
|
|
464523
|
+
},
|
|
464524
|
+
rgbToAnsi: {
|
|
464525
|
+
value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
|
|
464526
|
+
enumerable: false
|
|
464527
|
+
},
|
|
464528
|
+
hexToAnsi: {
|
|
464529
|
+
value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
|
|
464530
|
+
enumerable: false
|
|
464531
|
+
}
|
|
464532
|
+
});
|
|
464533
|
+
return styles;
|
|
464534
|
+
}
|
|
464535
|
+
var ansiStyles = assembleStyles();
|
|
464536
|
+
var ansi_styles_default = ansiStyles;
|
|
464537
|
+
|
|
464538
|
+
// node_modules/chalk/source/vendor/supports-color/index.js
|
|
464539
|
+
import process10 from "node:process";
|
|
464540
|
+
import os3 from "node:os";
|
|
464541
|
+
import tty from "node:tty";
|
|
464542
|
+
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process10.argv) {
|
|
464543
|
+
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
464544
|
+
const position2 = argv.indexOf(prefix + flag);
|
|
464545
|
+
const terminatorPosition = argv.indexOf("--");
|
|
464546
|
+
return position2 !== -1 && (terminatorPosition === -1 || position2 < terminatorPosition);
|
|
464547
|
+
}
|
|
464548
|
+
var { env: env2 } = process10;
|
|
464549
|
+
var flagForceColor;
|
|
464550
|
+
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
|
|
464551
|
+
flagForceColor = 0;
|
|
464552
|
+
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
|
|
464553
|
+
flagForceColor = 1;
|
|
464554
|
+
}
|
|
464555
|
+
function envForceColor() {
|
|
464556
|
+
if ("FORCE_COLOR" in env2) {
|
|
464557
|
+
if (env2.FORCE_COLOR === "true") {
|
|
464558
|
+
return 1;
|
|
464559
|
+
}
|
|
464560
|
+
if (env2.FORCE_COLOR === "false") {
|
|
464561
|
+
return 0;
|
|
464562
|
+
}
|
|
464563
|
+
return env2.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env2.FORCE_COLOR, 10), 3);
|
|
464564
|
+
}
|
|
464565
|
+
}
|
|
464566
|
+
function translateLevel(level) {
|
|
464567
|
+
if (level === 0) {
|
|
464568
|
+
return false;
|
|
464569
|
+
}
|
|
464570
|
+
return {
|
|
464571
|
+
level,
|
|
464572
|
+
hasBasic: true,
|
|
464573
|
+
has256: level >= 2,
|
|
464574
|
+
has16m: level >= 3
|
|
464575
|
+
};
|
|
464576
|
+
}
|
|
464577
|
+
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
464578
|
+
const noFlagForceColor = envForceColor();
|
|
464579
|
+
if (noFlagForceColor !== undefined) {
|
|
464580
|
+
flagForceColor = noFlagForceColor;
|
|
464581
|
+
}
|
|
464582
|
+
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
|
|
464583
|
+
if (forceColor === 0) {
|
|
464584
|
+
return 0;
|
|
464585
|
+
}
|
|
464586
|
+
if (sniffFlags) {
|
|
464587
|
+
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
|
|
464588
|
+
return 3;
|
|
464589
|
+
}
|
|
464590
|
+
if (hasFlag("color=256")) {
|
|
464591
|
+
return 2;
|
|
464592
|
+
}
|
|
464593
|
+
}
|
|
464594
|
+
if ("TF_BUILD" in env2 && "AGENT_NAME" in env2) {
|
|
464595
|
+
return 1;
|
|
464596
|
+
}
|
|
464597
|
+
if (haveStream && !streamIsTTY && forceColor === undefined) {
|
|
464598
|
+
return 0;
|
|
464599
|
+
}
|
|
464600
|
+
const min = forceColor || 0;
|
|
464601
|
+
if (env2.TERM === "dumb") {
|
|
464602
|
+
return min;
|
|
464603
|
+
}
|
|
464604
|
+
if (process10.platform === "win32") {
|
|
464605
|
+
const osRelease = os3.release().split(".");
|
|
464606
|
+
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
464607
|
+
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
464608
|
+
}
|
|
464609
|
+
return 1;
|
|
464610
|
+
}
|
|
464611
|
+
if ("CI" in env2) {
|
|
464612
|
+
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env2))) {
|
|
464613
|
+
return 3;
|
|
464614
|
+
}
|
|
464615
|
+
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env2)) || env2.CI_NAME === "codeship") {
|
|
464616
|
+
return 1;
|
|
464617
|
+
}
|
|
464618
|
+
return min;
|
|
464619
|
+
}
|
|
464620
|
+
if ("TEAMCITY_VERSION" in env2) {
|
|
464621
|
+
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env2.TEAMCITY_VERSION) ? 1 : 0;
|
|
464622
|
+
}
|
|
464623
|
+
if (env2.COLORTERM === "truecolor") {
|
|
464624
|
+
return 3;
|
|
464625
|
+
}
|
|
464626
|
+
if (env2.TERM === "xterm-kitty") {
|
|
464627
|
+
return 3;
|
|
464628
|
+
}
|
|
464629
|
+
if ("TERM_PROGRAM" in env2) {
|
|
464630
|
+
const version2 = Number.parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
|
|
464631
|
+
switch (env2.TERM_PROGRAM) {
|
|
464632
|
+
case "iTerm.app": {
|
|
464633
|
+
return version2 >= 3 ? 3 : 2;
|
|
464634
|
+
}
|
|
464635
|
+
case "Apple_Terminal": {
|
|
464636
|
+
return 2;
|
|
464637
|
+
}
|
|
464638
|
+
}
|
|
464639
|
+
}
|
|
464640
|
+
if (/-256(color)?$/i.test(env2.TERM)) {
|
|
464641
|
+
return 2;
|
|
464642
|
+
}
|
|
464643
|
+
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env2.TERM)) {
|
|
464644
|
+
return 1;
|
|
464645
|
+
}
|
|
464646
|
+
if ("COLORTERM" in env2) {
|
|
464647
|
+
return 1;
|
|
464648
|
+
}
|
|
464649
|
+
return min;
|
|
464650
|
+
}
|
|
464651
|
+
function createSupportsColor(stream, options = {}) {
|
|
464652
|
+
const level = _supportsColor(stream, {
|
|
464653
|
+
streamIsTTY: stream && stream.isTTY,
|
|
464654
|
+
...options
|
|
464655
|
+
});
|
|
464656
|
+
return translateLevel(level);
|
|
464657
|
+
}
|
|
464658
|
+
var supportsColor = {
|
|
464659
|
+
stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
|
|
464660
|
+
stderr: createSupportsColor({ isTTY: tty.isatty(2) })
|
|
464661
|
+
};
|
|
464662
|
+
var supports_color_default = supportsColor;
|
|
464663
|
+
|
|
464664
|
+
// node_modules/chalk/source/utilities.js
|
|
464665
|
+
function stringReplaceAll(string2, substring, replacer) {
|
|
464666
|
+
let index = string2.indexOf(substring);
|
|
464667
|
+
if (index === -1) {
|
|
464668
|
+
return string2;
|
|
464669
|
+
}
|
|
464670
|
+
const substringLength = substring.length;
|
|
464671
|
+
let endIndex = 0;
|
|
464672
|
+
let returnValue = "";
|
|
464673
|
+
do {
|
|
464674
|
+
returnValue += string2.slice(endIndex, index) + substring + replacer;
|
|
464675
|
+
endIndex = index + substringLength;
|
|
464676
|
+
index = string2.indexOf(substring, endIndex);
|
|
464677
|
+
} while (index !== -1);
|
|
464678
|
+
returnValue += string2.slice(endIndex);
|
|
464679
|
+
return returnValue;
|
|
464680
|
+
}
|
|
464681
|
+
function stringEncaseCRLFWithFirstIndex(string2, prefix, postfix, index) {
|
|
464682
|
+
let endIndex = 0;
|
|
464683
|
+
let returnValue = "";
|
|
464684
|
+
do {
|
|
464685
|
+
const gotCR = string2[index - 1] === "\r";
|
|
464686
|
+
returnValue += string2.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
|
|
464687
|
+
` : `
|
|
464688
|
+
`) + postfix;
|
|
464689
|
+
endIndex = index + 1;
|
|
464690
|
+
index = string2.indexOf(`
|
|
464691
|
+
`, endIndex);
|
|
464692
|
+
} while (index !== -1);
|
|
464693
|
+
returnValue += string2.slice(endIndex);
|
|
464694
|
+
return returnValue;
|
|
464695
|
+
}
|
|
464696
|
+
|
|
464697
|
+
// node_modules/chalk/source/index.js
|
|
464698
|
+
var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
|
|
464699
|
+
var GENERATOR = Symbol("GENERATOR");
|
|
464700
|
+
var STYLER = Symbol("STYLER");
|
|
464701
|
+
var IS_EMPTY = Symbol("IS_EMPTY");
|
|
464702
|
+
var levelMapping = [
|
|
464703
|
+
"ansi",
|
|
464704
|
+
"ansi",
|
|
464705
|
+
"ansi256",
|
|
464706
|
+
"ansi16m"
|
|
464707
|
+
];
|
|
464708
|
+
var styles2 = Object.create(null);
|
|
464709
|
+
var applyOptions = (object, options = {}) => {
|
|
464710
|
+
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
|
|
464711
|
+
throw new Error("The `level` option should be an integer from 0 to 3");
|
|
464712
|
+
}
|
|
464713
|
+
const colorLevel = stdoutColor ? stdoutColor.level : 0;
|
|
464714
|
+
object.level = options.level === undefined ? colorLevel : options.level;
|
|
464715
|
+
};
|
|
464716
|
+
var chalkFactory = (options) => {
|
|
464717
|
+
const chalk = (...strings) => strings.join(" ");
|
|
464718
|
+
applyOptions(chalk, options);
|
|
464719
|
+
Object.setPrototypeOf(chalk, createChalk.prototype);
|
|
464720
|
+
return chalk;
|
|
464721
|
+
};
|
|
464722
|
+
function createChalk(options) {
|
|
464723
|
+
return chalkFactory(options);
|
|
464724
|
+
}
|
|
464725
|
+
Object.setPrototypeOf(createChalk.prototype, Function.prototype);
|
|
464726
|
+
for (const [styleName, style] of Object.entries(ansi_styles_default)) {
|
|
464727
|
+
styles2[styleName] = {
|
|
464728
|
+
get() {
|
|
464729
|
+
const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
|
|
464730
|
+
Object.defineProperty(this, styleName, { value: builder });
|
|
464731
|
+
return builder;
|
|
464732
|
+
}
|
|
464733
|
+
};
|
|
464734
|
+
}
|
|
464735
|
+
styles2.visible = {
|
|
464736
|
+
get() {
|
|
464737
|
+
const builder = createBuilder(this, this[STYLER], true);
|
|
464738
|
+
Object.defineProperty(this, "visible", { value: builder });
|
|
464739
|
+
return builder;
|
|
464740
|
+
}
|
|
464741
|
+
};
|
|
464742
|
+
var getModelAnsi = (model, level, type, ...arguments_) => {
|
|
464743
|
+
if (model === "rgb") {
|
|
464744
|
+
if (level === "ansi16m") {
|
|
464745
|
+
return ansi_styles_default[type].ansi16m(...arguments_);
|
|
464746
|
+
}
|
|
464747
|
+
if (level === "ansi256") {
|
|
464748
|
+
return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
|
|
464749
|
+
}
|
|
464750
|
+
return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
|
|
464751
|
+
}
|
|
464752
|
+
if (model === "hex") {
|
|
464753
|
+
return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
|
|
464754
|
+
}
|
|
464755
|
+
return ansi_styles_default[type][model](...arguments_);
|
|
464756
|
+
};
|
|
464757
|
+
var usedModels = ["rgb", "hex", "ansi256"];
|
|
464758
|
+
for (const model of usedModels) {
|
|
464759
|
+
styles2[model] = {
|
|
464760
|
+
get() {
|
|
464761
|
+
const { level } = this;
|
|
464762
|
+
return function(...arguments_) {
|
|
464763
|
+
const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
|
|
464764
|
+
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
464765
|
+
};
|
|
464766
|
+
}
|
|
464767
|
+
};
|
|
464768
|
+
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
|
|
464769
|
+
styles2[bgModel] = {
|
|
464770
|
+
get() {
|
|
464771
|
+
const { level } = this;
|
|
464772
|
+
return function(...arguments_) {
|
|
464773
|
+
const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
|
|
464774
|
+
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
464775
|
+
};
|
|
464776
|
+
}
|
|
464777
|
+
};
|
|
464778
|
+
}
|
|
464779
|
+
var proto = Object.defineProperties(() => {}, {
|
|
464780
|
+
...styles2,
|
|
464781
|
+
level: {
|
|
464782
|
+
enumerable: true,
|
|
464783
|
+
get() {
|
|
464784
|
+
return this[GENERATOR].level;
|
|
464785
|
+
},
|
|
464786
|
+
set(level) {
|
|
464787
|
+
this[GENERATOR].level = level;
|
|
464788
|
+
}
|
|
464789
|
+
}
|
|
464790
|
+
});
|
|
464791
|
+
var createStyler = (open2, close, parent) => {
|
|
464792
|
+
let openAll;
|
|
464793
|
+
let closeAll;
|
|
464794
|
+
if (parent === undefined) {
|
|
464795
|
+
openAll = open2;
|
|
464796
|
+
closeAll = close;
|
|
464797
|
+
} else {
|
|
464798
|
+
openAll = parent.openAll + open2;
|
|
464799
|
+
closeAll = close + parent.closeAll;
|
|
464800
|
+
}
|
|
464801
|
+
return {
|
|
464802
|
+
open: open2,
|
|
464803
|
+
close,
|
|
464804
|
+
openAll,
|
|
464805
|
+
closeAll,
|
|
464806
|
+
parent
|
|
464807
|
+
};
|
|
464808
|
+
};
|
|
464809
|
+
var createBuilder = (self2, _styler, _isEmpty) => {
|
|
464810
|
+
const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
|
|
464811
|
+
Object.setPrototypeOf(builder, proto);
|
|
464812
|
+
builder[GENERATOR] = self2;
|
|
464813
|
+
builder[STYLER] = _styler;
|
|
464814
|
+
builder[IS_EMPTY] = _isEmpty;
|
|
464815
|
+
return builder;
|
|
464816
|
+
};
|
|
464817
|
+
var applyStyle = (self2, string2) => {
|
|
464818
|
+
if (self2.level <= 0 || !string2) {
|
|
464819
|
+
return self2[IS_EMPTY] ? "" : string2;
|
|
464820
|
+
}
|
|
464821
|
+
let styler = self2[STYLER];
|
|
464822
|
+
if (styler === undefined) {
|
|
464823
|
+
return string2;
|
|
464824
|
+
}
|
|
464825
|
+
const { openAll, closeAll } = styler;
|
|
464826
|
+
if (string2.includes("\x1B")) {
|
|
464827
|
+
while (styler !== undefined) {
|
|
464828
|
+
string2 = stringReplaceAll(string2, styler.close, styler.open);
|
|
464829
|
+
styler = styler.parent;
|
|
464830
|
+
}
|
|
464831
|
+
}
|
|
464832
|
+
const lfIndex = string2.indexOf(`
|
|
464833
|
+
`);
|
|
464834
|
+
if (lfIndex !== -1) {
|
|
464835
|
+
string2 = stringEncaseCRLFWithFirstIndex(string2, closeAll, openAll, lfIndex);
|
|
464836
|
+
}
|
|
464837
|
+
return openAll + string2 + closeAll;
|
|
464838
|
+
};
|
|
464839
|
+
Object.defineProperties(createChalk.prototype, styles2);
|
|
464840
|
+
var chalk = createChalk();
|
|
464841
|
+
var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
464842
|
+
var source_default = chalk;
|
|
464843
|
+
|
|
464844
|
+
// cli/upgrade/register.ts
|
|
464845
|
+
function registerUpgradeCommand(program3) {
|
|
464846
|
+
program3.command("upgrade").description("Upgrade CLI to the latest version").action(async () => {
|
|
464847
|
+
const isUpdated = await checkForTsciUpdates();
|
|
464848
|
+
if (!isUpdated) {
|
|
464849
|
+
console.log(source_default.green("You are already using the latest version of tsci."));
|
|
464850
|
+
}
|
|
464851
|
+
});
|
|
464852
|
+
}
|
|
464853
|
+
|
|
464293
464854
|
// cli/main.ts
|
|
464294
464855
|
var program2 = new Command;
|
|
464295
464856
|
program2.name("tsci").description("CLI for developing tscircuit snippets").version(getVersion());
|
|
@@ -464306,6 +464867,7 @@ registerConfig(program2);
|
|
|
464306
464867
|
registerConfigPrint(program2);
|
|
464307
464868
|
registerExport(program2);
|
|
464308
464869
|
registerAdd(program2);
|
|
464870
|
+
registerUpgradeCommand(program2);
|
|
464309
464871
|
if (process.argv.length === 2) {
|
|
464310
464872
|
import_perfect_cli.perfectCli(program2, process.argv);
|
|
464311
464873
|
} else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tscircuit/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.94",
|
|
4
4
|
"main": "dist/main.js",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@babel/standalone": "^7.26.9",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"@tscircuit/core": "^0.0.353",
|
|
9
9
|
"@tscircuit/eval": "^0.0.152",
|
|
10
10
|
"@tscircuit/fake-snippets": "^0.0.23",
|
|
11
|
-
"@tscircuit/file-server": "^0.0.
|
|
11
|
+
"@tscircuit/file-server": "^0.0.19",
|
|
12
12
|
"@tscircuit/runframe": "^0.0.341",
|
|
13
13
|
"@types/bun": "^1.2.2",
|
|
14
14
|
"@types/configstore": "^6.0.2",
|