satoru-render 0.0.21 → 0.0.23
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 +13 -13
- package/dist/core.d.ts +1 -5
- package/dist/core.js +11 -101
- package/dist/satoru-single.js +0 -0
- package/dist/satoru.js +1 -1
- package/dist/satoru.wasm +0 -0
- package/dist/web-workers.js +170 -230
- package/dist/workers-dummy.d.ts +9 -0
- package/dist/workers-dummy.js +8 -0
- package/dist/workers-parent.js +682 -0
- package/dist/workers.d.ts +3 -0
- package/dist/workers.js +2 -0
- package/package.json +5 -2
- package/dist/bench.d.ts +0 -1
- package/dist/bench.js +0 -70
- package/dist/jsx.d.ts +0 -2
- package/dist/jsx.js +0 -2
- package/dist/satoru-single.wasm +0 -0
package/dist/workers.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type { SatoruWorker } from "./child-workers.js";
|
|
2
2
|
import { type RenderOptions } from "./index.js";
|
|
3
|
+
export { type RenderOptions } from "./index.js";
|
|
3
4
|
export { Satoru } from "./index.js";
|
|
4
5
|
export * from "./index.js";
|
|
5
6
|
export * from "./log-level.js";
|
|
@@ -27,3 +28,5 @@ export declare const createSatoruWorker: (params?: {
|
|
|
27
28
|
}, "execute"> & {
|
|
28
29
|
render(options: RenderOptions): Promise<string | Uint8Array<ArrayBufferLike>>;
|
|
29
30
|
};
|
|
31
|
+
declare const close: () => void, render: (options: RenderOptions) => Promise<string | Uint8Array<ArrayBufferLike>>, launchWorker: () => Promise<void[]>, setLimit: (newLimit: number) => void, waitAll: () => Promise<void>, waitReady: (retryTime?: number) => Promise<void>;
|
|
32
|
+
export { close, render, launchWorker, setLimit, waitAll, waitReady };
|
package/dist/workers.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "satoru-render",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.23",
|
|
4
4
|
"description": "High-fidelity HTML/CSS to SVG/PNG/PDF converter running in WebAssembly",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -40,7 +40,10 @@
|
|
|
40
40
|
},
|
|
41
41
|
"./workers": {
|
|
42
42
|
"types": "./dist/workers.d.ts",
|
|
43
|
-
"
|
|
43
|
+
"workerd": "./dist/workers-dummy.js",
|
|
44
|
+
"node": "./dist/workers.js",
|
|
45
|
+
"browser": "./dist/workers-parent.js",
|
|
46
|
+
"default": "./dist/workers-dummy.js"
|
|
44
47
|
},
|
|
45
48
|
"./single": {
|
|
46
49
|
"types": "./dist/single.d.ts",
|
package/dist/bench.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/bench.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { Bench } from "tinybench";
|
|
2
|
-
import { Satoru } from "./node.js";
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
import createSatoruModule from "../dist/satoru-single.js";
|
|
5
|
-
import * as fs from "fs";
|
|
6
|
-
import * as path from "path";
|
|
7
|
-
import { fileURLToPath } from "url";
|
|
8
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
9
|
-
const assetsDir = path.join(__dirname, "../../../assets");
|
|
10
|
-
async function runBenchmark() {
|
|
11
|
-
const satoru = await Satoru.create(createSatoruModule);
|
|
12
|
-
const bench = new Bench({ time: 1000 });
|
|
13
|
-
const files = [
|
|
14
|
-
"06-flexbox.html",
|
|
15
|
-
"09-grid.html",
|
|
16
|
-
"11-complex-text.html",
|
|
17
|
-
"15-showcase.html",
|
|
18
|
-
];
|
|
19
|
-
for (const file of files) {
|
|
20
|
-
const filePath = path.join(assetsDir, file);
|
|
21
|
-
if (!fs.existsSync(filePath)) {
|
|
22
|
-
console.warn(`File not found: ${filePath}`);
|
|
23
|
-
continue;
|
|
24
|
-
}
|
|
25
|
-
const html = fs.readFileSync(filePath, "utf-8");
|
|
26
|
-
// Full render
|
|
27
|
-
bench.add(`Full Render: ${file}`, async () => {
|
|
28
|
-
await satoru.render({
|
|
29
|
-
value: html,
|
|
30
|
-
width: 1200,
|
|
31
|
-
format: "svg",
|
|
32
|
-
baseUrl: `file://${assetsDir}/`,
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
// Core layout and render (no resource discovery if we assume resources are loaded)
|
|
36
|
-
// To make it fair, we'll initialize once and layout/render multiple times
|
|
37
|
-
// However, tinybench runs the function multiple times, so we need to be careful about state.
|
|
38
|
-
// For core, we'll do init inside to avoid state pollution, but the focus is on layout/render.
|
|
39
|
-
bench.add(`Core Layout+Render (SVG): ${file}`, async () => {
|
|
40
|
-
const inst = await satoru.initDocument({
|
|
41
|
-
html,
|
|
42
|
-
width: 1200,
|
|
43
|
-
baseUrl: `file://${assetsDir}/`,
|
|
44
|
-
});
|
|
45
|
-
await satoru.layoutDocument(inst, 1200);
|
|
46
|
-
await satoru.renderFromState(inst, {
|
|
47
|
-
width: 1200,
|
|
48
|
-
format: "svg",
|
|
49
|
-
});
|
|
50
|
-
await satoru.destroyInstance(inst);
|
|
51
|
-
});
|
|
52
|
-
bench.add(`Core Layout+Render (PNG): ${file}`, async () => {
|
|
53
|
-
const inst = await satoru.initDocument({
|
|
54
|
-
html,
|
|
55
|
-
width: 1200,
|
|
56
|
-
baseUrl: `file://${assetsDir}/`,
|
|
57
|
-
});
|
|
58
|
-
await satoru.layoutDocument(inst, 1200);
|
|
59
|
-
await satoru.renderFromState(inst, {
|
|
60
|
-
width: 1200,
|
|
61
|
-
format: "png",
|
|
62
|
-
});
|
|
63
|
-
await satoru.destroyInstance(inst);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
console.log("Running benchmarks...");
|
|
67
|
-
await bench.run();
|
|
68
|
-
console.table(bench.table());
|
|
69
|
-
}
|
|
70
|
-
runBenchmark().catch(console.error);
|
package/dist/jsx.d.ts
DELETED
package/dist/jsx.js
DELETED
package/dist/satoru-single.wasm
DELETED
|
Binary file
|