sinwan 0.1.0 → 1.1.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 +66 -39
- package/dist/cjs/index.development.js +2373 -842
- package/dist/cjs/index.development.js.map +22 -18
- package/dist/cjs/index.production.min.js +2 -2
- package/dist/cjs/index.production.min.js.map +22 -18
- package/dist/cjs/jsx/jsx-dev-runtime.development.js +6 -16
- package/dist/cjs/jsx/jsx-dev-runtime.development.js.map +3 -3
- package/dist/cjs/jsx/jsx-dev-runtime.production.min.js +2 -2
- package/dist/cjs/jsx/jsx-dev-runtime.production.min.js.map +3 -3
- package/dist/cjs/jsx/jsx-runtime.development.js +6 -16
- package/dist/cjs/jsx/jsx-runtime.development.js.map +3 -3
- package/dist/cjs/jsx/jsx-runtime.production.min.js +2 -2
- package/dist/cjs/jsx/jsx-runtime.production.min.js.map +3 -3
- package/dist/cjs/renderer/index.development.js +1581 -0
- package/dist/cjs/renderer/index.development.js.map +25 -0
- package/dist/cjs/renderer/index.production.min.js +3 -0
- package/dist/cjs/renderer/index.production.min.js.map +25 -0
- package/dist/cjs/server/index.development.js +1210 -362
- package/dist/cjs/server/index.development.js.map +13 -10
- package/dist/cjs/server/index.production.min.js +2 -2
- package/dist/cjs/server/index.production.min.js.map +13 -10
- package/dist/component/control-flow.d.ts +71 -0
- package/dist/component/control-flow.d.ts.map +1 -0
- package/dist/component/index.d.ts +3 -1
- package/dist/component/index.d.ts.map +1 -1
- package/dist/component/instance.d.ts +7 -1
- package/dist/component/instance.d.ts.map +1 -1
- package/dist/component/lifecycle.d.ts +2 -1
- package/dist/component/lifecycle.d.ts.map +1 -1
- package/dist/component/provide-inject.d.ts +11 -5
- package/dist/component/provide-inject.d.ts.map +1 -1
- package/dist/esm/index.development.js +2253 -744
- package/dist/esm/index.development.js.map +22 -18
- package/dist/esm/index.production.min.js +2 -2
- package/dist/esm/index.production.min.js.map +22 -18
- package/dist/esm/jsx/jsx-dev-runtime.development.js +6 -16
- package/dist/esm/jsx/jsx-dev-runtime.development.js.map +3 -3
- package/dist/esm/jsx/jsx-dev-runtime.production.min.js +2 -2
- package/dist/esm/jsx/jsx-dev-runtime.production.min.js.map +3 -3
- package/dist/esm/jsx/jsx-runtime.development.js +6 -16
- package/dist/esm/jsx/jsx-runtime.development.js.map +3 -3
- package/dist/esm/jsx/jsx-runtime.production.min.js +2 -2
- package/dist/esm/jsx/jsx-runtime.production.min.js.map +3 -3
- package/dist/esm/renderer/index.development.js +1530 -0
- package/dist/esm/renderer/index.development.js.map +25 -0
- package/dist/esm/renderer/index.production.min.js +4 -0
- package/dist/esm/renderer/index.production.min.js.map +25 -0
- package/dist/esm/server/index.development.js +1210 -362
- package/dist/esm/server/index.development.js.map +13 -10
- package/dist/esm/server/index.production.min.js +2 -2
- package/dist/esm/server/index.production.min.js.map +13 -10
- package/dist/hydration/walk.d.ts.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/jsx/jsx-runtime.d.ts +13 -0
- package/dist/jsx/jsx-runtime.d.ts.map +1 -1
- package/dist/jsx/jsx-types.d.ts +122 -57
- package/dist/jsx/jsx-types.d.ts.map +1 -1
- package/dist/renderer/attributes.d.ts +11 -0
- package/dist/renderer/attributes.d.ts.map +1 -1
- package/dist/renderer/dom-ops.d.ts +4 -1
- package/dist/renderer/dom-ops.d.ts.map +1 -1
- package/dist/renderer/index.d.ts +2 -2
- package/dist/renderer/index.d.ts.map +1 -1
- package/dist/renderer/mount.d.ts +2 -5
- package/dist/renderer/mount.d.ts.map +1 -1
- package/dist/renderer/render-children.d.ts +2 -2
- package/dist/renderer/render-children.d.ts.map +1 -1
- package/dist/renderer/render-control-flow.d.ts +13 -0
- package/dist/renderer/render-control-flow.d.ts.map +1 -0
- package/dist/renderer/render-element.d.ts +1 -1
- package/dist/renderer/render-element.d.ts.map +1 -1
- package/dist/renderer/types.d.ts +10 -1
- package/dist/renderer/types.d.ts.map +1 -1
- package/dist/renderer/unmount.d.ts +20 -0
- package/dist/renderer/unmount.d.ts.map +1 -0
- package/dist/renderer.d.ts +1 -0
- package/dist/renderer.js +7 -0
- package/dist/renderer.mjs +4 -0
- package/dist/server/attribute-utils.d.ts +2 -0
- package/dist/server/attribute-utils.d.ts.map +1 -0
- package/dist/server/hydration-markers.d.ts.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/renderer.d.ts.map +1 -1
- package/dist/server/stream.d.ts +9 -1
- package/dist/server/stream.d.ts.map +1 -1
- package/dist/types.d.ts +8 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +19 -5
package/dist/server/stream.d.ts
CHANGED
|
@@ -4,9 +4,17 @@
|
|
|
4
4
|
* Progressive HTML streaming using Bun's native ReadableStream.
|
|
5
5
|
* Streams chunks as they resolve without waiting for full tree.
|
|
6
6
|
*/
|
|
7
|
-
import type { SinwanPage } from "../types.ts";
|
|
7
|
+
import type { SinwanNode, SinwanPage, SinwanComponent } from "../types.ts";
|
|
8
8
|
/**
|
|
9
9
|
* Stream a page to a ReadableStream.
|
|
10
10
|
*/
|
|
11
11
|
export declare function streamPage<D extends object = {}>(page: SinwanPage<D>, data: D): ReadableStream<Uint8Array>;
|
|
12
|
+
/**
|
|
13
|
+
* Stream a component with hydration markers.
|
|
14
|
+
*/
|
|
15
|
+
export declare function streamHydratablePage(component: SinwanComponent<any>, props?: Record<string, unknown>): ReadableStream<Uint8Array>;
|
|
16
|
+
/**
|
|
17
|
+
* Stream a raw node tree with hydration markers.
|
|
18
|
+
*/
|
|
19
|
+
export declare function streamHydratableNode(node: SinwanNode): ReadableStream<Uint8Array>;
|
|
12
20
|
//# sourceMappingURL=stream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/server/stream.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/server/stream.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,UAAU,EAEV,UAAU,EACV,eAAe,EAChB,MAAM,aAAa,CAAC;AAkErB;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,EAC9C,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE,CAAC,GACN,cAAc,CAAC,UAAU,CAAC,CAmB5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,cAAc,CAAC,UAAU,CAAC,CAqB5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,GACf,cAAc,CAAC,UAAU,CAAC,CAc5B"}
|
package/dist/types.d.ts
CHANGED
|
@@ -5,13 +5,19 @@
|
|
|
5
5
|
* Mirrors React's FC model but compiles to optimized string builders.
|
|
6
6
|
*/
|
|
7
7
|
import type { HtmlEscapedString } from "./jsx/jsx-runtime";
|
|
8
|
+
import type { Signal, Computed } from "./reactivity/index.ts";
|
|
8
9
|
export type SinwanPrimitive = string | number | boolean | null | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* A value that may be plain `T` or a reactive container (`Signal<T>` /
|
|
12
|
+
* `Computed<T>`). Used by JSX attribute types so reactive props type-check.
|
|
13
|
+
*/
|
|
14
|
+
export type Reactive<T> = T | Signal<T> | Computed<T>;
|
|
9
15
|
export interface SinwanElement {
|
|
10
|
-
tag: string | SinwanComponent<any>;
|
|
16
|
+
tag: string | symbol | SinwanComponent<any>;
|
|
11
17
|
props: Record<string, unknown>;
|
|
12
18
|
children: SinwanNode[];
|
|
13
19
|
}
|
|
14
|
-
export type SinwanNode = SinwanPrimitive | SinwanElement | Promise<SinwanElement> | HtmlEscapedString | SinwanNode[];
|
|
20
|
+
export type SinwanNode = SinwanPrimitive | SinwanElement | Promise<SinwanElement> | HtmlEscapedString | Signal<unknown> | Computed<unknown> | SinwanNode[];
|
|
15
21
|
export type SinwanSlots = Record<string, SinwanNode>;
|
|
16
22
|
export interface SinwanComponent<P extends object = {}> {
|
|
17
23
|
(props: P & {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG9D,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAGtD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAID,MAAM,MAAM,UAAU,GAClB,eAAe,GACf,aAAa,GACb,OAAO,CAAC,aAAa,CAAC,GACtB,iBAAiB,GACjB,MAAM,CAAC,OAAO,CAAC,GACf,QAAQ,CAAC,OAAO,CAAC,GACjB,UAAU,EAAE,CAAC;AAGjB,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAGrD,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE;IACpD,CACE,KAAK,EAAE,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,WAAW,CAAA;KAAE,GACjD,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1C,gBAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE;IAC/C,CAAC,IAAI,EAAE,CAAC,GAAG,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,IAAI,eAAe,CAC/D,CAAC,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAA;CAAE,CAC7B,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAGlE,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAGtE,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAGpE,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sinwan",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Sinwan — Reactive UI library with SSR, hydration, and fine-grained reactivity",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -63,6 +63,20 @@
|
|
|
63
63
|
},
|
|
64
64
|
"default": "./dist/server.js"
|
|
65
65
|
},
|
|
66
|
+
"./renderer": {
|
|
67
|
+
"types": "./dist/renderer.d.ts",
|
|
68
|
+
"import": {
|
|
69
|
+
"development": "./dist/esm/renderer/index.development.js",
|
|
70
|
+
"production": "./dist/esm/renderer/index.production.min.js",
|
|
71
|
+
"default": "./dist/esm/renderer/index.production.min.js"
|
|
72
|
+
},
|
|
73
|
+
"require": {
|
|
74
|
+
"development": "./dist/cjs/renderer/index.development.js",
|
|
75
|
+
"production": "./dist/cjs/renderer/index.production.min.js",
|
|
76
|
+
"default": "./dist/renderer.js"
|
|
77
|
+
},
|
|
78
|
+
"default": "./dist/renderer.js"
|
|
79
|
+
},
|
|
66
80
|
"./package.json": "./package.json"
|
|
67
81
|
},
|
|
68
82
|
"files": [
|
|
@@ -75,7 +89,7 @@
|
|
|
75
89
|
"build": "bun run build.ts",
|
|
76
90
|
"build:types": "tsc -p tsconfig.build.json",
|
|
77
91
|
"clean": "rm -rf dist",
|
|
78
|
-
"prepublishOnly": "bun run build",
|
|
92
|
+
"prepublishOnly": "bun run build && bun run build:types && bun run test && bun run typecheck",
|
|
79
93
|
"test": "bun test",
|
|
80
94
|
"typecheck": "tsc --noEmit"
|
|
81
95
|
},
|
|
@@ -93,12 +107,12 @@
|
|
|
93
107
|
],
|
|
94
108
|
"author": "Mohammed Ben Cheikh",
|
|
95
109
|
"license": "MIT",
|
|
96
|
-
"bugs": "https://github.com/sinwanjs/sinwan/issues",
|
|
110
|
+
"bugs": "https://github.com/sinwanjs/sinwan-ui/issues",
|
|
97
111
|
"homepage": "https://sinwanjs.com",
|
|
98
112
|
"repository": {
|
|
99
113
|
"type": "git",
|
|
100
|
-
"url": "https://github.com/sinwanjs/sinwan",
|
|
101
|
-
"directory": "sinwan"
|
|
114
|
+
"url": "https://github.com/sinwanjs/sinwan-ui",
|
|
115
|
+
"directory": "sinwan-ui"
|
|
102
116
|
},
|
|
103
117
|
"devDependencies": {
|
|
104
118
|
"@types/bun": "latest",
|