@wllama/wllama
Version:
WebAssembly binding for llama.cpp - Enabling on-browser LLM inference
62 lines (58 loc) • 1.68 kB
text/typescript
import { defineConfig } from 'vitest/config';
const SAFARI = process.env.BROWSER === 'safari';
const WEBGPU = process.env.WEBGPU === '1';
const AUTO = process.env.AUTO === '1';
const chromeArgsCI = ['disable-gpu', 'no-sandbox', 'disable-setuid-sandbox'];
const chromeArgsWebGPU = [
'no-sandbox',
'disable-setuid-sandbox',
'enable-unsafe-webgpu',
'enable-features=WebGPU',
];
export default defineConfig({
define: {
__GITHUB_CI__: JSON.stringify(!!process.env.GITHUB_ACTIONS),
},
test: {
...(AUTO ? { watch: false } : {}),
exclude: [
'**/node_modules/**',
'**/esm/**',
'**/docs/**',
'**/examples/**',
...(!WEBGPU ? ['**/src/*.wgpu.test.*'] : []),
],
include: WEBGPU ? ['**/src/*.wgpu.test.*'] : ['**/src/**/*.test.*'],
browser: {
enabled: true,
name: process.env.BROWSER ?? 'chromium',
provider: SAFARI ? 'webdriverio' : 'playwright',
// https://playwright.dev
providerOptions: WEBGPU
? { launch: { args: chromeArgsWebGPU.map((a) => `--${a}`) } }
: process.env.GITHUB_ACTIONS
? {
capabilities: {
'goog:chromeOptions': {
args: chromeArgsCI,
},
},
}
: SAFARI
? {
capabilities: {
alwaysMatch: { browserName: 'safari' },
firstMatch: [{}],
browserName: 'safari',
},
}
: {},
},
},
server: {
headers: {
'Cross-Origin-Embedder-Policy': 'require-corp',
'Cross-Origin-Opener-Policy': 'same-origin',
},
},
});