@danielsimonjr/sciengjs 0.1.0 → 0.2.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 +19 -3
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/assets/index_bg.wasm +0 -0
- package/assets/licenses/MIT-viz-js.txt +21 -0
- package/dist/assets.d.ts +12 -0
- package/dist/assets.js +63 -0
- package/dist/assets.js.map +1 -0
- package/dist/config.d.ts +4 -0
- package/dist/config.js +10 -10
- package/dist/config.js.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/dist/errors.d.ts +6 -0
- package/dist/errors.js +15 -0
- package/dist/errors.js.map +1 -1
- package/dist/graph/backend-png.d.ts +6 -1
- package/dist/graph/backend-png.js +25 -7
- package/dist/graph/backend-png.js.map +1 -1
- package/dist/mermaid/backend-png.d.ts +6 -0
- package/dist/mermaid/backend-png.js +13 -0
- package/dist/mermaid/backend-png.js.map +1 -0
- package/dist/mermaid/backend-svg.d.ts +3 -0
- package/dist/mermaid/backend-svg.js +8 -0
- package/dist/mermaid/backend-svg.js.map +1 -0
- package/dist/mermaid/class.d.ts +37 -0
- package/dist/mermaid/class.js +190 -0
- package/dist/mermaid/class.js.map +1 -0
- package/dist/mermaid/common.d.ts +43 -0
- package/dist/mermaid/common.js +112 -0
- package/dist/mermaid/common.js.map +1 -0
- package/dist/mermaid/index.d.ts +10 -0
- package/dist/mermaid/index.js +11 -0
- package/dist/mermaid/index.js.map +1 -0
- package/dist/mermaid/render.d.ts +10 -0
- package/dist/mermaid/render.js +24 -0
- package/dist/mermaid/render.js.map +1 -0
- package/dist/mermaid/sequence-layout.d.ts +6 -0
- package/dist/mermaid/sequence-layout.js +268 -0
- package/dist/mermaid/sequence-layout.js.map +1 -0
- package/dist/mermaid/sequence.d.ts +62 -0
- package/dist/mermaid/sequence.js +199 -0
- package/dist/mermaid/sequence.js.map +1 -0
- package/dist/mermaid/state.d.ts +24 -0
- package/dist/mermaid/state.js +132 -0
- package/dist/mermaid/state.js.map +1 -0
- package/dist/pairs.js +2 -2
- package/dist/pairs.js.map +1 -1
- package/dist/raster/index.d.ts +6 -0
- package/dist/raster/index.js +13 -7
- package/dist/raster/index.js.map +1 -1
- package/dist/registry.js +2 -0
- package/dist/registry.js.map +1 -1
- package/dist/version.d.ts +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/dist/worker/entry.js +2 -2
- package/dist/worker/entry.js.map +1 -1
- package/dist/worker/protocol.d.ts +2 -0
- package/package.json +6 -2
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { inputError, outside, xmlSafe } from "./common.js";
|
|
2
|
+
const IDENT = "[A-Za-z_][A-Za-z0-9_]*";
|
|
3
|
+
const MARKER = `(\\[\\*\\]|${IDENT})`;
|
|
4
|
+
const RESERVED_WORDS = new Set(["state", "note", "direction", "classDef", "class", "style"]);
|
|
5
|
+
const DIRECTION_LINE = /^direction[ \t]+(TB|BT|LR|RL)$/;
|
|
6
|
+
const COMPOSITE_OPENER = new RegExp(`^state[ \\t]+(?:${IDENT})[ \\t]?\\{$`);
|
|
7
|
+
const TRANSITION_LINE = new RegExp(`^${MARKER}[ \\t]+-->[ \\t]+${MARKER}(?:[ \\t]+:[ \\t]+(.+))?$`);
|
|
8
|
+
const QUOTED_STATE_LINE = new RegExp(`^state[ \\t]+"([^"]+)"[ \\t]+as[ \\t]+(${IDENT})$`);
|
|
9
|
+
const NAMED_STATE_LINE = new RegExp(`^state[ \\t]+(${IDENT})$`);
|
|
10
|
+
const BARE_STATE_LINE = new RegExp(`^${IDENT}$`);
|
|
11
|
+
function readTransition(text) {
|
|
12
|
+
const match = TRANSITION_LINE.exec(text);
|
|
13
|
+
if (match === null) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const raw = match[3];
|
|
17
|
+
if (raw !== undefined && raw.trim().length === 0) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
return { from: match[1], to: match[2], label: raw === undefined ? undefined : raw.trim() };
|
|
21
|
+
}
|
|
22
|
+
function declareState(states, id, line, label) {
|
|
23
|
+
const existing = states.get(id);
|
|
24
|
+
if (existing === undefined) {
|
|
25
|
+
states.set(id, { id, label: label ?? id, line: line.number });
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (label !== undefined) {
|
|
29
|
+
existing.label = label;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** Parses the content lines of a state diagram. A line outside the grammar rejects with E_INPUT. In lenient mode the line is skipped and a warning names it. */
|
|
33
|
+
export function parseStateDiagram(src) {
|
|
34
|
+
const states = new Map();
|
|
35
|
+
const transitions = [];
|
|
36
|
+
let direction = "TB";
|
|
37
|
+
let sawDirection = false;
|
|
38
|
+
for (let index = 0; index < src.lines.length; index += 1) {
|
|
39
|
+
const line = src.lines[index];
|
|
40
|
+
const text = line.text;
|
|
41
|
+
const directionMatch = DIRECTION_LINE.exec(text);
|
|
42
|
+
if (directionMatch !== null) {
|
|
43
|
+
if (sawDirection) {
|
|
44
|
+
outside(src, line.number, text, "a second direction line is outside the supported grammar");
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
direction = directionMatch[1];
|
|
48
|
+
sawDirection = true;
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
if (COMPOSITE_OPENER.test(text)) {
|
|
52
|
+
outside(src, line.number, text, "a composite state is outside the supported grammar");
|
|
53
|
+
let depth = 1;
|
|
54
|
+
let cursor = index + 1;
|
|
55
|
+
while (cursor < src.lines.length && depth > 0) {
|
|
56
|
+
const skipped = src.lines[cursor].text;
|
|
57
|
+
if (skipped.includes("{")) {
|
|
58
|
+
depth += 1;
|
|
59
|
+
}
|
|
60
|
+
if (skipped === "}") {
|
|
61
|
+
depth -= 1;
|
|
62
|
+
}
|
|
63
|
+
cursor += 1;
|
|
64
|
+
}
|
|
65
|
+
index = cursor - 1;
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
const transition = readTransition(text);
|
|
69
|
+
if (transition !== null) {
|
|
70
|
+
if (transition.from === "[*]" && transition.to === "[*]") {
|
|
71
|
+
outside(src, line.number, text, "a start marker cannot also be an end marker");
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
transitions.push({ from: transition.from, to: transition.to, label: transition.label, line: line.number });
|
|
75
|
+
if (transition.from !== "[*]") {
|
|
76
|
+
declareState(states, transition.from, line);
|
|
77
|
+
}
|
|
78
|
+
if (transition.to !== "[*]") {
|
|
79
|
+
declareState(states, transition.to, line);
|
|
80
|
+
}
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
const quoted = QUOTED_STATE_LINE.exec(text);
|
|
84
|
+
if (quoted !== null) {
|
|
85
|
+
declareState(states, quoted[2], line, quoted[1]);
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
const named = NAMED_STATE_LINE.exec(text);
|
|
89
|
+
if (named !== null) {
|
|
90
|
+
declareState(states, named[1], line);
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (BARE_STATE_LINE.test(text) && !RESERVED_WORDS.has(text)) {
|
|
94
|
+
declareState(states, text, line);
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
outside(src, line.number, text, "a construct is outside the supported grammar");
|
|
98
|
+
}
|
|
99
|
+
if (states.size === 0 && transitions.length === 0) {
|
|
100
|
+
throw inputError(src.headerLine, "the diagram holds no state or transition");
|
|
101
|
+
}
|
|
102
|
+
return { direction, states: [...states.values()], transitions };
|
|
103
|
+
}
|
|
104
|
+
function escapeDotText(text) {
|
|
105
|
+
return xmlSafe(text).replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
106
|
+
}
|
|
107
|
+
/** Builds the DOT source of a parsed state diagram. Each state is a rounded box. */
|
|
108
|
+
export function stateToDot(model) {
|
|
109
|
+
const lines = [
|
|
110
|
+
"digraph stateDiagram {",
|
|
111
|
+
` rankdir=${model.direction};`,
|
|
112
|
+
" node [shape=box, style=rounded];",
|
|
113
|
+
];
|
|
114
|
+
if (model.transitions.some((transition) => transition.from === "[*]")) {
|
|
115
|
+
lines.push(' "start*" [shape=circle, style=filled, fillcolor=black, width=0.25, label=""];');
|
|
116
|
+
}
|
|
117
|
+
if (model.transitions.some((transition) => transition.to === "[*]")) {
|
|
118
|
+
lines.push(' "end*" [shape=doublecircle, style=filled, fillcolor=black, width=0.2, label=""];');
|
|
119
|
+
}
|
|
120
|
+
for (const state of model.states) {
|
|
121
|
+
lines.push(` "${escapeDotText(state.id)}" [label="${escapeDotText(state.label)}"];`);
|
|
122
|
+
}
|
|
123
|
+
for (const transition of model.transitions) {
|
|
124
|
+
const from = transition.from === "[*]" ? "start*" : transition.from;
|
|
125
|
+
const to = transition.to === "[*]" ? "end*" : transition.to;
|
|
126
|
+
const label = transition.label === undefined ? "" : ` [label="${escapeDotText(transition.label)}"]`;
|
|
127
|
+
lines.push(` "${escapeDotText(from)}" -> "${escapeDotText(to)}"${label};`);
|
|
128
|
+
}
|
|
129
|
+
lines.push("}");
|
|
130
|
+
return lines.join("\n") + "\n";
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/mermaid/state.ts"],"names":[],"mappings":"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"}
|
package/dist/pairs.js
CHANGED
|
@@ -3,8 +3,8 @@ export const PAIRS = [
|
|
|
3
3
|
{ type: "dot", format: "svg", stage: "graph" },
|
|
4
4
|
{ type: "dot", format: "png", stage: "graph" },
|
|
5
5
|
{ type: "dot", format: "pdf", stage: "browser" },
|
|
6
|
-
{ type: "mermaid", format: "svg", stage: "
|
|
7
|
-
{ type: "mermaid", format: "png", stage: "
|
|
6
|
+
{ type: "mermaid", format: "svg", stage: "graph" },
|
|
7
|
+
{ type: "mermaid", format: "png", stage: "graph" },
|
|
8
8
|
{ type: "mermaid", format: "pdf", stage: "browser" },
|
|
9
9
|
{ type: "math", format: "svg", stage: "math" },
|
|
10
10
|
{ type: "math", format: "png", stage: "math" },
|
package/dist/pairs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pairs.js","sourceRoot":"","sources":["../src/pairs.ts"],"names":[],"mappings":"AASA,mFAAmF;AACnF,MAAM,CAAC,MAAM,KAAK,GAAwB;IACxC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;IAChD,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"pairs.js","sourceRoot":"","sources":["../src/pairs.ts"],"names":[],"mappings":"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"}
|
package/dist/raster/index.d.ts
CHANGED
|
@@ -9,6 +9,12 @@ export interface SvgToPngOptions {
|
|
|
9
9
|
scale: number;
|
|
10
10
|
maxMemoryMb: number;
|
|
11
11
|
font?: Uint8Array;
|
|
12
|
+
/**
|
|
13
|
+
* The folder URL of the bundled files. When the folder URL is absent, the code uses the
|
|
14
|
+
* package assets folder (DEFAULT_ASSETS_URL). The code reads the WASM file from this folder on
|
|
15
|
+
* the first start of the module only.
|
|
16
|
+
*/
|
|
17
|
+
assetsUrl?: string;
|
|
12
18
|
/** Replaces the reader of the resvg WASM file. Tests use it to fail the first start. */
|
|
13
19
|
readWasm?: () => Uint8Array;
|
|
14
20
|
}
|
package/dist/raster/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { initWasm, Resvg } from "@resvg/resvg-wasm";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { readAsset, RESVG_WASM_FILE } from "../assets.js";
|
|
3
|
+
import { DEFAULT_ASSETS_URL } from "../config.js";
|
|
4
4
|
import { RenderError } from "../errors.js";
|
|
5
5
|
/**
|
|
6
6
|
* The most megabytes of RGBA pixels that one PNG render accepts. Measured: a render holds about two
|
|
@@ -9,14 +9,19 @@ import { RenderError } from "../errors.js";
|
|
|
9
9
|
*/
|
|
10
10
|
export const MAX_PNG_PIXEL_MB = 1024;
|
|
11
11
|
let wasmPromise;
|
|
12
|
-
|
|
13
|
-
return readFileSync(createRequire(import.meta.url).resolve("@resvg/resvg-wasm/index_bg.wasm"));
|
|
14
|
-
}
|
|
12
|
+
// The first start decides the bytes; later calls reuse the started module whatever their assetsUrl.
|
|
15
13
|
// A failed start is not cached, so a later render can try again.
|
|
16
14
|
function ensureWasm(readWasm) {
|
|
17
15
|
if (wasmPromise === undefined) {
|
|
18
16
|
const started = (async () => {
|
|
19
|
-
|
|
17
|
+
const bytes = readWasm();
|
|
18
|
+
try {
|
|
19
|
+
await initWasm(bytes);
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
23
|
+
throw new RenderError("E_STAGE_MISSING", RESVG_WASM_FILE + " is not a usable WebAssembly module: " + message);
|
|
24
|
+
}
|
|
20
25
|
})();
|
|
21
26
|
wasmPromise = started;
|
|
22
27
|
started.catch(() => {
|
|
@@ -29,7 +34,8 @@ function ensureWasm(readWasm) {
|
|
|
29
34
|
}
|
|
30
35
|
/** Renders an SVG to PNG bytes with resvg. The scale multiplies the SVG size. A pixel buffer over maxMemoryMb or over MAX_PNG_PIXEL_MB rejects with E_LIMIT. */
|
|
31
36
|
export async function svgToPng(svg, options) {
|
|
32
|
-
|
|
37
|
+
const assetsUrl = options.assetsUrl ?? DEFAULT_ASSETS_URL;
|
|
38
|
+
await ensureWasm(options.readWasm ?? (() => readAsset(assetsUrl, RESVG_WASM_FILE)));
|
|
33
39
|
let resvg;
|
|
34
40
|
try {
|
|
35
41
|
resvg = new Resvg(svg, {
|
package/dist/raster/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/raster/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/raster/index.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.js
CHANGED
|
@@ -9,6 +9,8 @@ function backendUrl(name) {
|
|
|
9
9
|
export const DEFAULT_REGISTRY = {
|
|
10
10
|
"dot:svg": { backend: "graph/viz", moduleUrl: backendUrl("graph/backend-svg") },
|
|
11
11
|
"dot:png": { backend: "graph/viz+raster/resvg", moduleUrl: backendUrl("graph/backend-png") },
|
|
12
|
+
"mermaid:svg": { backend: "mermaid/native", moduleUrl: backendUrl("mermaid/backend-svg") },
|
|
13
|
+
"mermaid:png": { backend: "mermaid/native+raster/resvg", moduleUrl: backendUrl("mermaid/backend-png") },
|
|
12
14
|
};
|
|
13
15
|
/** Builds the registry key of a pair. */
|
|
14
16
|
export function registryKey(type, format) {
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAazC,iHAAiH;AACjH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,SAAS,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAED,kCAAkC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAa;IACxC,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,mBAAmB,CAAC,EAAE;IAC/E,SAAS,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,CAAC,mBAAmB,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAazC,iHAAiH;AACjH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,SAAS,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAED,kCAAkC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAa;IACxC,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,mBAAmB,CAAC,EAAE;IAC/E,SAAS,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,CAAC,mBAAmB,CAAC,EAAE;IAC5F,aAAa,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE;IAC1F,aAAa,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE,SAAS,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE;CACxG,CAAC;AAEF,yCAAyC;AACzC,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,MAAc;IACtD,OAAO,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ENGINE_VERSION = "0.2.0";
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC"}
|
package/dist/worker/entry.js
CHANGED
|
@@ -7,7 +7,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
7
7
|
return path;
|
|
8
8
|
};
|
|
9
9
|
import { parentPort, workerData } from "node:worker_threads";
|
|
10
|
-
import { RenderError, RENDER_ERROR_CODES } from "../errors.js";
|
|
10
|
+
import { RenderError, RENDER_ERROR_CODES, isRenderError } from "../errors.js";
|
|
11
11
|
/**
|
|
12
12
|
* The worker side of a render. The worker loads the backend module, runs one request and posts one message.
|
|
13
13
|
* A backend error that is a RenderError keeps its code. Any other error maps to E_INTERNAL.
|
|
@@ -22,7 +22,7 @@ async function run(job) {
|
|
|
22
22
|
return { ok: true, bytes: out.bytes, warnings: out.warnings ?? [] };
|
|
23
23
|
}
|
|
24
24
|
catch (err) {
|
|
25
|
-
if (err
|
|
25
|
+
if (isRenderError(err)) {
|
|
26
26
|
return { ok: false, code: err.code, message: err.message, line: err.line, column: err.column };
|
|
27
27
|
}
|
|
28
28
|
const message = err instanceof Error ? err.message : String(err);
|
package/dist/worker/entry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/worker/entry.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAwB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/worker/entry.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAwB,MAAM,cAAc,CAAC;AAGpG;;;GAGG;AACH,KAAK,UAAU,GAAG,CAAC,GAAc;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,kCAAC,GAAG,CAAC,SAAS,EAAC,CAAuF,CAAC;QAChI,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,WAAW,CAAC,YAAY,EAAE,kBAAkB,GAAG,CAAC,SAAS,6BAA6B,CAAC,CAAC;QACpG,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;IACtE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACjG,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,GAAG,GAAG,UAAuB,CAAC;AACpC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAE,kBAAwC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IACrF,OAAO,CAAC,IAAI,GAAG,YAAsC,CAAC;AACxD,CAAC;AACD,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -5,6 +5,8 @@ export interface BackendSettings {
|
|
|
5
5
|
maxMemoryMb: number;
|
|
6
6
|
/** The path of the raster font that replaces the bundled font, or undefined for the bundled font. */
|
|
7
7
|
rasterFont: string | undefined;
|
|
8
|
+
/** The folder URL of the bundled files: the raster font and the resvg WASM file. */
|
|
9
|
+
assetsUrl: string;
|
|
8
10
|
}
|
|
9
11
|
/** What the worker receives: one render request and the backend module that serves it. */
|
|
10
12
|
export interface WorkerJob {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@danielsimonjr/sciengjs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A local rendering engine for science and engineering diagrams, documents and models",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,6 +21,10 @@
|
|
|
21
21
|
"types": "./dist/raster/index.d.ts",
|
|
22
22
|
"default": "./dist/raster/index.js"
|
|
23
23
|
},
|
|
24
|
+
"./mermaid": {
|
|
25
|
+
"types": "./dist/mermaid/index.d.ts",
|
|
26
|
+
"default": "./dist/mermaid/index.js"
|
|
27
|
+
},
|
|
24
28
|
"./package.json": "./package.json"
|
|
25
29
|
},
|
|
26
30
|
"files": [
|
|
@@ -31,7 +35,7 @@
|
|
|
31
35
|
"LICENSE"
|
|
32
36
|
],
|
|
33
37
|
"scripts": {
|
|
34
|
-
"build": "tsc -p tsconfig.build.json",
|
|
38
|
+
"build": "node scripts/prepare-build.mjs && tsc -p tsconfig.build.json",
|
|
35
39
|
"typecheck": "tsc --noEmit",
|
|
36
40
|
"test": "bun test",
|
|
37
41
|
"smoke": "node test/smoke/smoke.mjs",
|