react-native-nano-icons 0.0.0 → 0.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/LICENSE +21 -0
- package/README.md +174 -0
- package/app.plugin.js +1 -0
- package/lib/commonjs/cli/build.d.ts +28 -0
- package/lib/commonjs/cli/build.js +83 -0
- package/lib/commonjs/cli/config.d.ts +9 -0
- package/lib/commonjs/cli/config.js +25 -0
- package/lib/commonjs/cli/index.d.ts +4 -0
- package/lib/commonjs/cli/index.js +13 -0
- package/lib/commonjs/cli/link.d.ts +11 -0
- package/lib/commonjs/cli/link.js +135 -0
- package/lib/commonjs/cli/logger.d.ts +27 -0
- package/lib/commonjs/cli/logger.js +83 -0
- package/lib/commonjs/index.node.js +8 -0
- package/lib/commonjs/plugin/src/buildFonts.d.ts +7 -0
- package/lib/commonjs/plugin/src/buildFonts.js +23 -0
- package/lib/commonjs/plugin/src/index.d.ts +5 -0
- package/lib/commonjs/plugin/src/index.js +43 -0
- package/lib/commonjs/plugin/src/types.d.ts +31 -0
- package/lib/commonjs/plugin/src/types.js +2 -0
- package/lib/commonjs/plugin/src/withNanoIconsFontLinking.d.ts +14 -0
- package/lib/commonjs/plugin/src/withNanoIconsFontLinking.js +92 -0
- package/lib/commonjs/scripts/cli.js +28 -0
- package/lib/commonjs/src/const/colors.d.ts +1 -0
- package/lib/commonjs/src/const/colors.js +153 -0
- package/lib/commonjs/src/core/font/compile.d.ts +9 -0
- package/lib/commonjs/src/core/font/compile.js +68 -0
- package/lib/commonjs/src/core/font/metrics.d.ts +1 -0
- package/lib/commonjs/src/core/font/metrics.js +33 -0
- package/lib/commonjs/src/core/pipeline/config.d.ts +14 -0
- package/lib/commonjs/src/core/pipeline/config.js +17 -0
- package/lib/commonjs/src/core/pipeline/index.d.ts +3 -0
- package/lib/commonjs/src/core/pipeline/index.js +7 -0
- package/lib/commonjs/src/core/pipeline/managers.d.ts +11 -0
- package/lib/commonjs/src/core/pipeline/managers.js +89 -0
- package/lib/commonjs/src/core/pipeline/run.d.ts +14 -0
- package/lib/commonjs/src/core/pipeline/run.js +99 -0
- package/lib/commonjs/src/core/svg/layers.d.ts +24 -0
- package/lib/commonjs/src/core/svg/layers.js +42 -0
- package/lib/commonjs/src/core/svg/svg_dom.d.ts +22 -0
- package/lib/commonjs/src/core/svg/svg_dom.js +84 -0
- package/lib/commonjs/src/core/svg/svg_pathops.d.ts +21 -0
- package/lib/commonjs/src/core/svg/svg_pathops.js +611 -0
- package/lib/commonjs/src/core/types.d.ts +120 -0
- package/lib/commonjs/src/core/types.js +2 -0
- package/lib/commonjs/src/utils/fingerPrint.d.ts +1 -0
- package/lib/commonjs/src/utils/fingerPrint.js +20 -0
- package/lib/commonjs/src/utils/parse.d.ts +2 -0
- package/lib/commonjs/src/utils/parse.js +64 -0
- package/lib/module/const/colors.js +153 -0
- package/lib/module/const/colors.js.map +1 -0
- package/lib/module/core/font/compile.js +70 -0
- package/lib/module/core/font/compile.js.map +1 -0
- package/lib/module/core/font/metrics.js +37 -0
- package/lib/module/core/font/metrics.js.map +1 -0
- package/lib/module/core/pipeline/config.js +20 -0
- package/lib/module/core/pipeline/config.js.map +1 -0
- package/lib/module/core/pipeline/index.js +5 -0
- package/lib/module/core/pipeline/index.js.map +1 -0
- package/lib/module/core/pipeline/managers.js +80 -0
- package/lib/module/core/pipeline/managers.js.map +1 -0
- package/lib/module/core/pipeline/run.js +114 -0
- package/lib/module/core/pipeline/run.js.map +1 -0
- package/lib/module/core/shims/pathops.py +181 -0
- package/lib/module/core/svg/layers.js +51 -0
- package/lib/module/core/svg/layers.js.map +1 -0
- package/lib/module/core/svg/svg_dom.js +83 -0
- package/lib/module/core/svg/svg_dom.js.map +1 -0
- package/lib/module/core/svg/svg_pathops.js +566 -0
- package/lib/module/core/svg/svg_pathops.js.map +1 -0
- package/lib/module/core/tsconfig.json +32 -0
- package/lib/module/core/types.js +2 -0
- package/lib/module/core/types.js.map +1 -0
- package/lib/module/createNanoIconsSet.js +84 -0
- package/lib/module/createNanoIconsSet.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/index.node.js +13 -0
- package/lib/module/index.node.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/utils/fingerPrint.js +17 -0
- package/lib/module/utils/fingerPrint.js.map +1 -0
- package/lib/module/utils/parse.js +53 -0
- package/lib/module/utils/parse.js.map +1 -0
- package/lib/typescript/__tests__/build.unit.test.d.ts +3 -0
- package/lib/typescript/__tests__/build.unit.test.d.ts.map +1 -0
- package/lib/typescript/__tests__/clippath.e2e.test.d.ts +3 -0
- package/lib/typescript/__tests__/clippath.e2e.test.d.ts.map +1 -0
- package/lib/typescript/__tests__/fingerprint.unit.test.d.ts +3 -0
- package/lib/typescript/__tests__/fingerprint.unit.test.d.ts.map +1 -0
- package/lib/typescript/__tests__/pipeline.e2e.test.d.ts +3 -0
- package/lib/typescript/__tests__/pipeline.e2e.test.d.ts.map +1 -0
- package/lib/typescript/__tests__/placement.unit.test.d.ts +3 -0
- package/lib/typescript/__tests__/placement.unit.test.d.ts.map +1 -0
- package/lib/typescript/__tests__/svg_dom.unit.test.d.ts +3 -0
- package/lib/typescript/__tests__/svg_dom.unit.test.d.ts.map +1 -0
- package/lib/typescript/cli/build.d.ts +29 -0
- package/lib/typescript/cli/build.d.ts.map +1 -0
- package/lib/typescript/cli/logger.d.ts +28 -0
- package/lib/typescript/cli/logger.d.ts.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/const/colors.d.ts +2 -0
- package/lib/typescript/src/const/colors.d.ts.map +1 -0
- package/lib/typescript/src/core/font/compile.d.ts +10 -0
- package/lib/typescript/src/core/font/compile.d.ts.map +1 -0
- package/lib/typescript/src/core/font/metrics.d.ts +2 -0
- package/lib/typescript/src/core/font/metrics.d.ts.map +1 -0
- package/lib/typescript/src/core/pipeline/config.d.ts +15 -0
- package/lib/typescript/src/core/pipeline/config.d.ts.map +1 -0
- package/lib/typescript/src/core/pipeline/index.d.ts +4 -0
- package/lib/typescript/src/core/pipeline/index.d.ts.map +1 -0
- package/lib/typescript/src/core/pipeline/managers.d.ts +12 -0
- package/lib/typescript/src/core/pipeline/managers.d.ts.map +1 -0
- package/lib/typescript/src/core/pipeline/run.d.ts +15 -0
- package/lib/typescript/src/core/pipeline/run.d.ts.map +1 -0
- package/lib/typescript/src/core/svg/layers.d.ts +25 -0
- package/lib/typescript/src/core/svg/layers.d.ts.map +1 -0
- package/lib/typescript/src/core/svg/svg_dom.d.ts +23 -0
- package/lib/typescript/src/core/svg/svg_dom.d.ts.map +1 -0
- package/lib/typescript/src/core/svg/svg_pathops.d.ts +22 -0
- package/lib/typescript/src/core/svg/svg_pathops.d.ts.map +1 -0
- package/lib/typescript/src/core/types.d.ts +121 -0
- package/lib/typescript/src/core/types.d.ts.map +1 -0
- package/lib/typescript/src/createNanoIconsSet.d.ts +19 -0
- package/lib/typescript/src/createNanoIconsSet.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/index.node.d.ts +2 -0
- package/lib/typescript/src/index.node.d.ts.map +1 -0
- package/lib/typescript/src/utils/fingerPrint.d.ts +2 -0
- package/lib/typescript/src/utils/fingerPrint.d.ts.map +1 -0
- package/lib/typescript/src/utils/parse.d.ts +3 -0
- package/lib/typescript/src/utils/parse.d.ts.map +1 -0
- package/package.json +160 -1
- package/plugin/src/buildFonts.ts +29 -0
- package/plugin/src/index.ts +68 -0
- package/plugin/src/types.ts +33 -0
- package/plugin/src/withNanoIconsFontLinking.ts +119 -0
- package/plugin/tsconfig.json +9 -0
- package/scripts/cli.ts +34 -0
- package/scripts/tsconfig.json +25 -0
- package/src/const/colors.ts +150 -0
- package/src/core/font/compile.ts +96 -0
- package/src/core/font/metrics.ts +44 -0
- package/src/core/pipeline/config.ts +24 -0
- package/src/core/pipeline/index.ts +3 -0
- package/src/core/pipeline/managers.ts +114 -0
- package/src/core/pipeline/run.ts +151 -0
- package/src/core/shims/pathops.py +181 -0
- package/src/core/svg/layers.ts +66 -0
- package/src/core/svg/svg_dom.ts +99 -0
- package/src/core/svg/svg_pathops.ts +796 -0
- package/src/core/tsconfig.json +32 -0
- package/src/core/types.ts +138 -0
- package/src/createNanoIconsSet.tsx +131 -0
- package/src/index.node.ts +14 -0
- package/src/index.ts +7 -0
- package/src/utils/fingerPrint.ts +20 -0
- package/src/utils/parse.ts +67 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
export type NanoLogger = {
|
|
2
|
+
start: (msg: string) => void;
|
|
3
|
+
update: (msg: string) => void;
|
|
4
|
+
succeed: (msg: string) => void;
|
|
5
|
+
fail: (msg: string) => void;
|
|
6
|
+
/** Only printed when level is 'verbose'. */
|
|
7
|
+
info: (msg: string) => void;
|
|
8
|
+
warn: (msg: string) => void;
|
|
9
|
+
};
|
|
10
|
+
export type Point = readonly [number, number];
|
|
11
|
+
export type Cmd = readonly number[];
|
|
12
|
+
export type VerbMap = {
|
|
13
|
+
MOVE: number;
|
|
14
|
+
LINE: number;
|
|
15
|
+
QUAD: number;
|
|
16
|
+
CONIC: number;
|
|
17
|
+
CUBIC: number;
|
|
18
|
+
CLOSE: number;
|
|
19
|
+
};
|
|
20
|
+
export type WrappedPath = {
|
|
21
|
+
p: PathKitPath;
|
|
22
|
+
meta: {
|
|
23
|
+
moves: Point[];
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export interface PathKitPath {
|
|
27
|
+
delete?: () => void;
|
|
28
|
+
moveTo: (x: number, y: number) => void;
|
|
29
|
+
lineTo: (x: number, y: number) => void;
|
|
30
|
+
quadTo: (x1: number, y1: number, x2: number, y2: number) => void;
|
|
31
|
+
cubicTo: (x1: number, y1: number, x2: number, y2: number, x3: number, y3: number) => void;
|
|
32
|
+
close: () => void;
|
|
33
|
+
simplify: () => void;
|
|
34
|
+
toSVGString: () => string;
|
|
35
|
+
toCmds: () => Cmd[];
|
|
36
|
+
getBounds: () => {
|
|
37
|
+
fLeft: number;
|
|
38
|
+
fTop: number;
|
|
39
|
+
fRight: number;
|
|
40
|
+
fBottom: number;
|
|
41
|
+
};
|
|
42
|
+
getFillType?: () => number;
|
|
43
|
+
setFillType: (t: number) => void;
|
|
44
|
+
dash?: (on: number, off: number, phase: number) => void;
|
|
45
|
+
stroke: (opts: {
|
|
46
|
+
width: number;
|
|
47
|
+
cap: number;
|
|
48
|
+
join: number;
|
|
49
|
+
miter_limit: number;
|
|
50
|
+
}) => PathKitPath | null;
|
|
51
|
+
transform: (a: number, c: number, e: number, b: number, d: number, f: number, g: number, h: number, i: number) => void;
|
|
52
|
+
}
|
|
53
|
+
export interface PathKitModule {
|
|
54
|
+
MOVE_VERB?: number;
|
|
55
|
+
LINE_VERB?: number;
|
|
56
|
+
QUAD_VERB?: number;
|
|
57
|
+
CONIC_VERB?: number;
|
|
58
|
+
CUBIC_VERB?: number;
|
|
59
|
+
CLOSE_VERB?: number;
|
|
60
|
+
FillType?: {
|
|
61
|
+
EVENODD?: number;
|
|
62
|
+
EVEN_ODD?: number;
|
|
63
|
+
WINDING?: number;
|
|
64
|
+
NONZERO?: number;
|
|
65
|
+
};
|
|
66
|
+
StrokeCap?: {
|
|
67
|
+
BUTT?: number;
|
|
68
|
+
ROUND?: number;
|
|
69
|
+
SQUARE?: number;
|
|
70
|
+
};
|
|
71
|
+
StrokeJoin?: {
|
|
72
|
+
MITER?: number;
|
|
73
|
+
ROUND?: number;
|
|
74
|
+
BEVEL?: number;
|
|
75
|
+
};
|
|
76
|
+
PathOp?: {
|
|
77
|
+
UNION?: number;
|
|
78
|
+
INTERSECT?: number;
|
|
79
|
+
DIFFERENCE?: number;
|
|
80
|
+
};
|
|
81
|
+
NewPath: (src?: PathKitPath) => PathKitPath;
|
|
82
|
+
FromSVGString: (svg: string) => PathKitPath | null;
|
|
83
|
+
MakeFromOp: (a: PathKitPath, b: PathKitPath, op: number) => PathKitPath | null;
|
|
84
|
+
}
|
|
85
|
+
export type PyodideModule = {
|
|
86
|
+
mountNodeFS: (mountpoint: string, hostPath: string) => void;
|
|
87
|
+
registerJsModule: (name: string, mod: unknown) => void;
|
|
88
|
+
loadPackage: (pkgs: string[], options?: {
|
|
89
|
+
messageCallback?: (msg: string) => void;
|
|
90
|
+
errorCallback?: (msg: string) => void;
|
|
91
|
+
}) => Promise<void>;
|
|
92
|
+
runPythonAsync: (code: string) => Promise<unknown>;
|
|
93
|
+
runPython: (code: string) => string;
|
|
94
|
+
FS: {
|
|
95
|
+
writeFile: (path: string, data: string) => void;
|
|
96
|
+
};
|
|
97
|
+
globals: {
|
|
98
|
+
set: (key: string, value: unknown) => void;
|
|
99
|
+
get: (key: string) => unknown;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
export type GlyphLayer = {
|
|
103
|
+
codepoint: number;
|
|
104
|
+
color: string;
|
|
105
|
+
};
|
|
106
|
+
export type GlyphEntry = {
|
|
107
|
+
adv: number;
|
|
108
|
+
layers: GlyphLayer[];
|
|
109
|
+
};
|
|
110
|
+
export type IconsMap = Record<string, GlyphEntry>;
|
|
111
|
+
export type NanoGlyphMap = {
|
|
112
|
+
meta: {
|
|
113
|
+
fontFamily: string;
|
|
114
|
+
upm: number;
|
|
115
|
+
safeZone: number;
|
|
116
|
+
startUnicode: number;
|
|
117
|
+
hash?: string;
|
|
118
|
+
};
|
|
119
|
+
icons: IconsMap;
|
|
120
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getFingerprintSync(dir: string): string;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFingerprintSync = getFingerprintSync;
|
|
4
|
+
const crypto = require('crypto');
|
|
5
|
+
const fs = require('fs');
|
|
6
|
+
const path = require('path');
|
|
7
|
+
function getFingerprintSync(dir) {
|
|
8
|
+
const files = fs
|
|
9
|
+
.readdirSync(dir)
|
|
10
|
+
.filter((f) => f.endsWith('.svg'))
|
|
11
|
+
.sort();
|
|
12
|
+
const hash = crypto.createHash('sha256');
|
|
13
|
+
for (const file of files) {
|
|
14
|
+
const filePath = path.join(dir, file);
|
|
15
|
+
// Hash both path and content
|
|
16
|
+
hash.update(file);
|
|
17
|
+
hash.update(fs.readFileSync(filePath));
|
|
18
|
+
}
|
|
19
|
+
return hash.digest('hex');
|
|
20
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseCodepointFromFilename = parseCodepointFromFilename;
|
|
4
|
+
exports.parseColor = parseColor;
|
|
5
|
+
const colors_1 = require("../const/colors");
|
|
6
|
+
// e.g. u0041.svg -> 65
|
|
7
|
+
function parseCodepointFromFilename(filename) {
|
|
8
|
+
const m = /^u([0-9a-fA-F]+)\.svg$/.exec(filename);
|
|
9
|
+
if (!m)
|
|
10
|
+
throw new Error(`Unexpected glyph filename: ${filename}`);
|
|
11
|
+
return parseInt(m[1], 16);
|
|
12
|
+
}
|
|
13
|
+
// e.g. #ff0000 -> [255, 0, 0, 1], rgba(255, 0, 0, 0.5) -> [255, 0, 0, 0.5], rgb(255, 0, 0) -> [255, 0, 0, 1], blue -> [0, 0, 255, 1] etc.
|
|
14
|
+
function parseColor(color) {
|
|
15
|
+
const c = color.trim();
|
|
16
|
+
// rgba(r,g,b,a)
|
|
17
|
+
if (c.indexOf('rgba(') === 0) {
|
|
18
|
+
const inner = c.slice(5, c.indexOf(')'));
|
|
19
|
+
const p = inner.split(',');
|
|
20
|
+
return [+(p[0] ?? '0'), +(p[1] ?? '0'), +(p[2] ?? '0'), +(p[3] ?? '1')];
|
|
21
|
+
}
|
|
22
|
+
// rgb(r,g,b)
|
|
23
|
+
if (c.indexOf('rgb(') === 0) {
|
|
24
|
+
const inner = c.slice(4, c.indexOf(')'));
|
|
25
|
+
const p = inner.split(',');
|
|
26
|
+
return [+(p[0] ?? '0'), +(p[1] ?? '0'), +(p[2] ?? '0'), 1];
|
|
27
|
+
}
|
|
28
|
+
// hex — first char is '#' (charCode 35)
|
|
29
|
+
if (c.charCodeAt(0) === 35) {
|
|
30
|
+
if (c.length === 9) {
|
|
31
|
+
// #rrggbbaa
|
|
32
|
+
return [
|
|
33
|
+
parseInt(c.slice(1, 3), 16),
|
|
34
|
+
parseInt(c.slice(3, 5), 16),
|
|
35
|
+
parseInt(c.slice(5, 7), 16),
|
|
36
|
+
parseInt(c.slice(7, 9), 16) / 255,
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
if (c.length === 7) {
|
|
40
|
+
// #rrggbb
|
|
41
|
+
return [
|
|
42
|
+
parseInt(c.slice(1, 3), 16),
|
|
43
|
+
parseInt(c.slice(3, 5), 16),
|
|
44
|
+
parseInt(c.slice(5, 7), 16),
|
|
45
|
+
1,
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
if (c.length === 4) {
|
|
49
|
+
// #rgb — expand each nibble × 17
|
|
50
|
+
return [
|
|
51
|
+
parseInt(c.slice(1, 2), 16) * 17,
|
|
52
|
+
parseInt(c.slice(2, 3), 16) * 17,
|
|
53
|
+
parseInt(c.slice(3, 4), 16) * 17,
|
|
54
|
+
1,
|
|
55
|
+
];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// named color lookup (O(1))
|
|
59
|
+
const named = colors_1.CSS_NAMED_COLORS[c.toLowerCase()];
|
|
60
|
+
if (named !== undefined)
|
|
61
|
+
return [named[0], named[1], named[2], 1];
|
|
62
|
+
// unknown — SVG default is opaque black
|
|
63
|
+
return [0, 0, 0, 1];
|
|
64
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const CSS_NAMED_COLORS = {
|
|
4
|
+
aliceblue: [240, 248, 255],
|
|
5
|
+
antiquewhite: [250, 235, 215],
|
|
6
|
+
aqua: [0, 255, 255],
|
|
7
|
+
aquamarine: [127, 255, 212],
|
|
8
|
+
azure: [240, 255, 255],
|
|
9
|
+
beige: [245, 245, 220],
|
|
10
|
+
bisque: [255, 228, 196],
|
|
11
|
+
black: [0, 0, 0],
|
|
12
|
+
blanchedalmond: [255, 235, 205],
|
|
13
|
+
blue: [0, 0, 255],
|
|
14
|
+
blueviolet: [138, 43, 226],
|
|
15
|
+
brown: [165, 42, 42],
|
|
16
|
+
burlywood: [222, 184, 135],
|
|
17
|
+
cadetblue: [95, 158, 160],
|
|
18
|
+
chartreuse: [127, 255, 0],
|
|
19
|
+
chocolate: [210, 105, 30],
|
|
20
|
+
coral: [255, 127, 80],
|
|
21
|
+
cornflowerblue: [100, 149, 237],
|
|
22
|
+
cornsilk: [255, 248, 220],
|
|
23
|
+
crimson: [220, 20, 60],
|
|
24
|
+
cyan: [0, 255, 255],
|
|
25
|
+
darkblue: [0, 0, 139],
|
|
26
|
+
darkcyan: [0, 139, 139],
|
|
27
|
+
darkgoldenrod: [184, 134, 11],
|
|
28
|
+
darkgray: [169, 169, 169],
|
|
29
|
+
darkgreen: [0, 100, 0],
|
|
30
|
+
darkgrey: [169, 169, 169],
|
|
31
|
+
darkkhaki: [189, 183, 107],
|
|
32
|
+
darkmagenta: [139, 0, 139],
|
|
33
|
+
darkolivegreen: [85, 107, 47],
|
|
34
|
+
darkorange: [255, 140, 0],
|
|
35
|
+
darkorchid: [153, 50, 204],
|
|
36
|
+
darkred: [139, 0, 0],
|
|
37
|
+
darksalmon: [233, 150, 122],
|
|
38
|
+
darkseagreen: [143, 188, 143],
|
|
39
|
+
darkslateblue: [72, 61, 139],
|
|
40
|
+
darkslategray: [47, 79, 79],
|
|
41
|
+
darkslategrey: [47, 79, 79],
|
|
42
|
+
darkturquoise: [0, 206, 209],
|
|
43
|
+
darkviolet: [148, 0, 211],
|
|
44
|
+
deeppink: [255, 20, 147],
|
|
45
|
+
deepskyblue: [0, 191, 255],
|
|
46
|
+
dimgray: [105, 105, 105],
|
|
47
|
+
dimgrey: [105, 105, 105],
|
|
48
|
+
dodgerblue: [30, 144, 255],
|
|
49
|
+
firebrick: [178, 34, 34],
|
|
50
|
+
floralwhite: [255, 250, 240],
|
|
51
|
+
forestgreen: [34, 139, 34],
|
|
52
|
+
fuchsia: [255, 0, 255],
|
|
53
|
+
gainsboro: [220, 220, 220],
|
|
54
|
+
ghostwhite: [248, 248, 255],
|
|
55
|
+
gold: [255, 215, 0],
|
|
56
|
+
goldenrod: [218, 165, 32],
|
|
57
|
+
gray: [128, 128, 128],
|
|
58
|
+
green: [0, 128, 0],
|
|
59
|
+
greenyellow: [173, 255, 47],
|
|
60
|
+
grey: [128, 128, 128],
|
|
61
|
+
honeydew: [240, 255, 240],
|
|
62
|
+
hotpink: [255, 105, 180],
|
|
63
|
+
indianred: [205, 92, 92],
|
|
64
|
+
indigo: [75, 0, 130],
|
|
65
|
+
ivory: [255, 255, 240],
|
|
66
|
+
khaki: [240, 230, 140],
|
|
67
|
+
lavender: [230, 230, 250],
|
|
68
|
+
lavenderblush: [255, 240, 245],
|
|
69
|
+
lawngreen: [124, 252, 0],
|
|
70
|
+
lemonchiffon: [255, 250, 205],
|
|
71
|
+
lightblue: [173, 216, 230],
|
|
72
|
+
lightcoral: [240, 128, 128],
|
|
73
|
+
lightcyan: [224, 255, 255],
|
|
74
|
+
lightgoldenrodyellow: [250, 250, 210],
|
|
75
|
+
lightgray: [211, 211, 211],
|
|
76
|
+
lightgreen: [144, 238, 144],
|
|
77
|
+
lightgrey: [211, 211, 211],
|
|
78
|
+
lightpink: [255, 182, 193],
|
|
79
|
+
lightsalmon: [255, 160, 122],
|
|
80
|
+
lightseagreen: [32, 178, 170],
|
|
81
|
+
lightskyblue: [135, 206, 250],
|
|
82
|
+
lightslategray: [119, 136, 153],
|
|
83
|
+
lightslategrey: [119, 136, 153],
|
|
84
|
+
lightsteelblue: [176, 196, 222],
|
|
85
|
+
lightyellow: [255, 255, 224],
|
|
86
|
+
lime: [0, 255, 0],
|
|
87
|
+
limegreen: [50, 205, 50],
|
|
88
|
+
linen: [250, 240, 230],
|
|
89
|
+
magenta: [255, 0, 255],
|
|
90
|
+
maroon: [128, 0, 0],
|
|
91
|
+
mediumaquamarine: [102, 205, 170],
|
|
92
|
+
mediumblue: [0, 0, 205],
|
|
93
|
+
mediumorchid: [186, 85, 211],
|
|
94
|
+
mediumpurple: [147, 112, 219],
|
|
95
|
+
mediumseagreen: [60, 179, 113],
|
|
96
|
+
mediumslateblue: [123, 104, 238],
|
|
97
|
+
mediumspringgreen: [0, 250, 154],
|
|
98
|
+
mediumturquoise: [72, 209, 204],
|
|
99
|
+
mediumvioletred: [199, 21, 133],
|
|
100
|
+
midnightblue: [25, 25, 112],
|
|
101
|
+
mintcream: [245, 255, 250],
|
|
102
|
+
mistyrose: [255, 228, 225],
|
|
103
|
+
moccasin: [255, 228, 181],
|
|
104
|
+
navajowhite: [255, 222, 173],
|
|
105
|
+
navy: [0, 0, 128],
|
|
106
|
+
oldlace: [253, 245, 230],
|
|
107
|
+
olive: [128, 128, 0],
|
|
108
|
+
olivedrab: [107, 142, 35],
|
|
109
|
+
orange: [255, 165, 0],
|
|
110
|
+
orangered: [255, 69, 0],
|
|
111
|
+
orchid: [218, 112, 214],
|
|
112
|
+
palegoldenrod: [238, 232, 170],
|
|
113
|
+
palegreen: [152, 251, 152],
|
|
114
|
+
paleturquoise: [175, 238, 238],
|
|
115
|
+
palevioletred: [219, 112, 147],
|
|
116
|
+
papayawhip: [255, 239, 213],
|
|
117
|
+
peachpuff: [255, 218, 185],
|
|
118
|
+
peru: [205, 133, 63],
|
|
119
|
+
pink: [255, 192, 203],
|
|
120
|
+
plum: [221, 160, 221],
|
|
121
|
+
powderblue: [176, 224, 230],
|
|
122
|
+
purple: [128, 0, 128],
|
|
123
|
+
rebeccapurple: [102, 51, 153],
|
|
124
|
+
red: [255, 0, 0],
|
|
125
|
+
rosybrown: [188, 143, 143],
|
|
126
|
+
royalblue: [65, 105, 225],
|
|
127
|
+
saddlebrown: [139, 69, 19],
|
|
128
|
+
salmon: [250, 128, 114],
|
|
129
|
+
sandybrown: [244, 164, 96],
|
|
130
|
+
seagreen: [46, 139, 87],
|
|
131
|
+
seashell: [255, 245, 238],
|
|
132
|
+
sienna: [160, 82, 45],
|
|
133
|
+
silver: [192, 192, 192],
|
|
134
|
+
skyblue: [135, 206, 235],
|
|
135
|
+
slateblue: [106, 90, 205],
|
|
136
|
+
slategray: [112, 128, 144],
|
|
137
|
+
slategrey: [112, 128, 144],
|
|
138
|
+
snow: [255, 250, 250],
|
|
139
|
+
springgreen: [0, 255, 127],
|
|
140
|
+
steelblue: [70, 130, 180],
|
|
141
|
+
tan: [210, 180, 140],
|
|
142
|
+
teal: [0, 128, 128],
|
|
143
|
+
thistle: [216, 191, 216],
|
|
144
|
+
tomato: [255, 99, 71],
|
|
145
|
+
turquoise: [64, 224, 208],
|
|
146
|
+
violet: [238, 130, 238],
|
|
147
|
+
wheat: [245, 222, 179],
|
|
148
|
+
white: [255, 255, 255],
|
|
149
|
+
whitesmoke: [245, 245, 245],
|
|
150
|
+
yellow: [255, 255, 0],
|
|
151
|
+
yellowgreen: [154, 205, 50]
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CSS_NAMED_COLORS","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],"sourceRoot":"../../../src","sources":["const/colors.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import fs from 'node:fs';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { once } from 'node:events';
|
|
6
|
+
import { forceTtfMetrics } from './metrics.js';
|
|
7
|
+
import svg2ttf from 'svg2ttf';
|
|
8
|
+
import { parseCodepointFromFilename } from '../../utils/parse.js';
|
|
9
|
+
async function writeGlyphStreamToFont(fontStream, svgPath, filename) {
|
|
10
|
+
const codepoint = parseCodepointFromFilename(filename);
|
|
11
|
+
const name = path.basename(filename, '.svg');
|
|
12
|
+
return new Promise((resolve, reject) => {
|
|
13
|
+
const glyphStream = fs.createReadStream(svgPath);
|
|
14
|
+
glyphStream.metadata = {
|
|
15
|
+
name,
|
|
16
|
+
unicode: [String.fromCodePoint(codepoint)]
|
|
17
|
+
};
|
|
18
|
+
glyphStream.on('error', reject);
|
|
19
|
+
// Do not add fontStream.on("error", reject) here — one per glyph would exceed
|
|
20
|
+
// Node's default MaxListeners (10). Font stream errors are handled once below.
|
|
21
|
+
fontStream.write(glyphStream);
|
|
22
|
+
glyphStream.on('end', resolve);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
export async function compileTtfFromGlyphSVGs(opts) {
|
|
26
|
+
const {
|
|
27
|
+
SVGIcons2SVGFontStream
|
|
28
|
+
} = await import('svgicons2svgfont');
|
|
29
|
+
const {
|
|
30
|
+
glyphDir,
|
|
31
|
+
outTtfPath,
|
|
32
|
+
fontName,
|
|
33
|
+
upm,
|
|
34
|
+
ascent,
|
|
35
|
+
descent
|
|
36
|
+
} = opts;
|
|
37
|
+
const lineGap = opts.lineGap ?? 0;
|
|
38
|
+
const files = fs.readdirSync(glyphDir).filter(f => /^u[0-9a-fA-F]+\.svg$/.test(f)).sort((a, b) => parseCodepointFromFilename(a) - parseCodepointFromFilename(b));
|
|
39
|
+
if (files.length === 0) throw new Error(`No glyph SVGs found in: ${glyphDir}`);
|
|
40
|
+
const fontStream = new SVGIcons2SVGFontStream({
|
|
41
|
+
fontName,
|
|
42
|
+
fontHeight: upm,
|
|
43
|
+
normalize: false,
|
|
44
|
+
ascent,
|
|
45
|
+
descent
|
|
46
|
+
});
|
|
47
|
+
const svgFontChunks = [];
|
|
48
|
+
fontStream.on('data', c => svgFontChunks.push(Buffer.isBuffer(c) ? c : Buffer.from(c)));
|
|
49
|
+
|
|
50
|
+
// Single error listener for the font stream; per-glyph errors are handled in writeGlyphStreamToFont.
|
|
51
|
+
let fontStreamReject;
|
|
52
|
+
const fontStreamErrorPromise = new Promise((_, rej) => {
|
|
53
|
+
fontStreamReject = rej;
|
|
54
|
+
});
|
|
55
|
+
fontStream.on('error', err => fontStreamReject(err));
|
|
56
|
+
for (const f of files) {
|
|
57
|
+
await Promise.race([writeGlyphStreamToFont(fontStream, path.join(glyphDir, f), f), fontStreamErrorPromise]);
|
|
58
|
+
}
|
|
59
|
+
fontStream.end();
|
|
60
|
+
await once(fontStream, 'end');
|
|
61
|
+
const svgFontString = Buffer.concat(svgFontChunks).toString('utf8');
|
|
62
|
+
const ttfRaw = svg2ttf(svgFontString);
|
|
63
|
+
const rawBuf = Buffer.from(ttfRaw.buffer);
|
|
64
|
+
const fixedBuf = forceTtfMetrics(rawBuf, upm, ascent, descent, lineGap);
|
|
65
|
+
fs.mkdirSync(path.dirname(outTtfPath), {
|
|
66
|
+
recursive: true
|
|
67
|
+
});
|
|
68
|
+
fs.writeFileSync(outTtfPath, fixedBuf);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=compile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fs","path","once","forceTtfMetrics","svg2ttf","parseCodepointFromFilename","writeGlyphStreamToFont","fontStream","svgPath","filename","codepoint","name","basename","Promise","resolve","reject","glyphStream","createReadStream","metadata","unicode","String","fromCodePoint","on","write","compileTtfFromGlyphSVGs","opts","SVGIcons2SVGFontStream","glyphDir","outTtfPath","fontName","upm","ascent","descent","lineGap","files","readdirSync","filter","f","test","sort","a","b","length","Error","fontHeight","normalize","svgFontChunks","c","push","Buffer","isBuffer","from","fontStreamReject","fontStreamErrorPromise","_","rej","err","race","join","end","svgFontString","concat","toString","ttfRaw","rawBuf","buffer","fixedBuf","mkdirSync","dirname","recursive","writeFileSync"],"sourceRoot":"../../../../src","sources":["core/font/compile.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Font } from 'fonteditor-core';
|
|
4
|
+
export function forceTtfMetrics(ttfBuffer, upm, ascent, descent, lineGap) {
|
|
5
|
+
const font = Font.create(ttfBuffer, {
|
|
6
|
+
type: 'ttf',
|
|
7
|
+
hinting: false,
|
|
8
|
+
compound2simple: false,
|
|
9
|
+
combinePath: false
|
|
10
|
+
});
|
|
11
|
+
const data = font.get();
|
|
12
|
+
data.head.unitsPerEm = upm;
|
|
13
|
+
data.hhea.ascent = ascent;
|
|
14
|
+
data.hhea.descent = -Math.abs(descent);
|
|
15
|
+
data.hhea.lineGap = lineGap;
|
|
16
|
+
data['OS/2'].usWinAscent = ascent;
|
|
17
|
+
data['OS/2'].usWinDescent = Math.abs(descent);
|
|
18
|
+
data['OS/2'].sTypoAscender = ascent;
|
|
19
|
+
data['OS/2'].sTypoDescender = -Math.abs(descent);
|
|
20
|
+
data['OS/2'].sTypoLineGap = lineGap;
|
|
21
|
+
|
|
22
|
+
// Set USE_TYPO_METRICS flag (bit 7) in fsSelection.
|
|
23
|
+
// This tells renderers to use sTypoAscender/sTypoDescender/sTypoLineGap for
|
|
24
|
+
// line height calculations instead of the Win metrics (usWinAscent/usWinDescent).
|
|
25
|
+
// Without this flag, Windows and some Android renderers ignore the Typo values
|
|
26
|
+
// set above and fall back to Win metrics, causing icons to appear clipped or
|
|
27
|
+
// misaligned vertically. The bitwise OR preserves all other existing style flags
|
|
28
|
+
// (italic, bold, etc.) while ensuring this bit is always on.
|
|
29
|
+
data['OS/2'].fsSelection = (data['OS/2'].fsSelection || 0) | 1 << 7;
|
|
30
|
+
font.set(data);
|
|
31
|
+
const out = font.write({
|
|
32
|
+
type: 'ttf',
|
|
33
|
+
hinting: false
|
|
34
|
+
});
|
|
35
|
+
return Buffer.from(out);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Font","forceTtfMetrics","ttfBuffer","upm","ascent","descent","lineGap","font","create","type","hinting","compound2simple","combinePath","data","get","head","unitsPerEm","hhea","Math","abs","usWinAscent","usWinDescent","sTypoAscender","sTypoDescender","sTypoLineGap","fsSelection","set","out","write","Buffer","from"],"sourceRoot":"../../../../src","sources":["core/font/metrics.ts"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,iBAAiB;AAEtC,OAAO,SAASC,eAAeA,CAC7BC,SAAiB,EACjBC,GAAW,EACXC,MAAc,EACdC,OAAe,EACfC,OAAe,EACP;EACR,MAAMC,IAAI,GAAGP,IAAI,CAACQ,MAAM,CAACN,SAAS,EAAE;IAClCO,IAAI,EAAE,KAAK;IACXC,OAAO,EAAE,KAAK;IACdC,eAAe,EAAE,KAAK;IACtBC,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,MAAMC,IAAI,GAAGN,IAAI,CAACO,GAAG,CAAC,CAAC;EAEvBD,IAAI,CAACE,IAAI,CAACC,UAAU,GAAGb,GAAG;EAE1BU,IAAI,CAACI,IAAI,CAACb,MAAM,GAAGA,MAAM;EACzBS,IAAI,CAACI,IAAI,CAACZ,OAAO,GAAG,CAACa,IAAI,CAACC,GAAG,CAACd,OAAO,CAAC;EACtCQ,IAAI,CAACI,IAAI,CAACX,OAAO,GAAGA,OAAO;EAE3BO,IAAI,CAAC,MAAM,CAAC,CAACO,WAAW,GAAGhB,MAAM;EACjCS,IAAI,CAAC,MAAM,CAAC,CAACQ,YAAY,GAAGH,IAAI,CAACC,GAAG,CAACd,OAAO,CAAC;EAC7CQ,IAAI,CAAC,MAAM,CAAC,CAACS,aAAa,GAAGlB,MAAM;EACnCS,IAAI,CAAC,MAAM,CAAC,CAACU,cAAc,GAAG,CAACL,IAAI,CAACC,GAAG,CAACd,OAAO,CAAC;EAChDQ,IAAI,CAAC,MAAM,CAAC,CAACW,YAAY,GAAGlB,OAAO;;EAEnC;EACA;EACA;EACA;EACA;EACA;EACA;EACAO,IAAI,CAAC,MAAM,CAAC,CAACY,WAAW,GAAG,CAACZ,IAAI,CAAC,MAAM,CAAC,CAACY,WAAW,IAAI,CAAC,IAAK,CAAC,IAAI,CAAE;EAErElB,IAAI,CAACmB,GAAG,CAACb,IAAI,CAAC;EAEd,MAAMc,GAAG,GAAGpB,IAAI,CAACqB,KAAK,CAAC;IAAEnB,IAAI,EAAE,KAAK;IAAEC,OAAO,EAAE;EAAM,CAAC,CAAgB;EACtE,OAAOmB,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC;AACzB","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import fs from 'node:fs';
|
|
4
|
+
export function ensureEmptyDir(dir) {
|
|
5
|
+
if (fs.existsSync(dir)) fs.rmSync(dir, {
|
|
6
|
+
recursive: true,
|
|
7
|
+
force: true
|
|
8
|
+
});
|
|
9
|
+
fs.mkdirSync(dir, {
|
|
10
|
+
recursive: true
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/** Create directory if it does not exist; do not remove existing contents (for shared output dirs). */
|
|
15
|
+
export function ensureDir(dir) {
|
|
16
|
+
fs.mkdirSync(dir, {
|
|
17
|
+
recursive: true
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fs","ensureEmptyDir","dir","existsSync","rmSync","recursive","force","mkdirSync","ensureDir"],"sourceRoot":"../../../../src","sources":["core/pipeline/config.ts"],"mappings":";;AAAA,OAAOA,EAAE,MAAM,SAAS;AAexB,OAAO,SAASC,cAAcA,CAACC,GAAW,EAAQ;EAChD,IAAIF,EAAE,CAACG,UAAU,CAACD,GAAG,CAAC,EAAEF,EAAE,CAACI,MAAM,CAACF,GAAG,EAAE;IAAEG,SAAS,EAAE,IAAI;IAAEC,KAAK,EAAE;EAAK,CAAC,CAAC;EACxEN,EAAE,CAACO,SAAS,CAACL,GAAG,EAAE;IAAEG,SAAS,EAAE;EAAK,CAAC,CAAC;AACxC;;AAEA;AACA,OAAO,SAASG,SAASA,CAACN,GAAW,EAAQ;EAC3CF,EAAE,CAACO,SAAS,CAACL,GAAG,EAAE;IAAEG,SAAS,EAAE;EAAK,CAAC,CAAC;AACxC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["runPipeline","ensureEmptyDir"],"sourceRoot":"../../../../src","sources":["core/pipeline/index.ts"],"mappings":";;AAAA,SAASA,WAAW,QAA6B,UAAU;AAE3D,SAASC,cAAc,QAAQ,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { loadPyodide } from 'pyodide';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import fs from 'node:fs/promises';
|
|
6
|
+
import { buildPathopsBackend } from '../svg/svg_pathops.js';
|
|
7
|
+
|
|
8
|
+
/** Package root (where package.json lives). */
|
|
9
|
+
function getPackageRoot() {
|
|
10
|
+
// Compiled to lib/commonjs/src/core/pipeline/ — 5 dirs up is package root.
|
|
11
|
+
// Running from source (Jest/ts-node) in src/core/pipeline/ — 3 dirs up is package root.
|
|
12
|
+
return __dirname.includes(`${path.sep}lib${path.sep}`) ? path.resolve(__dirname, '../../../../..') : path.resolve(__dirname, '../../..');
|
|
13
|
+
}
|
|
14
|
+
export class PathKitManager {
|
|
15
|
+
static instance = null;
|
|
16
|
+
static async getInstance() {
|
|
17
|
+
if (this.instance) return this.instance;
|
|
18
|
+
const PathKitInit = require('pathkit-wasm/bin/pathkit.js');
|
|
19
|
+
const pathkitJsPath = require.resolve('pathkit-wasm/bin/pathkit.js');
|
|
20
|
+
const pathkitBinDir = path.dirname(pathkitJsPath);
|
|
21
|
+
const pathkitWasmPath = path.join(pathkitBinDir, 'pathkit.wasm');
|
|
22
|
+
const wasmBinary = await fs.readFile(pathkitWasmPath);
|
|
23
|
+
const pkInit = PathKitInit({
|
|
24
|
+
wasmBinary,
|
|
25
|
+
locateFile: file => path.join(pathkitBinDir, file)
|
|
26
|
+
});
|
|
27
|
+
const PathKit = await (typeof pkInit?.ready === 'function' ? pkInit.ready() : pkInit);
|
|
28
|
+
this.instance = PathKit;
|
|
29
|
+
return PathKit;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class PyodideManager {
|
|
33
|
+
static instance = null;
|
|
34
|
+
static async getInstance() {
|
|
35
|
+
if (this.instance) return this.instance;
|
|
36
|
+
const pyodideAsmPath = require.resolve('pyodide/pyodide.asm.js');
|
|
37
|
+
const pyodideDir = path.dirname(pyodideAsmPath) + path.sep;
|
|
38
|
+
const py = await loadPyodide({
|
|
39
|
+
indexURL: pyodideDir
|
|
40
|
+
});
|
|
41
|
+
py.mountNodeFS('/app', process.cwd());
|
|
42
|
+
const PathKit = await PathKitManager.getInstance();
|
|
43
|
+
py.registerJsModule('_pathops_js', buildPathopsBackend(PathKit));
|
|
44
|
+
const pathopsPyPath = path.join(getPackageRoot(), 'src', 'core', 'shims', 'pathops.py');
|
|
45
|
+
const pathopsPy = await fs.readFile(pathopsPyPath, 'utf8');
|
|
46
|
+
py.FS.writeFile('/pathops.py', pathopsPy);
|
|
47
|
+
await py.loadPackage(['micropip', 'lxml'], {
|
|
48
|
+
messageCallback: () => {}
|
|
49
|
+
});
|
|
50
|
+
await py.runPythonAsync(`
|
|
51
|
+
import sys
|
|
52
|
+
if "/" not in sys.path:
|
|
53
|
+
sys.path.insert(0, "/")
|
|
54
|
+
|
|
55
|
+
import micropip
|
|
56
|
+
await micropip.install("picosvg", deps=False)
|
|
57
|
+
|
|
58
|
+
import pathops
|
|
59
|
+
import picosvg
|
|
60
|
+
`);
|
|
61
|
+
this.instance = py;
|
|
62
|
+
return py;
|
|
63
|
+
}
|
|
64
|
+
static async picoFromFile(hostFilePath, content) {
|
|
65
|
+
const py = await this.getInstance();
|
|
66
|
+
const svgContent = content ?? (await fs.readFile(hostFilePath, 'utf-8'));
|
|
67
|
+
py.globals.set('_svg_content', svgContent);
|
|
68
|
+
const out = py.runPython(`
|
|
69
|
+
from picosvg.svg import SVG
|
|
70
|
+
svg = SVG.fromstring(_svg_content)
|
|
71
|
+
pico = svg.topicosvg()
|
|
72
|
+
pico.tostring(pretty_print=True)
|
|
73
|
+
`);
|
|
74
|
+
return out;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export async function picoFromFile(hostFilePath, content) {
|
|
78
|
+
return PyodideManager.picoFromFile(hostFilePath, content);
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=managers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["loadPyodide","path","fs","buildPathopsBackend","getPackageRoot","__dirname","includes","sep","resolve","PathKitManager","instance","getInstance","PathKitInit","require","pathkitJsPath","pathkitBinDir","dirname","pathkitWasmPath","join","wasmBinary","readFile","pkInit","locateFile","file","PathKit","ready","PyodideManager","pyodideAsmPath","pyodideDir","py","indexURL","mountNodeFS","process","cwd","registerJsModule","pathopsPyPath","pathopsPy","FS","writeFile","loadPackage","messageCallback","runPythonAsync","picoFromFile","hostFilePath","content","svgContent","globals","set","out","runPython"],"sourceRoot":"../../../../src","sources":["core/pipeline/managers.ts"],"mappings":"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","ignoreList":[]}
|