@couch-kit/cli 0.2.3 → 0.2.5

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.
Files changed (2) hide show
  1. package/dist/index.js +52 -11
  2. package/package.json +7 -2
package/dist/index.js CHANGED
@@ -29,7 +29,7 @@ var __export = (target, all) => {
29
29
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
30
30
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
31
31
 
32
- // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/error.js
32
+ // ../../node_modules/commander/lib/error.js
33
33
  var require_error = __commonJS((exports) => {
34
34
  class CommanderError extends Error {
35
35
  constructor(exitCode, code, message) {
@@ -53,7 +53,7 @@ var require_error = __commonJS((exports) => {
53
53
  exports.InvalidArgumentError = InvalidArgumentError;
54
54
  });
55
55
 
56
- // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/argument.js
56
+ // ../../node_modules/commander/lib/argument.js
57
57
  var require_argument = __commonJS((exports) => {
58
58
  var { InvalidArgumentError } = require_error();
59
59
 
@@ -132,7 +132,7 @@ var require_argument = __commonJS((exports) => {
132
132
  exports.humanReadableArgName = humanReadableArgName;
133
133
  });
134
134
 
135
- // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/help.js
135
+ // ../../node_modules/commander/lib/help.js
136
136
  var require_help = __commonJS((exports) => {
137
137
  var { humanReadableArgName } = require_argument();
138
138
 
@@ -381,7 +381,7 @@ var require_help = __commonJS((exports) => {
381
381
  exports.Help = Help;
382
382
  });
383
383
 
384
- // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/option.js
384
+ // ../../node_modules/commander/lib/option.js
385
385
  var require_option = __commonJS((exports) => {
386
386
  var { InvalidArgumentError } = require_error();
387
387
 
@@ -532,7 +532,7 @@ var require_option = __commonJS((exports) => {
532
532
  exports.DualOptions = DualOptions;
533
533
  });
534
534
 
535
- // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/suggestSimilar.js
535
+ // ../../node_modules/commander/lib/suggestSimilar.js
536
536
  var require_suggestSimilar = __commonJS((exports) => {
537
537
  var maxDistance = 3;
538
538
  function editDistance(a, b) {
@@ -605,7 +605,7 @@ var require_suggestSimilar = __commonJS((exports) => {
605
605
  exports.suggestSimilar = suggestSimilar;
606
606
  });
607
607
 
608
- // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/command.js
608
+ // ../../node_modules/commander/lib/command.js
609
609
  var require_command = __commonJS((exports) => {
610
610
  var EventEmitter = __require("node:events").EventEmitter;
611
611
  var childProcess = __require("node:child_process");
@@ -1848,7 +1848,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1848
1848
  exports.Command = Command;
1849
1849
  });
1850
1850
 
1851
- // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/index.js
1851
+ // ../../node_modules/commander/index.js
1852
1852
  var require_commander = __commonJS((exports) => {
1853
1853
  var { Argument } = require_argument();
1854
1854
  var { Command } = require_command();
@@ -1868,7 +1868,7 @@ var require_commander = __commonJS((exports) => {
1868
1868
  exports.InvalidOptionArgumentError = InvalidArgumentError;
1869
1869
  });
1870
1870
 
1871
- // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/esm.mjs
1871
+ // ../../node_modules/commander/esm.mjs
1872
1872
  var import__, program, createCommand, createArgument, createOption, CommanderError, InvalidArgumentError, InvalidOptionArgumentError, Command, Argument, Option, Help;
1873
1873
  var init_esm = __esm(() => {
1874
1874
  import__ = __toESM(require_commander(), 1);
@@ -1907,14 +1907,28 @@ var init_protocol = __esm(() => {
1907
1907
  });
1908
1908
 
1909
1909
  // ../core/src/constants.ts
1910
+ function generateId() {
1911
+ if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
1912
+ return crypto.randomUUID();
1913
+ }
1914
+ if (typeof crypto !== "undefined" && typeof crypto.getRandomValues === "function") {
1915
+ const bytes = new Uint8Array(16);
1916
+ crypto.getRandomValues(bytes);
1917
+ return Array.from(bytes).map((b2) => b2.toString(16).padStart(2, "0")).join("");
1918
+ }
1919
+ const a = Math.random().toString(36).substring(2, 15);
1920
+ const b = Math.random().toString(36).substring(2, 10);
1921
+ return a + b;
1922
+ }
1910
1923
  function toErrorMessage(error) {
1911
1924
  if (error instanceof Error)
1912
1925
  return error.message;
1913
1926
  return String(error);
1914
1927
  }
1915
- var MAX_FRAME_SIZE;
1928
+ var MAX_FRAME_SIZE, DEFAULT_DISCONNECT_TIMEOUT;
1916
1929
  var init_constants = __esm(() => {
1917
1930
  MAX_FRAME_SIZE = 1024 * 1024;
1931
+ DEFAULT_DISCONNECT_TIMEOUT = 5 * 60 * 1000;
1918
1932
  });
1919
1933
 
1920
1934
  // ../core/src/index.ts
@@ -1945,6 +1959,20 @@ function collectFiles(dir, prefix = "") {
1945
1959
  }
1946
1960
  return files;
1947
1961
  }
1962
+ function detectPackageManager(dir) {
1963
+ for (let current = dir, parent = "";parent !== current; current = path.dirname(current)) {
1964
+ parent = current;
1965
+ if (fs.existsSync(path.join(current, "bun.lockb")) || fs.existsSync(path.join(current, "bun.lock")))
1966
+ return "bun";
1967
+ if (fs.existsSync(path.join(current, "pnpm-lock.yaml")))
1968
+ return "pnpm";
1969
+ if (fs.existsSync(path.join(current, "yarn.lock")))
1970
+ return "yarn";
1971
+ if (fs.existsSync(path.join(current, "package-lock.json")))
1972
+ return "npm";
1973
+ }
1974
+ return "npm";
1975
+ }
1948
1976
  var bundleCommand;
1949
1977
  var init_bundle = __esm(() => {
1950
1978
  init_esm();
@@ -1958,7 +1986,9 @@ var init_bundle = __esm(() => {
1958
1986
  if (options.build) {
1959
1987
  console.log(" Running build command...");
1960
1988
  if (fs.existsSync(path.join(sourceDir, "package.json"))) {
1961
- execSync("bun run build", { cwd: sourceDir, stdio: "ignore" });
1989
+ const pm = detectPackageManager(sourceDir);
1990
+ console.log(` Using ${pm} to build...`);
1991
+ execSync(`${pm} run build`, { cwd: sourceDir, stdio: "inherit" });
1962
1992
  } else {
1963
1993
  console.warn(" No package.json found, skipping build");
1964
1994
  }
@@ -2009,12 +2039,13 @@ var init_simulate = __esm(() => {
2009
2039
  const bots = [];
2010
2040
  const intervals = [];
2011
2041
  for (let i = 0;i < count; i++) {
2042
+ const secret = generateId();
2012
2043
  const ws = new WebSocket(url);
2013
2044
  ws.addEventListener("open", () => {
2014
2045
  console.log(`[Bot ${i}] Connected`);
2015
2046
  ws.send(JSON.stringify({
2016
2047
  type: MessageTypes.JOIN,
2017
- payload: { name: `Bot ${i}`, avatar: "bot" }
2048
+ payload: { name: `Bot ${i}`, avatar: "bot", secret }
2018
2049
  }));
2019
2050
  const id = setInterval(() => {
2020
2051
  if (ws.readyState === WebSocket.OPEN) {
@@ -2026,6 +2057,16 @@ var init_simulate = __esm(() => {
2026
2057
  }, interval + Math.random() * 500);
2027
2058
  intervals.push(id);
2028
2059
  });
2060
+ ws.addEventListener("message", (event) => {
2061
+ try {
2062
+ const msg = JSON.parse(typeof event.data === "string" ? event.data : event.data.toString());
2063
+ if (msg.type === MessageTypes.WELCOME) {
2064
+ console.log(`[Bot ${i}] Joined as ${msg.payload.playerId}`);
2065
+ } else if (msg.type === MessageTypes.ERROR) {
2066
+ console.error(`[Bot ${i}] Server error: ${msg.payload.message}`);
2067
+ }
2068
+ } catch {}
2069
+ });
2029
2070
  ws.addEventListener("close", () => {
2030
2071
  console.log(`[Bot ${i}] Disconnected`);
2031
2072
  });
package/package.json CHANGED
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "@couch-kit/cli",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
+ "publishConfig": {
5
+ "access": "public",
6
+ "provenance": true
7
+ },
4
8
  "description": "CLI tools for Couch Kit party games — bundle web controllers, simulate clients, and scaffold projects",
5
9
  "license": "MIT",
6
10
  "repository": {
@@ -28,10 +32,11 @@
28
32
  "test": "bun test",
29
33
  "lint": "eslint src/",
30
34
  "typecheck": "tsc --noEmit",
35
+ "prepublishOnly": "bun run build",
31
36
  "clean": "rm -rf dist"
32
37
  },
33
38
  "dependencies": {
34
- "@couch-kit/core": "0.5.0",
39
+ "@couch-kit/core": "0.6.0",
35
40
  "commander": "^12.0.0"
36
41
  },
37
42
  "devDependencies": {