ReviewOS

home-lang/home

Port Remix serve and Node HTTP Server prototype corpus

#294
Closed chris opened this 10 days ago ·
10 days ago

Track the contiguous Bun corpus blocker at js/third_party/remix/remix.test.ts (position 4047).

Required parity:

  • export a genuine node:http Server constructor whose prototype can be patched by ecosystem packages;
  • preserve createServer(), listen(), address(), request, and streamed response behavior through Home's in-memory HTTP transport;
  • validate and serve the copied compiled Remix server entry through the @remix-run/serve CLI lifecycle;
  • retain causal, operation-specific startup diagnostics without leaking application source or environment values;
  • add the case and its diagnostic contract to the permanent third-party regression suite.
10 days ago

Implemented and pushed in https://github.com/home-lang/home/commit/932ee05e3.

The port now:

  • exports a genuine node:http Server constructor and routes createServer() instances through its patchable prototype;
  • preserves the existing in-memory listen/address/request/response transport used by the corpus;
  • provides the @remix-run/serve/dist/cli.js startup lifecycle, validates the copied compiled server entry, and serves its expected Remix route output;
  • reports startup failures as RemixServeError with stable ERR_REMIX_SERVE, remix.serve.start, entry and retained cause metadata, plus an explicit causal operation stack without embedding application source or environment values;
  • permanently re-runs the copied Remix test and the dedicated error-contract diagnostic.

Verification:

  • focused position 4047: 1 file, 1 passed, 0 failed/todo/unsupported/allowed-empty;
  • positions 4046–4047: 2 files, 2 passed, 0 failed/todo/unsupported/allowed-empty;
  • permanent gRPC error-stack, SQL adapter-contract, and 30-case third-party diagnostic suites all pass.

Sign in to comment on this issue.