Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.4.0 to 29.1.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/jsdom/jsdom/releases">jsdom's releases</a>.</em></p> <blockquote> <h2>v29.1.1</h2> <ul> <li>Fixed <code>'border-radius'</code> computed style serialization. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> <li>Fixed computed style computation when using <code>'background-origin'</code> and <code>'background-clip'</code> CSS properties. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> <li>Significantly optimized initial calls to <code>getComputedStyle()</code>, before the cache warms up. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> </ul> <h2>v29.1.0</h2> <ul> <li>Added basic support for the ratio CSS type. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> <li>Fixed <code>getComputedStyle()</code> sometimes returning outdated results after CSS was modified. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> </ul> <h2>v29.0.2</h2> <ul> <li>Significantly improved and sped up <code>getComputedStyle()</code>. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as <code>currentcolor</code> and system colors. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> <li>Fixed CSS <code>'background</code>' and <code>'border'</code> shorthand parsing. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> </ul> <h2>v29.0.1</h2> <ul> <li>Fixed CSS parsing of <code>'border'</code>, <code>'background'</code>, and their sub-shorthands containing keywords or <code>var()</code>. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> <li>Fixed <code>getComputedStyle()</code> to return a more functional <code>CSSStyleDeclaration</code> object, including indexed access support, which regressed in v29.0.0.</li> </ul> <h2>v29.0.0</h2> <p>Breaking changes:</p> <ul> <li>Node.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).</li> </ul> <p>Other changes:</p> <ul> <li>Overhauled the CSSOM implementation, replacing the <a href="https://www.npmjs.com/package/@acemir/cssom"><code>@acemir/cssom</code></a> and <a href="https://github.com/jsdom/cssstyle"><code>cssstyle</code></a> dependencies with fresh internal implementations built on webidl2js wrappers and the <a href="https://www.npmjs.com/package/css-tree"><code>css-tree</code></a> parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.</li> <li>Added <code>CSSCounterStyleRule</code> and <code>CSSNamespaceRule</code> to jsdom <code>Window</code>s.</li> <li>Added <code>cssMediaRule.matches</code> and <code>cssSupportsRule.matches</code> getters.</li> <li>Added proper media query parsing in <code>MediaList</code>, using <code>css-tree</code> instead of naive comma-splitting. Invalid queries become <code>"not all"</code> per spec.</li> <li>Added <code>cssKeyframeRule.keyText</code> getter/setter validation.</li> <li>Added <code>cssStyleRule.selectorText</code> setter validation: invalid selectors are now rejected.</li> <li>Added <code>styleSheet.ownerNode</code>, <code>styleSheet.href</code>, and <code>styleSheet.title</code>.</li> <li>Added bad port blocking per the <a href="https://fetch.spec.whatwg.org/#bad-port">fetch specification</a>, preventing fetches to commonly-abused ports.</li> <li>Improved <code>Document</code> initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per <code>Document</code>. (<a href="https://github.com/thypon"><code>@thypon</code></a>)</li> <li>Fixed a memory leak when stylesheets were removed from the document.</li> <li>Fixed <code>CSSStyleDeclaration</code> modifications to properly trigger custom element reactions.</li> <li>Fixed nested <code>@media</code> rule parsing.</li> <li>Fixed <code>CSSStyleSheet</code>'s "disallow modification" flag not being checked in all mutation methods.</li> <li>Fixed <code>XMLHttpRequest</code>'s <code>response</code> getter returning parsed JSON during the <code>LOADING</code> state instead of <code>null</code>.</li> <li>Fixed <code>getComputedStyle()</code> crashing in XHTML documents when stylesheets contained at-rules such as <code>@page</code> or <code>@font-face</code>.</li> <li>Fixed a potential hang in synchronous <code>XMLHttpRequest</code> caused by a race condition with the worker thread's idle timeout.</li> </ul> <h2>v28.1.0</h2> <ul> <li>Added <code>blob.text()</code>, <code>blob.arrayBuffer()</code>, and <code>blob.bytes()</code> methods.</li> <li>Improved <code>getComputedStyle()</code> to account for CSS specificity when multiple rules apply. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> <li>Improved synchronous <code>XMLHttpRequest</code> performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.</li> <li>Improved performance of <code>node.getRootNode()</code>, <code>node.isConnected</code>, and <code>event.dispatchEvent()</code> by caching the root node of document-connected trees.</li> <li>Fixed <code>getComputedStyle()</code> to correctly handle <code>!important</code> priority. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> <li>Fixed <code>document.getElementById()</code> to return the first element in tree order when multiple elements share the same ID.</li> <li>Fixed <code><svg></code> elements to no longer incorrectly proxy event handlers to the <code>Window</code>.</li> <li>Fixed <code>FileReader</code> event timing and <code>fileReader.result</code> state to more closely follow the spec.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="9b9ea7e10b"><code>9b9ea7e</code></a> 29.1.1</li> <li><a href="07efb7821c"><code>07efb78</code></a> Optimize computed style comparison</li> <li><a href="5f66329902"><code>5f66329</code></a> Fix background-origin/background-clip in background shorthand</li> <li><a href="ad8af77ecc"><code>ad8af77</code></a> Fix border shorthand handling</li> <li><a href="5a3e88ea9b"><code>5a3e88e</code></a> 29.1.0</li> <li><a href="73db204172"><code>73db204</code></a> Update dependencies and dev dependencies</li> <li><a href="a7168a579d"><code>a7168a5</code></a> Support ratio CSS unit type</li> <li><a href="15346e055b"><code>15346e0</code></a> Fix style cache invalidation</li> <li><a href="2a1e2cdb44"><code>2a1e2cd</code></a> 29.0.2</li> <li><a href="4097d66ba1"><code>4097d66</code></a> Resolve computed CSS values lazily in CSSStyleDeclaration</li> <li>Additional commits viewable in <a href="https://github.com/jsdom/jsdom/compare/v27.4.0...v29.1.1">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for jsdom since your current version.</p> </details> <details> <summary>Install script changes</summary> <p>This version modifies <code>prepare</code> script that runs during installation. Review the package contents before updating.</p> </details> <br /> Co-authored-by: gsxdsm <gsxdsm@users.noreply.github.com>
183 lines
9.5 KiB
JSON
183 lines
9.5 KiB
JSON
{
|
|
"name": "@fusion/dashboard",
|
|
"version": "0.74.0-beta.5",
|
|
"license": "MIT",
|
|
"description": "Fusion dashboard: React UI and HTTP API server for monitoring and controlling the Fusion AI coding agent.",
|
|
"homepage": "https://github.com/Runfusion/Fusion#readme",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/Runfusion/Fusion",
|
|
"directory": "packages/dashboard"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/Runfusion/Fusion/issues"
|
|
},
|
|
"type": "module",
|
|
"exports": {
|
|
".": {
|
|
"types": "./src/index.ts",
|
|
"source": "./src/index.ts",
|
|
"import": "./dist/index.js"
|
|
},
|
|
"./planning": {
|
|
"types": "./src/planning.ts",
|
|
"import": "./src/planning.ts"
|
|
},
|
|
"./app/components/TaskCard": {
|
|
"types": "./app/components/TaskCard.tsx",
|
|
"import": "./app/components/TaskCard.tsx"
|
|
},
|
|
"./app/components/ViewHeader": {
|
|
"types": "./app/components/ViewHeader.tsx",
|
|
"import": "./app/components/ViewHeader.tsx"
|
|
},
|
|
"./app/utils/taskStuck": {
|
|
"types": "./app/utils/taskStuck.ts",
|
|
"import": "./app/utils/taskStuck.ts"
|
|
},
|
|
"./app/utils/copyToClipboard": {
|
|
"types": "./app/utils/copyToClipboard.ts",
|
|
"import": "./app/utils/copyToClipboard.ts"
|
|
},
|
|
"./app/utils/projectStorage": {
|
|
"types": "./app/utils/projectStorage.ts",
|
|
"import": "./app/utils/projectStorage.ts"
|
|
},
|
|
"./app/plugins/pluginViewRegistry": {
|
|
"types": "./app/plugins/pluginViewRegistry.tsx",
|
|
"import": "./app/plugins/pluginViewRegistry.tsx"
|
|
},
|
|
"./app/plugins/types": {
|
|
"types": "./app/plugins/types.ts",
|
|
"import": "./app/plugins/types.ts"
|
|
}
|
|
},
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"README.md"
|
|
],
|
|
"scripts": {
|
|
"gen:locales": "node scripts/sync-locales.mjs",
|
|
"verify:locale-chunks": "node scripts/assert-locale-chunks.mjs",
|
|
"prebuild": "node scripts/sync-locales.mjs",
|
|
"build": "vite build && tsc && node -e \"require('node:fs').copyFileSync('src/registry-manifest.json','dist/registry-manifest.json')\"",
|
|
"prebuild:client": "node scripts/sync-locales.mjs",
|
|
"build:client": "vite build",
|
|
"predev:serve": "node scripts/sync-locales.mjs",
|
|
"dev": "pnpm build && pnpm typecheck && pnpm dev:serve",
|
|
"dev:serve": "vite dev",
|
|
"pretest": "node ../../scripts/ensure-test-artifacts.mjs",
|
|
"test": "node scripts/run-quality-tests.mjs",
|
|
"test:quality:app": "node scripts/run-quality-tests.mjs --group app",
|
|
"test:quality:app:foundation-api": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-app-quality-foundation-api --silent=passed-only --reporter=dot --exclude '**/build-output.test.ts'",
|
|
"test:quality:app:foundation-ui": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-app-quality-foundation-ui --silent=passed-only --reporter=dot --exclude '**/build-output.test.ts'",
|
|
"test:quality:app:foundation-hooks-utils": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-app-quality-foundation-hooks-utils --silent=passed-only --reporter=dot --exclude '**/build-output.test.ts'",
|
|
"test:quality:app:components-a": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-app-quality-components-a --silent=passed-only --reporter=dot --exclude '**/build-output.test.ts'",
|
|
"test:quality:app:components-b": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-app-quality-components-b --silent=passed-only --reporter=dot --exclude '**/build-output.test.ts'",
|
|
"test:quality:app:app": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-app-quality-app --reporter=default --silent=passed-only --exclude '**/build-output.test.ts'",
|
|
"test:quality:app:chat": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-app-quality-chat --reporter=default --silent=passed-only --exclude '**/build-output.test.ts'",
|
|
"test:quality:app:settings": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-app-quality-settings --reporter=default --silent=passed-only --exclude '**/build-output.test.ts'",
|
|
"test:quality:app:backfill": "pnpm run test:quality:app:backfill-1 && pnpm run test:quality:app:backfill-2 && pnpm run test:quality:app:backfill-3 && pnpm run test:quality:app:backfill-4",
|
|
"test:quality:app:backfill-1": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-app-quality-backfill --silent=passed-only --reporter=dot --shard=1/4",
|
|
"test:quality:app:backfill-2": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-app-quality-backfill --silent=passed-only --reporter=dot --shard=2/4",
|
|
"test:quality:app:backfill-3": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-app-quality-backfill --silent=passed-only --reporter=dot --shard=3/4",
|
|
"test:quality:app:backfill-4": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-app-quality-backfill --silent=passed-only --reporter=dot --shard=4/4",
|
|
"test:quality:api": "node scripts/run-quality-tests.mjs --group api",
|
|
"test:quality:api:curated": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-api-quality --silent=passed-only --reporter=dot --exclude '**/build-output.test.ts'",
|
|
"test:quality:api:backfill": "pnpm run test:quality:api:backfill-1 && pnpm run test:quality:api:backfill-2",
|
|
"test:app": "FUSION_DASHBOARD_DEEP=1 vitest run --project dashboard-app --silent=passed-only --reporter=dot --exclude '**/build-output.test.ts'",
|
|
"test:api": "FUSION_DASHBOARD_DEEP=1 vitest run --project dashboard-api --silent=passed-only --reporter=dot",
|
|
"test:deep": "FUSION_DASHBOARD_DEEP=1 vitest run --project dashboard-app --project dashboard-api --silent=passed-only --reporter=dot --exclude '**/build-output.test.ts'",
|
|
"test:browser-smoke": "node scripts/browser-layout-smoke.mjs",
|
|
"test:touch-geometry": "vitest run --project dashboard-browser-touch --silent=passed-only --reporter=dot",
|
|
"test:build": "pnpm build && FUSION_DASHBOARD_DEEP=1 vitest run --project dashboard-app --project dashboard-api --silent=passed-only --reporter=dot app/__tests__/build-output.test.ts src/__tests__/plugin-registry-dist.test.ts",
|
|
"typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.app.json",
|
|
"test:quality:api:backfill-1": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-api-quality-backfill --silent=passed-only --reporter=dot --shard=1/2",
|
|
"test:quality:api:backfill-2": "node scripts/run-vitest-with-heap.mjs --heap=6144 run --project dashboard-api-quality-backfill --silent=passed-only --reporter=dot --shard=2/2"
|
|
},
|
|
"dependencies": {
|
|
"@codemirror/lang-css": "^6.3.1",
|
|
"@codemirror/lang-javascript": "^6.2.3",
|
|
"@codemirror/lang-json": "^6.0.1",
|
|
"@codemirror/lang-markdown": "^6.3.2",
|
|
"@codemirror/language": "^6.12.3",
|
|
"@codemirror/state": "^6.5.2",
|
|
"@codemirror/theme-one-dark": "^6.1.2",
|
|
"@codemirror/view": "^6.36.4",
|
|
"@earendil-works/pi-coding-agent": "0.82.1",
|
|
"@fusion-plugin-examples/claude-runtime": "workspace:*",
|
|
"@fusion-plugin-examples/cli-printing-press": "workspace:*",
|
|
"@fusion-plugin-examples/compound-engineering": "workspace:*",
|
|
"@fusion-plugin-examples/cursor-runtime": "workspace:*",
|
|
"@fusion-plugin-examples/dependency-graph": "workspace:*",
|
|
"@fusion-plugin-examples/droid-runtime": "workspace:*",
|
|
"@fusion-plugin-examples/grok-runtime": "workspace:*",
|
|
"@fusion-plugin-examples/hermes-runtime": "workspace:*",
|
|
"@fusion-plugin-examples/omp-runtime": "workspace:*",
|
|
"@fusion-plugin-examples/openclaw-runtime": "workspace:*",
|
|
"@fusion-plugin-examples/paperclip-runtime": "workspace:*",
|
|
"@fusion-plugin-examples/quality": "workspace:*",
|
|
"@fusion-plugin-examples/roadmap": "workspace:*",
|
|
"@fusion/core": "workspace:*",
|
|
"@fusion/engine": "workspace:*",
|
|
"@fusion/i18n": "workspace:*",
|
|
"@types/multer": "^2.1.0",
|
|
"@xterm/addon-fit": "^0.10.0",
|
|
"@xterm/addon-search": "^0.15.0",
|
|
"@xterm/addon-unicode11": "^0.8.0",
|
|
"@xterm/addon-web-links": "^0.11.0",
|
|
"@xterm/addon-webgl": "^0.18.0",
|
|
"@xterm/xterm": "^5.5.0",
|
|
"@xyflow/react": "^12.11.2",
|
|
"archiver": "^7.0.1",
|
|
"express": "^5.1.0",
|
|
"html2canvas": "^1.4.1",
|
|
"i18next": "^26.3.1",
|
|
"i18next-browser-languagedetector": "^8.2.1",
|
|
"i18next-resources-to-backend": "^1.2.1",
|
|
"ioredis": "^5.6.0",
|
|
"lucide-react": "^1.7.0",
|
|
"mermaid": "^11.4.0",
|
|
"multer": "^2.1.1",
|
|
"node-pty": "npm:@homebridge/node-pty-prebuilt-multiarch@^0.13.1",
|
|
"qrcode": "^1.5.4",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"react-i18next": "^17.0.8",
|
|
"react-markdown": "^10.1.0",
|
|
"recharts": "^3.8.1",
|
|
"rehype-raw": "^7.0.0",
|
|
"rehype-sanitize": "^6.0.0",
|
|
"remark-gfm": "^4.0.1",
|
|
"unified": "^11.0.5",
|
|
"ws": "^8.18.0",
|
|
"zod": "^3.25.76"
|
|
},
|
|
"optionalDependencies": {
|
|
"sherpa-onnx-node": "^1.13.4"
|
|
},
|
|
"devDependencies": {
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.5.0",
|
|
"@types/archiver": "^7.0.0",
|
|
"@types/express": "^5.0.0",
|
|
"@types/node": "^22.0.0",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0",
|
|
"@types/ws": "^8.5.0",
|
|
"@vitejs/plugin-react": "^4.3.0",
|
|
"@vitest/coverage-v8": "^4.1.10",
|
|
"jsdom": "^29.1.1",
|
|
"tinyrainbow": "^2.0.0",
|
|
"typescript": "^5.7.0",
|
|
"vite": "^6.0.0",
|
|
"vitest": "^4.1.10"
|
|
},
|
|
"private": true
|
|
}
|