@lytjs/renderer 3.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/dist/index.cjs +8 -0
- package/dist/index.d.mts +5 -0
- package/dist/index.mjs +8 -0
- package/dist/types/create-renderer.d.ts +20 -0
- package/dist/types/create-renderer.d.ts.map +1 -0
- package/dist/types/dom/dom-ops.d.ts +74 -0
- package/dist/types/dom/dom-ops.d.ts.map +1 -0
- package/dist/types/dom/dom-renderer.d.ts +243 -0
- package/dist/types/dom/dom-renderer.d.ts.map +1 -0
- package/dist/types/dom/patch-events.d.ts +123 -0
- package/dist/types/dom/patch-events.d.ts.map +1 -0
- package/dist/types/dom/patch-props.d.ts +148 -0
- package/dist/types/dom/patch-props.d.ts.map +1 -0
- package/dist/types/index.d.ts +48 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/miniapp/index.d.ts +6 -0
- package/dist/types/miniapp/index.d.ts.map +1 -0
- package/dist/types/miniapp/miniapp-renderer.d.ts +269 -0
- package/dist/types/miniapp/miniapp-renderer.d.ts.map +1 -0
- package/dist/types/mount.d.ts +32 -0
- package/dist/types/mount.d.ts.map +1 -0
- package/dist/types/native/index.d.ts +6 -0
- package/dist/types/native/index.d.ts.map +1 -0
- package/dist/types/native/native-renderer.d.ts +249 -0
- package/dist/types/native/native-renderer.d.ts.map +1 -0
- package/dist/types/patch.d.ts +23 -0
- package/dist/types/patch.d.ts.map +1 -0
- package/dist/types/props.d.ts +19 -0
- package/dist/types/props.d.ts.map +1 -0
- package/dist/types/renderer-interfaces.d.ts +157 -0
- package/dist/types/renderer-interfaces.d.ts.map +1 -0
- package/dist/types/ssr/hydration.d.ts +282 -0
- package/dist/types/ssr/hydration.d.ts.map +1 -0
- package/dist/types/ssr/ssr-renderer.d.ts +292 -0
- package/dist/types/ssr/ssr-renderer.d.ts.map +1 -0
- package/dist/types/unmount.d.ts +16 -0
- package/dist/types/unmount.d.ts.map +1 -0
- package/dist/types/vapor/vapor-compiler.d.ts +67 -0
- package/dist/types/vapor/vapor-compiler.d.ts.map +1 -0
- package/dist/types/vapor/vapor-component.d.ts +48 -0
- package/dist/types/vapor/vapor-component.d.ts.map +1 -0
- package/dist/types/vapor/vapor-reactive.d.ts +109 -0
- package/dist/types/vapor/vapor-reactive.d.ts.map +1 -0
- package/dist/types/vapor/vapor-renderer.d.ts +133 -0
- package/dist/types/vapor/vapor-renderer.d.ts.map +1 -0
- package/dist/types/vnode.d.ts +134 -0
- package/dist/types/vnode.d.ts.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lyt.js Vapor Mode - 渲染器
|
|
3
|
+
*
|
|
4
|
+
* Vapor Mode 绕过虚拟 DOM,直接操作真实 DOM。
|
|
5
|
+
* 每个 VaporNode 代表一个直接的 DOM 绑定关系,
|
|
6
|
+
* 当响应式信号变化时,只更新受影响的 DOM 节点。
|
|
7
|
+
*
|
|
8
|
+
* 核心思想:
|
|
9
|
+
* - 无 VNode 中间层,直接创建 DOM 元素
|
|
10
|
+
* - 无 diff 算法,每个绑定精确知道要更新哪个 DOM 节点
|
|
11
|
+
* - 信号变化时,直接操作对应的 DOM 属性
|
|
12
|
+
*/
|
|
13
|
+
import type { Signal } from '@lytjs/reactivity/signal';
|
|
14
|
+
import type { VaporElement, BindingCleanup } from './vapor-reactive';
|
|
15
|
+
import { bindText, bindProp, bindAttr, bindClass, bindEvent, bindIf, bindEach } from './vapor-reactive';
|
|
16
|
+
/** Vapor 绑定类型 */
|
|
17
|
+
export type VaporBindingType = 'text' | 'prop' | 'attr' | 'class' | 'style' | 'event';
|
|
18
|
+
/** Vapor 绑定描述 */
|
|
19
|
+
export interface VaporBinding {
|
|
20
|
+
/** 绑定类型 */
|
|
21
|
+
type: VaporBindingType;
|
|
22
|
+
/** 目标属性名或事件名 */
|
|
23
|
+
target: string;
|
|
24
|
+
/** 绑定的响应式信号 */
|
|
25
|
+
signal?: Signal<any>;
|
|
26
|
+
/** 计算值表达式 */
|
|
27
|
+
expression?: () => any;
|
|
28
|
+
}
|
|
29
|
+
/** Vapor 节点 — 代表一个直接 DOM 绑定 */
|
|
30
|
+
export interface VaporNode {
|
|
31
|
+
/** HTML 标签名 */
|
|
32
|
+
tag: string;
|
|
33
|
+
/** 关联的真实 DOM 元素 */
|
|
34
|
+
el?: VaporElement;
|
|
35
|
+
/** 子节点 */
|
|
36
|
+
children: VaporNode[];
|
|
37
|
+
/** 静态属性 */
|
|
38
|
+
props: Record<string, any>;
|
|
39
|
+
/** 事件处理器 */
|
|
40
|
+
events: Record<string, Function>;
|
|
41
|
+
/** 响应式绑定列表 */
|
|
42
|
+
bindings: VaporBinding[];
|
|
43
|
+
/** 文本内容(静态) */
|
|
44
|
+
text?: string;
|
|
45
|
+
/** 节点 key(用于列表渲染) */
|
|
46
|
+
key?: string | number;
|
|
47
|
+
}
|
|
48
|
+
/** Vapor 挂载容器接口 */
|
|
49
|
+
export interface VaporContainer {
|
|
50
|
+
appendChild(child: VaporElement): void;
|
|
51
|
+
removeChild(child: VaporElement): void;
|
|
52
|
+
childNodes: VaporElement[];
|
|
53
|
+
firstChild: VaporElement | null;
|
|
54
|
+
}
|
|
55
|
+
/** Vapor 组件选项 */
|
|
56
|
+
export interface VaporComponentOptions {
|
|
57
|
+
/** 组件名称 */
|
|
58
|
+
name?: string;
|
|
59
|
+
/** 初始化函数,返回组件上下文 */
|
|
60
|
+
setup?: () => Record<string, any>;
|
|
61
|
+
/** 渲染函数,接收上下文和 createElement 函数 */
|
|
62
|
+
render?: (ctx: Record<string, any>, h: typeof createVaporElement) => VaporNode | VaporNode[];
|
|
63
|
+
/** 模板字符串(需要编译器) */
|
|
64
|
+
template?: string;
|
|
65
|
+
/** 子组件 */
|
|
66
|
+
components?: Record<string, VaporComponentOptions>;
|
|
67
|
+
/** 挂载前 */
|
|
68
|
+
beforeMount?: () => void;
|
|
69
|
+
/** 挂载后 */
|
|
70
|
+
mounted?: () => void;
|
|
71
|
+
/** 卸载前 */
|
|
72
|
+
beforeUnmount?: () => void;
|
|
73
|
+
/** 卸载后 */
|
|
74
|
+
unmounted?: () => void;
|
|
75
|
+
}
|
|
76
|
+
/** Vapor App 实例 */
|
|
77
|
+
export interface VaporApp {
|
|
78
|
+
/** 挂载到容器 */
|
|
79
|
+
mount(container: VaporContainer | string): void;
|
|
80
|
+
/** 卸载 */
|
|
81
|
+
unmount(): void;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* 设置自定义 DOM 工厂函数(用于测试环境)
|
|
85
|
+
*/
|
|
86
|
+
export declare function setVaporDOMFactory(factory: (tag: string) => VaporElement): void;
|
|
87
|
+
/**
|
|
88
|
+
* 获取当前 DOM 工厂函数
|
|
89
|
+
*/
|
|
90
|
+
export declare function getVaporDOMFactory(): (tag: string) => VaporElement;
|
|
91
|
+
/**
|
|
92
|
+
* 创建 Vapor 元素
|
|
93
|
+
*
|
|
94
|
+
* 直接创建 DOM 元素并应用静态属性,不涉及 VNode。
|
|
95
|
+
*
|
|
96
|
+
* @param tag HTML 标签名
|
|
97
|
+
* @param props 属性对象(可包含信号绑定)
|
|
98
|
+
* @param children 子节点
|
|
99
|
+
* @returns VaporNode
|
|
100
|
+
*/
|
|
101
|
+
export declare function createVaporElement(tag: string, props?: Record<string, any>, ...children: (VaporNode | string)[]): VaporNode;
|
|
102
|
+
/**
|
|
103
|
+
* 将 VaporNode 渲染为真实 DOM 元素
|
|
104
|
+
*
|
|
105
|
+
* 直接创建 DOM 元素树,并建立信号绑定。
|
|
106
|
+
*
|
|
107
|
+
* @param node VaporNode
|
|
108
|
+
* @returns 渲染后的 DOM 元素
|
|
109
|
+
*/
|
|
110
|
+
export declare function renderVaporNode(node: VaporNode): VaporElement;
|
|
111
|
+
/**
|
|
112
|
+
* Vapor Patch — 直接 DOM 更新,无 VDOM diff
|
|
113
|
+
*
|
|
114
|
+
* 与传统 VDOM patch 不同,Vapor patch 直接操作 DOM:
|
|
115
|
+
* - 如果 tag 相同,更新属性和绑定
|
|
116
|
+
* - 如果 tag 不同,替换整个 DOM 元素
|
|
117
|
+
*
|
|
118
|
+
* @param oldNode 旧的 VaporNode
|
|
119
|
+
* @param newNode 新的 VaporNode
|
|
120
|
+
* @param parentEl 父 DOM 元素
|
|
121
|
+
*/
|
|
122
|
+
export declare function vaporPatch(oldNode: VaporNode, newNode: VaporNode, parentEl: VaporElement): void;
|
|
123
|
+
/**
|
|
124
|
+
* 使用 Vapor Mode 挂载组件到容器
|
|
125
|
+
*
|
|
126
|
+
* @param container 挂载容器
|
|
127
|
+
* @param component 组件选项
|
|
128
|
+
* @returns 卸载函数
|
|
129
|
+
*/
|
|
130
|
+
export declare function vaporMount(container: VaporContainer, component: VaporComponentOptions): () => void;
|
|
131
|
+
export { bindText, bindProp, bindAttr, bindClass, bindEvent, bindIf, bindEach, };
|
|
132
|
+
export type { VaporElement, BindingCleanup, };
|
|
133
|
+
//# sourceMappingURL=vapor-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vapor-renderer.d.ts","sourceRoot":"","sources":["../../../src/vapor/vapor-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lyt.js 渲染器 — VNode 最小接口定义与辅助类型
|
|
3
|
+
*
|
|
4
|
+
* 本模块定义了渲染器所需的 VNode 接口、形状标记、补丁标记,
|
|
5
|
+
* 以及 Fragment/Text/Comment 类型标识符和辅助判断函数。
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* VNode 最小接口
|
|
9
|
+
*
|
|
10
|
+
* 本地定义渲染器所需的 VNode 字段,不依赖 @lytjs/vdom 包。
|
|
11
|
+
* 完整的 VNode 类型由 @lytjs/vdom 提供,此处仅声明渲染器使用到的字段。
|
|
12
|
+
*
|
|
13
|
+
* 在 monorepo 中,可以使用 import type 从 @lytjs/vdom 导入完整类型,
|
|
14
|
+
* 但为了保持渲染器包的独立性,此处定义最小接口。
|
|
15
|
+
*/
|
|
16
|
+
export interface VNode {
|
|
17
|
+
/** 节点类型:HTML 标签字符串 | 组件对象 | Symbol(Fragment/Text/Comment) */
|
|
18
|
+
type: string | object | symbol;
|
|
19
|
+
/** 节点属性 */
|
|
20
|
+
props: Record<string, any> | null;
|
|
21
|
+
/** 子节点:文本字符串 | VNode 数组 | 插槽对象 */
|
|
22
|
+
children: string | VNode[] | Record<string, any> | null;
|
|
23
|
+
/** 节点的唯一标识,用于列表 diff */
|
|
24
|
+
key: string | number | null;
|
|
25
|
+
/** ref 回调或 ref 对象 */
|
|
26
|
+
ref: any;
|
|
27
|
+
/** 形状标记,描述节点类型和子节点形态 */
|
|
28
|
+
shapeFlag: number;
|
|
29
|
+
/** PatchFlag,标记哪些 props 是动态的 */
|
|
30
|
+
patchFlag: number;
|
|
31
|
+
/** 动态子节点列表(Block Tree 优化) */
|
|
32
|
+
dynamicChildren: VNode[] | null;
|
|
33
|
+
/** 动态 props 的键名列表 */
|
|
34
|
+
dynamicProps: string[] | null;
|
|
35
|
+
/** 关联的组件实例 */
|
|
36
|
+
component: any;
|
|
37
|
+
/** 应用上下文(用于 provide/inject 等跨层级通信) */
|
|
38
|
+
appContext: Record<string, any> | null;
|
|
39
|
+
/** 对应的真实 DOM 元素引用 */
|
|
40
|
+
el: any;
|
|
41
|
+
/** Fragment 锚点 */
|
|
42
|
+
anchor: any;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* VNode 形状标记
|
|
46
|
+
*
|
|
47
|
+
* 使用位标记描述 VNode 的类型和子节点形态。
|
|
48
|
+
* 与 @lytjs/vdom 的 ShapeFlags 保持一致。
|
|
49
|
+
*/
|
|
50
|
+
export declare const enum ShapeFlags {
|
|
51
|
+
/** 普通 HTML/SVG 元素 */
|
|
52
|
+
ELEMENT = 1,
|
|
53
|
+
/** 函数式组件 */
|
|
54
|
+
FUNCTIONAL_COMPONENT = 2,
|
|
55
|
+
/** 有状态组件 */
|
|
56
|
+
STATEFUL_COMPONENT = 4,
|
|
57
|
+
/** 子节点是纯文本 */
|
|
58
|
+
TEXT_CHILDREN = 8,
|
|
59
|
+
/** 子节点是数组 */
|
|
60
|
+
ARRAY_CHILDREN = 16,
|
|
61
|
+
/** 子节点是插槽 */
|
|
62
|
+
SLOTS_CHILDREN = 32
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* PatchFlag 位标记
|
|
66
|
+
*
|
|
67
|
+
* 与 @lytjs/vdom 的 PatchFlags 保持一致。
|
|
68
|
+
*/
|
|
69
|
+
export declare const enum PatchFlags {
|
|
70
|
+
/** 动态文本 */
|
|
71
|
+
TEXT = 1,
|
|
72
|
+
/** 动态 class */
|
|
73
|
+
CLASS = 2,
|
|
74
|
+
/** 动态 style */
|
|
75
|
+
STYLE = 4,
|
|
76
|
+
/** 动态 props */
|
|
77
|
+
PROPS = 8,
|
|
78
|
+
/** 动态 props,键名可能变化 */
|
|
79
|
+
FULL_PROPS = 16,
|
|
80
|
+
/** 稳定的 Fragment */
|
|
81
|
+
STABLE_FRAGMENT = 32,
|
|
82
|
+
/** 带 key 的 Fragment */
|
|
83
|
+
KEYED_FRAGMENT = 64,
|
|
84
|
+
/** 不带 key 的 Fragment */
|
|
85
|
+
UNKEYED_FRAGMENT = 128,
|
|
86
|
+
/** 需要 patch */
|
|
87
|
+
NEED_PATCH = 256,
|
|
88
|
+
/** 动态插槽 */
|
|
89
|
+
DYNAMIC_SLOTS = 512,
|
|
90
|
+
/** 静态提升 */
|
|
91
|
+
HOISTED = -1,
|
|
92
|
+
/** 退出优化 */
|
|
93
|
+
BAIL = -2
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Fragment 类型标识符
|
|
97
|
+
*
|
|
98
|
+
* Fragment 用于表示一组没有父容器的子节点。
|
|
99
|
+
* 本地定义以避免依赖 @lytjs/vdom 包。
|
|
100
|
+
*/
|
|
101
|
+
export declare const Fragment: unique symbol;
|
|
102
|
+
/**
|
|
103
|
+
* Text 类型标识符
|
|
104
|
+
*/
|
|
105
|
+
export declare const Text: unique symbol;
|
|
106
|
+
/**
|
|
107
|
+
* Comment 类型标识符
|
|
108
|
+
*/
|
|
109
|
+
export declare const Comment: unique symbol;
|
|
110
|
+
/**
|
|
111
|
+
* 判断 VNode 是否为 Fragment 类型
|
|
112
|
+
*/
|
|
113
|
+
export declare function isFragment(vnode: VNode): boolean;
|
|
114
|
+
/**
|
|
115
|
+
* 判断 VNode 是否为文本类型
|
|
116
|
+
*/
|
|
117
|
+
export declare function isTextVNode(vnode: VNode): boolean;
|
|
118
|
+
/**
|
|
119
|
+
* 判断 VNode 是否为注释类型
|
|
120
|
+
*/
|
|
121
|
+
export declare function isCommentVNode(vnode: VNode): boolean;
|
|
122
|
+
/**
|
|
123
|
+
* 判断两个 VNode 是否为相同类型
|
|
124
|
+
*
|
|
125
|
+
* 相同类型的定义:type 相同且 key 相同。
|
|
126
|
+
*/
|
|
127
|
+
export declare function isSameVNodeType(n1: VNode, n2: VNode): boolean;
|
|
128
|
+
/**
|
|
129
|
+
* 判断 VNode 是否为 Block
|
|
130
|
+
*
|
|
131
|
+
* Block 的 dynamicChildren 是非 null 的数组。
|
|
132
|
+
*/
|
|
133
|
+
export declare function isBlock(vnode: VNode): boolean;
|
|
134
|
+
//# sourceMappingURL=vnode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vnode.d.ts","sourceRoot":"","sources":["../../src/vnode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;;;;;;GAQG;AACH,MAAM,WAAW,KAAK;IACpB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAE9B,WAAW;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IAEjC,kCAAkC;IAClC,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IAEvD,wBAAwB;IACxB,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IAE3B,qBAAqB;IACrB,GAAG,EAAE,GAAG,CAAA;IAER,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAA;IAEjB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IAEjB,6BAA6B;IAC7B,eAAe,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAE/B,qBAAqB;IACrB,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAE7B,cAAc;IACd,SAAS,EAAE,GAAG,CAAA;IAEd,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IAEtC,qBAAqB;IACrB,EAAE,EAAE,GAAG,CAAA;IAEP,kBAAkB;IAClB,MAAM,EAAE,GAAG,CAAA;CACZ;AAMD;;;;;GAKG;AACH,0BAAkB,UAAU;IAC1B,qBAAqB;IACrB,OAAO,IAAI;IAEX,YAAY;IACZ,oBAAoB,IAAI;IAExB,YAAY;IACZ,kBAAkB,IAAI;IAEtB,cAAc;IACd,aAAa,IAAI;IAEjB,aAAa;IACb,cAAc,KAAK;IAEnB,aAAa;IACb,cAAc,KAAK;CACpB;AAMD;;;;GAIG;AACH,0BAAkB,UAAU;IAC1B,WAAW;IACX,IAAI,IAAI;IACR,eAAe;IACf,KAAK,IAAI;IACT,eAAe;IACf,KAAK,IAAI;IACT,eAAe;IACf,KAAK,IAAI;IACT,sBAAsB;IACtB,UAAU,KAAK;IACf,mBAAmB;IACnB,eAAe,KAAK;IACpB,uBAAuB;IACvB,cAAc,KAAK;IACnB,wBAAwB;IACxB,gBAAgB,MAAM;IACtB,eAAe;IACf,UAAU,MAAM;IAChB,WAAW;IACX,aAAa,MAAM;IACnB,WAAW;IACX,OAAO,KAAK;IACZ,WAAW;IACX,IAAI,KAAK;CACV;AAMD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,eAAqB,CAAA;AAE1C;;GAEG;AACH,eAAO,MAAM,IAAI,eAAiB,CAAA;AAElC;;GAEG;AACH,eAAO,MAAM,OAAO,eAAoB,CAAA;AAMxC;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAEhD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAE7C"}
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lytjs/renderer",
|
|
3
|
+
"version": "3.1.0",
|
|
4
|
+
"description": "Lyt.js 渲染器抽象层 - 支持 DOM、SSR、原生和小程序多平台渲染",
|
|
5
|
+
"main": "./dist/index.cjs",
|
|
6
|
+
"module": "./dist/index.mjs",
|
|
7
|
+
"types": "./dist/types/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/types/index.d.ts",
|
|
11
|
+
"import": "./dist/index.mjs",
|
|
12
|
+
"require": "./dist/index.cjs",
|
|
13
|
+
"default": "./dist/index.mjs"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"sideEffects": false,
|
|
17
|
+
"files": ["dist"],
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"author": "lytjs",
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "https://gitee.com/@lytjs/lytjs"
|
|
23
|
+
},
|
|
24
|
+
"homepage": "https://gitee.com/@lytjs/lytjs",
|
|
25
|
+
"keywords": [
|
|
26
|
+
"lyt",
|
|
27
|
+
"lytjs",
|
|
28
|
+
"javascript",
|
|
29
|
+
"framework",
|
|
30
|
+
"frontend",
|
|
31
|
+
"vue-like",
|
|
32
|
+
"lightweight",
|
|
33
|
+
"zero-dependency",
|
|
34
|
+
"renderer",
|
|
35
|
+
"dom",
|
|
36
|
+
"ssr",
|
|
37
|
+
"hydration",
|
|
38
|
+
"渲染器"
|
|
39
|
+
],
|
|
40
|
+
"publishConfig": {
|
|
41
|
+
"access": "public"
|
|
42
|
+
}
|
|
43
|
+
}
|