@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.
- package/dist/index.js +52 -11
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
+
"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.
|
|
39
|
+
"@couch-kit/core": "0.6.0",
|
|
35
40
|
"commander": "^12.0.0"
|
|
36
41
|
},
|
|
37
42
|
"devDependencies": {
|