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 01KXNAG090V7Q90N54TVTRAGEV. Pick the version to compare it with. Cancel
package 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.
01KYJS2CWPM0SNV58FZP1ZKYWC0259d04488Browse 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
01KXQJ0TC51DQGAG2JWCWH1V3081a53acb2aBrowse filesCompare with this versionvm:eval — evaluate against the live loop without clearing armed timers; the inspection path for mid-flight sessions
01KXNAG090V7Q90N54TVTRAGEV2c883d720eBrowse filesPickedzerojs: run-boundary loop hygiene + non-JS error wrapping + docs truth
01KWQP5KNFP882J7AADZTNWBDF5aac753416Browse 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
01KWQHHQ5VM5WHQ59NV5JQ30DW3e0064739bBrowse filesCompare with this version