feat(component): add @choojs/component — nanocomponent + on-load as ES classes

Ported from nanocomponent 6.6.0 and on-load 3.4.1 (MIT) with attribution:
render/update/morph lifecycle, proxy nodes with isSameNode identity, and
the MutationObserver-driven load/unload hooks. This class is the intended
island/hydration boundary for later phases. @choojs/core exposes ./timing
as a subpath for the instrumentation calls.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014NgfSjHE11oFpoSnLVKLXd
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-08 16:56:54 +02:00
co-authored by Claude Fable 5
parent 84230b1770
commit c696e00d4f
5 changed files with 366 additions and 1 deletions
+2 -1
View File
@@ -4,7 +4,8 @@
"description": "A 4kb framework for creating sturdy frontend applications",
"type": "module",
"exports": {
".": "./index.js"
".": "./index.js",
"./timing": "./lib/timing.js"
},
"files": [
"index.js",