@tscircuit/cli 0.1.2429 → 0.1.2431

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/cli/main.js CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/dist/cli/main.js
3
- size: 47982762 bytes
4
- sha256: b782284543ce13a71d814b0e57694e468859c1c462bbbdada404066cc03e45e4
3
+ size: 48051834 bytes
4
+ sha256: f503b9f0bdfb3d44ec3d773f845132cad4f23d4bc21a1e6164a4ba366d2114b8
package/dist/lib/index.js CHANGED
@@ -86134,8 +86134,93 @@ var prompts_default = prompts;
86134
86134
  // lib/shared/get-package-manager.ts
86135
86135
  import fs19 from "fs";
86136
86136
  import { exec, execSync } from "node:child_process";
86137
+ import { promisify as promisify4 } from "node:util";
86138
+
86139
+ // lib/shared/get-bun-package-manager.ts
86140
+ import { execFile, execFileSync } from "node:child_process";
86137
86141
  import { promisify as promisify3 } from "node:util";
86138
- var execAsync = promisify3(exec);
86142
+
86143
+ // cli/node-runtime.js
86144
+ function getNodeRuntime() {
86145
+ const configured = process.env.TSCIRCUIT_NODE_RUNTIME;
86146
+ const args = JSON.parse(process.env.TSCIRCUIT_NODE_RUNTIME_ARGS || "[]");
86147
+ if (!Array.isArray(args) || args.some((arg) => typeof arg !== "string")) {
86148
+ throw new Error("TSCIRCUIT_NODE_RUNTIME_ARGS must be a JSON array of strings");
86149
+ }
86150
+ return {
86151
+ executable: configured || "bun",
86152
+ args,
86153
+ env: { ...process.env, ...configured ? { BUN_BE_BUN: "1" } : {} }
86154
+ };
86155
+ }
86156
+
86157
+ // lib/shared/get-bun-package-manager.ts
86158
+ var execFileAsync = promisify3(execFile);
86159
+ function getBunPackageManager() {
86160
+ const runtime = getNodeRuntime();
86161
+ const names = (name) => Array.isArray(name) ? name : [name];
86162
+ const display = (args) => {
86163
+ const quote = (value) => process.platform === "win32" ? `'${value.replaceAll("'", "''")}'` : `'${value.replaceAll("'", "'\\''")}'`;
86164
+ const command = [runtime.executable, ...runtime.args, ...args].map(quote).join(" ");
86165
+ return process.platform === "win32" ? `$env:BUN_BE_BUN='1'; & ${command}` : `BUN_BE_BUN=1 ${command}`;
86166
+ };
86167
+ const sync = (args, cwd) => {
86168
+ console.log(`> ${display(args)}`);
86169
+ execFileSync(runtime.executable, [...runtime.args, ...args], {
86170
+ cwd,
86171
+ env: runtime.env,
86172
+ stdio: "inherit"
86173
+ });
86174
+ };
86175
+ const asyncRun = async (args, cwd) => {
86176
+ console.log(`> ${display(args)}`);
86177
+ const { stdout, stderr } = await execFileAsync(runtime.executable, [...runtime.args, ...args], {
86178
+ cwd,
86179
+ env: runtime.env,
86180
+ maxBuffer: 10 * 1024 * 1024
86181
+ });
86182
+ if (stdout)
86183
+ process.stdout.write(stdout);
86184
+ if (stderr)
86185
+ process.stderr.write(stderr);
86186
+ };
86187
+ const addArgs = (deps, dev) => [
86188
+ "add",
86189
+ ...dev ? ["-d"] : [],
86190
+ ...deps
86191
+ ];
86192
+ return {
86193
+ name: "bun",
86194
+ uninstall: ({ name, cwd }) => sync(["remove", ...names(name)], cwd),
86195
+ install: ({ name, cwd }) => asyncRun(addArgs(names(name)), cwd),
86196
+ update: ({ name, cwd }) => sync(["update", ...names(name)], cwd),
86197
+ init: ({ cwd }) => sync(["init", "-y"], cwd),
86198
+ installDeps: ({ deps, cwd, dev }) => asyncRun(addArgs(deps, dev), cwd),
86199
+ installAll: ({ cwd }) => sync(["install"], cwd),
86200
+ installGlobal: ({ name, cwd }) => sync(["install", "-g", ...names(name)], cwd),
86201
+ getInitCommand: () => display(["init", "-y"]),
86202
+ getInstallDepsCommand: (deps, dev) => display(addArgs(deps, dev)),
86203
+ getInstallAllCommand: () => display(["install"]),
86204
+ getGlobalInstallCommand: (name) => display(["install", "-g", ...names(name)])
86205
+ };
86206
+ }
86207
+
86208
+ // lib/shared/get-dep-install-command.ts
86209
+ var getGlobalDepsInstallCommand = (packageManager, deps) => {
86210
+ switch (packageManager) {
86211
+ case "yarn":
86212
+ return `yarn global add ${deps}`;
86213
+ case "pnpm":
86214
+ return `pnpm add -g ${deps}`;
86215
+ case "bun":
86216
+ return `bun install -g ${deps}`;
86217
+ default:
86218
+ return `npm install -g ${deps}`;
86219
+ }
86220
+ };
86221
+
86222
+ // lib/shared/get-package-manager.ts
86223
+ var execAsync = promisify4(exec);
86139
86224
  function detectPackageManager() {
86140
86225
  const userAgent = process.env.npm_config_user_agent || "";
86141
86226
  if (userAgent.startsWith("yarn"))
@@ -86165,10 +86250,13 @@ function detectPackageManager() {
86165
86250
  return "npm";
86166
86251
  }
86167
86252
  function getPackageManager() {
86253
+ if (process.env.TSCIRCUIT_NODE_RUNTIME)
86254
+ return getBunPackageManager();
86168
86255
  const pm = detectPackageManager();
86169
86256
  return {
86170
86257
  name: pm,
86171
86258
  uninstall: ({ name, cwd }) => {
86259
+ name = Array.isArray(name) ? name.join(" ") : name;
86172
86260
  let uninstallCommand;
86173
86261
  if (pm === "yarn") {
86174
86262
  uninstallCommand = `yarn remove ${name}`;
@@ -86182,6 +86270,7 @@ function getPackageManager() {
86182
86270
  execSync(uninstallCommand, { stdio: "pipe", cwd });
86183
86271
  },
86184
86272
  install: async ({ name, cwd }) => {
86273
+ name = Array.isArray(name) ? name.join(" ") : name;
86185
86274
  let installCommand;
86186
86275
  if (pm === "yarn") {
86187
86276
  installCommand = `yarn add ${name}`;
@@ -86203,6 +86292,7 @@ function getPackageManager() {
86203
86292
  process.stderr.write(stderr);
86204
86293
  },
86205
86294
  update: ({ name, cwd }) => {
86295
+ name = Array.isArray(name) ? name.join(" ") : name;
86206
86296
  let updateCommand;
86207
86297
  if (pm === "yarn") {
86208
86298
  updateCommand = `yarn upgrade ${name}`;
@@ -86250,7 +86340,11 @@ function getPackageManager() {
86250
86340
  process.stdout.write(output);
86251
86341
  }
86252
86342
  },
86253
- getInstallAllCommand
86343
+ getInstallAllCommand,
86344
+ getGlobalInstallCommand: (name) => getGlobalDepsInstallCommand(pm, Array.isArray(name) ? name.join(" ") : name),
86345
+ installGlobal: ({ name, cwd }) => {
86346
+ execSync(getGlobalDepsInstallCommand(pm, Array.isArray(name) ? name.join(" ") : name), { cwd, stdio: "inherit" });
86347
+ }
86254
86348
  };
86255
86349
  function getInitCommand() {
86256
86350
  if (pm === "yarn")
@@ -86590,7 +86684,7 @@ async function addPackagesUnlocked(packageSpecs, projectDir) {
86590
86684
  const packageManager = getPackageManager();
86591
86685
  try {
86592
86686
  await packageManager.install({
86593
- name: installTargets.join(" "),
86687
+ name: installTargets,
86594
86688
  cwd: projectDir
86595
86689
  });
86596
86690
  console.log(kleur_default.green(`✓ Added ${kleur_default.bold(displayNames)} successfully`));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tscircuit/cli",
3
- "version": "0.1.2429",
3
+ "version": "0.1.2431",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/tscircuit/cli"
@@ -43,7 +43,7 @@
43
43
  "circuit-json-to-gerber": "^0.0.120",
44
44
  "circuit-json-to-kicad": "0.0.259",
45
45
  "circuit-json-to-readable-netlist": "^0.0.15",
46
- "circuit-json-to-step": "^0.0.47",
46
+ "circuit-json-to-step": "^0.0.63",
47
47
  "circuit-json-to-tscircuit": "^0.0.50",
48
48
  "circuit-json-trace-length-analysis": "github:tscircuit/circuit-json-trace-length-analysis#2b44792a40df0ca83b6bfb6ac95ed5e35e7168b8",
49
49
  "circuit-to-canvas": "^0.0.123",
@@ -91,6 +91,7 @@
91
91
  "files": [
92
92
  "dist",
93
93
  "cli/entrypoint.js",
94
+ "cli/node-runtime.js",
94
95
  "types"
95
96
  ],
96
97
  "peerDependenciesMeta": {