Repository navigation
v0.7.3
Summary
Nativele 0.7.3: fixes found by migrating a real application to Nativele: list items at the top level of a Light DOM template are no longer removed, Light DOM slots place nodes from where they are, another template system's ./x.html imports are left alone, and several diagnostics point at the right fix.
Changes
- Light DOM slots: a
<template data-each>at a Light DOM template's top level keeps the items it inserts after the first render (adds, removes, reorders, inserts while disconnected); it used to lose them a microtask later, or have them moved into the default slot. Slot content is placed from the nodes' current positions, so a node moved within the same task, a node added while disconnected and a slot's fallback (with itsdata-ifblocks and lists in their last state) all end up where they belong. - Template imports: lint,
ts-dom checkand the oxlint plugin treat only./x.html.jsas a Nativele template import;./x.html(another template system's import) is no longer linted as one, andts-dom doctorstill reports a Nativele import without.js. docs/tooling.md describes how two template systems coexist. - unused-ref: refs destructured from any
.refsexpression, renamed, quoted, nested or followed byas/satisfiesor no semicolon count as used;refs: { … }in a type or object literal no longer hides an unused ref. - Fix hints: the a11y name rules say to give an element a
data-refwhen TypeScript sets its name;TS2307for a missing./x.html.jssays to runts-dom genand scan the template's folder. - Robustness: a folder that vanishes during a run, or a symbolic link to nothing, is skipped instead of crashing a long-running host; the bin path is written as npm normalizes it.
- Skills:
nativele-linting(coexisting template systems,data-refand the a11y name rules),nativele-monorepoandnativele-vite(onetsDom()per workspace package, its dev server watches those folders),nativele-core(points at the store adapter),nativele-state-management(getSnapshotclients); each re-verified by a fresh agent trial on 2026-11-08.
Breaking Changes
None. A module importing a template as ./x.html (without .js) is no longer linted as a Nativele template; ts-dom doctor reports it (template-import-without-js).