@trebired/frontend 8.2.9 → 8.3.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/CHANGELOG.md +4 -0
- package/dist/icons/server/index.d.ts.map +1 -1
- package/dist/icons/server/index.js +34 -17
- package/dist/icons/server/index.js.map +1 -1
- package/dist/icons/server/options.d.ts.map +1 -1
- package/dist/icons/server/options.js +17 -7
- package/dist/icons/server/options.js.map +1 -1
- package/dist/src/icons/server/index.d.ts.map +1 -1
- package/dist/src/icons/server/index.js +34 -17
- package/dist/src/icons/server/index.js.map +1 -1
- package/dist/src/icons/server/options.d.ts.map +1 -1
- package/dist/src/icons/server/options.js +17 -7
- package/dist/src/icons/server/options.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 8.3.0
|
|
4
|
+
|
|
5
|
+
- Removed per-request filesystem and module-resolution work from the icon server. `resolveIconPackRoot()` ran full Node module resolution (`createRequire` + `require.resolve`) on every icon lookup because it was part of the SVG cache key, and `resolveIconColor()` re-read the icon file from disk with `readFileSync` on every call even when the SVG itself was already cached. Both are now memoised, the derived colour mode is cached, and `createIconSvgResponse()` caches its composed response body. Rendering an icon no longer performs any filesystem syscall after the first resolution, which matters most for server-rendered pages that emit many icons and for the `/__icons/svg` route. Output is byte-identical.
|
|
6
|
+
|
|
3
7
|
## 8.2.9
|
|
4
8
|
|
|
5
9
|
- Added `bindLiveLists`/`live.lists` runtime support so `entity_list`'s `<live-list>` marker (rendered whenever a list is given a `live: {room, event}` config) actually gets bound to something. Previously the marker was rendered but nothing ever subscribed to it, so lists relying on this feature silently never refreshed after the resource they list changed elsewhere (e.g. after creating a new item, the list stayed stale until a manual page reload). It now soft-reloads the current page on a matching live event, consistent with the existing `live.cards` wiring.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/icons/server/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,0BAA0B,EAC1B,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,iBAAiB,EAEjB,aAAa,EAEb,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACrF,cAAa,eAAe,CAAC;AAC7B,cAAa,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/icons/server/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,0BAA0B,EAC1B,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,iBAAiB,EAEjB,aAAa,EAEb,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACrF,cAAa,eAAe,CAAC;AAC7B,cAAa,eAAe,CAAC;AAsB7B,iBAAS,cAAc,CACrB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,aAAa,CAkCf;AAED,iBAAS,gBAAgB,CACvB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAgBR;AAED,iBAAS,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,YAAY,CAY1E;AAED,iBAAS,2BAA2B,CAClC,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,CAAC,oBAAoB,GAAE;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAY3D;AAED,iBAAS,wBAAwB,CAC/B,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAM,EAChD,OAAO,GAAE,iBAAsB,IAEE,MAAM,MAAM;oBAlBH,MAAM;EA4BjD;AAyBD,iBAAS,cAAc,CACrB,IAAI,EAAE,OAAO,EACb,KAAK,GAAE,mBAAwB,EAC/B,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAkBR;AAED,iBAAS,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB;;;;;;;;;;;;;;EA6B5E;AAED,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,0BAA0B,EAC1B,eAAe,GAChB,CAAC;AACF,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
|
@@ -8,6 +8,9 @@ export { attachIconAliasLocals, attachIconServer } from "./attachment.js";
|
|
|
8
8
|
export * from "./defaults.js";
|
|
9
9
|
export * from "./material.js";
|
|
10
10
|
const svgMarkupCache = new Map();
|
|
11
|
+
const iconColorCache = new Map();
|
|
12
|
+
const iconColorModeCache = new Map();
|
|
13
|
+
const iconSvgResponseCache = new Map();
|
|
11
14
|
function failure(parsed, statusCode, status = 404) {
|
|
12
15
|
return {
|
|
13
16
|
icon: parsed?.icon,
|
|
@@ -22,11 +25,7 @@ function resolveIconSvg(spec, options = {}) {
|
|
|
22
25
|
const parsed = parseServerIconSpec(spec, options);
|
|
23
26
|
if (!parsed)
|
|
24
27
|
return failure(null, "invalid-spec", 400);
|
|
25
|
-
const cacheKey =
|
|
26
|
-
parsed.spec,
|
|
27
|
-
resolveIconPackRoot(parsed.pack, options),
|
|
28
|
-
JSON.stringify(options.preserveSourceColors || null),
|
|
29
|
-
].join(":");
|
|
28
|
+
const cacheKey = `${parsed.spec}:${resolveIconPackRoot(parsed.pack, options)}:${shouldPreserveSourceColors(parsed.pack, options) ? "1" : "0"}`;
|
|
30
29
|
const cached = svgMarkupCache.get(cacheKey);
|
|
31
30
|
if (cached)
|
|
32
31
|
return cached;
|
|
@@ -72,21 +71,33 @@ function resolveIconColor(spec, options = {}) {
|
|
|
72
71
|
const svg = resolveIconSvg(parsed.spec, options);
|
|
73
72
|
if (!svg.ok || !svg.file)
|
|
74
73
|
return "";
|
|
74
|
+
const cached = iconColorCache.get(svg.file);
|
|
75
|
+
if (cached !== undefined)
|
|
76
|
+
return cached;
|
|
77
|
+
let color = "";
|
|
75
78
|
try {
|
|
76
|
-
|
|
79
|
+
color = derivePrimarySvgColor(fs.readFileSync(svg.file, "utf8"));
|
|
77
80
|
}
|
|
78
81
|
catch {
|
|
79
|
-
|
|
82
|
+
color = "";
|
|
80
83
|
}
|
|
84
|
+
iconColorCache.set(svg.file, color);
|
|
85
|
+
return color;
|
|
81
86
|
}
|
|
82
87
|
function classifyIconColorMode(value) {
|
|
83
88
|
const color = normalizeHexColor(value);
|
|
84
89
|
if (!color)
|
|
85
90
|
return "";
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
91
|
+
const cached = iconColorModeCache.get(color);
|
|
92
|
+
if (cached !== undefined)
|
|
93
|
+
return cached;
|
|
94
|
+
const red = parseInt(color.slice(1, 3), 16);
|
|
95
|
+
const green = parseInt(color.slice(3, 5), 16);
|
|
96
|
+
const blue = parseInt(color.slice(5, 7), 16);
|
|
97
|
+
const spread = Math.max(red, green, blue) - Math.min(red, green, blue);
|
|
98
|
+
const mode = spread <= 24 ? "monochrome" : "brand";
|
|
99
|
+
iconColorModeCache.set(color, mode);
|
|
100
|
+
return mode;
|
|
90
101
|
}
|
|
91
102
|
function buildRenderedIconCacheEntry(spec, options = {}) {
|
|
92
103
|
const parsed = parseServerIconSpec(spec, options);
|
|
@@ -171,14 +182,20 @@ function createIconSvgResponse(spec, options = {}) {
|
|
|
171
182
|
status: svgResult.status,
|
|
172
183
|
};
|
|
173
184
|
}
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
185
|
+
const cacheKey = svgResult.file || svgResult.spec;
|
|
186
|
+
let body = iconSvgResponseCache.get(cacheKey);
|
|
187
|
+
if (body === undefined) {
|
|
188
|
+
const color = resolveIconColor(svgResult.spec, options);
|
|
189
|
+
const colorMode = classifyIconColorMode(color);
|
|
190
|
+
const svg = color ? applySvgColor(svgResult.svg, color) : svgResult.svg;
|
|
191
|
+
body = applySvgRootAttrs(svg, {
|
|
179
192
|
[frontendDataAttr("icon-color-mode")]: colorMode || undefined,
|
|
180
193
|
[frontendDataAttr("icon-color-value")]: color || undefined,
|
|
181
|
-
})
|
|
194
|
+
});
|
|
195
|
+
iconSvgResponseCache.set(cacheKey, body);
|
|
196
|
+
}
|
|
197
|
+
return {
|
|
198
|
+
body,
|
|
182
199
|
headers: {
|
|
183
200
|
"Cache-Control": "public, max-age=3600",
|
|
184
201
|
"Content-Type": "image/svg+xml; charset=utf-8",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/icons/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,IAAI,GACL,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,0BAA0B,EAC1B,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,cAAa,eAAe,CAAC;AAC7B,cAAa,eAAe,CAAC;AAE7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/icons/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/icons/server/options.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,iBAAS,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,EAAE,CAQzD;AAED,iBAAS,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,QAAQ,EAAE,CASrE;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAKlF;AAED,iBAAS,mBAAmB,CAC1B,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,cAAc,GAAG,IAAI,CAIvB;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/icons/server/options.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,iBAAS,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,EAAE,CAQzD;AAED,iBAAS,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,QAAQ,EAAE,CASrE;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAKlF;AAED,iBAAS,mBAAmB,CAC1B,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,cAAc,GAAG,IAAI,CAIvB;AAyDD,iBAAS,mBAAmB,CAC1B,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAgBR;AAED,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,CAAC"}
|
|
@@ -50,13 +50,8 @@ function findPackageRootFromResolvedFile(filePath, pack) {
|
|
|
50
50
|
current = parent;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (!normalizedPack)
|
|
56
|
-
return "";
|
|
57
|
-
const packageRoots = options.packageRoots && typeof options.packageRoots === "object"
|
|
58
|
-
? options.packageRoots
|
|
59
|
-
: {};
|
|
53
|
+
const packRootCache = new Map();
|
|
54
|
+
function resolveIconPackRootUncached(normalizedPack, options, packageRoots) {
|
|
60
55
|
if (packageRoots[normalizedPack])
|
|
61
56
|
return path.resolve(packageRoots[normalizedPack]);
|
|
62
57
|
if (options.packageRoot)
|
|
@@ -90,5 +85,20 @@ function resolveIconPackRoot(pack, options = {}) {
|
|
|
90
85
|
return "";
|
|
91
86
|
}
|
|
92
87
|
}
|
|
88
|
+
function resolveIconPackRoot(pack, options = {}) {
|
|
89
|
+
const normalizedPack = normalizeIconPack(pack);
|
|
90
|
+
if (!normalizedPack)
|
|
91
|
+
return "";
|
|
92
|
+
const packageRoots = options.packageRoots && typeof options.packageRoots === "object"
|
|
93
|
+
? options.packageRoots
|
|
94
|
+
: {};
|
|
95
|
+
const cacheKey = `${normalizedPack}\u0000${packageRoots[normalizedPack] || ""}\u0000${options.packageRoot || ""}\u0000${options.rootDir || ""}`;
|
|
96
|
+
const cached = packRootCache.get(cacheKey);
|
|
97
|
+
if (cached !== undefined)
|
|
98
|
+
return cached;
|
|
99
|
+
const resolved = resolveIconPackRootUncached(normalizedPack, options, packageRoots);
|
|
100
|
+
packRootCache.set(cacheKey, resolved);
|
|
101
|
+
return resolved;
|
|
102
|
+
}
|
|
93
103
|
export { allowedIconPacks, isIconPackAllowed, normalizeIconPackList, parseServerIconSpec, resolveIconPackRoot, };
|
|
94
104
|
//# sourceMappingURL=options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/icons/server/options.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/icons/server/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/icons/server/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,0BAA0B,EAC1B,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,iBAAiB,EAEjB,aAAa,EAEb,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACrF,cAAa,eAAe,CAAC;AAC7B,cAAa,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/icons/server/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,0BAA0B,EAC1B,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,iBAAiB,EAEjB,aAAa,EAEb,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACrF,cAAa,eAAe,CAAC;AAC7B,cAAa,eAAe,CAAC;AAsB7B,iBAAS,cAAc,CACrB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,aAAa,CAkCf;AAED,iBAAS,gBAAgB,CACvB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAgBR;AAED,iBAAS,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,YAAY,CAY1E;AAED,iBAAS,2BAA2B,CAClC,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,CAAC,oBAAoB,GAAE;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAY3D;AAED,iBAAS,wBAAwB,CAC/B,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAM,EAChD,OAAO,GAAE,iBAAsB,IAEE,MAAM,MAAM;oBAlBH,MAAM;EA4BjD;AAyBD,iBAAS,cAAc,CACrB,IAAI,EAAE,OAAO,EACb,KAAK,GAAE,mBAAwB,EAC/B,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAkBR;AAED,iBAAS,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB;;;;;;;;;;;;;;EA6B5E;AAED,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,0BAA0B,EAC1B,eAAe,GAChB,CAAC;AACF,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
|
@@ -8,6 +8,9 @@ export { attachIconAliasLocals, attachIconServer } from "./attachment.js";
|
|
|
8
8
|
export * from "./defaults.js";
|
|
9
9
|
export * from "./material.js";
|
|
10
10
|
const svgMarkupCache = new Map();
|
|
11
|
+
const iconColorCache = new Map();
|
|
12
|
+
const iconColorModeCache = new Map();
|
|
13
|
+
const iconSvgResponseCache = new Map();
|
|
11
14
|
function failure(parsed, statusCode, status = 404) {
|
|
12
15
|
return {
|
|
13
16
|
icon: parsed?.icon,
|
|
@@ -22,11 +25,7 @@ function resolveIconSvg(spec, options = {}) {
|
|
|
22
25
|
const parsed = parseServerIconSpec(spec, options);
|
|
23
26
|
if (!parsed)
|
|
24
27
|
return failure(null, "invalid-spec", 400);
|
|
25
|
-
const cacheKey =
|
|
26
|
-
parsed.spec,
|
|
27
|
-
resolveIconPackRoot(parsed.pack, options),
|
|
28
|
-
JSON.stringify(options.preserveSourceColors || null),
|
|
29
|
-
].join(":");
|
|
28
|
+
const cacheKey = `${parsed.spec}:${resolveIconPackRoot(parsed.pack, options)}:${shouldPreserveSourceColors(parsed.pack, options) ? "1" : "0"}`;
|
|
30
29
|
const cached = svgMarkupCache.get(cacheKey);
|
|
31
30
|
if (cached)
|
|
32
31
|
return cached;
|
|
@@ -72,21 +71,33 @@ function resolveIconColor(spec, options = {}) {
|
|
|
72
71
|
const svg = resolveIconSvg(parsed.spec, options);
|
|
73
72
|
if (!svg.ok || !svg.file)
|
|
74
73
|
return "";
|
|
74
|
+
const cached = iconColorCache.get(svg.file);
|
|
75
|
+
if (cached !== undefined)
|
|
76
|
+
return cached;
|
|
77
|
+
let color = "";
|
|
75
78
|
try {
|
|
76
|
-
|
|
79
|
+
color = derivePrimarySvgColor(fs.readFileSync(svg.file, "utf8"));
|
|
77
80
|
}
|
|
78
81
|
catch {
|
|
79
|
-
|
|
82
|
+
color = "";
|
|
80
83
|
}
|
|
84
|
+
iconColorCache.set(svg.file, color);
|
|
85
|
+
return color;
|
|
81
86
|
}
|
|
82
87
|
function classifyIconColorMode(value) {
|
|
83
88
|
const color = normalizeHexColor(value);
|
|
84
89
|
if (!color)
|
|
85
90
|
return "";
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
91
|
+
const cached = iconColorModeCache.get(color);
|
|
92
|
+
if (cached !== undefined)
|
|
93
|
+
return cached;
|
|
94
|
+
const red = parseInt(color.slice(1, 3), 16);
|
|
95
|
+
const green = parseInt(color.slice(3, 5), 16);
|
|
96
|
+
const blue = parseInt(color.slice(5, 7), 16);
|
|
97
|
+
const spread = Math.max(red, green, blue) - Math.min(red, green, blue);
|
|
98
|
+
const mode = spread <= 24 ? "monochrome" : "brand";
|
|
99
|
+
iconColorModeCache.set(color, mode);
|
|
100
|
+
return mode;
|
|
90
101
|
}
|
|
91
102
|
function buildRenderedIconCacheEntry(spec, options = {}) {
|
|
92
103
|
const parsed = parseServerIconSpec(spec, options);
|
|
@@ -171,14 +182,20 @@ function createIconSvgResponse(spec, options = {}) {
|
|
|
171
182
|
status: svgResult.status,
|
|
172
183
|
};
|
|
173
184
|
}
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
185
|
+
const cacheKey = svgResult.file || svgResult.spec;
|
|
186
|
+
let body = iconSvgResponseCache.get(cacheKey);
|
|
187
|
+
if (body === undefined) {
|
|
188
|
+
const color = resolveIconColor(svgResult.spec, options);
|
|
189
|
+
const colorMode = classifyIconColorMode(color);
|
|
190
|
+
const svg = color ? applySvgColor(svgResult.svg, color) : svgResult.svg;
|
|
191
|
+
body = applySvgRootAttrs(svg, {
|
|
179
192
|
[frontendDataAttr("icon-color-mode")]: colorMode || undefined,
|
|
180
193
|
[frontendDataAttr("icon-color-value")]: color || undefined,
|
|
181
|
-
})
|
|
194
|
+
});
|
|
195
|
+
iconSvgResponseCache.set(cacheKey, body);
|
|
196
|
+
}
|
|
197
|
+
return {
|
|
198
|
+
body,
|
|
182
199
|
headers: {
|
|
183
200
|
"Cache-Control": "public, max-age=3600",
|
|
184
201
|
"Content-Type": "image/svg+xml; charset=utf-8",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/icons/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,IAAI,GACL,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,0BAA0B,EAC1B,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,cAAa,eAAe,CAAC;AAC7B,cAAa,eAAe,CAAC;AAE7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/icons/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/icons/server/options.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,iBAAS,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,EAAE,CAQzD;AAED,iBAAS,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,QAAQ,EAAE,CASrE;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAKlF;AAED,iBAAS,mBAAmB,CAC1B,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,cAAc,GAAG,IAAI,CAIvB;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/icons/server/options.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,iBAAS,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,EAAE,CAQzD;AAED,iBAAS,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,QAAQ,EAAE,CASrE;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAKlF;AAED,iBAAS,mBAAmB,CAC1B,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,cAAc,GAAG,IAAI,CAIvB;AAyDD,iBAAS,mBAAmB,CAC1B,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAgBR;AAED,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,CAAC"}
|
|
@@ -50,13 +50,8 @@ function findPackageRootFromResolvedFile(filePath, pack) {
|
|
|
50
50
|
current = parent;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (!normalizedPack)
|
|
56
|
-
return "";
|
|
57
|
-
const packageRoots = options.packageRoots && typeof options.packageRoots === "object"
|
|
58
|
-
? options.packageRoots
|
|
59
|
-
: {};
|
|
53
|
+
const packRootCache = new Map();
|
|
54
|
+
function resolveIconPackRootUncached(normalizedPack, options, packageRoots) {
|
|
60
55
|
if (packageRoots[normalizedPack])
|
|
61
56
|
return path.resolve(packageRoots[normalizedPack]);
|
|
62
57
|
if (options.packageRoot)
|
|
@@ -90,5 +85,20 @@ function resolveIconPackRoot(pack, options = {}) {
|
|
|
90
85
|
return "";
|
|
91
86
|
}
|
|
92
87
|
}
|
|
88
|
+
function resolveIconPackRoot(pack, options = {}) {
|
|
89
|
+
const normalizedPack = normalizeIconPack(pack);
|
|
90
|
+
if (!normalizedPack)
|
|
91
|
+
return "";
|
|
92
|
+
const packageRoots = options.packageRoots && typeof options.packageRoots === "object"
|
|
93
|
+
? options.packageRoots
|
|
94
|
+
: {};
|
|
95
|
+
const cacheKey = `${normalizedPack}\u0000${packageRoots[normalizedPack] || ""}\u0000${options.packageRoot || ""}\u0000${options.rootDir || ""}`;
|
|
96
|
+
const cached = packRootCache.get(cacheKey);
|
|
97
|
+
if (cached !== undefined)
|
|
98
|
+
return cached;
|
|
99
|
+
const resolved = resolveIconPackRootUncached(normalizedPack, options, packageRoots);
|
|
100
|
+
packRootCache.set(cacheKey, resolved);
|
|
101
|
+
return resolved;
|
|
102
|
+
}
|
|
93
103
|
export { allowedIconPacks, isIconPackAllowed, normalizeIconPackList, parseServerIconSpec, resolveIconPackRoot, };
|
|
94
104
|
//# sourceMappingURL=options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/icons/server/options.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/icons/server/options.ts"],"names":[],"mappings":"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"}
|