@lytjs/html-renderer 6.6.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 ADDED
@@ -0,0 +1,40 @@
1
+ # @lytjs/html-renderer
2
+
3
+ > LytJS HTML 渲染器。
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@lytjs/html-renderer.svg)](https://www.npmjs.com/package/@lytjs/html-renderer)
6
+ [![license](https://img.shields.io/npm/l/@lytjs/html-renderer.svg)](https://gitee.com/lytjs/lytjs/blob/main/LICENSE)
7
+
8
+ ## 简介
9
+
10
+ `@lytjs/html-renderer` 是 LytJS 框架的 HTML 渲染器,支持流式渲染、自定义模板等功能。
11
+
12
+ ### 核心特性
13
+
14
+ - **流式渲染**:支持流式 HTML 输出
15
+ - **自定义模板**:支持自定义 HTML 模板
16
+ - **安全特性**:内置 XSS 防护
17
+ - **零依赖**:不引入任何外部依赖
18
+
19
+ ## 安装
20
+
21
+ ```bash
22
+ npm install @lytjs/html-renderer
23
+ ```
24
+
25
+ 或使用 pnpm:
26
+
27
+ ```bash
28
+ pnpm add @lytjs/html-renderer
29
+ ```
30
+
31
+ ## 许可证
32
+
33
+ MIT License - [查看许可证](https://gitee.com/lytjs/lytjs/blob/main/LICENSE)
34
+
35
+ ## 贡献指南
36
+
37
+ 欢迎提交 Issue 和 Pull Request!
38
+
39
+ - [Gitee 仓库](https://gitee.com/lytjs/lytjs)
40
+ - [问题反馈](https://gitee.com/lytjs/lytjs/issues)
package/dist/index.cjs ADDED
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ // src/renderer.ts
4
+ var HTMLRenderer = class {
5
+ constructor(_config = {}) {
6
+ this._config = _config;
7
+ }
8
+ render(appHtml) {
9
+ const head = this.generateHead();
10
+ const body = this.generateBody(appHtml);
11
+ const html = this.generateHTML(head, body);
12
+ return {
13
+ html,
14
+ head,
15
+ body
16
+ };
17
+ }
18
+ generateHead() {
19
+ return "";
20
+ }
21
+ generateBody(appHtml) {
22
+ return appHtml;
23
+ }
24
+ generateHTML(head, body) {
25
+ return `<!DOCTYPE html>
26
+ <html>
27
+ <head>${head}</head>
28
+ <body>${body}</body>
29
+ </html>`;
30
+ }
31
+ };
32
+
33
+ exports.HTMLRenderer = HTMLRenderer;
34
+ //# sourceMappingURL=index.cjs.map
35
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/renderer.ts"],"names":[],"mappings":";;;AAEO,IAAM,eAAN,MAAmB;AAAA,EACxB,WAAA,CAAoB,OAAA,GAA0B,EAAC,EAAG;AAA9B,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAAA,EAA+B;AAAA,EAEnD,OAAO,OAAA,EAA+B;AACpC,IAAA,MAAM,IAAA,GAAO,KAAK,YAAA,EAAa;AAC/B,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,YAAA,CAAa,OAAO,CAAA;AACtC,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,YAAA,CAAa,IAAA,EAAM,IAAI,CAAA;AAEzC,IAAA,OAAO;AAAA,MACL,IAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AAAA,EAEQ,YAAA,GAAuB;AAC7B,IAAA,OAAO,EAAA;AAAA,EACT;AAAA,EAEQ,aAAa,OAAA,EAAyB;AAC5C,IAAA,OAAO,OAAA;AAAA,EACT;AAAA,EAEQ,YAAA,CAAa,MAAc,IAAA,EAAsB;AACvD,IAAA,OAAO,CAAA;AAAA;AAAA,MAAA,EAEH,IAAI,CAAA;AAAA,MAAA,EACJ,IAAI,CAAA;AAAA,OAAA,CAAA;AAAA,EAEV;AACF","file":"index.cjs","sourcesContent":["import type { RendererConfig, RenderResult } from './types';\n\nexport class HTMLRenderer {\n constructor(private _config: RendererConfig = {}) {}\n\n render(appHtml: string): RenderResult {\n const head = this.generateHead();\n const body = this.generateBody(appHtml);\n const html = this.generateHTML(head, body);\n\n return {\n html,\n head,\n body,\n };\n }\n\n private generateHead(): string {\n return '';\n }\n\n private generateBody(appHtml: string): string {\n return appHtml;\n }\n\n private generateHTML(head: string, body: string): string {\n return `<!DOCTYPE html>\n<html>\n<head>${head}</head>\n<body>${body}</body>\n</html>`;\n }\n}\n"]}
package/dist/index.mjs ADDED
@@ -0,0 +1,33 @@
1
+ // src/renderer.ts
2
+ var HTMLRenderer = class {
3
+ constructor(_config = {}) {
4
+ this._config = _config;
5
+ }
6
+ render(appHtml) {
7
+ const head = this.generateHead();
8
+ const body = this.generateBody(appHtml);
9
+ const html = this.generateHTML(head, body);
10
+ return {
11
+ html,
12
+ head,
13
+ body
14
+ };
15
+ }
16
+ generateHead() {
17
+ return "";
18
+ }
19
+ generateBody(appHtml) {
20
+ return appHtml;
21
+ }
22
+ generateHTML(head, body) {
23
+ return `<!DOCTYPE html>
24
+ <html>
25
+ <head>${head}</head>
26
+ <body>${body}</body>
27
+ </html>`;
28
+ }
29
+ };
30
+
31
+ export { HTMLRenderer };
32
+ //# sourceMappingURL=index.mjs.map
33
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/renderer.ts"],"names":[],"mappings":";AAEO,IAAM,eAAN,MAAmB;AAAA,EACxB,WAAA,CAAoB,OAAA,GAA0B,EAAC,EAAG;AAA9B,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAAA,EAA+B;AAAA,EAEnD,OAAO,OAAA,EAA+B;AACpC,IAAA,MAAM,IAAA,GAAO,KAAK,YAAA,EAAa;AAC/B,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,YAAA,CAAa,OAAO,CAAA;AACtC,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,YAAA,CAAa,IAAA,EAAM,IAAI,CAAA;AAEzC,IAAA,OAAO;AAAA,MACL,IAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AAAA,EAEQ,YAAA,GAAuB;AAC7B,IAAA,OAAO,EAAA;AAAA,EACT;AAAA,EAEQ,aAAa,OAAA,EAAyB;AAC5C,IAAA,OAAO,OAAA;AAAA,EACT;AAAA,EAEQ,YAAA,CAAa,MAAc,IAAA,EAAsB;AACvD,IAAA,OAAO,CAAA;AAAA;AAAA,MAAA,EAEH,IAAI,CAAA;AAAA,MAAA,EACJ,IAAI,CAAA;AAAA,OAAA,CAAA;AAAA,EAEV;AACF","file":"index.mjs","sourcesContent":["import type { RendererConfig, RenderResult } from './types';\n\nexport class HTMLRenderer {\n constructor(private _config: RendererConfig = {}) {}\n\n render(appHtml: string): RenderResult {\n const head = this.generateHead();\n const body = this.generateBody(appHtml);\n const html = this.generateHTML(head, body);\n\n return {\n html,\n head,\n body,\n };\n }\n\n private generateHead(): string {\n return '';\n }\n\n private generateBody(appHtml: string): string {\n return appHtml;\n }\n\n private generateHTML(head: string, body: string): string {\n return `<!DOCTYPE html>\n<html>\n<head>${head}</head>\n<body>${body}</body>\n</html>`;\n }\n}\n"]}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@lytjs/html-renderer",
3
+ "version": "6.6.0",
4
+ "description": "LytJS HTML Renderer for SSR",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.mjs",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.mjs",
13
+ "require": "./dist/index.cjs"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsup",
21
+ "dev": "tsup --watch",
22
+ "test": "vitest run",
23
+ "type-check": "tsc --noEmit",
24
+ "clean": "rm -rf dist"
25
+ },
26
+ "dependencies": {
27
+ "@lytjs/ssr": "workspace:*",
28
+ "@lytjs/common-is": "workspace:*"
29
+ },
30
+ "devDependencies": {
31
+ "tsup": "^8.0.0",
32
+ "typescript": "^5.4.0",
33
+ "vitest": "^3.0.0"
34
+ },
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://gitee.com/lytjs/lytjs.git",
39
+ "directory": "packages/ecosystem/packages/ssr-kit/packages/html-renderer"
40
+ },
41
+ "keywords": [
42
+ "lytjs",
43
+ "html",
44
+ "renderer",
45
+ "ssr"
46
+ ]
47
+ }