Skip to content

fix(node:url): expose legacy Url and form encoding#3692

Merged
proggeramlug merged 4 commits into
PerryTS:mainfrom
andrewtdiz:codex/node-compat-url-legacy-http-options
May 31, 2026
Merged

fix(node:url): expose legacy Url and form encoding#3692
proggeramlug merged 4 commits into
PerryTS:mainfrom
andrewtdiz:codex/node-compat-url-legacy-http-options

Conversation

@andrewtdiz
Copy link
Copy Markdown
Contributor

@andrewtdiz andrewtdiz commented May 31, 2026

Summary

  • expose legacy url.Url as a constructible/callable native export with Node's legacy key order and null defaults
  • add url.resolveObject dispatch, lowering, manifest, and docs support
  • align URLSearchParams serialization with the WHATWG form encode set used by Node (~ escapes, * stays literal)

Closes #2686.
Closes #2978.

Tests

  • PATH=/home/github-runner/actions-runner/externals/node24/bin:$PATH node --experimental-strip-types test-parity/node-suite/url/module/legacy-url-exports.ts > /tmp/perry-node-legacy-url-exports.out && diff -u test-parity/expected/legacy-url-exports.txt /tmp/perry-node-legacy-url-exports.out
  • PATH=/home/github-runner/actions-runner/externals/node24/bin:$PATH node --experimental-strip-types test-parity/node-suite/url/search-params/form-encode-set.ts > /tmp/perry-node-form-encode-set.out && diff -u test-parity/expected/form-encode-set.txt /tmp/perry-node-form-encode-set.out
  • PERRY_NO_AUTO_OPTIMIZE=1 PATH=/home/github-runner/actions-runner/externals/node24/bin:$PATH ./run_parity_tests.sh --suite node-suite --module url --filter legacy-url-exports
  • PERRY_NO_AUTO_OPTIMIZE=1 PATH=/home/github-runner/actions-runner/externals/node24/bin:$PATH ./run_parity_tests.sh --suite node-suite --module url --filter form-encode-set
  • cargo test -p perry-codegen --test manifest_consistency
  • cargo fmt --all -- --check
  • git diff origin/main..HEAD --check
  • ./scripts/check_file_size.sh
  • jq empty test-parity/known_failures.json

@andrewtdiz andrewtdiz force-pushed the codex/node-compat-url-legacy-http-options branch 2 times, most recently from d86b133 to 01f30ac Compare May 31, 2026 11:59
@andrewtdiz andrewtdiz force-pushed the codex/node-compat-url-legacy-http-options branch from 01f30ac to cdd4b5e Compare May 31, 2026 12:04
@proggeramlug proggeramlug merged commit 89bc525 into PerryTS:main May 31, 2026
9 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

node:url: match URLSearchParams form-encoding set node:url: expose legacy Url and resolveObject

2 participants