import { defineConfig } from 'vite'; // Настройка проекта под wa-sqlite (SQLite в браузере через WebAssembly). export default defineConfig({ // Файлы .wasm (сборка SQLite из пакета wa-sqlite) считаем статическими // ассетами: Vite копирует их в dist/ без трансформации и отдаёт в dev // как есть. Импорт вида `import url from '...wasm?url'` работает всегда. assetsInclude: ['**/*.wasm'], optimizeDeps: { // wa-sqlite сам находит свой .wasm-бинарник по соседству с .mjs-загрузчиком // (new URL("wa-sqlite.wasm", import.meta.url)). Если позволить Vite // пре-баблить пакет в .vite/deps, import.meta.url укажет не туда и загрузка // SQLite упадёт. Поэтому пакет исключаем из пре-баблинга. exclude: ['wa-sqlite'], }, server: { headers: { // Требуется для OPFS (Origin Private File System): без этого заголовка // браузер блокирует доступ к OPFS из встроенного (cross-origin) // контекста. Дублируется через в index.html. 'Cross-Origin-Embedder-Policy': 'require-corp', }, }, });