Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
af1071a
Add JSON debug, TextDecoder test, NEXIDE prefix
sonquer Apr 30, 2026
fd34be7
Move JSON debug check inside parse catch
sonquer Apr 30, 2026
6dd8d58
Bump version and enable process + polyfill fixes
sonquer Apr 30, 2026
5217d83
stream: replay buffered data to late listeners
sonquer Apr 30, 2026
99b53b7
Add byte-stream handling and Set-Cookie getter
sonquer Apr 30, 2026
0e33d8d
Bump workspace version to 0.1.10
sonquer Apr 30, 2026
110412c
Bump workspace version and use op_timer_sleep
sonquer Apr 30, 2026
4c7013f
Handle internal image fetch and static dirs
sonquer May 1, 2026
26ac389
Bump workspace version to 0.1.12
sonquer May 1, 2026
c0985b9
Bump workspace version and improve Buffer polyfill
sonquer May 1, 2026
329aa34
Support dynamic import for CommonJS modules
sonquer May 1, 2026
793debf
Bump workspace version to 0.1.14
sonquer May 1, 2026
be9a028
Add negotiated error pages and use them
sonquer May 1, 2026
68a6090
Prefer entrypoint dir for CJS resolution
sonquer May 1, 2026
0ef31c0
Add CJS compile op and use it in loader
sonquer May 1, 2026
b9df59b
zlib: add unzip/deflateRaw and expand constants
sonquer May 1, 2026
231c74a
Implement Node-style crypto KeyObject & ops
sonquer May 1, 2026
10ce07f
Support internal image fetch via dynamic handler
sonquer May 1, 2026
6ab0bd0
Bump workspace version & refine HTTP polyfills
sonquer May 1, 2026
2fdfa3d
Add real ESM dynamic import support
sonquer May 1, 2026
0c9b12f
Add handler timeout watchdog to HTTP bridge
sonquer May 1, 2026
f292c5a
Support TLS upgrade and concurrent net I/O
sonquer May 1, 2026
0d15003
Add tracing instrumentation and logs across engine/ops
sonquer May 2, 2026
f4636b7
Add tracing for resolver, V8 engine and fs ops
sonquer May 2, 2026
aeb205a
Add tracing, stream controls, and TLS EOF handling
sonquer May 2, 2026
dbf84c4
Add container diagnostics, adaptive sizing, timers
sonquer May 2, 2026
6070cf6
Increase adaptive_max_inflight caps
sonquer May 3, 2026
33f2f0f
Optimize HTTP bridge and V8 heap sizing
sonquer May 3, 2026
9a9944b
Add response compression (brotli/gzip/zstd)
sonquer May 3, 2026
bca386b
Add V8 bytecode cache and idle reclaim
sonquer May 3, 2026
eb733de
Add idle RAM shrinkers, contention logging & perf
sonquer May 4, 2026
ecd9660
Bump MIN_OLD_SPACE_CAP and refine V8 cap logic
sonquer May 4, 2026
3c3c708
Add streaming response path and image header optimizations
sonquer May 4, 2026
c2f1d5a
Reformat code across several modules
sonquer May 4, 2026
13c8fba
Bump version and set V8 heap target to 256MB
sonquer May 4, 2026
fa99c6d
Recompile function to create code cache on reject
sonquer May 4, 2026
c393279
Enable eager compilation for CJS compile
sonquer May 4, 2026
09c3895
Pin per-isolate heap limit to V8 flags
sonquer May 4, 2026
ffcecd2
Bump to 0.1.29; add if-addrs and polyfill updates
sonquer May 4, 2026
05f3a78
Add HTTP Upgrade socket bridge
sonquer May 4, 2026
3d72552
Clarify HTTP/2 and inspector support
sonquer May 4, 2026
a4a25ec
Format code and adjust http2 test
sonquer May 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 164 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 15 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ members = [
]

[workspace.package]
version = "0.1.7"
version = "0.1.29"
edition = "2024"
license = "MIT OR Apache-2.0"
publish = false
Expand Down Expand Up @@ -36,6 +36,20 @@ print_stdout = "deny"
print_stderr = "deny"
module_name_repetitions = "allow"

[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
strip = "symbols"
debug = false
incremental = false

[profile.release-with-debug]
inherits = "release"
strip = "none"
debug = "limited"

[workspace.dependencies]
anyhow = "1"
thiserror = "2"
Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -282,8 +282,8 @@ same instance.
| `fs` + `fs/promises` | sandboxed | path sandbox; only configured roots are admitted |
| `zlib` | full | gzip, deflate, brotli (sync + async wrappers) |
| `crypto` | core | sha1/256/512, md5, HMAC, AES-256-GCM, randomUUID |
| `http` / `https` | server-side | enough for Next.js standalone server entrypoint |
| `http2` | stub | loads + constants; `createServer`/`connect` throw |
| `http` / `https` | server-side | Next.js standalone entrypoint + raw `'upgrade'` event (WebSocket pass-through, `ws`/`socket.io` work) |
| `http2` | client | `connect()` + `session.request()` over h2; `createServer`/`createSecureServer` throw |
| `net` / `tls` | client-side | enough for outbound `fetch` and DB drivers |
| `dns` / `dns/promises` | full | uses Tokio's resolver via Rust ops |
| `diagnostics_channel`| full | `Channel` + `TracingChannel` (undici, OTel, APMs) |
Expand All @@ -294,7 +294,8 @@ same instance.
| `async_hooks` | ALS only | `AsyncLocalStorage` works; full hooks do not |
| `perf_hooks` | core | monotonic clock, basic marks |
| `timers` / `timers/promises` | full | backed by Tokio |
| `inspector` / `tty` / `v8` / `module` / `constants` | core | enough surface for transitive deps |
| `inspector` | APM probes | `Runtime.evaluate` / `getHeapUsage` / `getHeapStatistics`, `HeapProfiler.collectGarbage`; full DevTools wire protocol N/A |
| `tty` / `v8` / `module` / `constants` | core | enough surface for transitive deps |

| Global | Status | Notes |
|----------------------|-------------|----------------------------------------------------|
Expand All @@ -313,8 +314,8 @@ same instance.

Nexide is a V8-only Next.js runtime; some Node platform surfaces are
intentionally absent or partial. The full list — N-API/native addons,
`http2`, worker threads, inspector, ESM at runtime, source maps,
corporate proxies, log rotation, etc. — lives in
`http2` server, worker threads, full inspector protocol, ESM at runtime,
source maps, corporate proxies, log rotation, etc. — lives in
[`docs/known-limitations.md`](docs/known-limitations.md).

If you hit something that isn't on that list, open an issue with the
Expand Down
2 changes: 1 addition & 1 deletion crates/nexide-bench/docker/deno/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# Build context: workspace root (only `e2e/next-fixture/` is needed).

FROM node:24-bookworm-slim AS next-builder
WORKDIR /build/next-fixture
WORKDIR /build/e2e/next-fixture
ENV NEXT_TELEMETRY_DISABLED=1 \
CI=1
COPY e2e/next-fixture/package.json e2e/next-fixture/package-lock.json ./
Expand Down
Loading
Loading