refactor: trim PR debloat and fix transformers build

Extract shared helpers for home notices, timetable subtitles, and theme images; dedupe global search, Select, and build scripts while preserving behaviour.

Add @huggingface/transformers as a direct dependency and resolve ORT WASM paths via require.resolve so pnpm postinstall and Vite can bundle vector search.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-28 10:30:25 +09:30
parent dcb4dd2f5e
commit 4fda63dedd
76 changed files with 2003 additions and 4149 deletions
+13 -9
View File
@@ -1,15 +1,12 @@
import { copyFileSync, mkdirSync } from "node:fs";
import { copyFileSync, existsSync, mkdirSync } from "node:fs";
import { createRequire } from "node:module";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
const root = join(dirname(fileURLToPath(import.meta.url)), "..");
const transformersDist = join(
root,
"node_modules",
"@huggingface",
"transformers",
"dist",
);
const require = createRequire(import.meta.url);
const transformersDist = dirname(require.resolve("@huggingface/transformers"));
const outDir = join(root, "src", "public", "resources", "ort");
mkdirSync(outDir, { recursive: true });
@@ -20,5 +17,12 @@ const ortFiles = [
];
for (const file of ortFiles) {
copyFileSync(join(transformersDist, file), join(outDir, file));
const src = join(transformersDist, file);
if (!existsSync(src)) {
throw new Error(
`Missing ONNX Runtime WASM asset: ${src}\n` +
"Ensure @huggingface/transformers is installed (direct dependency).",
);
}
copyFileSync(src, join(outDir, file));
}