Skip to content

node:v8: diagnostics and serialization parity cut #2492

Description

@andrewtdiz

Summary

Use this issue as the first public node:v8 compatibility cut focused on package-visible diagnostics and serialization. The intended PR exposes the namespace, diagnostic heap-stat shapes, top-level serialize/deserialize round trips, and the class-based Serializer/Deserializer API without trying to implement lifecycle hooks, heap snapshot output, or profiler reports.

Child Issues

Follow-up Cuts

Intended PR Boundary

Implement one coherent node:v8 first slice:

  • add the public node:v8 namespace and manifest/runtime dispatch for the child issues;
  • expose serialization/deserialization round trips for representative Node-supported values;
  • expose the class-based Serializer/Deserializer and default subclasses for the same wire-format path;
  • expose heap-stat helper shapes with Perry-specific numeric data where V8 internals are unavailable;
  • add a dedicated V8 parity fixture because this checkout currently has no runnable node:v8 probe.

Node Behavior

Node's node:v8 module gives packages serialization helpers and diagnostic heap/version statistics. Many packages use this surface for feature detection, persistence/IPC, and diagnostics even when they do not use profiling, promise hook, or startup snapshot APIs.

Perry Behavior

Perry currently has no public node:v8 compatibility namespace. docs/runtime-parity-gaps.md lists the whole module as a gap, docs/runtime-parity.md enumerates missing/partial rows, source search found no public node:v8 manifest/runtime entries, and there is no V8 parity fixture in this checkout. The internal crates/perry-runtime/src/child_process/v8_serde.rs helper may be reusable for the serialization child issues.

Non-goals

Acceptance

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions