@maka/maka-cli 5.56.0 → 5.58.0

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 (35) hide show
  1. package/README.md +27 -0
  2. package/bundle/typescript/package.json +8 -6
  3. package/bundle/typescript/src/README.md +27 -0
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/note.js +9 -1
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/note.js.map +1 -1
  6. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +4 -0
  7. package/bundle/typescript/src/commands/game/sideQuest/game.js +20 -1
  8. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  9. package/bundle/typescript/src/commands/game/sideQuest/ui.d.ts +1 -0
  10. package/bundle/typescript/src/commands/game/sideQuest/ui.js +22 -14
  11. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  12. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js +30 -0
  13. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js.map +1 -1
  14. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +11 -6
  15. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  16. package/bundle/typescript/src/maka.js +60 -7
  17. package/bundle/typescript/src/maka.js.map +1 -1
  18. package/bundle/typescript/src/tools/mpi/mpi.class.js +12 -12
  19. package/bundle/typescript/src/tools/mpi/mpi.class.js.map +1 -1
  20. package/bundle/typescript/src/tools/mpi/sdk-runtime.d.ts +1 -1
  21. package/bundle/typescript/src/tools/mpi/sdk-runtime.js +37 -1
  22. package/bundle/typescript/src/tools/mpi/sdk-runtime.js.map +1 -1
  23. package/bundle/typescript/src/tools/sdk-loader/relocate.d.ts +9 -0
  24. package/bundle/typescript/src/tools/sdk-loader/relocate.js +131 -0
  25. package/bundle/typescript/src/tools/sdk-loader/relocate.js.map +1 -0
  26. package/bundle/typescript/src/tools/sdk-loader/runtime-fetch.d.ts +13 -0
  27. package/bundle/typescript/src/tools/sdk-loader/runtime-fetch.js +194 -0
  28. package/bundle/typescript/src/tools/sdk-loader/runtime-fetch.js.map +1 -0
  29. package/bundle/typescript/src/tools/sdk-loader/sdk-loader.class.d.ts +33 -0
  30. package/bundle/typescript/src/tools/sdk-loader/sdk-loader.class.js +252 -0
  31. package/bundle/typescript/src/tools/sdk-loader/sdk-loader.class.js.map +1 -0
  32. package/bundle/typescript/src/tools/version/cli-version.d.ts +8 -0
  33. package/bundle/typescript/src/tools/version/cli-version.js +24 -20
  34. package/bundle/typescript/src/tools/version/cli-version.js.map +1 -1
  35. package/package.json +8 -6
package/README.md CHANGED
@@ -10,10 +10,37 @@ NodeJS backed applications deployed to on-prem and cloud-based infrastructures.
10
10
  If you like Maka-CLI, consider supporting me at [Patreon](https://www.patreon.com/user/membership?u=110174702)! ☕️
11
11
 
12
12
  ## Installation
13
+
14
+ ### With Node.js
13
15
  ```
14
16
  npm i -g @maka/maka-cli
15
17
  ```
16
18
 
19
+ ### Without Node.js — standalone executable
20
+
21
+ Self-contained builds that need no Node.js installed. Extract, and the binary
22
+ inside is called `maka`. These links always resolve to the most recent
23
+ release, so they never need updating.
24
+
25
+ | Platform | Download |
26
+ | --- | --- |
27
+ | macOS (Apple Silicon) | [maka-macos-arm64.tar.gz](https://github.com/maka-io/maka-cli/releases/latest/download/maka-macos-arm64.tar.gz) |
28
+ | macOS (Intel) | [maka-macos-x64.tar.gz](https://github.com/maka-io/maka-cli/releases/latest/download/maka-macos-x64.tar.gz) |
29
+ | Linux (x64) | [maka-linux-x64.tar.gz](https://github.com/maka-io/maka-cli/releases/latest/download/maka-linux-x64.tar.gz) |
30
+ | Linux (arm64) | [maka-linux-arm64.tar.gz](https://github.com/maka-io/maka-cli/releases/latest/download/maka-linux-arm64.tar.gz) |
31
+ | Windows (x64) | [maka-win-x64.zip](https://github.com/maka-io/maka-cli/releases/latest/download/maka-win-x64.zip) |
32
+
33
+ ```
34
+ tar -xzf maka-macos-arm64.tar.gz # macOS / Linux
35
+ chmod +x maka
36
+ ./maka --help
37
+ ```
38
+
39
+ The first Meteor command (`maka build`, `run` or `create`) downloads the
40
+ Meteor toolchain and a Node runtime for it into `~/.meteor/.maka/runtime/`;
41
+ that happens once. Every other command works immediately with nothing to
42
+ download.
43
+
17
44
  ## Getting Started
18
45
  ```
19
46
  maka create KickTiresApp
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.56.0",
3
+ "version": "5.58.0",
4
4
  "type": "module",
5
5
  "summary": "A command line tool for scaffolding Meteor 2.x applications using either React.",
6
6
  "description": "A command line tool for scaffolding Meteor 2.x applications using React.",
@@ -25,12 +25,13 @@
25
25
  "maka": "./typescript/src/maka.js",
26
26
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
27
27
  "develop": "npm run build && concurrently \"tsc -w\" \"wait-on -d 10 ./src/exec.js && chmod +x ./src/exec.js\"",
28
- "build": "rm -rf ./bundle && tsc && npm run prep && node scripts/check-command-registry.mjs",
28
+ "build": "node scripts/check-deps.mjs && rm -rf ./bundle && tsc && npm run prep && node scripts/check-command-registry.mjs",
29
+ "check:deps": "node scripts/check-deps.mjs",
29
30
  "prep": " cp -R ./src/templates ./bundle/typescript/src/ && cp ./README.md ./bundle/typescript/src/ && cp ./package.json ./bundle/typescript/ && cp ./src/commands/game/sideQuest/scenes/*.json ./bundle/typescript/src/commands/game/sideQuest/scenes/ && chmod +x ./bundle/typescript/src/exec.js",
30
- "//": "## es-build, and package are still experimental",
31
- "es-build": "esbuild ./bundle/typescript/src/maka.js --bundle --platform=node --outfile=bundle/maka.cjs",
32
- "package": "pkg ./bundle/maka.cjs -d --bundle --out-path=\"bundle/compiled\" --compress GZip",
33
- "distribute": "mkdir -p compiled/macos compiled/linux compiled/win && mv bundle/compiled/maka-linux compiled/linux/maka && mv bundle/compiled/maka-macos compiled/macos/maka && mv bundle/compiled/maka-win.exe compiled/win/maka.exe",
31
+ "build:bundle": "node scripts/build-bundle.mjs",
32
+ "test:parity": "node scripts/check-bundle-parity.mjs",
33
+ "package": "npm run build:bundle && node scripts/package.mjs",
34
+ "distribute": "node scripts/distribute.mjs",
34
35
  "prepare": "husky install"
35
36
  },
36
37
  "author": "Maka <maka@maka-cli.com>",
@@ -89,6 +90,7 @@
89
90
  "@types/node": "^22.8.5",
90
91
  "@types/uuid": "^10.0.0",
91
92
  "@types/ws": "^8.18.1",
93
+ "@yao-pkg/pkg": "^6.22.0",
92
94
  "concurrently": "^10.0.5",
93
95
  "esbuild": "^0.28.2",
94
96
  "eslint": "^9.13.0",
@@ -10,10 +10,37 @@ NodeJS backed applications deployed to on-prem and cloud-based infrastructures.
10
10
  If you like Maka-CLI, consider supporting me at [Patreon](https://www.patreon.com/user/membership?u=110174702)! ☕️
11
11
 
12
12
  ## Installation
13
+
14
+ ### With Node.js
13
15
  ```
14
16
  npm i -g @maka/maka-cli
15
17
  ```
16
18
 
19
+ ### Without Node.js — standalone executable
20
+
21
+ Self-contained builds that need no Node.js installed. Extract, and the binary
22
+ inside is called `maka`. These links always resolve to the most recent
23
+ release, so they never need updating.
24
+
25
+ | Platform | Download |
26
+ | --- | --- |
27
+ | macOS (Apple Silicon) | [maka-macos-arm64.tar.gz](https://github.com/maka-io/maka-cli/releases/latest/download/maka-macos-arm64.tar.gz) |
28
+ | macOS (Intel) | [maka-macos-x64.tar.gz](https://github.com/maka-io/maka-cli/releases/latest/download/maka-macos-x64.tar.gz) |
29
+ | Linux (x64) | [maka-linux-x64.tar.gz](https://github.com/maka-io/maka-cli/releases/latest/download/maka-linux-x64.tar.gz) |
30
+ | Linux (arm64) | [maka-linux-arm64.tar.gz](https://github.com/maka-io/maka-cli/releases/latest/download/maka-linux-arm64.tar.gz) |
31
+ | Windows (x64) | [maka-win-x64.zip](https://github.com/maka-io/maka-cli/releases/latest/download/maka-win-x64.zip) |
32
+
33
+ ```
34
+ tar -xzf maka-macos-arm64.tar.gz # macOS / Linux
35
+ chmod +x maka
36
+ ./maka --help
37
+ ```
38
+
39
+ The first Meteor command (`maka build`, `run` or `create`) downloads the
40
+ Meteor toolchain and a Node runtime for it into `~/.meteor/.maka/runtime/`;
41
+ that happens once. Every other command works immediately with nothing to
42
+ download.
43
+
17
44
  ## Getting Started
18
45
  ```
19
46
  maka create KickTiresApp
@@ -53,7 +53,15 @@ export class NoteCommand extends Command {
53
53
  try {
54
54
  mkdirSync(dirname(path), { recursive: true });
55
55
  const stamp = new Date().toISOString();
56
- const where = this.actor?.currentLocation?.name ?? 'nowhere';
56
+ // MID-SHARED-RUN the local actor is still standing in the hub --
57
+ // the run itself is a server-side engine, and this command is
58
+ // deliberately routed home (see Game.LOCAL_ONLY_VERBS) so the note
59
+ // lands on the machine that typed it. Stamping the hub room onto a
60
+ // note written out on a job would be a plausible-looking lie, so
61
+ // say plainly where it came from instead.
62
+ const where = this.game?.remoteSession
63
+ ? 'shared run'
64
+ : (this.actor?.currentLocation?.name ?? 'nowhere');
57
65
  appendFileSync(path, `- [${stamp}] (${where}) ${text}\n`, 'utf8');
58
66
  }
59
67
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"note.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/note.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"note.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/note.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,10 @@ export default class Game {
74
74
  * together. undefined for harnesses and headless clients, which run
75
75
  * with no log path at all -- callers must have a fallback.
76
76
  */
77
+ /** Verbs that must run on the player's OWN machine even mid-shared-run:
78
+ * they write local files or read local state, and mean nothing to the
79
+ * table. See the guard in handleInput. */
80
+ private static readonly LOCAL_ONLY_VERBS;
77
81
  get sessionDir(): string | undefined;
78
82
  /** The active job's name (seed name) -- notoriety incidents cite it. */
79
83
  get currentJobName(): string | undefined;
@@ -193,6 +193,10 @@ export default class Game {
193
193
  * together. undefined for harnesses and headless clients, which run
194
194
  * with no log path at all -- callers must have a fallback.
195
195
  */
196
+ /** Verbs that must run on the player's OWN machine even mid-shared-run:
197
+ * they write local files or read local state, and mean nothing to the
198
+ * table. See the guard in handleInput. */
199
+ static LOCAL_ONLY_VERBS = new Set(['note']);
196
200
  get sessionDir() {
197
201
  return this._logFilePath ? dirname(this._logFilePath) : undefined;
198
202
  }
@@ -3692,7 +3696,22 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
3692
3696
  // the whole ui.ts pipeline (echo, menu routing, status refresh)
3693
3697
  // keeps working because the delegate honors handleInput's contract.
3694
3698
  if (this.remoteSession) {
3695
- return this.remoteSession.command(input);
3699
+ // NOT EVERYTHING BELONGS TO THE TABLE (playtest 2026-08-26: eight
3700
+ // notes typed during a shared run printed "Noted." and vanished).
3701
+ // A shared run executes every command in the headless engine on
3702
+ // the server, so `note` ran THERE -- homedir() resolved to the
3703
+ // server's home and the player's own bug reports were appended to
3704
+ // maka-cli.com's disk, where they can never see them. The hints
3705
+ // toggle hid the path that would have given it away.
3706
+ //
3707
+ // These verbs touch no fiction and no shared state: they are the
3708
+ // player's own margin scribbles about the game. They have no
3709
+ // business crossing the wire, and the table has no business
3710
+ // hearing them. Run them on the machine that typed them.
3711
+ const verb = input.trim().split(/\s+/)[0]?.toLowerCase() ?? '';
3712
+ if (!Game.LOCAL_ONLY_VERBS.has(verb)) {
3713
+ return this.remoteSession.command(input);
3714
+ }
3696
3715
  }
3697
3716
  return (await this.handleInputAs(this.player.name, input)).text;
3698
3717
  }