init.luau
Versions
Every version of this package its world published, newest first by when it first appeared. A version published again later keeps its place.
Comparing from 01KYJS2D9KVTB752GX9XKNCR1M. Pick the version to compare it with. Cancel
Contribution from world f317f2f4-c3a7-4eb5-bb56-1a7416651dfc
01KZTRWKMHC70BZFPGV93N4MEK97c99709f1Browse filesCompare with this versionpackage portability: internal requires use relative identity form (.sibling / ..uncle / .stdlib.child) so installs resolve from any location, including /source/deps/ --- requires name the package alias, so the package resolves wherever it is installed Every intra-package require now reads ~zerojs.<tail> — the alias the package registers from its package.yaml name — instead of the world-root identity zerojs.<tail>, which only resolves from a root literally named zerojs and so left the package unusable once installed under /source/deps/. One uniform form across all 87 sites also gives each module a single identity: reaching the same file under two different literals loaded it twice, which is what the semantics suite's undefined-sentinel comparisons were failing on. 1220/1220.
01KYJS2D9KVTB752GX9XKNCR1M0259d04488Browse filesPickedzerojs: typed arrays cross the bridge as zero-copy layout records toLuau hands hosts the backing buffer + layout (with a toTable materializer); toJs wraps a returned record back into a shared view of its kind. Bytes are shared in both directions.
01KXR08Y6KVBA30VBMZXVR7H9M4c4469713dBrowse filesCompare with this versionzerojs: buffer-backed ArrayBuffer, TypedArray family, and DataView Element storage is a native Luau buffer: rt.get/rt.set/rt.hasOwn route canonical numeric keys straight to buffer reads/writes with per-kind ECMAScript conversions, set() between same-kind views is a byte copy, fill() doubles a copied span, subarray() shares the buffer, and slice() copies. DataView covers both byte orders. The bridge crosses typed arrays to Luau as number arrays read off the buffer and Luau buffers to JS as Uint8Array views; rt.typedArrayOf / rt.newTypedArray / rt.newArrayBuffer give hosts direct byte access.
01KXQZXBGSGGMA84W9S5G77VZ7402108cc1aBrowse filesCompare with this versionperf+fix: O(n) array seeding (arraySeed), harden bridge host-call settlement, budget-park slices land one per pump frame - runtime: rt.arraySeed seeds a fresh array O(1)/element; newArray uses it (rawSet key scan made array construction O(n^2)) - bridge: toJs marshals arrays via arraySeed; a failed deliver() now rejects the promise and balances endHostCall instead of orphaning it - event_loop: runDueTimers only runs timers armed before the pass; a zero-delay re-arm (budget-parked body resume) runs next pass, so sliced async bodies spread across frames instead of coalescing into one unbounded pass - interpreter: realm park stats (parkCount, lastParkStack) - tests: pass-snapshot rule, interval catch-up, sliced-body completion under runAsync
01KXQJ0TM71X8GCRW3XG68MWQV81a53acb2aBrowse filesCompare with this versionzerojs: run-boundary loop hygiene + non-JS error wrapping + docs truth
01KWQP5KSN24TXGKC28XJZCC9H5aac753416Browse filesCompare with this versiondocs: zerojs phase 3 plan — event loop, Promise, async/await, timers --- zerojs: event loop core — microtasks, timers, clock, queueMicrotask --- zerojs: Promise --- zerojs: async functions return promises, await suspends --- zerojs: async functions return promises, await suspends --- zerojs: timers + runAsync frame pump + budget yielding --- zerojs: one runAsync in flight per VM --- zerojs: yielding env functions surface as JS promises --- zerojs: phase 3 complete — event loop, Promise, async/await, timers
01KWQHHQDZ4ADSH3XJK692P5113e0064739bBrowse filesCompare with this versiondocs: ZeroJS phase 2 implementation plan (stdlib + regex engine) --- zerojs: stdlib groundwork — natives, primitive dispatch, iteration hook, stack positions --- zerojs: stdlib — Object, Function.prototype, global functions --- zerojs: freeze guards delete --- zerojs: stdlib — Array --- zerojs: array literal elisions are holes --- zerojs: stdlib — String --- zerojs: lastIndexOf honors fromIndex --- zerojs: stdlib — Number, Math, Date-lite --- zerojs: Date.now millisecond resolution --- zerojs: negative-zero semantics in round, cbrt, toFixed --- zerojs: stdlib — JSON, Map, Set --- zerojs: Map constructor consumes entry pairs from map and set sources --- zerojs: regex engine --- zerojs: regex capture reset per iteration + JS empty-class semantics --- zerojs: RegExp + String regex methods --- zerojs: host-error messages + lone-surrogate rejection --- zerojs: phase 2 complete — stdlib + regex
01KWPNJYA2FM5J1KC1DPAK5W1Q5a3404a456Browse filesCompare with this versiondocs: ZeroJS design spec — Luau JS interpreter package + zJs assetType --- docs: ZeroJS phase 1 implementation plan (core language) --- zerojs: package scaffold + value sentinels --- zerojs: lexer --- zerojs: expression parser --- zerojs: statement parser + ASI --- zerojs: suppress in-operator inside for-head initializers --- zerojs: runtime value model + coercion --- zerojs: interpreter core --- zerojs: await is a SyntaxError outside async functions --- zerojs: classes, destructuring, spread --- zerojs: property enumerability for for-in/rest + nested-pattern defaults --- zerojs: public API + minimal globals + marshaling --- zerojs: phase 1 complete - core language --- zerojs: fix nlBefore latching inside tokens; align readme + module docs with shipped API --- zerojs: add the zerojs guide (guides-tool documentation for the package) --- zerojs: consolidate requires to canonical package forms; public API as api.module with root re-export --- zerojs: asset-type conformance files (READMEs + .metadata) for publish --- zerojs: internal env-cell names use % prefix (publish scanner treats @-strings as asset refs)
01KWKXRCYNPD4VEZB7RZ1NERGG0778ca3733Browse filesCompare with this version