mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-02 08:35:07 +08:00
Support native callable properties and terminal streams
- Preserve callable properties, descriptors, and shared module bindings across native JavaScript code. - Add stored process streams with input control, output callbacks, and write interception. - Preserve Error identity and classification through native rethrows and promise rejection.
This commit is contained in:
@@ -8,8 +8,8 @@
|
||||
"tiers": {
|
||||
"static": {
|
||||
"replace-refusal": 47,
|
||||
"verify-gap": 2568,
|
||||
"audit-partial": 597,
|
||||
"verify-gap": 2565,
|
||||
"audit-partial": 600,
|
||||
"classify": 2,
|
||||
"implement": 81
|
||||
},
|
||||
@@ -73537,12 +73537,17 @@
|
||||
"priority": "normal",
|
||||
"tiers": {
|
||||
"static": {
|
||||
"status": "not-implemented",
|
||||
"action": "verify-gap",
|
||||
"verification": "registry-gap",
|
||||
"confidence": "low",
|
||||
"source": "compiler-unmatched:process",
|
||||
"tests": []
|
||||
"status": "partial",
|
||||
"action": "audit-partial",
|
||||
"verification": "test-backed",
|
||||
"confidence": "high",
|
||||
"source": "compiler-feature:process.stderr",
|
||||
"tests": [
|
||||
"tests/corpus/stdio-values.mjs",
|
||||
"tests/corpus/stdio-write-overrides.mjs",
|
||||
"tests/corpus/stdio-write-errors.mjs",
|
||||
"tests/harness/event-loop.test.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
"status": "partial",
|
||||
@@ -73595,12 +73600,17 @@
|
||||
"priority": "normal",
|
||||
"tiers": {
|
||||
"static": {
|
||||
"status": "not-implemented",
|
||||
"action": "verify-gap",
|
||||
"verification": "registry-gap",
|
||||
"confidence": "low",
|
||||
"source": "compiler-unmatched:process",
|
||||
"tests": []
|
||||
"status": "partial",
|
||||
"action": "audit-partial",
|
||||
"verification": "test-backed",
|
||||
"confidence": "high",
|
||||
"source": "compiler-feature:process.stdin",
|
||||
"tests": [
|
||||
"tests/corpus/stdio-values.mjs",
|
||||
"tests/corpus/stdio-write-overrides.mjs",
|
||||
"tests/corpus/stdio-write-errors.mjs",
|
||||
"tests/harness/event-loop.test.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
"status": "partial",
|
||||
@@ -73653,12 +73663,17 @@
|
||||
"priority": "normal",
|
||||
"tiers": {
|
||||
"static": {
|
||||
"status": "not-implemented",
|
||||
"action": "verify-gap",
|
||||
"verification": "registry-gap",
|
||||
"confidence": "low",
|
||||
"source": "compiler-unmatched:process",
|
||||
"tests": []
|
||||
"status": "partial",
|
||||
"action": "audit-partial",
|
||||
"verification": "test-backed",
|
||||
"confidence": "high",
|
||||
"source": "compiler-feature:process.stdout",
|
||||
"tests": [
|
||||
"tests/corpus/stdio-values.mjs",
|
||||
"tests/corpus/stdio-write-overrides.mjs",
|
||||
"tests/corpus/stdio-write-errors.mjs",
|
||||
"tests/harness/event-loop.test.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
"status": "partial",
|
||||
|
||||
@@ -915,9 +915,9 @@
|
||||
"apiEntries": 119,
|
||||
"static": {
|
||||
"supported": 0,
|
||||
"partial": 27,
|
||||
"partial": 30,
|
||||
"refused": 0,
|
||||
"not-implemented": 92,
|
||||
"not-implemented": 89,
|
||||
"by-design": 0,
|
||||
"unreviewed": 0,
|
||||
"not-applicable": 0
|
||||
@@ -86856,7 +86856,11 @@
|
||||
"tests/corpus/2946-child-fork-ipc/main.ts",
|
||||
"tests/corpus/990-process-basics.ts",
|
||||
"tests/corpus/process-builtin-values.js",
|
||||
"tests/corpus/process-versions-storage.ts"
|
||||
"tests/corpus/process-versions-storage.ts",
|
||||
"tests/corpus/stdio-values.mjs",
|
||||
"tests/corpus/stdio-write-errors.mjs",
|
||||
"tests/corpus/stdio-write-overrides.mjs",
|
||||
"tests/harness/event-loop.test.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
@@ -89608,8 +89612,14 @@
|
||||
"anchor": "",
|
||||
"nodeStability": null,
|
||||
"static": {
|
||||
"status": "not-implemented",
|
||||
"evidence": "compiler-unmatched:process"
|
||||
"status": "partial",
|
||||
"evidence": "compiler-feature:process.stderr",
|
||||
"tests": [
|
||||
"tests/corpus/stdio-values.mjs",
|
||||
"tests/corpus/stdio-write-overrides.mjs",
|
||||
"tests/corpus/stdio-write-errors.mjs",
|
||||
"tests/harness/event-loop.test.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
"status": "partial",
|
||||
@@ -89655,8 +89665,14 @@
|
||||
"anchor": "",
|
||||
"nodeStability": null,
|
||||
"static": {
|
||||
"status": "not-implemented",
|
||||
"evidence": "compiler-unmatched:process"
|
||||
"status": "partial",
|
||||
"evidence": "compiler-feature:process.stdin",
|
||||
"tests": [
|
||||
"tests/corpus/stdio-values.mjs",
|
||||
"tests/corpus/stdio-write-overrides.mjs",
|
||||
"tests/corpus/stdio-write-errors.mjs",
|
||||
"tests/harness/event-loop.test.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
"status": "partial",
|
||||
@@ -89702,8 +89718,14 @@
|
||||
"anchor": "",
|
||||
"nodeStability": null,
|
||||
"static": {
|
||||
"status": "not-implemented",
|
||||
"evidence": "compiler-unmatched:process"
|
||||
"status": "partial",
|
||||
"evidence": "compiler-feature:process.stdout",
|
||||
"tests": [
|
||||
"tests/corpus/stdio-values.mjs",
|
||||
"tests/corpus/stdio-write-overrides.mjs",
|
||||
"tests/corpus/stdio-write-errors.mjs",
|
||||
"tests/harness/event-loop.test.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
"status": "partial",
|
||||
|
||||
@@ -598,6 +598,9 @@ function publicDetail(tier) {
|
||||
if (source.startsWith("surface-manifest:")) return "Implemented for the call shapes accepted by the compiler lowering.";
|
||||
if (source.startsWith("compiler-dedicated:")) return "Implemented by a dedicated static compiler/runtime path.";
|
||||
if (source.startsWith("compiler-feature:")) {
|
||||
if (/^compiler-feature:process\.std(?:in|out|err)$/.test(source)) {
|
||||
return "Stored JavaScript process streams support native input listeners, pause/resume and buffered reads, synchronous output writes, and output write replacement; other stream operations remain unsupported.";
|
||||
}
|
||||
if (source === "compiler-feature:url.URL") {
|
||||
return "Supports absolute inputs and relative inputs with string or URL bases; setters and some WHATWG parsing behavior remain unsupported.";
|
||||
}
|
||||
|
||||
@@ -87,6 +87,7 @@
|
||||
"stdlib.abort": ["tests/harness/fetch-conformance.test.ts"]
|
||||
},
|
||||
"features": [
|
||||
{ "chapter": "process", "signatures": ["`stdin` Type: {Stream}", "`stdout` Type: {Stream}", "`stderr` Type: {Stream}"], "status": "partial", "evidence": ["tests/corpus/stdio-values.mjs", "tests/corpus/stdio-write-overrides.mjs", "tests/corpus/stdio-write-errors.mjs", "tests/harness/event-loop.test.ts"] },
|
||||
{ "chapter": "process", "signatures": ["`process.getBuiltinModule(id)`"], "status": "partial", "evidence": ["tests/corpus/process-builtin-values.js", "packages/compiler/test/process-builtin-values.test.ts"] },
|
||||
{ "chapter": "process", "signatures": ["`versions` Type: {Object}"], "status": "partial", "evidence": ["tests/corpus/process-versions-storage.ts"] },
|
||||
{ "chapter": "http", "signatures": ["Class: `http.ClientRequest`", "Class: `http.Server`", "Class: `http.ServerResponse`", "Class: `http.IncomingMessage`"], "status": "partial", "evidence": ["tests/corpus/2981-http-static-events.ts", "tests/corpus/2976-http-static-incoming-state.ts"] },
|
||||
|
||||
Reference in New Issue
Block a user