mirror of
https://github.com/J3vb/OwnCord.git
synced 2026-09-03 03:50:00 +03:00
* build(client): upgrade TypeScript to 6.0.3 Staging step toward TypeScript 7 (the native compiler), which needs its 7.1 stable API before typescript-eslint and Stryker's typescript-checker can run on it. TS 6 is the JS-based bridge release that aligns config defaults with 7. Two fallout fixes: - tsconfig.e2e.json: TS 6 defaults "types" to [] instead of every installed @types package, so the Playwright layer's Node globals (process, Buffer) need an explicit "types": ["node"]. - media-visibility.test.ts: TS 6's DOM lib adds scrollMargin to IntersectionObserver, so the mock grows the property. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lw5KEz6gdD816Wxmm4A3Bn * build(server): bump chi to 5.3.2, modernc.org/sqlite to 1.57.0, toolchain to go1.26.7 Go 1.27 deliberately deferred until 1.27.1 lands. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lw5KEz6gdD816Wxmm4A3Bn * build(tauri): bump tokio-tungstenite to 0.30, refresh Cargo.lock In-range lockfile refresh via cargo update; tungstenite 0.29/0.30 changes are client-API-neutral (header handling, server-side handshake hardening). Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lw5KEz6gdD816Wxmm4A3Bn * build(client): upgrade vite 8, vitest 4, jsdom 30, stryker 10 + minors - vite 6 -> 8: Rolldown requires the function form of manualChunks; __dirname -> import.meta.dirname in configs - vitest 3 -> 4: browser provider moved to @vitest/browser-playwright; vi.fn() mocks now need explicit signatures (typed throughout tests); constructor mocks use function impls; restoreAllMocks no longer resets vi.fn state; matchMedia spies replaced with vi.stubGlobal - jsdom 29 -> 30: one internal bookkeeping abort listener per signal, listener-count regression tests adjusted (leak detection retained) - stryker 9 -> 10, @types/node 20 -> 24, eslint/oxlint/livekit-client minors - tsconfigs: explicit "types" now that TS6/vitest4 stop injecting @types/node ambiently; build config keeps Node globals out of src/ Validated: tsc (main/build/e2e), eslint, oxlint, knip, prettier, unit+integration (5196 tests), browser suite, vite build, stryker dry run. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lw5KEz6gdD816Wxmm4A3Bn * ci: move Node 20 (EOL 2026-04-30) to Node 24 LTS The jsdom suite runs on modern Node without --no-experimental-webstorage: tests/setup.ts already replaces the shadowed localStorage with an in-memory shim. Client CLAUDE.md gotcha updated accordingly. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lw5KEz6gdD816Wxmm4A3Bn --------- Co-authored-by: Claude <noreply@anthropic.com>
83 lines
2.7 KiB
JSON
83 lines
2.7 KiB
JSON
{
|
|
"name": "owncord-client",
|
|
"private": true,
|
|
"version": "1.2.0-alpha.3",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -p tsconfig.build.json && vite build",
|
|
"preview": "vite preview",
|
|
"tauri": "tauri",
|
|
"test": "vitest run",
|
|
"test:unit": "vitest run tests/unit",
|
|
"test:integration": "vitest run tests/integration",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:prod": "npm run build && playwright test --config playwright.config.prod.ts",
|
|
"test:e2e:native": "playwright test --config playwright.config.native.ts",
|
|
"test:e2e:admin": "playwright test --config playwright.config.admin.ts",
|
|
"test:e2e:ui": "playwright test --ui",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:browser": "vitest run --config vitest.config.browser.ts",
|
|
"typecheck": "tsc --noEmit",
|
|
"typecheck:build": "tsc -p tsconfig.build.json --noEmit",
|
|
"typecheck:e2e": "tsc -p tsconfig.e2e.json --noEmit",
|
|
"lint": "oxlint src/ && eslint src/",
|
|
"lint:fix": "eslint src/ --fix",
|
|
"lint:ox": "oxlint src/",
|
|
"format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
"format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
"knip": "knip",
|
|
"test:mutate": "stryker run",
|
|
"test:mutate:dry": "stryker run --dryRunOnly"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^10.0.1",
|
|
"@playwright/test": "^1",
|
|
"@stryker-mutator/api": "^10.0.0",
|
|
"@stryker-mutator/core": "^10.0.0",
|
|
"@stryker-mutator/typescript-checker": "^10.0.0",
|
|
"@stryker-mutator/vitest-runner": "^10.0.0",
|
|
"@tauri-apps/cli": "^2",
|
|
"@types/node": "^24.13.3",
|
|
"@vitest/browser-playwright": "^4.1.11",
|
|
"@vitest/coverage-v8": "^4.1.11",
|
|
"eslint": "^10.9.0",
|
|
"fast-check": "^4.9.0",
|
|
"jsdom": "^30.0.1",
|
|
"knip": "^6.32.2",
|
|
"oxlint": "^1.79.0",
|
|
"prettier": "^3.9.6",
|
|
"typescript": "^6.0.3",
|
|
"typescript-eslint": "^8.67.0",
|
|
"vite": "^8.2.2",
|
|
"vitest": "^4.1.11"
|
|
},
|
|
"prettier": {
|
|
"singleQuote": false,
|
|
"semi": true,
|
|
"trailingComma": "all",
|
|
"printWidth": 100,
|
|
"tabWidth": 2,
|
|
"arrowParens": "always",
|
|
"endOfLine": "lf"
|
|
},
|
|
"dependencies": {
|
|
"@jitsi/rnnoise-wasm": "^0.2.1",
|
|
"@tauri-apps/api": "^2.10.1",
|
|
"@tauri-apps/plugin-autostart": "^2",
|
|
"@tauri-apps/plugin-deep-link": "^2",
|
|
"@tauri-apps/plugin-dialog": "^2.7.2",
|
|
"@tauri-apps/plugin-fs": "^2.4.5",
|
|
"@tauri-apps/plugin-http": "^2.5.7",
|
|
"@tauri-apps/plugin-notification": "^2",
|
|
"@tauri-apps/plugin-opener": "^2.5.3",
|
|
"@tauri-apps/plugin-process": "^2.3.1",
|
|
"livekit-client": "^2.22.0"
|
|
},
|
|
"overrides": {
|
|
"qs": "^6.15.3",
|
|
"test-exclude": "^8.0.0"
|
|
}
|
|
}
|