mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-01-25 14:37:11 +00:00
77 lines
2.9 KiB
TypeScript
77 lines
2.9 KiB
TypeScript
import { defineConfig, mergeConfig } from "vitest/config";
|
|
import { playwright } from "@vitest/browser-playwright";
|
|
import viteConfig from "./vitest.config.common";
|
|
import dotenv from "dotenv";
|
|
import { grantClipboardPermissions, openWebPeer, closeWebPeer, acceptWebPeer } from "./test/lib/commands";
|
|
const defEnv = dotenv.config({ path: ".env" }).parsed;
|
|
const testEnv = dotenv.config({ path: ".test.env" }).parsed;
|
|
const env = Object.assign({}, defEnv, testEnv);
|
|
const debuggerEnabled = env?.ENABLE_DEBUGGER === "true";
|
|
const enableUI = env?.ENABLE_UI === "true";
|
|
const headless = !debuggerEnabled && !enableUI;
|
|
export default mergeConfig(
|
|
viteConfig,
|
|
defineConfig({
|
|
test: {
|
|
env: env,
|
|
testTimeout: 40000,
|
|
hookTimeout: 50000,
|
|
fileParallelism: false,
|
|
isolate: true,
|
|
watch: false,
|
|
|
|
// environment: "browser",
|
|
include: ["test/**/*.test.ts"],
|
|
coverage: {
|
|
include: ["src/**/*.ts", "src/lib/src/**/*.ts", "src/**/*.svelte"],
|
|
exclude: ["**/*.test.ts", "src/lib/**"],
|
|
provider: "v8",
|
|
reporter: ["text", "json", "html"],
|
|
// ignoreEmptyLines: true,
|
|
},
|
|
browser: {
|
|
isolate: true,
|
|
commands: {
|
|
grantClipboardPermissions,
|
|
openWebPeer,
|
|
closeWebPeer,
|
|
acceptWebPeer,
|
|
},
|
|
provider: playwright({
|
|
launchOptions: {
|
|
args: ["--js-flags=--expose-gc"],
|
|
// chromiumSandbox: true,
|
|
},
|
|
}),
|
|
enabled: true,
|
|
screenshotFailures: false,
|
|
instances: [
|
|
{
|
|
execArgv: ["--js-flags=--expose-gc"],
|
|
browser: "chromium",
|
|
headless,
|
|
isolate: true,
|
|
inspector: debuggerEnabled
|
|
? {
|
|
waitForDebugger: true,
|
|
enabled: true,
|
|
}
|
|
: undefined,
|
|
printConsoleTrace: debuggerEnabled,
|
|
onUnhandledError(error) {
|
|
// Ignore certain errors
|
|
const msg = error.message || "";
|
|
if (msg.includes("Cannot create so many PeerConnections")) {
|
|
return false;
|
|
}
|
|
},
|
|
},
|
|
],
|
|
headless,
|
|
fileParallelism: false,
|
|
ui: debuggerEnabled || enableUI ? true : false,
|
|
},
|
|
},
|
|
})
|
|
);
|