fix(buffer): expose namespace constructors and backing properties - #3409
Conversation
3fb8741 to
fe0cc4d
Compare
|
Pushed the same CI-only fix for the cargo-test ENOSPC failure. The failed job ran out of disk building perry-ext-ws; this branch now reduces cargo-test artifact size and prunes package artifacts after each package test.\n\nLocal verification:\n- workflow YAML parsed successfully\n- git diff --check |
|
Fixed the cargo-test failure from the latest run. This branch predates the HIR changes that now exist on main, so the duplicate stable-hash tags only appeared in GitHub's PR merge ref. I merged origin/main into the branch, then applied the same RegExpEscape stable-hash tag fix used on #3414. Local checks passed: CARGO_TARGET_DIR=/root/perry/target cargo test -p perry-hir stable_hash::tests::expr_variant_stable_hash_tags_are_unique, cargo fmt --all -- --check, git diff --check HEAD~2..HEAD, git diff --check, and scripts/check_file_size.sh. |
#3409 (RegExpEscape) and #3402 (ReflectIsExtensible) both merged via a tag race, each assigning stable-hash tag 12045 — making expr_variant_stable_hash_tags_are_unique fail on main and blocking all PR CI. Reassign ReflectIsExtensible to the free tag 12048 (matches the fix already on PR #3445's branch, so no future conflict). Co-authored-by: Ralph Küpper <ralph2@skelpo.com>
Closes #3387.
Closes #3385.
Closes #3386.
Summary:
Blobfromnode:bufferand preserve namespace/globalBlobandFileconstructor aliases through native constructor lowering.new buffer.Blob(...)/new buffer.File(...)results as Blob/File native instances so properties and methods keep the existing fetch-backed behavior..buffer/.parent, including registered view offsets for.byteOffset/.offset.Why batched:
node:buffernamespace/runtime property surface, and node:buffer: module namespace and backing property parity cut #3387 is the umbrella cut for those compatibility gaps.Verification:
RUSTC_WRAPPER= cargo build --release -p perry -p perry-runtime -p perry-stdlibPATH=/home/github-runner/actions-runner/externals/node24/bin:$PATH RUSTC_WRAPPER= ./run_parity_tests.sh --suite node-suite --module buffer --filter namespace-constructors(PASS,test-parity/reports/parity_report_20260530_170453.json)PATH=/home/github-runner/actions-runner/externals/node24/bin:$PATH RUSTC_WRAPPER= ./run_parity_tests.sh --suite node-suite --module buffer(PASS 131, fail 0, compile fail 0, skipped 0;test-parity/reports/parity_report_20260530_170504.json)PATH=/home/github-runner/actions-runner/externals/node24/bin:$PATH RUSTC_WRAPPER= ./run_parity_tests.sh --filter test_parity_buffer(PASS,test-parity/reports/parity_report_20260530_170754.json)RUSTC_WRAPPER= cargo check -p perry-hir -p perry-runtime -p perry-stdlib -p perry-codegencargo fmt --all -- --checkgit diff --check./scripts/check_file_size.shNotes: