bobe-dom 0.0.67 → 0.0.69
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/bobe-dom.cjs +281 -0
- package/dist/bobe-dom.cjs.map +1 -0
- package/dist/bobe-dom.esm.js +28 -319
- package/dist/bobe-dom.esm.js.map +1 -1
- package/dist/{code.cjs.js → code.cjs} +3 -3
- package/dist/code.cjs.map +1 -0
- package/dist/code.esm.js +2 -2
- package/dist/code.esm.js.map +1 -1
- package/dist/iconify.cjs +442 -0
- package/dist/iconify.cjs.map +1 -0
- package/dist/iconify.d.ts +42 -0
- package/dist/iconify.esm.js +432 -0
- package/dist/iconify.esm.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -18
- package/dist/index.umd.js +40 -332
- package/dist/index.umd.js.map +1 -1
- package/dist/{markdown.cjs.js → markdown.cjs} +81 -15
- package/dist/markdown.cjs.map +1 -0
- package/dist/markdown.esm.js +80 -14
- package/dist/markdown.esm.js.map +1 -1
- package/dist/ssr-index.cjs +298 -0
- package/dist/ssr-index.cjs.map +1 -0
- package/dist/ssr-index.esm.js +295 -0
- package/dist/ssr-index.esm.js.map +1 -0
- package/package.json +19 -7
- package/dist/bobe-dom.cjs.js +0 -574
- package/dist/bobe-dom.cjs.js.map +0 -1
- package/dist/code.cjs.js.map +0 -1
- package/dist/markdown.cjs.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssr-index.esm.js","sources":["../src/type.ts","../src/parse-html.ts","../src/render-html-str2.ts"],"sourcesContent":["export class SSRNode {\n type: SSRNodeType;\n // 链表\n parent?: SSRNode | null = null;\n firstChild: SSRNode | null = null;\n lastChild: SSRNode | null = null; // O(1) 尾插\n nextSibling: SSRNode | null = null;\n prevSibling: SSRNode | null = null;\n closed: boolean = false;\n startClosed: boolean = false;\n // innerHTML 缓存\n _innerHtml: string | null = null;\n}\n\nexport enum SSRNodeType {\n Element,\n Text,\n Anchor,\n Root\n}\n\nexport class Element extends SSRNode {\n type = SSRNodeType.Element;\n textContent: string | null = null;\n\n attrs: Record<string, string> = {};\n constructor(\n /** 标签名 */\n public value: string,\n public parent?: SSRNode | null\n ) {\n super();\n }\n}\n\nexport class Text extends SSRNode {\n type = SSRNodeType.Text;\n constructor(\n /** 文本内容 */\n public textContent: string,\n public parent?: SSRNode | null\n ) {\n super();\n }\n}\n\nexport class Anchor extends SSRNode {\n type = SSRNodeType.Anchor;\n constructor(\n /** 注释内容 */\n public value: string,\n public parent?: SSRNode | null\n ) {\n super();\n }\n}\nexport class Root extends SSRNode {\n type = SSRNodeType.Root;\n constructor(\n /** 输出 HTML */\n public value: string,\n public parent?: SSRNode | null\n ) {\n super();\n }\n}\n\nexport type SSRCtx = {\n /** 根节点 */\n root: Root;\n /** 当前节点 */\n current: SSRNode;\n};\n\n\nexport class SSRFiber {\n parent?: SSRFiber = undefined;\n next?: SSRFiber = undefined;\n child?: SSRFiber = undefined;\n html?: string = undefined;\n /** 开标签 > 在原始 HTML 字符串中的索引位置 */\n openTagEnd?: number = undefined;\n constructor(public type: any, public props: Record<any, any> = {}) {}\n\n querySelector(selector: string): SSRFiber | null {\n // 解析 selector:tag#id.class1.class2\n const idMatch = selector.match(/#([\\w-]+)/);\n const id = idMatch ? idMatch[1] : null;\n const classMatches = selector.match(/\\.[\\w-]+/g);\n const classes = classMatches ? classMatches.map(c => c.slice(1)) : [];\n const tag = selector.replace(/#[\\w-]+/g, '').replace(/\\.[\\w-]+/g, '').trim() || null;\n\n // 深度优先遍历 child → next 链表\n const walk = (node: SSRFiber | undefined): SSRFiber | null => {\n if (!node) return null;\n // 跳过非元素节点\n if (node.type !== 'root' && node.type !== 'anchor' && node.type !== 'text') {\n if (!tag || node.type === tag) {\n if (!id || node.props['id'] === id) {\n if (\n classes.length === 0 ||\n classes.every(c => (node.props['class'] || '').split(/\\s+/).includes(c))\n ) {\n return node;\n }\n }\n }\n }\n return walk(node.child) || walk(node.next);\n };\n\n return walk(this.child);\n }\n\n getElementById(id: string): SSRFiber | null {\n return this.querySelector(`#${id}`);\n }\n}\n\n","import { Parser } from 'htmlparser2';\nimport { SSRFiber } from './type';\n\n/**\n * 使用 htmlparser2 将 HTML 字符串解析为 SSRFiber,插入到 root 下。\n * 解析产生的节点通过 child/next/parent 组成树结构,挂载到 root.child 链表。\n */\nexport function parseHtmlToFibers(html: string, root: SSRFiber): void {\n // 栈:跟踪当前父节点及其最后一个子节点。root 始终在栈底\n const stack: { parent: SSRFiber; lastChild: SSRFiber | null }[] = [\n { parent: root, lastChild: null },\n ];\n // 当前层级的上一个兄弟节点\n let prevSibling: SSRFiber | null = null;\n\n const append = (node: SSRFiber) => {\n const frame = stack[stack.length - 1];\n if (!frame.parent.child) {\n frame.parent.child = node;\n } else if (frame.lastChild) {\n frame.lastChild.next = node;\n }\n frame.lastChild = node;\n node.parent = frame.parent;\n prevSibling = node;\n };\n\n // 通过 onparserinit 拿到 parser 实例,后续从 parser.endIndex 读取 > 的位置\n let parserRef: Parser;\n\n const parser = new Parser({\n onparserinit(p: Parser) {\n parserRef = p;\n },\n\n onopentag(name: string, attribs: Record<string, string>) {\n const fiber = new SSRFiber(name, { ...attribs });\n // onopentagend 在 onopentag 之前触发,已将 endIndex 写入 parser\n fiber.openTagEnd = parserRef.endIndex;\n append(fiber);\n stack.push({ parent: fiber, lastChild: null });\n prevSibling = null;\n },\n\n ontext(text: string) {\n const fiber = new SSRFiber('text', { children: text });\n append(fiber);\n },\n\n onclosetag() {\n stack.pop();\n const top = stack[stack.length - 1];\n prevSibling = top.lastChild ?? null;\n },\n });\n\n parser.write(html);\n parser.end();\n}\n","import { customRender, Store } from 'bobe';\nimport { SSRFiber } from './type';\nimport { parseHtmlToFibers } from './parse-html';\n\nconst VOID_TAGS = new Set([\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]);\n\nconst BOOLEAN_ATTRS = new Set([\n 'disabled',\n 'readonly',\n 'checked',\n 'selected',\n 'hidden',\n 'multiple',\n 'required',\n 'autofocus',\n 'autoplay',\n 'controls',\n 'loop',\n 'muted',\n 'defer',\n 'async',\n 'reversed',\n 'open',\n 'itemscope',\n 'ismap',\n 'nohref',\n 'noshade',\n 'nowrap',\n 'compact',\n 'default'\n]);\n\nconst ATTR_RE = /[&\"<>]/g;\nconst TEXT_RE = /[&<>]/g;\nconst ATTR_MAP: Record<string, string> = {\n '&': '&',\n '\"': '"',\n '<': '<',\n '>': '>'\n};\nconst TEXT_MAP: Record<string, string> = {\n '&': '&',\n '<': '<',\n '>': '>'\n};\n\nconst escapeAttr = (str: string) => {\n const s = String(str);\n return ATTR_RE.test(s) ? s.replace(ATTR_RE, m => ATTR_MAP[m]) : s;\n};\n\nconst escapeText = (str: string) => {\n const s = String(str);\n return TEXT_RE.test(s) ? s.replace(TEXT_RE, m => TEXT_MAP[m]) : s;\n};\n\nconst createNode = (name: string) => {\n return new SSRFiber(name);\n};\n\nconst setProp = (node: SSRFiber, key: string, value: any) => {\n node.props[key] = value;\n if (key === 'html') {\n parseHtmlToFibers(value, node);\n }\n};\n\nconst beforeIndent = (node: SSRFiber) => {\n // 仅 html 需要跳过缩进子节点(子内容来自 parseHtmlToFibers)\n if (node.props.html != null) {\n return false;\n }\n};\n\nconst insertAfter = (parent: SSRFiber, node: SSRFiber, prev: SSRFiber | null) => {\n let next: SSRFiber;\n if (prev) {\n next = prev.next;\n prev.next = node;\n } else {\n next = parent.child;\n parent.child = node;\n }\n node.next = next;\n node.parent = parent;\n};\n\nconst createAnchor = (name: string, isBefore?: boolean) => {\n return new SSRFiber('anchor', {\n name,\n isBefore\n });\n};\n\nconst remove = (node: SSRFiber, prev?: SSRFiber) => {\n const { parent, next } = node;\n node.next = null;\n if (prev) {\n prev.next = next;\n } else {\n parent.child = next;\n }\n node.parent = null;\n};\n\nconst firstChild = (node: SSRFiber) => node.child;\n\nconst nextSib = (node: SSRFiber) => node.next;\n\nexport function walkFiber(root: SSRFiber) {\n let point = root;\n let shouldSink = true;\n // 下沉\n sink: do {\n // begin 组装 HTML 起始部位\n if (point.type === 'root') {\n point.html = '';\n } else if (point.type === 'anchor') {\n point.html = `<!--${point.props.name}-->`;\n } else if (point.type === 'text') {\n const text = point.props.children;\n if (text != null) {\n point.html = escapeText(point.props.children);\n }\n }\n // dom 节点\n else {\n point.html = `<${point.type}`;\n const props = point.props;\n let text;\n let classStr = '';\n const dotClasses: string[] = [];\n let idValue: string | null = null;\n\n for (const key in props) {\n const value = props[key];\n if (key.startsWith('on') || key === 'ref') continue;\n // html 被解析成了子节点,则不处理\n if (key === 'html') {\n continue;\n }\n if (key === 'children') {\n text = value;\n continue;\n }\n // .xxx — class toggle,收集后与 class 合并\n if (key.startsWith('.')) {\n if (value) dotClasses.push(key.slice(1));\n continue;\n }\n // #xxx — id toggle\n if (key.startsWith('#')) {\n if (value) idValue = key.slice(1);\n continue;\n }\n if (key === 'class') {\n if (value == null) continue;\n if (typeof value === 'object' && !Array.isArray(value)) {\n classStr = Object.entries(value as Record<string, any>)\n .filter(([, v]) => !!v)\n .map(([k]) => k)\n .join(' ');\n } else {\n classStr = typeof value === 'boolean' ? (value ? 'true' : '') : String(value);\n }\n continue;\n }\n if (key === 'style') {\n if (value == null) continue;\n point.html += ` style=\"${escapeAttr(String(value))}\"`;\n continue;\n }\n // 4. 布尔属性\n if (BOOLEAN_ATTRS.has(key)) {\n if (value !== false && value !== null && value !== undefined) {\n point.html += ` ${key}`;\n }\n continue;\n }\n // 5. data-* / aria-* — 对齐 Browser:null 时不输出\n if (key.startsWith('data-') || key.startsWith('aria-')) {\n if (value == null) continue;\n point.html += ` ${key}=\"${escapeAttr(value)}\"`;\n continue;\n }\n // 6. 其余属性 — 对齐 Browser:null 时不输出\n if (value == null) continue;\n point.html += ` ${key}=\"${escapeAttr(value)}\"`;\n }\n // 合并 .xxx 类名到 class\n if (dotClasses.length) {\n classStr = (classStr ? classStr + ' ' : '') + dotClasses.join(' ');\n }\n if (classStr) {\n point.html += ` class=\"${escapeAttr(classStr)}\"`;\n }\n // 输出 #xxx 设置的 id\n if (idValue) {\n point.html += ` id=\"${escapeAttr(idValue)}\"`;\n }\n // 纯 text(无 html children)→ 内联文本,闭合标签,不下沉\n if (text != null && props.html == null) {\n const content = escapeText(text);\n point.html += `>${content}</${point.type}>`;\n if (point.child) console.warn(`<${point.type}> has text content and child elements — children ignored`);\n shouldSink = false;\n } else {\n if (VOID_TAGS.has(point.type)) {\n point.html += `/>`;\n if (point.child) console.warn(`<${point.type}> can't have children`);\n shouldSink = false;\n } else {\n point.html += `>`;\n }\n }\n }\n\n if (point.child && shouldSink) {\n point = point.child;\n continue;\n }\n // 上浮\n do {\n const notRoot = point !== root;\n const notAnchor = point.type !== 'anchor';\n const notText = point.type !== 'text';\n /**\n * shouldSink == false 时会直接进入节点的 complete 且不会遍历子节点\n * 此时标签已闭合,complete 不需要重复处理\n */\n if (shouldSink && notRoot && notAnchor && notText) {\n point.html += `</${point.type}>`;\n }\n // 把子节点的字符串加入父节点\n if (notRoot) {\n point.parent.html += point.html;\n }\n // complete\n // 上浮到根,end\n shouldSink = true;\n if (!notRoot) break sink;\n // 有兄弟节点,停止上浮\n if (point.next) {\n point = point.next;\n break;\n }\n // 无兄弟节点,继续上浮\n point = point.parent;\n } while (true);\n } while (true);\n}\n\nexport const renderHtmlStr = (ComponentClass: typeof Store) => {\n const root = new SSRFiber('root');\n const render = customRender({\n createNode,\n setProp,\n insertAfter,\n createAnchor,\n remove,\n firstChild,\n nextSib,\n beforeIndent,\n noopEffect: true\n });\n render(ComponentClass, root);\n walkFiber(root);\n return root.html;\n};\n"],"names":["SSRNodeType","SSRFiber","parent","undefined","next","child","html","openTagEnd","constructor","type","props","querySelector","selector","idMatch","match","id","classMatches","classes","map","c","slice","tag","replace","trim","walk","node","length","every","split","includes","getElementById","parseHtmlToFibers","root","stack","lastChild","append","frame","parserRef","parser","Parser","onparserinit","p","onopentag","name","attribs","fiber","endIndex","push","ontext","text","children","onclosetag","pop","top","prevSibling","write","end","VOID_TAGS","Set","BOOLEAN_ATTRS","ATTR_RE","TEXT_RE","ATTR_MAP","TEXT_MAP","escapeAttr","str","s","String","test","m","escapeText","createNode","setProp","key","value","beforeIndent","insertAfter","prev","createAnchor","isBefore","remove","firstChild","nextSib","walkFiber","point","shouldSink","sink","classStr","dotClasses","idValue","startsWith","Array","isArray","Object","entries","filter","v","k","join","has","content","console","warn","notRoot","notAnchor","notText","renderHtmlStr","ComponentClass","render","customRender","noopEffect"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bobe-dom",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.69",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"main": "dist/bobe-dom.cjs
|
|
5
|
+
"main": "dist/bobe-dom.cjs",
|
|
6
6
|
"module": "dist/bobe-dom.esm.js",
|
|
7
7
|
"browser": "dist/bobe-dom.umd.js",
|
|
8
8
|
"types": "dist/index.d.ts",
|
|
9
9
|
"private": false,
|
|
10
10
|
"dependencies": {
|
|
11
|
+
"@babel/parser": "^8.0.0",
|
|
12
|
+
"@iconify/utils": "^3.1.3",
|
|
11
13
|
"gray-matter": "^4.0.3",
|
|
12
14
|
"highlight.js": "^11.11.1",
|
|
13
15
|
"htmlparser2": "^12.0.0",
|
|
16
|
+
"iconify-icon": "^3.0.2",
|
|
14
17
|
"marked": "^18.0.4",
|
|
15
|
-
"bobe": "0.0.
|
|
18
|
+
"bobe": "0.0.69"
|
|
16
19
|
},
|
|
17
20
|
"devDependencies": {
|
|
18
21
|
"vitest": "^4.1.7"
|
|
@@ -21,20 +24,29 @@
|
|
|
21
24
|
".": {
|
|
22
25
|
"types": "./dist/index.d.ts",
|
|
23
26
|
"import": "./dist/bobe-dom.esm.js",
|
|
24
|
-
"require": "./dist/bobe-dom.cjs
|
|
27
|
+
"require": "./dist/bobe-dom.cjs"
|
|
25
28
|
},
|
|
26
29
|
"./plugin-markdown": {
|
|
27
30
|
"types": "./dist/markdown.d.ts",
|
|
28
31
|
"import": "./dist/markdown.esm.js",
|
|
29
|
-
"require": "./dist/markdown.cjs
|
|
32
|
+
"require": "./dist/markdown.cjs"
|
|
33
|
+
},
|
|
34
|
+
"./plugin-iconify": {
|
|
35
|
+
"types": "./dist/iconify.d.ts",
|
|
36
|
+
"import": "./dist/iconify.esm.js",
|
|
37
|
+
"require": "./dist/iconify.cjs"
|
|
30
38
|
},
|
|
31
39
|
"./plugin-markdown/code": {
|
|
32
40
|
"types": "./dist/code.d.ts",
|
|
33
41
|
"import": "./dist/code.esm.js",
|
|
34
|
-
"require": "./dist/code.cjs
|
|
42
|
+
"require": "./dist/code.cjs"
|
|
35
43
|
},
|
|
36
44
|
"./plugin-markdown/index.css": "./dist/index.css",
|
|
37
|
-
"./plugin-markdown/code.css": "./dist/code.css"
|
|
45
|
+
"./plugin-markdown/code.css": "./dist/code.css",
|
|
46
|
+
"./ssr": {
|
|
47
|
+
"import": "./dist/ssr-index.esm.js",
|
|
48
|
+
"require": "./dist/ssr-index.cjs"
|
|
49
|
+
}
|
|
38
50
|
},
|
|
39
51
|
"files": [
|
|
40
52
|
"dist"
|