Spaces:
Running
Running
File size: 2,167 Bytes
fc69895 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
import { sveltekit } from "@sveltejs/kit/vite";
import Icons from "unplugin-icons/vite";
import { promises } from "fs";
import { defineConfig } from "vitest/config";
import { config } from "dotenv";
config({ path: "./.env.local" });
// used to load fonts server side for thumbnail generation
function loadTTFAsArrayBuffer() {
return {
name: "load-ttf-as-array-buffer",
async transform(_src, id) {
if (id.endsWith(".ttf")) {
return `export default new Uint8Array([
${new Uint8Array(await promises.readFile(id))}
]).buffer`;
}
},
};
}
export default defineConfig({
plugins: [
sveltekit(),
Icons({
compiler: "svelte",
}),
loadTTFAsArrayBuffer(),
],
// Allow external access via ngrok tunnel host
server: {
port: process.env.PORT ? parseInt(process.env.PORT) : 5173,
// Allow any ngrok-free.app subdomain (dynamic tunnels)
// See Vite server.allowedHosts: string[] | true
// Using leading dot matches subdomains per Vite's host check logic
allowedHosts: ["huggingface.ngrok.io"],
},
optimizeDeps: {
include: ["uuid", "sharp", "clsx"],
},
test: {
workspace: [
{
// Client-side tests (Svelte components)
extends: "./vite.config.ts",
test: {
name: "client",
environment: "browser",
browser: {
enabled: true,
provider: "playwright",
instances: [{ browser: "chromium", headless: true }],
},
include: ["src/**/*.svelte.{test,spec}.{js,ts}"],
exclude: ["src/lib/server/**", "src/**/*.ssr.{test,spec}.{js,ts}"],
setupFiles: ["./scripts/setups/vitest-setup-client.ts"],
},
},
{
// SSR tests (Server-side rendering)
extends: "./vite.config.ts",
test: {
name: "ssr",
environment: "node",
include: ["src/**/*.ssr.{test,spec}.{js,ts}"],
},
},
{
// Server-side tests (Node.js utilities)
extends: "./vite.config.ts",
test: {
name: "server",
environment: "node",
include: ["src/**/*.{test,spec}.{js,ts}"],
exclude: ["src/**/*.svelte.{test,spec}.{js,ts}", "src/**/*.ssr.{test,spec}.{js,ts}"],
setupFiles: ["./scripts/setups/vitest-setup-server.ts"],
},
},
],
},
});
|