Cut review mode over to the extracted citation-work package instead of a local src/work/ implementation. - Add @citation-evidence/work as a link: dependency - Repoint the @work alias (tsconfig + vite) to ../citation-work/src/work and allow vite fs access to the sibling - Remove the local src/work/ implementation (now owned by citation-work) Typecheck, lint, and the full test suite (51 tests) pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
57 lines
1.9 KiB
TypeScript
57 lines
1.9 KiB
TypeScript
import { defineConfig } from "vite";
|
|
import react from "@vitejs/plugin-react";
|
|
import { viteStaticCopy } from "vite-plugin-static-copy";
|
|
import { fileURLToPath } from "node:url";
|
|
import { dirname, resolve } from "node:path";
|
|
|
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
|
|
export default defineConfig({
|
|
plugins: [
|
|
react(),
|
|
// PDF.js needs its cmaps (character maps for CID fonts) and
|
|
// standard fonts (Helvetica/Times/Courier metrics) to position
|
|
// text-layer spans correctly. Without them, PDFs with embedded
|
|
// CID fonts or unembedded standard fonts get rendered to canvas
|
|
// OK but their textLayer overlays land in the wrong place — text
|
|
// appears unselectable or selection jumps to a different region.
|
|
// We serve both directories straight from `node_modules/pdfjs-dist`.
|
|
viteStaticCopy({
|
|
targets: [
|
|
{
|
|
src: resolve(__dirname, "node_modules/pdfjs-dist/cmaps") + "/[!.]*",
|
|
dest: "cmaps",
|
|
},
|
|
{
|
|
src: resolve(__dirname, "node_modules/pdfjs-dist/standard_fonts") + "/[!.]*",
|
|
dest: "standard_fonts",
|
|
},
|
|
],
|
|
}),
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
"@shared": resolve(__dirname, "../citation-engine/src/shared"),
|
|
"@engine": resolve(__dirname, "../citation-engine/src/engine"),
|
|
"@source": resolve(__dirname, "src/source"),
|
|
"@binder": resolve(__dirname, "../evidence-binder/src"),
|
|
"@work": resolve(__dirname, "../citation-work/src/work"),
|
|
"@app": resolve(__dirname, "src/app"),
|
|
},
|
|
},
|
|
server: {
|
|
fs: {
|
|
// Allow Vite to serve /fixtures/pdfs/*.pdf from the project root.
|
|
allow: [
|
|
resolve(__dirname),
|
|
resolve(__dirname, "../citation-engine"),
|
|
resolve(__dirname, "../evidence-binder"),
|
|
resolve(__dirname, "../citation-work"),
|
|
],
|
|
},
|
|
},
|
|
optimizeDeps: {
|
|
// pdfjs-dist ships its worker as a .mjs Vite needs to handle.
|
|
exclude: ["pdfjs-dist"],
|
|
},
|
|
});
|