@spencer-kit/coder-studio 0.3.0 → 0.3.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#21](https://github.com/spencerkit/coder-studio/pull/21) [`ce9607d`](https://github.com/spencerkit/coder-studio/commit/ce9607daba95019a4a5cdf2a2df8b78fbbf38b53) Thanks [@pallyoung](https://github.com/pallyoung)! - Refactor the CLI entry structure so the executable wrapper only launches the command entrypoint, while the reusable CLI logic lives in a separate module. This fixes cases where globally installed `coder-studio` commands could fail to print output because the entry module was misdetected.
8
+
3
9
  ## 0.3.0
4
10
 
5
11
  ### Minor Changes
package/dist/esm/bin.mjs CHANGED
@@ -4032,7 +4032,7 @@ import { mkdir as mkdir3, mkdtemp, rm as rm4, writeFile as writeFile3 } from "fs
4032
4032
  import os2 from "os";
4033
4033
  import path4 from "path";
4034
4034
  async function runGit(cwd, args, options = {}) {
4035
- return new Promise((resolve4, reject) => {
4035
+ return new Promise((resolve3, reject) => {
4036
4036
  const gitArgs = [
4037
4037
  ...options.config?.flatMap(([key, value]) => ["-c", `${key}=${value}`]) ?? [],
4038
4038
  ...args
@@ -4058,7 +4058,7 @@ async function runGit(cwd, args, options = {}) {
4058
4058
  if (err) {
4059
4059
  reject(new GitError(err.message, stderr));
4060
4060
  } else {
4061
- resolve4({ stdout, stderr });
4061
+ resolve3({ stdout, stderr });
4062
4062
  }
4063
4063
  }
4064
4064
  );
@@ -4745,13 +4745,13 @@ function ensureNodePtySpawnHelperExecutable(deps = {}) {
4745
4745
  return;
4746
4746
  }
4747
4747
  const arch = deps.arch ?? process.arch;
4748
- const resolve4 = deps.resolve ?? ((id) => require2.resolve(id));
4748
+ const resolve3 = deps.resolve ?? ((id) => require2.resolve(id));
4749
4749
  const fileExists = deps.existsSync ?? existsSync3;
4750
4750
  const stat7 = deps.statSync ?? statSync;
4751
4751
  const chmod = deps.chmodSync ?? chmodSync;
4752
4752
  let packageJsonPath;
4753
4753
  try {
4754
- packageJsonPath = resolve4(NODE_PTY_PKG);
4754
+ packageJsonPath = resolve3(NODE_PTY_PKG);
4755
4755
  } catch {
4756
4756
  return;
4757
4757
  }
@@ -4816,7 +4816,7 @@ async function escalateKillWithPolling(pid, signal, options) {
4816
4816
  const startTime = Date.now();
4817
4817
  const deadline = startTime + timeoutMs;
4818
4818
  while (Date.now() < deadline) {
4819
- await new Promise((resolve4) => setTimeout(resolve4, pollIntervalMs));
4819
+ await new Promise((resolve3) => setTimeout(resolve3, pollIntervalMs));
4820
4820
  if (!isProcessAlive(pid)) {
4821
4821
  return true;
4822
4822
  }
@@ -4940,7 +4940,7 @@ async function runCommand(command, timeoutMs, options = {}) {
4940
4940
  if (options.signal?.aborted) {
4941
4941
  throw createSupervisorEvalAbortedError();
4942
4942
  }
4943
- return await new Promise((resolve4, reject) => {
4943
+ return await new Promise((resolve3, reject) => {
4944
4944
  const child = spawn(command.argv[0], command.argv.slice(1), {
4945
4945
  cwd: command.cwd,
4946
4946
  detached: process.platform !== "win32",
@@ -4969,7 +4969,7 @@ async function runCommand(command, timeoutMs, options = {}) {
4969
4969
  }
4970
4970
  settled = true;
4971
4971
  cleanup();
4972
- resolve4(value);
4972
+ resolve3(value);
4973
4973
  };
4974
4974
  const terminate = (error) => {
4975
4975
  if (terminationError) {
@@ -5356,12 +5356,12 @@ var init_scheduler = __esm({
5356
5356
 
5357
5357
  // packages/server/src/supervisor/manager.ts
5358
5358
  function createDeferredCompletion() {
5359
- let resolve4 = () => {
5359
+ let resolve3 = () => {
5360
5360
  };
5361
5361
  const promise = new Promise((innerResolve) => {
5362
- resolve4 = innerResolve;
5362
+ resolve3 = innerResolve;
5363
5363
  });
5364
- return { promise, resolve: resolve4 };
5364
+ return { promise, resolve: resolve3 };
5365
5365
  }
5366
5366
  function generateSupervisorId() {
5367
5367
  return `sup_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
@@ -6300,8 +6300,8 @@ var init_terminal_snapshot_buffer = __esm({
6300
6300
  if (this.pendingWriteCount === 0) {
6301
6301
  return Promise.resolve();
6302
6302
  }
6303
- return new Promise((resolve4) => {
6304
- this.drainResolvers.push(resolve4);
6303
+ return new Promise((resolve3) => {
6304
+ this.drainResolvers.push(resolve3);
6305
6305
  });
6306
6306
  }
6307
6307
  resolveDrainIfIdle() {
@@ -6310,8 +6310,8 @@ var init_terminal_snapshot_buffer = __esm({
6310
6310
  }
6311
6311
  const resolvers = this.drainResolvers;
6312
6312
  this.drainResolvers = [];
6313
- for (const resolve4 of resolvers) {
6314
- resolve4();
6313
+ for (const resolve3 of resolvers) {
6314
+ resolve3();
6315
6315
  }
6316
6316
  }
6317
6317
  requireTerminal() {
@@ -6630,10 +6630,10 @@ var init_manager3 = __esm({
6630
6630
  }
6631
6631
  return existing.promise;
6632
6632
  }
6633
- let resolve4 = () => {
6633
+ let resolve3 = () => {
6634
6634
  };
6635
6635
  const promise = new Promise((innerResolve) => {
6636
- resolve4 = innerResolve;
6636
+ resolve3 = innerResolve;
6637
6637
  });
6638
6638
  let markKillCompleted = () => {
6639
6639
  };
@@ -6646,7 +6646,7 @@ var init_manager3 = __esm({
6646
6646
  markKillCompleted,
6647
6647
  finalized: false,
6648
6648
  promise,
6649
- resolve: resolve4
6649
+ resolve: resolve3
6650
6650
  });
6651
6651
  void terminal.pty.kill(signal).finally(() => {
6652
6652
  const waiter = this.explicitCloseWaiters.get(terminalId);
@@ -7342,16 +7342,16 @@ async function debounce(key, op, windowMs) {
7342
7342
  clearTimeout(entry.timer);
7343
7343
  entry.op = op;
7344
7344
  } else {
7345
- let resolve4;
7345
+ let resolve3;
7346
7346
  let reject;
7347
7347
  const promise = new Promise((res, rej) => {
7348
- resolve4 = res;
7348
+ resolve3 = res;
7349
7349
  reject = rej;
7350
7350
  });
7351
7351
  entry = {
7352
7352
  timer: void 0,
7353
7353
  promise,
7354
- resolve: resolve4,
7354
+ resolve: resolve3,
7355
7355
  reject,
7356
7356
  op
7357
7357
  };
@@ -8228,7 +8228,7 @@ var init_hub = __esm({
8228
8228
  }
8229
8229
  }
8230
8230
  awaitBinaryPayload(clientId) {
8231
- return new Promise((resolve4, reject) => {
8231
+ return new Promise((resolve3, reject) => {
8232
8232
  const timer = setTimeout(() => {
8233
8233
  const waiters = this.pendingBinaryWaiters.get(clientId);
8234
8234
  if (!waiters) return;
@@ -8240,7 +8240,7 @@ var init_hub = __esm({
8240
8240
  }
8241
8241
  reject(new Error("Timeout waiting for terminal input binary payload"));
8242
8242
  }, BINARY_PAYLOAD_TIMEOUT_MS);
8243
- const waiter = { resolve: resolve4, reject, timer };
8243
+ const waiter = { resolve: resolve3, reject, timer };
8244
8244
  const queue = this.pendingBinaryWaiters.get(clientId);
8245
8245
  if (queue) {
8246
8246
  queue.push(waiter);
@@ -10591,9 +10591,9 @@ var init_src3 = __esm({
10591
10591
  }
10592
10592
  });
10593
10593
 
10594
- // packages/cli/src/bin.ts
10594
+ // packages/cli/src/cli.ts
10595
10595
  import { existsSync as existsSync9, readFileSync as readFileSync7 } from "fs";
10596
- import { dirname as dirname6, join as join10, resolve as resolve3 } from "path";
10596
+ import { dirname as dirname6, join as join10 } from "path";
10597
10597
  import { fileURLToPath as fileURLToPath3 } from "url";
10598
10598
 
10599
10599
  // packages/cli/src/auth-control.ts
@@ -10692,7 +10692,7 @@ function getOpenCommand(url) {
10692
10692
  }
10693
10693
  async function openBrowser(url) {
10694
10694
  const { command, args } = getOpenCommand(url);
10695
- await new Promise((resolve4, reject) => {
10695
+ await new Promise((resolve3, reject) => {
10696
10696
  const child = spawn2(command, args, {
10697
10697
  detached: true,
10698
10698
  stdio: "ignore"
@@ -10700,7 +10700,7 @@ async function openBrowser(url) {
10700
10700
  child.once("error", reject);
10701
10701
  child.once("spawn", () => {
10702
10702
  child.unref();
10703
- resolve4();
10703
+ resolve3();
10704
10704
  });
10705
10705
  });
10706
10706
  }
@@ -11046,18 +11046,18 @@ async function loadPm2() {
11046
11046
  }
11047
11047
  var connectPm2 = async () => {
11048
11048
  const pm2 = await loadPm2();
11049
- return new Promise((resolve4, reject) => {
11049
+ return new Promise((resolve3, reject) => {
11050
11050
  pm2.connect((error) => {
11051
11051
  if (error) {
11052
11052
  reject(error);
11053
11053
  return;
11054
11054
  }
11055
- resolve4();
11055
+ resolve3();
11056
11056
  });
11057
11057
  });
11058
11058
  };
11059
- var sleep = async (ms) => new Promise((resolve4) => {
11060
- setTimeout(resolve4, ms);
11059
+ var sleep = async (ms) => new Promise((resolve3) => {
11060
+ setTimeout(resolve3, ms);
11061
11061
  });
11062
11062
  var disconnectPm2 = async () => {
11063
11063
  const pm2 = await loadPm2();
@@ -11065,33 +11065,33 @@ var disconnectPm2 = async () => {
11065
11065
  };
11066
11066
  var describeManagedServer = async () => {
11067
11067
  const pm2 = await loadPm2();
11068
- return new Promise((resolve4, reject) => {
11068
+ return new Promise((resolve3, reject) => {
11069
11069
  pm2.describe(MANAGED_SERVER_NAME, (error, result) => {
11070
11070
  if (error) {
11071
11071
  reject(error);
11072
11072
  return;
11073
11073
  }
11074
- resolve4(result ?? []);
11074
+ resolve3(result ?? []);
11075
11075
  });
11076
11076
  });
11077
11077
  };
11078
11078
  var removeManagedServer = async () => {
11079
11079
  const pm2 = await loadPm2();
11080
- return new Promise((resolve4, reject) => {
11080
+ return new Promise((resolve3, reject) => {
11081
11081
  pm2.delete(MANAGED_SERVER_NAME, (error) => {
11082
11082
  if (error) {
11083
11083
  reject(error);
11084
11084
  return;
11085
11085
  }
11086
- resolve4();
11086
+ resolve3();
11087
11087
  });
11088
11088
  });
11089
11089
  };
11090
11090
  var killPm2Daemon = async () => {
11091
11091
  const pm2 = await loadPm2();
11092
- return new Promise((resolve4) => {
11092
+ return new Promise((resolve3) => {
11093
11093
  pm2.kill(() => {
11094
- resolve4();
11094
+ resolve3();
11095
11095
  });
11096
11096
  });
11097
11097
  };
@@ -11227,7 +11227,7 @@ var startManagedServer = async ({
11227
11227
  const pm2 = await loadPm2();
11228
11228
  await withPm2Connection(async () => {
11229
11229
  const logOffsets = captureStartupLogOffsets();
11230
- await new Promise((resolve4, reject) => {
11230
+ await new Promise((resolve3, reject) => {
11231
11231
  pm2.start(
11232
11232
  {
11233
11233
  name: MANAGED_SERVER_NAME,
@@ -11250,7 +11250,7 @@ var startManagedServer = async ({
11250
11250
  reject(error);
11251
11251
  return;
11252
11252
  }
11253
- resolve4();
11253
+ resolve3();
11254
11254
  }
11255
11255
  );
11256
11256
  });
@@ -11451,7 +11451,7 @@ function getBrowserUrl(status) {
11451
11451
  return `http://${host}:${status.port}`;
11452
11452
  }
11453
11453
 
11454
- // packages/cli/src/bin.ts
11454
+ // packages/cli/src/cli.ts
11455
11455
  var MANAGED_SERVER_WAIT_MS = 5e3;
11456
11456
  var DEFAULT_LOG_TAIL_LINES = 40;
11457
11457
  function formatConfig(config) {
@@ -11590,20 +11590,6 @@ function resolveManagedScriptPath() {
11590
11590
  }
11591
11591
  return scriptPath;
11592
11592
  }
11593
- function isCliEntrypoint() {
11594
- if (process.argv[1] === void 0) {
11595
- return false;
11596
- }
11597
- const currentFile = fileURLToPath3(import.meta.url);
11598
- const currentDir = dirname6(currentFile);
11599
- const entryScript = resolve3(process.argv[1]);
11600
- const entryCandidates = /* @__PURE__ */ new Set([
11601
- currentFile,
11602
- join10(currentDir, "../bin.js"),
11603
- join10(currentDir, "../dist/bin.js")
11604
- ]);
11605
- return entryCandidates.has(entryScript);
11606
- }
11607
11593
  function isRunningStatus(status) {
11608
11594
  return status.status === "running" || status.status === "starting";
11609
11595
  }
@@ -11746,14 +11732,11 @@ async function main(argv = process.argv.slice(2)) {
11746
11732
  console.log("Coder Studio server started in background.");
11747
11733
  console.log("Run `coder-studio status` to inspect the server.");
11748
11734
  }
11749
- if (isCliEntrypoint()) {
11750
- main().catch((error) => {
11751
- const message = error instanceof Error ? error.message : String(error);
11752
- console.error("CLI error:", message);
11753
- process.exit(1);
11754
- });
11755
- }
11756
- export {
11757
- main
11758
- };
11735
+
11736
+ // packages/cli/src/bin.ts
11737
+ void main().catch((error) => {
11738
+ const message = error instanceof Error ? error.message : String(error);
11739
+ console.error("CLI error:", message);
11740
+ process.exit(1);
11741
+ });
11759
11742
  //# sourceMappingURL=bin.mjs.map