@nisli/core 0.52.0 → 0.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +164 -88
- package/dist/component.d.ts +82 -9
- package/dist/component.js +63 -9
- package/dist/component.js.map +1 -1
- package/dist/hmr/registry.js +4 -0
- package/dist/hmr/registry.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/projection.js +7 -0
- package/dist/projection.js.map +1 -1
- package/dist/resource.d.ts +28 -0
- package/dist/resource.js +112 -0
- package/dist/resource.js.map +1 -0
- package/dist/signal.js +23 -11
- package/dist/signal.js.map +1 -1
- package/dist/template.js +58 -17
- package/dist/template.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,112 +1,191 @@
|
|
|
1
1
|
# nisli
|
|
2
2
|
|
|
3
|
-
A reactive web
|
|
3
|
+
A small, reactive web-component framework built on browser standards. Nisli
|
|
4
|
+
combines fine-grained signals, typed component factories, light-DOM templates,
|
|
5
|
+
dependency injection, routing, and static generation without a virtual DOM or
|
|
6
|
+
a framework compiler.
|
|
4
7
|
|
|
5
8
|
## Install
|
|
6
9
|
|
|
7
|
-
```
|
|
10
|
+
```sh
|
|
8
11
|
npm install @nisli/core
|
|
9
12
|
```
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
`@nisli/core` has no runtime dependencies. It works with TypeScript or plain
|
|
15
|
+
JavaScript and does not require a framework-specific build step.
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
|
|
17
|
+
## Quick start
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
import { component, html, signal } from '@nisli/core';
|
|
15
21
|
|
|
16
22
|
const Counter = component('x-counter', () => {
|
|
17
23
|
const count = signal(0);
|
|
24
|
+
|
|
18
25
|
return html`
|
|
19
26
|
<button @click=${() => count.value++}>
|
|
20
27
|
Count: ${count}
|
|
21
28
|
</button>
|
|
22
29
|
`;
|
|
23
30
|
});
|
|
31
|
+
|
|
32
|
+
html`${Counter({})}`.mount(document.body);
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Signals are read with `.value` in TypeScript and passed directly to templates.
|
|
36
|
+
Only the bound text, attribute, class, or child slot updates when a signal
|
|
37
|
+
changes.
|
|
38
|
+
|
|
39
|
+
## Components that also work as HTML
|
|
40
|
+
|
|
41
|
+
`component()` registers a standard custom element and returns its typed factory.
|
|
42
|
+
Factory callers can pass plain values or signals. The optional `attrs` map makes
|
|
43
|
+
selected host attributes live, so plain-HTML consumers and factory consumers
|
|
44
|
+
share the same component implementation.
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
import {
|
|
48
|
+
children,
|
|
49
|
+
component,
|
|
50
|
+
html,
|
|
51
|
+
type ComponentAttrs,
|
|
52
|
+
} from '@nisli/core';
|
|
53
|
+
|
|
54
|
+
interface DisclosureProps {
|
|
55
|
+
open?: boolean;
|
|
56
|
+
children?: unknown;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const attrs = {
|
|
60
|
+
open: 'boolean',
|
|
61
|
+
} satisfies ComponentAttrs<DisclosureProps>;
|
|
62
|
+
|
|
63
|
+
const Disclosure = component<DisclosureProps, typeof attrs>(
|
|
64
|
+
'x-disclosure',
|
|
65
|
+
(props) => {
|
|
66
|
+
const content = children('Nothing to show');
|
|
67
|
+
return html`
|
|
68
|
+
<section class:open=${props.open}>
|
|
69
|
+
${content}
|
|
70
|
+
</section>
|
|
71
|
+
`;
|
|
72
|
+
},
|
|
73
|
+
{ attrs },
|
|
74
|
+
);
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
html`${Disclosure({ open: true, children: 'Factory content' })}`;
|
|
24
79
|
```
|
|
25
80
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
- **Signals** — Fine-grained reactivity with `signal`, `computed`, `effect`
|
|
29
|
-
- **Components** — Web Components with a composition-style setup function
|
|
30
|
-
- **Templates** — Tagged template literals with automatic signal binding
|
|
31
|
-
- **Dependency Injection** — `inject` any class as a singleton, `provide` overrides for testing
|
|
32
|
-
- **Queries** — Declarative async data loading with caching and auto-refetch
|
|
33
|
-
- **Event Emitters** — Typed event bus with auto-disposal in component context
|
|
34
|
-
- **Lifecycle** — `onMount`, `onCleanup`, `useHostEvent`
|
|
35
|
-
- **Refs** — Direct element access via `ref()`
|
|
36
|
-
- **Control Flow** — `when()` for toggles, `each()` for keyed list rendering
|
|
37
|
-
|
|
38
|
-
## API
|
|
39
|
-
|
|
40
|
-
```typescript
|
|
41
|
-
// Reactivity
|
|
42
|
-
signal(value) // Reactive signal
|
|
43
|
-
computed(() => expr) // Derived signal (lazy, cached)
|
|
44
|
-
effect(() => { ... }) // Side effect that tracks dependencies
|
|
45
|
-
|
|
46
|
-
// Components
|
|
47
|
-
component('tag-name', (props, host) => html`...`)
|
|
48
|
-
component<Props>('tag-name', (props, host) => html`...`)
|
|
49
|
-
|
|
50
|
-
// Templates — signals are implicit, no .value needed
|
|
51
|
-
html`<div>${count}</div>`
|
|
52
|
-
html`<button @click=${handler}>Go</button>`
|
|
53
|
-
html`<div class:active=${isActive}>...</div>`
|
|
54
|
-
|
|
55
|
-
// Control flow
|
|
56
|
-
when(condition, () => html`...`)
|
|
57
|
-
each(items, item => item.id, (item) => html`...`)
|
|
58
|
-
|
|
59
|
-
// Dependency injection — class IS the token
|
|
60
|
-
inject(MyService) // Auto-creates singleton
|
|
61
|
-
provide(MyService, () => mock) // Override (testing)
|
|
62
|
-
|
|
63
|
-
// Queries
|
|
64
|
-
const { data, loading, error } = query(
|
|
65
|
-
() => ['tasks', id.value], // Cache key (tracked)
|
|
66
|
-
() => api.getTasks(id.value), // Fetcher
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
// Lifecycle
|
|
70
|
-
onMount(() => { ... })
|
|
71
|
-
onCleanup(() => { ... })
|
|
72
|
-
useHostEvent(host, 'click', handler)
|
|
73
|
-
|
|
74
|
-
// Refs
|
|
75
|
-
const el = ref<HTMLDivElement>()
|
|
76
|
-
html`<div ref="${el}">...</div>`
|
|
77
|
-
|
|
78
|
-
// Events
|
|
79
|
-
class Nav extends Emitter<{ select: { id: string } }> {}
|
|
80
|
-
inject(Nav).emit('select', { id })
|
|
81
|
-
inject(Nav).on('select', ({ id }) => { ... })
|
|
81
|
+
```html
|
|
82
|
+
<x-disclosure open>Plain HTML content</x-disclosure>
|
|
82
83
|
```
|
|
83
84
|
|
|
84
|
-
|
|
85
|
+
Declared string, boolean, number, and forwarded attributes react to
|
|
86
|
+
`setAttribute()` after mount. `children(fallback?)` projects factory children,
|
|
87
|
+
initial light-DOM children, and late parser children through one reactive slot.
|
|
85
88
|
|
|
86
|
-
|
|
87
|
-
publication output, feeds, or other DOM-free static output.
|
|
89
|
+
## Async derivations
|
|
88
90
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
Use `resource()` when a local value is derived asynchronously and does not need
|
|
92
|
+
query caching or invalidation policy. Only the synchronous source function is
|
|
93
|
+
tracked; stale work is aborted and cannot overwrite a newer result.
|
|
91
94
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
```ts
|
|
96
|
+
import { component, html, resource } from '@nisli/core';
|
|
97
|
+
|
|
98
|
+
const Markdown = component<{ content: string }>('x-markdown', (props) => {
|
|
99
|
+
const rendered = resource(
|
|
100
|
+
() => props.content.value || undefined,
|
|
101
|
+
(content, signal) => renderMarkdown(content, { signal }),
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
return html`<article html:inner=${rendered.data}></article>`;
|
|
97
105
|
});
|
|
98
106
|
```
|
|
99
107
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
the
|
|
108
|
+
`data`, `loading`, and `error` are readonly signals. `refresh()` reruns the
|
|
109
|
+
current source; component teardown disposes automatically, while standalone
|
|
110
|
+
callers can use `dispose()`. Returning `undefined` from the source disables the
|
|
111
|
+
resource and clears its current state.
|
|
112
|
+
|
|
113
|
+
## Core capabilities
|
|
114
|
+
|
|
115
|
+
- Fine-grained reactivity: `signal`, `computed`, `effect`, `untrack`, `flush`,
|
|
116
|
+
and awaitable `tick`.
|
|
117
|
+
- Typed web components: composition-style synchronous setup, signal-backed
|
|
118
|
+
props, typed factories, and live attribute declarations.
|
|
119
|
+
- Safe light-DOM templates: signal bindings, typed events and modifiers,
|
|
120
|
+
`class:*`, trusted `html:inner`, refs, and dynamic HTML tags through `el()`.
|
|
121
|
+
- Stable control flow: lazy `when()` branches and keyed `each()` lists that
|
|
122
|
+
preserve focus, scroll position, and component state.
|
|
123
|
+
- Two scopes of dependency injection: app-wide singleton services with
|
|
124
|
+
`inject`/`provide`, and portal-safe subtree state with `createContext`.
|
|
125
|
+
- Lifecycle and resilience: `onMount`, `onCleanup`, `useHostEvent`, automatic
|
|
126
|
+
effect/event cleanup, move-resilient disconnects, and component error
|
|
127
|
+
boundaries.
|
|
128
|
+
- Async work: `resource` handles local async derivations; `query` and
|
|
129
|
+
`QueryClient` add shared caching, invalidation, and reactive refetching.
|
|
130
|
+
- Typed application events with `Emitter` and automatic component cleanup.
|
|
131
|
+
|
|
132
|
+
## Ecosystem
|
|
133
|
+
|
|
134
|
+
The Nisli repository contains four independently versioned packages and the
|
|
135
|
+
site that exercises them together:
|
|
136
|
+
|
|
137
|
+
- [`@nisli/core`](https://github.com/gkoreli/nisli/tree/main/packages/core) —
|
|
138
|
+
component authoring and browser runtime.
|
|
139
|
+
- [`@nisli/router`](https://github.com/gkoreli/nisli/tree/main/packages/router)
|
|
140
|
+
— one typed route catalog for browser, Vite, static builds, and edge/Worker
|
|
141
|
+
matching. It includes codecs, redirects, managed SEO metadata,
|
|
142
|
+
render-separated catalogs, and accessible outlets.
|
|
143
|
+
- [`@nisli/ssg`](https://github.com/gkoreli/nisli/tree/main/packages/ssg) —
|
|
144
|
+
renders normal Nisli templates and the shared application router to static
|
|
145
|
+
output.
|
|
146
|
+
- [`@nisli/ui`](https://github.com/gkoreli/nisli/tree/main/packages/ui) —
|
|
147
|
+
“shadcn for Nisli”: a CLI and source registry that copy accessible, Tailwind
|
|
148
|
+
v4 components into your project.
|
|
149
|
+
- [`packages/www`](https://github.com/gkoreli/nisli/tree/main/packages/www) —
|
|
150
|
+
the private nisli.dev application and end-to-end integration surface.
|
|
151
|
+
|
|
152
|
+
### Source-owned UI components
|
|
153
|
+
|
|
154
|
+
```sh
|
|
155
|
+
npm install -D @nisli/ui tailwindcss tw-animate-css
|
|
156
|
+
npx nisli-ui init
|
|
157
|
+
npx nisli-ui add button dialog tabs
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Import `tailwindcss`, `tw-animate-css`, and the copied
|
|
161
|
+
`nisli-ui/styles/theme.css` in that order. The copied `ui-*` components support
|
|
162
|
+
typed Nisli factories and plain HTML; your application owns the resulting
|
|
163
|
+
source.
|
|
164
|
+
|
|
165
|
+
### One router across environments
|
|
103
166
|
|
|
104
|
-
|
|
167
|
+
```ts
|
|
168
|
+
import { html } from '@nisli/core';
|
|
169
|
+
import { defineRouter, route } from '@nisli/router';
|
|
170
|
+
|
|
171
|
+
export const AppRouter = defineRouter({
|
|
172
|
+
home: route('/', {
|
|
173
|
+
metadata: { title: 'Home' },
|
|
174
|
+
render: () => html`<h1>Home</h1>`,
|
|
175
|
+
}),
|
|
176
|
+
});
|
|
177
|
+
```
|
|
105
178
|
|
|
106
|
-
|
|
179
|
+
Mount `AppRouter({})` in the browser, pass the same router to
|
|
180
|
+
`nisliRoutes(AppRouter)` for Vite direct-route fallback, and pass it to
|
|
181
|
+
`buildStaticSite({ router: AppRouter })` for static output. Larger applications
|
|
182
|
+
can author an environment-neutral catalog from `@nisli/router/catalog` and
|
|
183
|
+
attach client renderers later with `bindRenders()`.
|
|
184
|
+
|
|
185
|
+
### Vite HMR
|
|
107
186
|
|
|
108
187
|
```ts
|
|
109
|
-
|
|
188
|
+
import { defineConfig } from 'vite';
|
|
110
189
|
import { nisliHmr } from '@nisli/core/vite-hmr';
|
|
111
190
|
|
|
112
191
|
export default defineConfig({
|
|
@@ -114,21 +193,18 @@ export default defineConfig({
|
|
|
114
193
|
});
|
|
115
194
|
```
|
|
116
195
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
## Size
|
|
196
|
+
The development-only plugin remounts an edited component in place without a
|
|
197
|
+
full page reload.
|
|
120
198
|
|
|
121
|
-
|
|
199
|
+
Architecture decisions live in the
|
|
200
|
+
[`docs/adr`](https://github.com/gkoreli/nisli/tree/main/docs/adr) directory.
|
|
201
|
+
Package-specific usage and release history live beside each package.
|
|
122
202
|
|
|
123
203
|
## Inspiration
|
|
124
204
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
-
|
|
128
|
-
- [Solid](https://www.solidjs.com) — Signals, fine-grained reactivity, no virtual DOM
|
|
129
|
-
- [Lit](https://lit.dev) — Web Components, tagged template literals
|
|
130
|
-
- [Angular](https://angular.dev) — Dependency injection, typed tokens
|
|
131
|
-
- [Vue](https://vuejs.org) — Composition-style setup functions, reactive system design
|
|
205
|
+
Nisli stands on the shoulders of React's component model, Solid's fine-grained
|
|
206
|
+
reactivity, Lit's web components and templates, Angular's dependency injection,
|
|
207
|
+
and Vue's composition-style authoring.
|
|
132
208
|
|
|
133
209
|
## License
|
|
134
210
|
|
package/dist/component.d.ts
CHANGED
|
@@ -13,21 +13,78 @@
|
|
|
13
13
|
import { type Signal, type ReadonlySignal } from './signal.js';
|
|
14
14
|
import type { TemplateResult } from './template.js';
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* Narrows one prop's reactive value to the runtime type its `attrs`
|
|
17
|
+
* declaration guarantees (ADR 0025 candidate (b)). Only the two kinds core
|
|
18
|
+
* reconciles to a NON-`undefined` runtime value narrow; everything else is
|
|
19
|
+
* left as the author's `T` (= `P[K]`):
|
|
20
|
+
*
|
|
21
|
+
* - `'boolean'` / `{ type:'boolean' }` (any default) → `boolean` — a declared
|
|
22
|
+
* boolean is absent→`false`, never `undefined`.
|
|
23
|
+
* - `{ type:'number'; default }` → `number` — the default guarantees a value.
|
|
24
|
+
* - `'number'` / `{ type:'number' }` WITHOUT a default → `number | undefined`.
|
|
25
|
+
* - `'string'` / `{ type:'string' }` / `'forward'` / undeclared → `T` unchanged
|
|
26
|
+
* (a string attr is genuinely absent→`undefined`; forwarding does not touch
|
|
27
|
+
* the value type).
|
|
28
|
+
*
|
|
29
|
+
* SOUND FALLBACK on an incompatible declaration: the narrowed runtime type is
|
|
30
|
+
* applied ONLY when the declared kind and `NonNullable<T>` (the prop's author
|
|
31
|
+
* type) agree EXACTLY — mutual assignability, BOTH directions. A one-way check
|
|
32
|
+
* (`boolean extends NonNullable<T>`) is unsound: it would still narrow a
|
|
33
|
+
* `boolean | string` prop to `boolean` (silently dropping `string`), and a
|
|
34
|
+
* one-way check the other way would widen a literal `true`/`1` prop. So a
|
|
35
|
+
* declaration is honored only when `NonNullable<T>` IS the kind — `boolean` for
|
|
36
|
+
* a boolean declaration, `number` for a numeric one — via {@link IsExactKind}.
|
|
37
|
+
* Every genuine mismatch or partial overlap (`boolean | string` declared
|
|
38
|
+
* `'boolean'`, `'boolean'` on a `string` prop, a numeric decl on a boolean prop,
|
|
39
|
+
* a literal `true`/`1` prop) falls back to `T` unchanged — never a compile-time
|
|
40
|
+
* lie about the value. The whole registry declares props as exactly `boolean` /
|
|
41
|
+
* `number`, so it narrows as before; only unions/literals/mismatches are refused.
|
|
42
|
+
*
|
|
43
|
+
* `D` is the declaration at that key (or `undefined` when the key is absent
|
|
44
|
+
* from the `attrs` map, in which case the caller passes `T` through directly).
|
|
45
|
+
*/
|
|
46
|
+
export type AttrValueType<T, D> = D extends 'boolean' ? (IsExactKind<T, boolean> extends true ? boolean : T) : D extends {
|
|
47
|
+
type: 'boolean';
|
|
48
|
+
} ? (IsExactKind<T, boolean> extends true ? boolean : T) : D extends {
|
|
49
|
+
type: 'number';
|
|
50
|
+
default: number;
|
|
51
|
+
} ? (IsExactKind<T, number> extends true ? number : T) : D extends 'number' ? (IsExactKind<T, number> extends true ? number | undefined : T) : D extends {
|
|
52
|
+
type: 'number';
|
|
53
|
+
} ? (IsExactKind<T, number> extends true ? number | undefined : T) : T;
|
|
54
|
+
/**
|
|
55
|
+
* `true` iff `NonNullable<T>` is EXACTLY `K` — mutually assignable in both
|
|
56
|
+
* directions (`NonNullable<T> extends K` AND `K extends NonNullable<T>`). The
|
|
57
|
+
* tuple wrappers block distribution so `boolean` (`= true | false`) is compared
|
|
58
|
+
* whole: `boolean | string` is NOT exactly `boolean` (fails the first arm), and
|
|
59
|
+
* `true` is NOT exactly `boolean` (fails the second), so both are refused.
|
|
60
|
+
*/
|
|
61
|
+
type IsExactKind<T, K> = [
|
|
62
|
+
NonNullable<T>
|
|
63
|
+
] extends [K] ? ([K] extends [NonNullable<T>] ? true : false) : false;
|
|
64
|
+
/**
|
|
65
|
+
* Maps a props interface to reactive signals, narrowed by the `attrs`
|
|
66
|
+
* declaration `A` (ADR 0025 candidate (b)).
|
|
67
|
+
*
|
|
68
|
+
* Each prop `P[K]` becomes `Signal<AttrValueType<P[K], A[K]>>` when `K` is
|
|
69
|
+
* declared in `A`, otherwise `Signal<P[K]>`. So a declared `'boolean'` types as
|
|
70
|
+
* `Signal<boolean>` (not `Signal<boolean | undefined>`), retiring the
|
|
71
|
+
* registry's `as boolean` stopgap. `A` defaults to `{}` (no declared keys →
|
|
72
|
+
* every prop unchanged), so `ReactiveProps<P>` keeps its pre-candidate-(b)
|
|
73
|
+
* meaning and existing single-argument uses are unaffected.
|
|
18
74
|
*
|
|
19
75
|
* Optionality is stripped (`-?`): the props Proxy always returns a signal,
|
|
20
76
|
* even for props never set — an optional prop `variant?: T` is
|
|
21
77
|
* `Signal<T | undefined>`, not `Signal<T> | undefined`.
|
|
22
78
|
*/
|
|
23
|
-
export type ReactiveProps<P> = {
|
|
24
|
-
readonly [K in keyof P]-?: Signal<P[K]>;
|
|
79
|
+
export type ReactiveProps<P, A extends ComponentAttrs<P> = {}> = {
|
|
80
|
+
readonly [K in keyof P]-?: Signal<K extends keyof A ? AttrValueType<P[K], A[K]> : P[K]>;
|
|
25
81
|
};
|
|
26
82
|
/**
|
|
27
|
-
* The setup function signature. Receives reactive props
|
|
28
|
-
* Returns a TemplateResult to be
|
|
83
|
+
* The setup function signature. Receives reactive props (narrowed by the
|
|
84
|
+
* `attrs` declaration `A`) and the host element. Returns a TemplateResult to be
|
|
85
|
+
* mounted into the component.
|
|
29
86
|
*/
|
|
30
|
-
export type SetupFunction<P> = (props: ReactiveProps<P>, host: HTMLElement) => TemplateResult;
|
|
87
|
+
export type SetupFunction<P, A extends ComponentAttrs<P> = {}> = (props: ReactiveProps<P, A>, host: HTMLElement) => TemplateResult;
|
|
31
88
|
/**
|
|
32
89
|
* Accepts either a Signal<T> (reactive) or a plain T (static, auto-wrapped).
|
|
33
90
|
* This eliminates the need to wrap static values in `signal()` at call sites.
|
|
@@ -92,6 +149,19 @@ export type AttrDecl = 'string' | 'boolean' | 'number' | 'forward' | {
|
|
|
92
149
|
default?: number;
|
|
93
150
|
attr?: string;
|
|
94
151
|
};
|
|
152
|
+
/**
|
|
153
|
+
* The `attrs` declaration map for a props interface `P`: prop keys → attribute
|
|
154
|
+
* behavior. This is the type an `attrs` object satisfies; capture its literal
|
|
155
|
+
* type with `typeof` and pass it as `component`'s second type argument to
|
|
156
|
+
* unlock declared-type narrowing (ADR 0025 candidate (b)):
|
|
157
|
+
*
|
|
158
|
+
* ```ts
|
|
159
|
+
* const attrs = { checked: 'boolean' } satisfies ComponentAttrs<SwitchProps>;
|
|
160
|
+
* const Switch = component<SwitchProps, typeof attrs>('ui-switch', setup, { attrs });
|
|
161
|
+
* // inside setup: props.checked.value is `boolean`, not `boolean | undefined`
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
export type ComponentAttrs<P> = Partial<Record<Extract<keyof P, string>, AttrDecl>>;
|
|
95
165
|
/** Options for component() registration */
|
|
96
166
|
export interface ComponentOptions<P = unknown> {
|
|
97
167
|
/** Custom error fallback renderer */
|
|
@@ -101,7 +171,7 @@ export interface ComponentOptions<P = unknown> {
|
|
|
101
171
|
* to attribute declarations. Omitted entirely → zero cost (empty
|
|
102
172
|
* `observedAttributes`, no `attributeChangedCallback` work).
|
|
103
173
|
*/
|
|
104
|
-
attrs?:
|
|
174
|
+
attrs?: ComponentAttrs<P>;
|
|
105
175
|
}
|
|
106
176
|
/**
|
|
107
177
|
* Define a web component with typed props and a setup function.
|
|
@@ -123,4 +193,7 @@ export interface ComponentOptions<P = unknown> {
|
|
|
123
193
|
* TaskItem({ task: taskSignal, selected: isSelected })
|
|
124
194
|
* ```
|
|
125
195
|
*/
|
|
126
|
-
export declare function component<P extends object = Record<string, never
|
|
196
|
+
export declare function component<P extends object = Record<string, never>, A extends ComponentAttrs<P> = {}>(tagName: string, setup: SetupFunction<P, A>, ...[options]: [keyof A] extends [never] ? [options?: ComponentOptions<P>] : [options: ComponentOptions<P> & {
|
|
197
|
+
attrs: A;
|
|
198
|
+
}]): ComponentFactory<P>;
|
|
199
|
+
export {};
|
package/dist/component.js
CHANGED
|
@@ -123,7 +123,15 @@ function createPropsProxy() {
|
|
|
123
123
|
* TaskItem({ task: taskSignal, selected: isSelected })
|
|
124
124
|
* ```
|
|
125
125
|
*/
|
|
126
|
-
export function component(tagName, setup,
|
|
126
|
+
export function component(tagName, setup,
|
|
127
|
+
// When `A` is explicitly given a non-empty attrs literal (the narrowing
|
|
128
|
+
// opt-in), the options argument — carrying `attrs: A` — is REQUIRED: a
|
|
129
|
+
// `component<P, typeof attrs>(tag, setup)` that types the props as narrowed but
|
|
130
|
+
// never actually wires the attrs at runtime would be a compile-time lie. When
|
|
131
|
+
// `A` is `{}` (the legacy default, no second type arg), options stays optional
|
|
132
|
+
// exactly as before. `attrs` in that legacy branch is still validated as
|
|
133
|
+
// `ComponentAttrs<P>` via `ComponentOptions<P>`.
|
|
134
|
+
...[options]) {
|
|
127
135
|
// Attribute-reactivity wiring (ADR 0025 item 3). Computed once
|
|
128
136
|
// per component definition; empty when no `attrs` declared (→ zero cost).
|
|
129
137
|
const attrEntries = new Map(); // by attrName
|
|
@@ -144,6 +152,7 @@ export function component(tagName, setup, options) {
|
|
|
144
152
|
_propsProxy = null;
|
|
145
153
|
_mounted = false;
|
|
146
154
|
_templateResult = null;
|
|
155
|
+
_errorTemplateResult = null;
|
|
147
156
|
_teardownScheduled = false;
|
|
148
157
|
// Props explicitly set via _setProp (factory / direct assignment) are
|
|
149
158
|
// "pinned": an explicit prop wins, so attribute writes no longer overwrite
|
|
@@ -227,6 +236,8 @@ export function component(tagName, setup, options) {
|
|
|
227
236
|
// CONTEXT is established by runWithContext(host, …) below; setup then
|
|
228
237
|
// runs with seed + capture already in place.
|
|
229
238
|
runWithContext(host, () => {
|
|
239
|
+
// The Proxy is runtime-untyped; the declared narrowing (A) is a
|
|
240
|
+
// compile-time view the setup function requested (ADR 0025 (b)).
|
|
230
241
|
this._templateResult = setup(this._propsProxy.props, this);
|
|
231
242
|
});
|
|
232
243
|
// Mount the template result
|
|
@@ -239,6 +250,17 @@ export function component(tagName, setup, options) {
|
|
|
239
250
|
catch (err) {
|
|
240
251
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
241
252
|
console.error(`Component <${tagName}> setup error:`, error);
|
|
253
|
+
// Setup may already have registered effects/lifecycle cleanup, or
|
|
254
|
+
// mountTemplate() may have partially installed bindings before
|
|
255
|
+
// throwing. Tear that partial scope down BEFORE mounting the error
|
|
256
|
+
// fallback so no hidden work survives behind it (issue 0010).
|
|
257
|
+
if (this._templateResult?.dispose) {
|
|
258
|
+
this._templateResult.dispose();
|
|
259
|
+
}
|
|
260
|
+
this._templateResult = null;
|
|
261
|
+
host.dispose();
|
|
262
|
+
this._host = null;
|
|
263
|
+
this.replaceChildren();
|
|
242
264
|
if (options?.onError) {
|
|
243
265
|
try {
|
|
244
266
|
const fallback = options.onError(error, this);
|
|
@@ -246,10 +268,15 @@ export function component(tagName, setup, options) {
|
|
|
246
268
|
this.innerHTML = fallback;
|
|
247
269
|
}
|
|
248
270
|
else {
|
|
271
|
+
this._errorTemplateResult = fallback;
|
|
249
272
|
mountTemplate(this, fallback);
|
|
250
273
|
}
|
|
251
274
|
}
|
|
252
275
|
catch (_) {
|
|
276
|
+
if (this._errorTemplateResult?.dispose) {
|
|
277
|
+
this._errorTemplateResult.dispose();
|
|
278
|
+
}
|
|
279
|
+
this._errorTemplateResult = null;
|
|
253
280
|
this.innerHTML = `<div style="color:red;padding:4px">Error in <${tagName}></div>`;
|
|
254
281
|
}
|
|
255
282
|
}
|
|
@@ -276,16 +303,43 @@ export function component(tagName, setup, options) {
|
|
|
276
303
|
this._teardownScheduled = false;
|
|
277
304
|
if (this.isConnected)
|
|
278
305
|
return;
|
|
279
|
-
this.
|
|
280
|
-
if (this._templateResult?.dispose) {
|
|
281
|
-
this._templateResult.dispose();
|
|
282
|
-
}
|
|
283
|
-
if (this._host) {
|
|
284
|
-
this._host.dispose();
|
|
285
|
-
this._host = null;
|
|
286
|
-
}
|
|
306
|
+
this._teardownNow();
|
|
287
307
|
});
|
|
288
308
|
}
|
|
309
|
+
/**
|
|
310
|
+
* Synchronously dispose the current component scope and restore any
|
|
311
|
+
* projected light-DOM children as direct host children. Normal disconnect
|
|
312
|
+
* calls this after the move-detection microtask; HMR calls it directly so
|
|
313
|
+
* reconnect cannot be defeated by the `_mounted` guard (issues 0001/0002).
|
|
314
|
+
*/
|
|
315
|
+
_teardownNow() {
|
|
316
|
+
this._mounted = false;
|
|
317
|
+
if (this._templateResult?.dispose) {
|
|
318
|
+
this._templateResult.dispose();
|
|
319
|
+
}
|
|
320
|
+
this._templateResult = null;
|
|
321
|
+
if (this._errorTemplateResult?.dispose) {
|
|
322
|
+
this._errorTemplateResult.dispose();
|
|
323
|
+
}
|
|
324
|
+
this._errorTemplateResult = null;
|
|
325
|
+
if (this._host) {
|
|
326
|
+
this._host.dispose();
|
|
327
|
+
this._host = null;
|
|
328
|
+
}
|
|
329
|
+
// children() records the plain light-DOM nodes it owns during cleanup.
|
|
330
|
+
// Replacing the rendered tree with those nodes preserves author content
|
|
331
|
+
// for a later true reconnect/HMR setup; components without projection
|
|
332
|
+
// simply become empty before the fresh setup appends its new subtree.
|
|
333
|
+
const captured = this
|
|
334
|
+
.__capturedChildren ?? [];
|
|
335
|
+
this.replaceChildren(...captured);
|
|
336
|
+
}
|
|
337
|
+
/** @internal — transport-agnostic HMR in-place remount hook. */
|
|
338
|
+
_remount() {
|
|
339
|
+
this._teardownScheduled = false;
|
|
340
|
+
this._teardownNow();
|
|
341
|
+
this.connectedCallback();
|
|
342
|
+
}
|
|
289
343
|
/**
|
|
290
344
|
* Set a prop value. Called by the factory and by direct property assignment.
|
|
291
345
|
* The Proxy intercepts and creates/updates backing signals.
|
package/dist/component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"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"}
|
package/dist/hmr/registry.js
CHANGED
|
@@ -106,6 +106,10 @@ export function remount(tag) {
|
|
|
106
106
|
const elements = document.querySelectorAll(tag);
|
|
107
107
|
elements.forEach((node) => {
|
|
108
108
|
const el = node;
|
|
109
|
+
if (el._remount) {
|
|
110
|
+
el._remount();
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
109
113
|
// Dispose first: must run BEFORE clearing DOM or effects/subscriptions
|
|
110
114
|
// leak across reloads (ADR 0008.1 hazard).
|
|
111
115
|
el.disconnectedCallback?.();
|
package/dist/hmr/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/hmr/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/hmr/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,9 +18,10 @@ export { runWithContext, getCurrentComponent, hasContext, type ComponentHost, }
|
|
|
18
18
|
export { Emitter } from './emitter.js';
|
|
19
19
|
export { inject, provide, createToken, resetInjector, type Constructor, type InjectionToken, } from './injector.js';
|
|
20
20
|
export { createContext, type Context, type Inject, } from './element-context.js';
|
|
21
|
-
export { component, type ReactiveProps, type SetupFunction, type ComponentFactory, type ComponentOptions, type AttrDecl, type PropInput, type HostAttrs, } from './component.js';
|
|
21
|
+
export { component, type ReactiveProps, type AttrValueType, type SetupFunction, type ComponentFactory, type ComponentOptions, type AttrDecl, type ComponentAttrs, type PropInput, type HostAttrs, } from './component.js';
|
|
22
22
|
export { html, el, when, each, type TemplateResult, type TypedEventHandler, type ElProps, type ElChild, } from './template.js';
|
|
23
23
|
export { ref, isRef, type Ref, } from './ref.js';
|
|
24
24
|
export { onMount, onCleanup, useHostEvent, } from './lifecycle.js';
|
|
25
25
|
export { children, } from './projection.js';
|
|
26
26
|
export { query, QueryClient, type QueryResult, type QueryOptions, } from './query.js';
|
|
27
|
+
export { resource, type ResourceResult, } from './resource.js';
|
package/dist/index.js
CHANGED
|
@@ -35,4 +35,6 @@ export { onMount, onCleanup, useHostEvent, } from './lifecycle.js';
|
|
|
35
35
|
export { children, } from './projection.js';
|
|
36
36
|
// ── Declarative data loading ────────────────────────────────────────
|
|
37
37
|
export { query, QueryClient, } from './query.js';
|
|
38
|
+
// ── Local async derivations ─────────────────────────────────────────
|
|
39
|
+
export { resource, } from './resource.js';
|
|
38
40
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,uEAAuE;AACvE,OAAO,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,YAAY,GAGb,MAAM,aAAa,CAAC;AAErB,uEAAuE;AACvE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,UAAU,GAEX,MAAM,cAAc,CAAC;AAEtB,uEAAuE;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,uEAAuE;AACvE,OAAO,EACL,MAAM,EACN,OAAO,EACP,WAAW,EACX,aAAa,GAGd,MAAM,eAAe,CAAC;AAEvB,uEAAuE;AACvE,OAAO,EACL,aAAa,GAGd,MAAM,sBAAsB,CAAC;AAE9B,uEAAuE;AACvE,OAAO,EACL,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,uEAAuE;AACvE,OAAO,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,YAAY,GAGb,MAAM,aAAa,CAAC;AAErB,uEAAuE;AACvE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,UAAU,GAEX,MAAM,cAAc,CAAC;AAEtB,uEAAuE;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,uEAAuE;AACvE,OAAO,EACL,MAAM,EACN,OAAO,EACP,WAAW,EACX,aAAa,GAGd,MAAM,eAAe,CAAC;AAEvB,uEAAuE;AACvE,OAAO,EACL,aAAa,GAGd,MAAM,sBAAsB,CAAC;AAE9B,uEAAuE;AACvE,OAAO,EACL,SAAS,GAUV,MAAM,gBAAgB,CAAC;AAExB,uEAAuE;AACvE,OAAO,EACL,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,IAAI,GAKL,MAAM,eAAe,CAAC;AAEvB,uEAAuE;AACvE,OAAO,EACL,GAAG,EACH,KAAK,GAEN,MAAM,UAAU,CAAC;AAElB,uEAAuE;AACvE,OAAO,EACL,OAAO,EACP,SAAS,EACT,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,2DAA2D;AAC3D,OAAO,EACL,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAEzB,uEAAuE;AACvE,OAAO,EACL,KAAK,EACL,WAAW,GAGZ,MAAM,YAAY,CAAC;AAEpB,uEAAuE;AACvE,OAAO,EACL,QAAQ,GAET,MAAM,eAAe,CAAC"}
|