mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-02 08:35:07 +08:00
- The ratified rename rider (world-unification §7 lane 5): "DOM" collided with the browser DOM and, post-lane-1, the structure is no longer a document tree. Comments and doc prose now say "the checked-dynamic tree" for the noun and "dyn" adjectivally; runtime symbol names (scr_dyn_*), the error.domClone libCall, and the real web DOMException family are unchanged. - The few user-facing strings carrying the nickname move with it (the structuredClone cyclic message, the dc subscriber/publish fences, two emitter ICE texts); diagnostics snapshots regenerated (96 pass). One private compiler constant (DOM_PROTO_METHOD_NAMES -> DYN_PROTO_METHOD_NAMES) rides along. - Mechanical sweep, 142 files, comments/prose only — no behavior change.
16 lines
726 B
JavaScript
16 lines
726 B
JavaScript
// `module.exports = Class; module.exports.Strings = Strings` where the
|
|
// attached member is a dyn-holding object-literal const (the JS identity
|
|
// story): the export global holds the SAME dyn object instead of a
|
|
// record-typed slot the dyn value cannot enter (that mismatch was an
|
|
// SC9001 ICE: assign expected record, got dyn). Same-file reads through
|
|
// module.exports observe the shared node — a write through the const is
|
|
// visible through the export, exactly Node.
|
|
'use strict';
|
|
class Handler {}
|
|
const Strings = { a: 'A', b: 'B' };
|
|
module.exports = Handler;
|
|
module.exports.Strings = Strings;
|
|
console.log(module.exports.Strings.a, module.exports.Strings.b);
|
|
Strings.a = 'A2';
|
|
console.log(module.exports.Strings.a);
|