mirror of
https://github.com/stablyai/orca.git
synced 2026-09-22 16:02:32 +00:00
* test: add golden e2e tests for agent TUI launch and shell recovery
Add test fixtures and E2E tests to verify agent TUI functionality:
- Stub agent implementation supports cross-platform execution (Unix/Windows)
- Test verifies multiline composer with Shift+Enter support in agent TUI
- Test verifies clean shell resumes after agent exit without state leakage
* test: add golden e2e tests for agent TUI launch and shell recovery
Add agent TUI launch and shell-recovery tests to the golden (release-blocking)
E2E suite, covering agent initialization and shell availability after agent
exit. Improve escape sequence handling in the stub agent to prevent stray key
reports from contaminating test output. Add terminal input readiness checks to
ensure commands execute reliably before verification.
* test: coerce golden stub stdin chunks for type-aware lint
Node types the stdin data event as string | Buffer even after
setEncoding('utf8'), so restrict-plus-operands failed CI.
* test: fix golden stub agent Windows batch files and add Ctrl+C support
- Store batch files with CRLF to avoid Windows 512-byte parser boundary bug
- Handle Ctrl+C (0x03) in raw mode as alternative to Ctrl+D (0x04)
- Update release notes documenting golden test skip behavior on older tags
* Remove Windows batch file gitattributes workaround
The -text whitespace=cr-at-eol rule preventing CRLF conversion for
.cmd files is no longer needed. Allow batch files to use normalized
line endings.
326 lines
21 KiB
JSON
326 lines
21 KiB
JSON
{
|
|
"name": "orca",
|
|
"version": "1.4.178-rc.2",
|
|
"description": "Next-gen IDE for parallel agentic development",
|
|
"homepage": "https://github.com/stablyai/orca",
|
|
"author": "stablyai",
|
|
"bin": {
|
|
"orca": "./out/cli/index.js",
|
|
"orca-dev": "./config/scripts/orca-dev.mjs"
|
|
},
|
|
"main": "./out/main/index.js",
|
|
"scripts": {
|
|
"format": "oxfmt --write .",
|
|
"lint": "oxlint && pnpm run audit:code-quality:native && pnpm run audit:code-quality:type-aware && pnpm run check:reliability-gates && pnpm run check:max-lines-ratchet && pnpm run verify:bundled-skill-guides && pnpm run verify:skill-bundle-manifest && pnpm run verify:localization-catalog && pnpm run verify:localization-extraction && pnpm run verify:localization-coverage",
|
|
"audit:code-quality": "pnpm run audit:code-quality:native && pnpm run audit:code-quality:type-aware && pnpm run audit:react-doctor",
|
|
"audit:code-quality:native": "oxlint --config config/oxlint-code-quality-native-plugins.json src config tests mobile --deny-warnings",
|
|
"audit:code-quality:type-aware": "oxlint --type-aware --config config/oxlint-code-quality-type-aware.json src config tests --deny-warnings",
|
|
"audit:react-doctor": "pnpm dlx react-doctor@0.9.1 . --yes --no-supply-chain --no-telemetry --blocking none",
|
|
"audit:dead-code": "pnpm dlx knip@5.88.1 --config config/knip.json",
|
|
"check:code-quality:changed": "node config/scripts/check-changed-code-quality.mjs",
|
|
"check:react-doctor:changed": "node config/scripts/check-react-doctor-changed.mjs",
|
|
"check:zustand-selector-fanout": "node config/scripts/zustand-selector-fanout-benchmark.mjs --check",
|
|
"doctor": "pnpm dlx react-doctor@0.9.1 . --no-telemetry",
|
|
"lint:react-doctor": "oxlint --config config/oxlint-react-doctor.json",
|
|
"lint:react-doctor:changed": "node config/scripts/lint-react-doctor-changed.mjs",
|
|
"prepare": "husky",
|
|
"test": "node config/scripts/ensure-native-runtime.mjs --runtime=node && vitest run --config config/vitest.config.ts",
|
|
"test:repro:remote-agent-session": "pnpm run build:cli && pnpm run build:electron-vite && node config/scripts/remote-agent-session-authority-repro.mjs",
|
|
"test:repro:daemon-replacement-live-agent-pty-preservation": "pnpm run build:electron-vite && node config/scripts/daemon-replacement-live-agent-pty-preservation-repro.mjs",
|
|
"check:reliability-gates": "node config/scripts/check-reliability-gates.mjs",
|
|
"check:max-lines-ratchet": "node config/scripts/check-max-lines-ratchet.mjs",
|
|
"check:feature-wall-assets": "node config/scripts/check-feature-wall-assets.mjs",
|
|
"generate:bundled-skill-guides": "node config/scripts/generate-bundled-skill-guides.mjs --write",
|
|
"verify:bundled-skill-guides": "node config/scripts/generate-bundled-skill-guides.mjs --check",
|
|
"generate:skill-bundle-manifest": "node config/scripts/generate-skill-bundle-manifest.mjs --write",
|
|
"verify:skill-bundle-manifest": "node config/scripts/generate-skill-bundle-manifest.mjs",
|
|
"verify:macos-entitlements": "node config/scripts/verify-macos-entitlements.mjs",
|
|
"vendor:feature-wall-assets": "node config/scripts/vendor-feature-wall-assets.mjs",
|
|
"tc:node": "pnpm run typecheck:node",
|
|
"tc:cli": "pnpm run typecheck:cli",
|
|
"tc:web": "pnpm run typecheck:web",
|
|
"tc": "pnpm run typecheck",
|
|
"typecheck:node": "tsc --noEmit -p config/tsconfig.node.json",
|
|
"typecheck:cli": "tsc --noEmit -p config/tsconfig.tc.cli.json",
|
|
"typecheck:web": "tsc --noEmit -p config/tsconfig.tc.web.json",
|
|
"typecheck": "tsc --noEmit -p config/tsconfig.node.json && tsc --noEmit -p config/tsconfig.tc.cli.json && tsc --noEmit -p config/tsconfig.tc.web.json",
|
|
"typecheck:tsc:node": "tsc --noEmit -p config/tsconfig.node.json --composite false",
|
|
"typecheck:tsc:cli": "tsc --noEmit -p config/tsconfig.cli.json --composite false",
|
|
"typecheck:tsc:web": "tsc --noEmit -p config/tsconfig.web.json --composite false",
|
|
"typecheck:tsc": "tsc --noEmit -p config/tsconfig.node.json --composite false && tsc --noEmit -p config/tsconfig.cli.json --composite false && tsc --noEmit -p config/tsconfig.web.json --composite false",
|
|
"ensure:electron-runtime": "node config/scripts/ensure-native-runtime.mjs --runtime=electron",
|
|
"start": "pnpm run ensure:electron-runtime && electron-vite preview",
|
|
"dev": "pnpm run ensure:electron-runtime && node config/scripts/run-electron-vite-dev.mjs",
|
|
"dev-stable-name": "pnpm run ensure:electron-runtime && node config/scripts/run-electron-vite-dev.mjs --stable-name",
|
|
"dev:web": "vite --config vite.web.config.ts --host 127.0.0.1",
|
|
"build:relay": "node config/scripts/build-relay.mjs",
|
|
"build:computer-macos": "node config/scripts/build-computer-macos.mjs",
|
|
"build:notification-status-macos": "node config/scripts/build-notification-status-macos.mjs",
|
|
"build:native": "node config/scripts/build-native-for-platform.mjs",
|
|
"smoke:computer": "node config/scripts/computer-use-smoke.mjs",
|
|
"verify:computer-native": "node config/scripts/verify-computer-native.mjs",
|
|
"verify:cli-bin": "node config/scripts/verify-cli-bin.mjs",
|
|
"verify:built-skills-cli": "node config/scripts/verify-skills-cli-runtime.cjs out",
|
|
"verify:localization-catalog": "node config/scripts/verify-localization-catalog.mjs",
|
|
"sync:localization-catalog": "node config/scripts/verify-localization-catalog.mjs --fix",
|
|
"verify:localization-extraction": "node config/scripts/verify-localization-extraction.mjs",
|
|
"verify:localization-coverage": "node config/scripts/audit-localization-coverage.mjs --check",
|
|
"audit:localization": "node config/scripts/audit-localization-coverage.mjs",
|
|
"build:cli": "tsc -p config/tsconfig.cli.json --outDir out --composite false --incremental false && node config/scripts/verify-cli-bin.mjs --fix-executable --fix-package-json && node config/scripts/install-dev-cli.mjs",
|
|
"test:repro:skills-cli-runtime": "pnpm run build:cli && pnpm run build:electron-vite && pnpm run verify:built-skills-cli",
|
|
"build:electron-vite": "node config/scripts/run-electron-vite-build.mjs",
|
|
"build:electron-vite:parallel": "node config/scripts/run-electron-vite-targets-in-parallel.mjs",
|
|
"build:web": "node config/scripts/run-vite-web-build.mjs && node config/scripts/verify-web-build.mjs",
|
|
"build:web-from-renderer": "node config/scripts/project-renderer-web-client.mjs && node config/scripts/verify-web-build.mjs",
|
|
"build:desktop": "pnpm run typecheck && pnpm run build:relay && pnpm run build:cli && pnpm run build:electron-vite && pnpm run verify:built-skills-cli && pnpm run build:web-from-renderer",
|
|
"build": "pnpm run build:desktop && pnpm run build:native",
|
|
"build:release": "pnpm run build:relay && pnpm run build:native && pnpm run verify:computer-native && pnpm run build:cli && pnpm run build:electron-vite && pnpm run verify:built-skills-cli && pnpm run build:web-from-renderer",
|
|
"postinstall": "node config/scripts/rebuild-native-deps.mjs",
|
|
"rebuild:electron": "node config/scripts/rebuild-native-deps.mjs",
|
|
"rebuild:node": "pnpm rebuild node-pty",
|
|
"build:unpack": "pnpm run build && pnpm run ensure:electron-runtime && electron-builder --config config/electron-builder.config.cjs --dir",
|
|
"build:win": "pnpm run build:desktop && pnpm run ensure:electron-runtime && electron-builder --config config/electron-builder.config.cjs --win",
|
|
"build:icons": "bash resources/icon-source/generate.sh",
|
|
"build:mac": "pnpm run build:desktop && pnpm run build:computer-macos && pnpm run build:notification-status-macos && pnpm run ensure:electron-runtime && node config/scripts/build-mac-local.mjs",
|
|
"build:mac:release": "node config/scripts/verify-macos-release-env.mjs && ORCA_MAC_RELEASE=1 pnpm run build:desktop && ORCA_MAC_RELEASE=1 pnpm run build:computer-macos && ORCA_MAC_RELEASE=1 pnpm run build:notification-status-macos && pnpm run ensure:electron-runtime && ORCA_MAC_RELEASE=1 electron-builder --config config/electron-builder.config.cjs --mac",
|
|
"build:linux": "pnpm run build:desktop && pnpm run ensure:electron-runtime && electron-builder --config config/electron-builder.config.cjs --linux AppImage deb",
|
|
"test:e2e": "pnpm run ensure:electron-runtime && npx playwright test --config tests/playwright.config.ts --project=electron-headless",
|
|
"test:e2e:workspace-session-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/golden-quit-relaunch-session.spec.ts tests/e2e/golden-terminal-file-link.spec.ts tests/e2e/golden-worktree-create-switch.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:multi-client-navigation": "node config/scripts/run-multi-client-navigation-e2e.mjs",
|
|
"test:e2e:floating-mobile-emulator": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/floating-mobile-emulator-tab.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:terminal-rendering-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/terminal-raw-emoji-table-scroll-restore.spec.ts tests/e2e/terminal-webgl-atlas-budget.spec.ts --grep @terminal-rendering-golden --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:source-control-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/golden-file-open-edit-save.spec.ts tests/e2e/golden-source-control-commit.spec.ts tests/e2e/golden-source-control-open-diff.spec.ts --grep @golden --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:posix-profile-index-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/golden-posix-fresh-startup.spec.ts tests/e2e/golden-posix-profile-index-fsync.spec.ts --grep @posix-profile-index-golden --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:windows-fresh-startup-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/golden-windows-fresh-startup.spec.ts --grep @windows-fresh-startup-golden --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:agent-tui-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/golden-agent-tui-launch.spec.ts tests/e2e/golden-shell-after-agent-exit.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:terminal-rendering-release-evidence": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/terminal-opencode-emoji-table-rendering.spec.ts tests/e2e/terminal-long-table-scroll-restore.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=2",
|
|
"test:e2e:terminal-perf": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/terminal-typing-latency.spec.ts tests/e2e/terminal-foreground-redraw-freeze.spec.ts tests/e2e/terminal-output-scheduler.spec.ts tests/e2e/terminal-hidden-tui-visual-restore.spec.ts tests/e2e/artificial-opencode-terminal-load.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=2",
|
|
"test:e2e:terminal-perf:scale": "pnpm run ensure:electron-runtime && node config/scripts/run-terminal-scale-perf-e2e.mjs",
|
|
"test:e2e:terminal-perf:scale:report": "pnpm run ensure:electron-runtime && node config/scripts/run-terminal-scale-perf-report-gate.mjs",
|
|
"test:e2e:terminal-perf:check-report": "node config/scripts/check-terminal-perf-report-budgets.mjs",
|
|
"test:e2e:terminal-perf:summarize": "node config/scripts/summarize-terminal-perf-report.mjs",
|
|
"test:e2e:terminal-perf:html-report": "node config/scripts/generate-terminal-perf-html-report.mjs",
|
|
"test:e2e:ssh-docker-perf": "node config/scripts/run-ssh-docker-perf-e2e.mjs",
|
|
"test:e2e:ssh-docker-watcher-isolation": "node config/scripts/run-ssh-docker-watcher-isolation-e2e.mjs",
|
|
"test:e2e:ssh-docker-terminal-parking": "node config/scripts/run-ssh-docker-terminal-parking-e2e.mjs",
|
|
"test:e2e:ssh-docker-reconnect-pane-cardinality": "node config/scripts/run-ssh-docker-reconnect-pane-cardinality-e2e.mjs",
|
|
"test:e2e:ssh-docker-maxsessions-identity": "node config/scripts/run-ssh-docker-maxsessions-identity-e2e.mjs",
|
|
"test:e2e:ssh-docker-two-hosts-isolation": "node config/scripts/run-ssh-docker-two-hosts-isolation-e2e.mjs",
|
|
"test:e2e:nested-runtime-ssh": "node config/scripts/run-nested-runtime-ssh-e2e.mjs",
|
|
"test:e2e:source-control-scale": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/source-control-large-file-count.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"win-update-e2e": "node tests/tools/win-update-e2e/run.mjs",
|
|
"win-crash-survival-e2e": "node tests/tools/win-crash-survival-e2e/run.mjs",
|
|
"test:e2e:ssh-codex-artifacts-repro": "node config/scripts/run-ssh-codex-artifacts-repro-e2e.mjs",
|
|
"test:e2e:headful": "pnpm run ensure:electron-runtime && npx playwright test --config tests/playwright.config.ts --project electron-headful",
|
|
"test:e2e:terminal-ime-native": "node config/scripts/run-terminal-ibus-hangul-e2e.mjs",
|
|
"test:e2e:computer": "vitest run --config tests/e2e/vitest.config.ts",
|
|
"bench:idle-cpu": "pnpm run ensure:electron-runtime && node config/scripts/run-idle-cpu-benchmark.mjs",
|
|
"bench:macos-computer-helper-owner-loss": "node config/scripts/macos-computer-helper-owner-loss-benchmark.mjs",
|
|
"bench:startup": "pnpm run ensure:electron-runtime && node tests/tools/benchmarks/startup-time-bench.mjs",
|
|
"bench:daemon-coldstart": "pnpm run ensure:electron-runtime && node tests/tools/benchmarks/daemon-coldstart-bench.mjs",
|
|
"bench:wsl-hook-relay-reattach": "pnpm run build:relay && node config/scripts/wsl-hook-relay-reattach-benchmark.mjs",
|
|
"bench:wsl-git-shell": "node config/scripts/wsl-git-shell-benchmark.mjs",
|
|
"bench:hang-watchdog-memory": "pnpm run ensure:electron-runtime && node config/scripts/hang-watchdog-memory-benchmark.mjs",
|
|
"bench:main-thread-jank": "pnpm run ensure:electron-runtime && node tests/tools/benchmarks/main-thread-jank-bench.mjs",
|
|
"bench:worktree-deletion": "node tests/tools/benchmarks/worktree-deletion-dev-bench.mjs",
|
|
"bench:zustand-selector-fanout": "node config/scripts/zustand-selector-fanout-benchmark.mjs",
|
|
"bench:worktree-refresh-churn": "node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON config/scripts/worktree-refresh-churn-benchmark.mjs",
|
|
"bench:multi-workspace-typing": "pnpm run ensure:electron-runtime && node config/scripts/run-multi-workspace-typing-bench.mjs",
|
|
"bench:ai-vault-typing": "pnpm run ensure:electron-runtime && node config/scripts/run-ai-vault-typing-bench.mjs",
|
|
"bench:cold-park-reveal": "pnpm run ensure:electron-runtime && node tests/tools/benchmarks/terminal-cold-park-reveal-bench.mjs",
|
|
"bench:cold-park-resource": "pnpm run ensure:electron-runtime && node tests/tools/benchmarks/terminal-cold-park-resource-bench.mjs",
|
|
"bench:compare": "node config/scripts/compare-benchmark-artifacts.mjs",
|
|
"test:e2e:remote-bulk-open-freeze": "pnpm run ensure:electron-runtime && pnpm exec playwright test tests/e2e/remote-session-bulk-open-freeze-repro.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:daemon-session-liveness": "pnpm run ensure:electron-runtime && pnpm exec playwright test --config tests/playwright.daemon-liveness.local.config.ts",
|
|
"test:e2e:ssh-docker-bulk-open-freeze": "node config/scripts/run-ssh-docker-bulk-open-freeze-e2e.mjs",
|
|
"repro:live-remote-bulk-open-freeze": "node config/scripts/live-remote-bulk-open-freeze-repro.mjs",
|
|
"repro:live-remote-realistic-freeze": "node config/scripts/live-remote-realistic-freeze-repro.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@electron-toolkit/preload": "^3.0.2",
|
|
"@electron-toolkit/utils": "^4.0.0",
|
|
"@floating-ui/dom": "1.7.6",
|
|
"@linear/sdk": "^82.1.0",
|
|
"@parcel/watcher": "^2.5.6",
|
|
"@xterm/addon-serialize": "0.15.0-beta.287",
|
|
"@xterm/headless": "6.1.0-beta.287",
|
|
"agent-browser": "~0.27.0",
|
|
"electron-updater": "^6.8.9",
|
|
"i18next": "^26.3.1",
|
|
"jsonc-parser": "^3.3.1",
|
|
"node-pty": "^1.1.0",
|
|
"posthog-node": "^5.33.3",
|
|
"psl": "1.15.0",
|
|
"qrcode": "^1.5.4",
|
|
"react-i18next": "^17.0.8",
|
|
"serve-sim": "^0.1.40",
|
|
"sherpa-onnx": "1.12.37",
|
|
"ssh2": "^1.17.0",
|
|
"tweetnacl": "^1.0.3",
|
|
"ws": "^8.21.0",
|
|
"yaml": "^2.8.4",
|
|
"zod": "~4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@electron-toolkit/tsconfig": "^2.0.0",
|
|
"@electron/rebuild": "^4.2.0",
|
|
"@monaco-editor/react": "^4.7.0",
|
|
"@playwright/test": "^1.59.1",
|
|
"@sanity/diff-match-patch": "^3.2.0",
|
|
"@stablyai/playwright-test": "^2.1.14",
|
|
"@tailwindcss/vite": "^4.2.4",
|
|
"@tanstack/react-virtual": "^3.13.24",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@tiptap/extension-code-block-lowlight": "^3.22.5",
|
|
"@tiptap/extension-details": "^3.22.5",
|
|
"@tiptap/extension-image": "^3.22.5",
|
|
"@tiptap/extension-link": "^3.22.5",
|
|
"@tiptap/extension-mathematics": "3.22.5",
|
|
"@tiptap/extension-placeholder": "^3.22.5",
|
|
"@tiptap/extension-table": "3.22.4",
|
|
"@tiptap/extension-table-cell": "3.22.4",
|
|
"@tiptap/extension-table-header": "3.22.4",
|
|
"@tiptap/extension-table-row": "3.22.4",
|
|
"@tiptap/extension-task-item": "^3.22.5",
|
|
"@tiptap/extension-task-list": "^3.22.5",
|
|
"@tiptap/markdown": "^3.22.5",
|
|
"@tiptap/pm": "^3.22.5",
|
|
"@tiptap/react": "^3.22.5",
|
|
"@tiptap/starter-kit": "^3.22.5",
|
|
"@types/node": "^25.6.0",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/react": "^19.2.17",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@types/ssh2": "^1.15.5",
|
|
"@types/ws": "^8.18.1",
|
|
"@vitejs/plugin-react": "^5.2.0",
|
|
"@xterm/addon-fit": "0.12.0-beta.287",
|
|
"@xterm/addon-ligatures": "0.11.0-beta.287",
|
|
"@xterm/addon-search": "0.17.0-beta.287",
|
|
"@xterm/addon-unicode11": "0.10.0-beta.287",
|
|
"@xterm/addon-web-links": "0.13.0-beta.287",
|
|
"@xterm/addon-webgl": "0.20.0-beta.286",
|
|
"@xterm/xterm": "6.1.0-beta.287",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"dompurify": "^3.4.13",
|
|
"electron": "^43.1.0",
|
|
"electron-builder": "^26.15.3",
|
|
"electron-builder-squirrel-windows": "^26.15.3",
|
|
"electron-vite": "^5.0.0",
|
|
"emoji-picker-react": "^4.19.1",
|
|
"emojibase-data": "17.0.0",
|
|
"happy-dom": "^20.9.0",
|
|
"html-to-image": "^1.11.13",
|
|
"husky": "^9.1.7",
|
|
"i18next-cli": "1.65.0",
|
|
"katex": "^0.16.45",
|
|
"lint-staged": "^16.4.0",
|
|
"lowlight": "^3.3.0",
|
|
"lucide-react": "^0.577.0",
|
|
"marked": "^17.0.1",
|
|
"mermaid": "^11.16.1",
|
|
"monaco-editor": "^0.55.1",
|
|
"oxfmt": "^0.52.0",
|
|
"oxlint": "^1.77.0",
|
|
"oxlint-plugin-react-doctor": "0.9.1",
|
|
"oxlint-tsgolint": "7.0.2001",
|
|
"pdfjs-dist": "^6.2.108",
|
|
"pngjs": "^7.0.0",
|
|
"radix-ui": "^1.6.2",
|
|
"react": "^19.2.7",
|
|
"react-colorful": "^5.7.0",
|
|
"react-dom": "^19.2.7",
|
|
"react-grab": "^0.1.33",
|
|
"react-markdown": "^10.1.0",
|
|
"react-refresh": "^0.18.0",
|
|
"rehype-highlight": "^7.0.2",
|
|
"rehype-katex": "^7.0.1",
|
|
"rehype-raw": "^7.0.0",
|
|
"rehype-sanitize": "^6.0.0",
|
|
"rehype-slug": "^6.0.0",
|
|
"remark-breaks": "^4.0.0",
|
|
"remark-frontmatter": "^5.0.0",
|
|
"remark-gfm": "^4.0.1",
|
|
"remark-math": "^6.0.0",
|
|
"remark-parse": "^11.0.0",
|
|
"shadcn": "^4.13.1",
|
|
"sonner": "^2.0.7",
|
|
"tailwind-merge": "^3.5.0",
|
|
"tailwindcss": "^4.2.4",
|
|
"tw-animate-css": "^1.4.0",
|
|
"typescript": "^7.0.2",
|
|
"typescript-api": "npm:typescript@6.0.3",
|
|
"unified": "^11.0.5",
|
|
"vite": "npm:rolldown-vite@7.3.1",
|
|
"vitest": "^4.1.5",
|
|
"vscode-oniguruma": "^2.0.1",
|
|
"vscode-textmate": "^9.3.2",
|
|
"zustand": "^5.0.14"
|
|
},
|
|
"optionalDependencies": {
|
|
"sherpa-onnx-darwin-arm64": "1.12.37",
|
|
"sherpa-onnx-darwin-x64": "1.12.37",
|
|
"sherpa-onnx-linux-arm64": "1.12.37",
|
|
"sherpa-onnx-linux-x64": "1.12.37",
|
|
"sherpa-onnx-win-x64": "1.12.37",
|
|
"windows-native-registry": "3.2.2"
|
|
},
|
|
"lint-staged": {
|
|
"*.{ts,tsx,js,jsx,mjs,mts,cts}": [
|
|
"oxlint",
|
|
"oxlint --config config/oxlint-react-doctor.json",
|
|
"oxfmt --write"
|
|
],
|
|
"*.{json,css}": [
|
|
"oxfmt --write"
|
|
]
|
|
},
|
|
"engines": {
|
|
"node": "24"
|
|
},
|
|
"packageManager": "pnpm@10.24.0+sha512.01ff8ae71b4419903b65c60fb2dc9d34cf8bb6e06d03bde112ef38f7a34d6904c424ba66bea5cdcf12890230bf39f9580473140ed9c946fef328b6e5238a345a",
|
|
"pnpm": {
|
|
"overrides": {
|
|
"monaco-editor>dompurify": "3.4.13"
|
|
},
|
|
"supportedArchitectures": {
|
|
"os": [
|
|
"current",
|
|
"darwin",
|
|
"linux",
|
|
"win32"
|
|
],
|
|
"cpu": [
|
|
"current",
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
},
|
|
"onlyBuiltDependencies": [
|
|
"@parcel/watcher",
|
|
"cpu-features",
|
|
"esbuild",
|
|
"node-pty",
|
|
"sherpa-onnx"
|
|
],
|
|
"patchedDependencies": {
|
|
"node-pty@1.1.0": "config/patches/node-pty@1.1.0.patch",
|
|
"@xterm/addon-ligatures@0.11.0-beta.287": "config/patches/@xterm__addon-ligatures@0.11.0-beta.287.patch",
|
|
"@xterm/addon-webgl@0.20.0-beta.286": "config/patches/@xterm__addon-webgl@0.20.0-beta.286.patch",
|
|
"@xterm/addon-serialize@0.15.0-beta.287": "config/patches/@xterm__addon-serialize@0.15.0-beta.287.patch",
|
|
"@xterm/xterm@6.1.0-beta.287": "config/patches/@xterm__xterm@6.1.0-beta.287.patch"
|
|
}
|
|
},
|
|
"reactDoctor": {
|
|
"rules": {
|
|
"react-doctor/js-combine-iterations": "off"
|
|
}
|
|
}
|
|
}
|