-
Notifications
You must be signed in to change notification settings - Fork 5k
node compat batch: callback-throw dispatch, Assert class + native deep-equality parity, Intl gate + URL/buffer fallout, compile cache, watch kill-signal, profilers (+98 tests) #34660
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 65 commits
Commits
Show all changes
190 commits
Select commit
Hold shift + click to select a range
616a338
node:fs, node:dns, node:crypto: route a throw from a callback to unca…
cirospaciari 2f5801c
test: vendor 7 upstream Node v26.3.0 tests that already pass
cirospaciari 8234d7d
test: vendor three more upstream Node v26.3.0 tests
cirospaciari 2dab5b8
test: expose more real internal modules to the vendored node suite
cirospaciari de4a597
test: vendor test-zlib-zstd-dictionary
cirospaciari f9a4610
test: remove strays swept in by a bulk add, fix Dir subtest isolation
cirospaciari 3836440
console: move formatTime into internal/util/debuglog
cirospaciari 60fab46
node: DEP0192/DEP0111/DEP0119 warnings and cpu-prof CLI parity
cirospaciari 5442bd9
node:v8: heap statistics shape, cachedDataVersionTag, ERR_NOT_BUILDIN…
cirospaciari dfca237
node: --heap-prof CLI parity
cirospaciari ac412e4
[autofix.ci] apply automated fixes
autofix-ci[bot] a3e2c04
node:url and harness: four small compat clusters
cirospaciari 70c8546
node compat: start up from a deleted working directory
cirospaciari 5c544d8
node compat: process.cwd() throws ENOENT after the cwd is removed
cirospaciari 12c23e7
[autofix.ci] apply automated fixes
autofix-ci[bot] f720339
node compat: module-resolution errors match node's shape
cirospaciari cf8ac6f
[autofix.ci] apply automated fixes
autofix-ci[bot] 2a0e723
Merge remote-tracking branch 'origin/claude/heap-prof-cli-parity' int…
cirospaciari b512b57
Merge remote-tracking branch 'origin/claude/node-v8-small-gaps' into …
cirospaciari a80a174
Merge remote-tracking branch 'origin/claude/module-not-found-shape' i…
cirospaciari c59dbe3
Merge remote-tracking branch 'origin/claude/process-cwd-warn' into st…
cirospaciari 6b4d9b6
Merge remote-tracking branch 'origin/claude/node-v26-unclaimed-freewi…
cirospaciari ff950bf
Fix lint and clippy errors
cirospaciari 04ef27a
node:assert: the Assert class, and node-correct isDeepStrictEqual
cirospaciari 701cc11
Merge remote-tracking branch 'origin/claude/assert-class-deepequal' i…
cirospaciari f7ecaab
[autofix.ci] apply automated fixes
autofix-ci[bot] 0f7d0de
Remove stray test output file
cirospaciari 7f6e602
process: latch DEP0111/DEP0119 warnings per thread, keep debuglog pri…
cirospaciari 084afdc
Fix lint errors in merged assert code
cirospaciari 4021c78
resolve: classify ESM specifiers host-agnostically in node error shaping
cirospaciari 10857f8
Fix stream/iter bytes() returning Buffer, restore upstream test expec…
cirospaciari a1be861
stream/iter: emulate Node's Buffer pool split in concatBytes; gate ad…
cirospaciari 8aabd9c
test: hold back test-gc-net-timeout until GC delivery timing is reliable
cirospaciari f9616df
cli: support node's -pe alias
cirospaciari 088e964
cpu profiler: clamp the sampling interval to a usable range
cirospaciari 60d6058
test: vendor test-stdout-close-catch
cirospaciari 82c15b0
Merge origin/main into claude/callback-throw-uncaught
cirospaciari aef588d
module: implement Node's on-disk compile cache (NODE_COMPILE_CACHE, e…
cirospaciari 030ad4e
[autofix.ci] apply automated fixes
autofix-ci[bot] 0ce58c0
compile cache: satisfy clippy's collection, string, and pointer rules
cirospaciari 28a61f2
module: support portable compile cache (NODE_COMPILE_CACHE_PORTABLE, …
cirospaciari 4a1adaa
[autofix.ci] apply automated fixes
autofix-ci[bot] fb9d0f1
compile cache: log relative paths via BStr instead of from_utf8_lossy
cirospaciari f58d246
test: hold back test-stdout-close-catch until Windows errno mapping i…
cirospaciari ad15ed6
watch: add --watch-kill-signal, run kill-signal handlers before reloa…
cirospaciari e233e93
[autofix.ci] apply automated fixes
autofix-ci[bot] 05f0d52
cli: display unknown signal names via BStr
cirospaciari a46fdd9
test: vendor 6 upstream tests that pass after the batch's fixes
cirospaciari 1ff9ae8
async_hooks: deliver createHook lifecycle events for ticks, timers, a…
cirospaciari 6bb13c3
node:fs: emit FSREQCALLBACK async_hooks events for callback-based fs …
cirospaciari 8edc8a7
async_hooks: let timer emit callers own the exception check
cirospaciari 0255ad4
process: fix v8_enable_i18n_support config key typo
cirospaciari 75d3b84
Revert "process: fix v8_enable_i18n_support config key typo"
cirospaciari 0c0d72a
node: expose internal/util helpers to vendored tests (+7 internal-uti…
cirospaciari d10e487
internal-for-testing: read the WeakReference keepalive in get()
cirospaciari ed09e02
process: fix v8_enable_i18n_support config key typo and the Intl test…
cirospaciari 93cc9fc
lint: read conditionally-checked properties into locals
cirospaciari 1a351b4
Merge origin/main into claude/callback-throw-uncaught
cirospaciari be6d609
event loop: wait for in-flight work-pool posters before the shutdown …
cirospaciari 316657e
node: expose more internals to vendored tests (+20 node test files)
cirospaciari eef7c98
lint: split the stdio fd branches so the property is read once [allow…
cirospaciari 4ee9319
[autofix.ci] apply automated fixes
autofix-ci[bot] 42a6973
Address review findings: deepEquals node parity, tamper resistance, h…
cirospaciari e6884ca
[autofix.ci] apply automated fixes
autofix-ci[bot] f144512
clap: restrict short-alias rewrites to flag-shaped tokens
cirospaciari cefcacf
url: support the windows option in fileURLToPath
cirospaciari 73bb684
watch: process.exit() in a kill-signal handler must not return to JS
cirospaciari f5c3586
[autofix.ci] apply automated fixes
autofix-ci[bot] 3727840
style: hoist inline callbacks and cite the mirrored node sources
cirospaciari f1b2ffb
Address review: at-exit cache flush, windows watch signal, util arity…
cirospaciari 769d085
url: apply the Unicode 16 IdnaMappingTable delta before ICU IDNA
cirospaciari 2cb10f0
Merge origin/main into claude/callback-throw-uncaught
cirospaciari 791d81c
assert,module: close review findings on map double-matching and built…
cirospaciari 160870f
lint: drop the now-unused SafeMapPrototypeGet capture [allow size]
cirospaciari 46bd974
module: don't latch the compile-cache exit persist on a non-fatal sel…
cirospaciari ed2d000
util: isDeepStrictEqual's skipPrototype third argument is public API …
cirospaciari e67ac08
test: harden the watch kill-signal exit test
cirospaciari f0717f5
[autofix.ci] apply automated fixes
autofix-ci[bot] 2dee4f3
test: realign require-resolve fixture with node's module-not-found wo…
cirospaciari d9c6c3d
repl: stop echoing and redrawing when stdio is not a TTY
cirospaciari 078b732
module: resolve builtins and validate paths natively in require.resolve
cirospaciari 9c923a6
assert: native URL brand check and typed-array partial containment
cirospaciari 3af6024
[autofix.ci] apply automated fixes
autofix-ci[bot] fd379f0
deepEquals: own-property slot reads, span comparisons, single typed-a…
cirospaciari d140728
util: node-exact string width and VT stripping; delete the JS width port
cirospaciari da36af3
assert: move the partialDeepStrictEqual comparison fully to native
cirospaciari 392366f
address review: restore real heap snapshots, dedupe diagnostics, simd…
cirospaciari e2ee7d4
address review: typed-array partial props, sticky-signal map cleanup,…
cirospaciari 8229fa2
test: remove three vendored node tests bun cannot pass yet
cirospaciari e6b1d63
deepEquals: reject non-enumerable matches in typed-array own-props; f…
cirospaciari 3a7e7aa
Merge origin/main into claude/callback-throw-uncaught
cirospaciari 311de80
[autofix.ci] apply automated fixes
autofix-ci[bot] 421f4c7
assert: node-exact set items and Date/RegExp semantics in the native …
cirospaciari 5e392de
assert: cycle-guard the Set arm of the native partial comparator
cirospaciari 800094b
signals: map SignalCode to real Windows numbers, not Linux discriminants
cirospaciari 7739595
test harness: merge native internal/* entries with the vendored ports
cirospaciari cceb8f7
assert: boxed primitives compare their internal value in the native p…
cirospaciari f3a0905
deepEquals: throw node's TypeError for detached DataViews on the node…
cirospaciari 681dbfd
compile cache: drop the STATE lock during bytecode generation
cirospaciari 9d4b9b3
[autofix.ci] apply automated fixes
autofix-ci[bot] 4299728
test binding: expose getErrorMessage on the uv internalBinding
cirospaciari 07d4b0a
test: remove test-whatwg-url-toascii until the Unicode 16 host-parsin…
cirospaciari cd36a54
assert/compile cache: non-index name collection; content-gate the per…
cirospaciari c840e44
assert: check own properties on Map/Set containers; hoist the width o…
cirospaciari 93db111
followups: native skipPrototype/URL inspect, revert async_hooks, watc…
robobun e370c0c
[autofix.ci] apply automated fixes
autofix-ci[bot] 79a5542
test: clear diff-hygiene grep in vendored fixtures
robobun af5e076
test: keep advanced-serialization and url-toascii out until #34860 / …
robobun 20ea519
url inspect: satisfy the exception-scope validator; update Bun.inspec…
robobun ff6e939
ipc: preserve Buffers through advanced serialization
cirospaciari 9f869ac
[autofix.ci] apply automated fixes
autofix-ci[bot] ea50243
review nits: constructorNameOf exception handling, dead code, ANSI wi…
robobun 4fe89b0
url: apply the Unicode 16 IDNA delta to URL constructor and setter hosts
cirospaciari 5dcaceb
dedup: forward ASCIILiteral customInspect to the String overload; dro…
robobun 9c07bb3
watch: move the grace-window poll to a detached timer thread
robobun e787014
review: DEP0169 latch, comparator exception checks, retired-blob inva…
cirospaciari 76f7da2
v8: preserve Buffers through serialize/deserialize
cirospaciari 755fc98
structuredClone: share SharedArrayBuffer backing stores
cirospaciari f448594
watch: elect exactly one reload_process winner
cirospaciari 8ea3aad
url: suppress DEP0169 for node_modules callers like node
cirospaciari 9ba7fac
partial KeyObject own-props; gate IDNA delta on special schemes; DEP0…
robobun 3aa00be
[autofix.ci] apply automated fixes
autofix-ci[bot] 5ebab22
url: delta pre-pass covers non-canonical special-scheme authorities; …
robobun 6964638
url: CallSite-based isInsideNodeModules for DEP0169 gating
robobun 953fa97
watcher: retry the FileWatcher thread spawn once on transient failure
robobun 3c7b45e
clippy: SAFETY comment on the Watcher::start unsafe; share isInsideNo…
robobun ab8f9dc
watcher: exit with an error (not a crash report) when FileWatcher thr…
robobun 2f1d212
serialization_buffers: capture Object.*/Set at module load
robobun 01bb898
url: leave same-scheme relative paths untouched by the IDNA delta pre…
robobun 7e9cb77
url: file: only has a host with exactly two slashes; drop redundant D…
robobun 5fe4d07
Merge origin/main into claude/callback-throw-uncaught
robobun f448798
fix bun_runtime build after merge: SystemError fields are now OwnedSt…
robobun 5db6525
url: bracketed IPv6 hosts skip the IDNA delta pre-pass
robobun 3fb2d5c
Merge origin/main; resolve bindings/inspect/util conflicts; gate v8.d…
robobun 450022a
Merge main into claude/callback-throw-uncaught
cirospaciari 256f7e5
watch tests: SIGKILL cleanup and a self-limiting wedge fixture
cirospaciari 72f6d84
Merge main into claude/callback-throw-uncaught
cirospaciari 6b93d6a
merge: drop duplicated getStringWidth export key
cirospaciari 803231d
repl: route --interactive to the node REPL entry; width test matches …
cirospaciari 601bbd4
review: drop duplicate DEP0192, guard boxed-string own-prop walk, sim…
robobun 65e6776
watch: bound the kill-signal handler grace window so a wedged handler…
robobun 4125a4a
[autofix.ci] apply automated fixes
autofix-ci[bot] c707a53
url: strip tab/LF/CR before locating the scheme in the IDNA delta pre…
robobun fa27ead
compile-cache: fetch and persist under --watch; reset signal disposit…
robobun 066766b
[autofix.ci] apply automated fixes
autofix-ci[bot] 83f4bf9
bindings: compare DataView own properties via nonIndexOwnPropertiesEq…
robobun ceb4d49
ci: retrigger
robobun f36c766
watch: preserve NODE_CHANNEL_FD across the reload execve
robobun 07b0c72
[autofix.ci] apply automated fixes
autofix-ci[bot] 17a268d
review: keep inherited SIG_IGN across reload, drop duplicate --intera…
robobun c0e2643
url: bound the IDNA delta span to the host so an ignored-class code p…
robobun b4e7a1f
c-bindings: leave JSC's RT signal and SIGSEGV/SIGBUS for execve to re…
robobun 54cbc6e
assert: add partialDeepStrictEqual to kReadableOperator so its failur…
robobun c5f729f
NodeUtilTypes: align materialize lambda exception check with sibling;…
robobun 9609332
bindings: skip the symbol-only array pass under checkPrototypes; boun…
robobun 32b5499
compile-cache: gate persist-path display_name/format! allocations on …
robobun 3e0523e
watch: run the pre-execve IPC/signal prep on every POSIX target
robobun 0682b73
url: keep an empty-but-present ?/# marker on the url.format slow path
robobun bb0c74d
Merge origin/main into claude/callback-throw-uncaught
robobun af95b68
Merge origin/main into claude/callback-throw-uncaught
robobun 075d547
merge: fix post-merge visibility and rename fallout
robobun 48f0c16
ProcessBindingUV: use default inline capacity so spreading the bindin…
robobun 5529375
shared: capture Error.captureStackTrace at module load and catch tamp…
robobun 5afa23a
crypto: revert pbkdf2 then-handlers to inline arrows
robobun 276e176
Merge remote-tracking branch 'origin/main' into claude/callback-throw…
robobun 3961f52
merge: fix bun_jsc::cpp path in ipc.rs; skip sigThreadSuspendResume (…
robobun 53ca0e7
shared: move the Error.stackTraceLimit/prepareStackTrace reads inside…
robobun 1bf82f5
trim comments to <=3 lines, cite spec/node source
robobun 5006828
shared: wrap the isInsideNodeModules frame loop in try/catch so a poi…
robobun 7c59080
url: ERR_INVALID_URL carries error.base when base argument given
robobun d829edc
Merge remote-tracking branch 'origin/main' into claude/callback-throw…
robobun aa34871
serialization_buffers: walk Map/Set via .$forEach so a poisoned Symbo…
robobun 44804fe
serialization_buffers: use own-property hasOwnProperty.$call for the …
robobun 5c9ddf8
chore: reword 'ungated' in shutdown-drain comments to pass port-era-m…
robobun dbfbd55
serialization_buffers: use indexed-access pop + $arrayPush for the wa…
robobun 7837a3a
Merge branch 'main' into claude/callback-throw-uncaught
cirospaciari d0a7db1
dispatch: bump task-tag arm count for WatchReloadTask after merge
cirospaciari c193c29
JSDOMURL: derive URLContext search/hash offsets from the href; drop d…
robobun 6f71d8c
url: emit the /. guard in formatWhatwgURL for null-host paths startin…
robobun 0c27355
Merge branch 'main' into callback-throw-uncaught
cirospaciari 4a4caed
ipc: bump advanced wire version to 2 for SerializedMessageWithBuffers
robobun 9194b29
JSDOMURL: shift URLContext offsets past the /. pathname guard
robobun 10b12bd
compile cache: key and verify entries with SHA256, mmap the read path
robobun 3f9fef3
Merge branch 'main' into callback-throw-uncaught
robobun 2faf71c
[autofix.ci] apply automated fixes
autofix-ci[bot] effa0cb
Route byte searches through bun_core::strings; persist compile cache …
robobun 66b925e
node:v8: capture envelope framing dependencies at module load
robobun d8a3b9c
compile cache: default dir checks TEMP before TMP on Windows, like os…
robobun aaaecbe
Declare the IDNA helpers once in NodeURLHelpers.h
robobun 53f2e7a
Merge remote-tracking branch 'origin/main' into claude/callback-throw…
robobun File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.