You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
mcpx: --runtime node rejects TypeScript that Node runs, because of one flag (strip-types) #263
mcpx's node runtime is invoked with --experimental-strip-types, whose strip-only mode rejects non-erasable TypeScript (enum, value namespaces, parameter properties) that Node itself runs fine once types are transformed. On machines without deno or bun, auto-resolution lands on node, so such scripts fail with a raw SyntaxError that looks like the author's mistake.
This is the same defect as dezren39/darwin-nix#108 (approach B), fixed there by dezren39/nix PR #387. This repo's pkgs/mcpx copy still has the old flag — internal/runner/runtimes.go differs from the fixed nix copy only in this hunk.
internal/runner/runtimes.go: swap --experimental-strip-types → --experimental-transform-types, with the explanatory comment from the nix fix.
docs/runtimes.md: update the node row to match.
Add internal/runner/runtimes_test.go (the package currently has no such test file): an argv assertion (transform present, strip absent, via the existing fakeRuntimes helper in permissions_test.go) and an end-to-end test that an enum script actually runs under the resolved node (skipping on nodes too old for the flag).
Out of scope: approach C from dezren39/darwin-nix#108 (runtime capability probe + actionable parse-failure diagnostics) — that remains tracked there.
Acceptance criteria
mcpx run / mcpx exec scripts using enum or value namespaces run successfully when node is the resolved runtime.
New regression tests fail without the flag change and pass with it (ablation).
go test ./internal/runner/ green; docs row matches the actual argv.
Activity
Merge pull request #264 from developing-today/creator/263-node-transf…