Merge branch 'master' into feat/gui-full-access-confirmation

This commit is contained in:
Ziya
2026-07-30 22:51:43 -04:00
committed by GitHub
124 changed files with 3711 additions and 414 deletions

View File

@@ -1,5 +1,6 @@
import tsconfigPaths from 'vite-tsconfig-paths'
import { defineConfig } from 'vitest/config'
import { vitestExecArgv } from './vitest.shared.ts'
import { COVERAGE_EXEMPT_ENV, coverageExemptHeavySuites } from './scripts/coverage-exempt.ts'
// Resolution facade shared by every plugin instance below: tsconfig.base.json
@@ -67,13 +68,15 @@ export default defineConfig({
// .tsx: client component specs (jsdom via per-file @vitest-environment pragma).
include: testIncludes,
exclude: windowsUnsupportedPackages.map(path => `${path}/tests/**/*.spec.ts`),
// One coverage invocation aggregates both projects. Most suites use threads
// for lower startup/IPC overhead; only explicit process-bound suites fork.
// One coverage invocation aggregates both projects. Regular suites fork on
// POSIX for Node stability and use threads on Windows; process-bound suites
// always fork.
projects: [
{
plugins: [pathsPlugin()],
test: {
name: 'thread-safe',
execArgv: vitestExecArgv,
// Node 24 has aborted in its CJS lexer (v8::ToLocalChecked Empty
// MaybeLocal in cjs_lexer::Parse) from worker threads on macOS
// arm64 and later on Linux. A fork contains that external runtime
@@ -93,6 +96,7 @@ export default defineConfig({
plugins: [pathsPlugin()],
test: {
name: 'process-bound',
execArgv: vitestExecArgv,
pool: 'forks',
setupFiles: ['./scripts/test-invariants.ts'],
include: processBoundTests,