Spaces:
Running
Running
| // web/vite.config.ts — a11oy web SPA build config. | |
| // | |
| // React + Vite. Aliases the Node built-ins that the real | |
| // `@szl-holdings/a11oy-receipt-substrate` library imports (`node:crypto`, | |
| // `node:fs`) to small browser shims so the verifier runs the SAME hashing and | |
| // chain-verification code in the browser as on the CLI — no reimplementation, | |
| // no mock. The crypto shim is backed by `js-sha3` (SHA3-256/512) and Web Crypto | |
| // (SHA-256). The fs shim is empty: the SPA reads files via the File API / fetch, | |
| // never from disk. | |
| // | |
| // SPDX-License-Identifier: Apache-2.0 | |
| import { defineConfig } from "vite"; | |
| import react from "@vitejs/plugin-react"; | |
| import path from "node:path"; | |
| export default defineConfig({ | |
| plugins: [react()], | |
| resolve: { | |
| alias: { | |
| "@": path.resolve(__dirname, "src"), | |
| // Browser shims so the real receipt-substrate library imports unchanged. | |
| "node:crypto": path.resolve(__dirname, "src/lib/shims/crypto.ts"), | |
| "node:fs": path.resolve(__dirname, "src/lib/shims/fs.ts"), | |
| }, | |
| }, | |
| build: { | |
| // Matches the Dockerfile runner stage: COPY --from=builder /app/web/dist | |
| outDir: "dist", | |
| emptyOutDir: true, | |
| sourcemap: false, | |
| }, | |
| server: { | |
| host: "0.0.0.0", | |
| port: 5173, | |
| }, | |
| preview: { | |
| host: "0.0.0.0", | |
| port: 8080, | |
| }, | |
| }); | |