Commit Graph

5 Commits

Author SHA1 Message Date
Peter Pistorius ab075d94be chore: require Node 24 and drop tsx (#351)
* chore: require Node 24 and drop tsx

Node 24 ships native TypeScript stripping as a stable feature. We no
longer need tsx to execute .ts files in development scripts.

Changes:

- `engines.node` bumped from `>=22` to `>=24` in each package.
- `tsx` removed from every workspace's devDependencies.
- Each `tsx foo.ts` invocation in package scripts becomes `node foo.ts`.
  Includes `scripts/agent-ci-dev.sh` (the dev wrapper) and the demo
  package.
- tsconfigs gain `allowImportingTsExtensions`, `rewriteRelativeImportExtensions`,
  and `verbatimModuleSyntax` so source uses `.ts` extensions while tsc
  still emits `.js` paths in dist.
- All relative imports rewritten from `from "./foo.js"` to `from "./foo.ts"`
  across 72 source files. Dynamic imports updated too.
- Type-only imports (`Job`, `Polka`, MessageResponse, …) converted to
  `import type` to satisfy `verbatimModuleSyntax`.
- The json-loader hook registration in workflow-parser.ts picks `.ts`
  when the source file exists (dev) and `.js` otherwise (compiled dist).
- Root `package.json` adds `"type": "module"` (no existing .js files
  affected) and `yaml` as a devDep (already used by scripts/diff-parse.ts;
  previously hoisted through cli's deps).
- `tests.yml` CI bumps from Node 22 to Node 24. Smoke fixtures that set
  `node-version: 22` are left alone — they exercise `actions/setup-node`
  with various versions deliberately.

Verified:
- pnpm check: clean
- Node 24 dev run: `node packages/cli/src/cli.ts --help` works
- Full smoke suite (`pnpm agent-ci-dev run --all`): 45/45 jobs pass

* fix(shutdown.test): use `node --input-type=module` instead of `npx tsx`

The shutdown integration test spawns a fresh process to sidestep
vitest's mock system. It was using `npx tsx`, but `tsx` is no longer
a dependency. Node 24 reads TypeScript files natively, so we ask Node
directly via `--input-type=module`.
2026-05-11 18:38:37 +02:00
Peter Pistorius 50933a6186 chore: drop three unused runtime dependencies (#348)
fallow flagged three runtime deps that are declared but never imported:

- log-update in packages/cli (diff-renderer replaced it; only stale
  code comments remain)
- jsonc-parser in packages/dtu-github-actions
- yaml in packages/ts-runner (cli still uses yaml; ts-runner does not)

Smaller node_modules, smaller published tarballs, one fewer thing to
keep up to date.
2026-05-11 15:13:43 +02:00
Peter Pistorius d25354e3ca fix: disable ts-runner npm publishing (#182)
Mark @redwoodjs/ts-runner as private and add it to changeset ignore
list. The package was being published to npm but version 0.7.0 is
returning 404 errors, breaking installs.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 11:13:43 +02:00
Peter Pistorius 2820b5a09f fix: remove test script from ts-runner to unblock release workflow (#180)
The ts-runner package had a "test": "vitest run" script but no test
files. Vitest exits with code 1 when it finds nothing to run, which
has been failing the Release workflow since the package was added,
preventing changesets/action from creating release PRs.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 10:49:00 +02:00
Peter Pistorius ba84b69b96 feat: add ts-runner package scaffold and research docs (#141)
Introduces the packages/ts-runner package skeleton with build config,
planning docs (PLAN.md, SPEC.md), and a research document exploring
RivetKit Agent OS integration. No runtime code yet — this sets up the
foundation for subsequent PRs.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 12:25:21 +02:00