- Refresh compatible workspace dependencies and lockfiles.\n- Preserve package exports and documentation compatibility.\n- Update affected compatibility tests.
204 lines
9.6 KiB
JSON
204 lines
9.6 KiB
JSON
{
|
|
"name": "open-pencil-app",
|
|
"version": "0.14.0",
|
|
"private": true,
|
|
"license": "MIT",
|
|
"workspaces": [
|
|
"packages/scene-graph",
|
|
"packages/pen",
|
|
"packages/kiwi",
|
|
"packages/fig",
|
|
"packages/core",
|
|
"packages/dom-css",
|
|
"packages/vue",
|
|
"packages/cli",
|
|
"packages/mcp",
|
|
"packages/docs",
|
|
"tools/docs"
|
|
],
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "bun run build:packages && bun run lint && vite build",
|
|
"preview": "vite preview",
|
|
"storybook": "storybook dev -p 6006",
|
|
"build-storybook": "storybook build",
|
|
"tauri": "tauri",
|
|
"build:native-test": "bun run build:packages && bun tauri build --debug --no-bundle --features native-test --config desktop/tauri.native-test.conf.json",
|
|
"test:native": "bun run build:native-test && wdio run wdio.conf.ts",
|
|
"lint": "bun run lint:structure && oxlint -c oxlint.json --type-aware --type-check src/ packages/scene-graph/src/ packages/core/src/ packages/vue/src/ packages/cli/src/ packages/mcp/src/ packages/dom-css/src/ packages/pen/src/ packages/kiwi/src/ packages/fig/src/",
|
|
"lint:structure": "oxlint -c oxlint.json vite.config.ts vite/ .storybook/ src/ packages/scene-graph/src/ packages/scene-graph/scripts/ packages/core/src/ packages/vue/src/ packages/cli/src/ packages/mcp/src/ packages/dom-css/src/ packages/dom-css/tests/ packages/dom-css/scripts/ packages/pen/src/ packages/pen/scripts/ packages/kiwi/src/ packages/kiwi/tests/ packages/kiwi/scripts/ packages/fig/src/ packages/fig/tests/ packages/fig/scripts/ tests/ scripts/ tools/",
|
|
"format": "oxfmt --write .oxfmtrc.json vite.config.ts vite/ .storybook/ src/ packages/scene-graph/src/ packages/scene-graph/scripts/ packages/core/src/ packages/cli/src/ packages/mcp/src/ packages/vue/src/ packages/dom-css/src/ packages/dom-css/tests/ packages/dom-css/scripts/ packages/pen/src/ packages/pen/scripts/ packages/kiwi/src/ packages/kiwi/tests/ packages/kiwi/scripts/ packages/fig/src/ packages/fig/tests/ packages/fig/scripts/ tests scripts/ tools/",
|
|
"format:check": "bun run format && status=$(git status --porcelain -uall) && test -z \"$status\" || (echo \"$status\" && exit 1)",
|
|
"check": "bun run build:packages && bun run lint && tsgo --noEmit && bun run check:vue && bun run check:native-test && bun run check:i18n && bun run check:docs && bun run check:packages && bun run check:deps && bun run check:audit && bun run check:secrets && bun run check:monorepo && bun run check:arch && bun run test:type-shapes && bun run test:tools && bun run test:dupes",
|
|
"check:deps": "knip --include unlisted,unresolved,binaries",
|
|
"check:docs": "bun --filter @open-pencil/docs check",
|
|
"check:audit": "bun audit --audit-level=critical",
|
|
"check:secrets": "bun tools/secret-scan/src/index.ts",
|
|
"check:monorepo": "sherif --ignore-rule root-package-dependencies",
|
|
"check:native-test": "tsc --noEmit -p tests/e2e/native/tsconfig.json",
|
|
"check:i18n": "bun tools/i18n/src/check-locales.ts",
|
|
"check:packages": "bun tools/package-quality/src/check/metadata.ts && bun tools/package-quality/src/check/publint.ts && bun tools/package-quality/src/check/attw.ts",
|
|
"check:arch": "steiger .",
|
|
"check:vue": "vue-tsc --noEmit -p tsconfig.json && vue-tsc --noEmit -p packages/vue/tsconfig.json",
|
|
"test": "playwright test --project=openpencil",
|
|
"test:update": "playwright test --project=openpencil --update-snapshots",
|
|
"test:figma": "playwright test --project=figma",
|
|
"figma:debug": "open -a Figma --args --remote-debugging-port=9222",
|
|
"test:unit": "bun test ./tests/engine",
|
|
"test:unit:quick": "bash -lc 'mapfile -t test_files < <(bun tools/unit-tests/src/list.ts all); bun test \"${test_files[@]}\"'",
|
|
"test:unit:heavy": "bash -lc 'mapfile -t test_files < <(bun tools/unit-tests/src/list.ts all --heavy-only); bun test --timeout 180000 \"${test_files[@]}\"'",
|
|
"test:coverage": "bun test --coverage ./tests/engine",
|
|
"test:type-shapes": "bun tools/type-shapes/src/index.ts",
|
|
"test:tools": "bun tools/test.ts",
|
|
"test:dupes": "jscpd packages/scene-graph/src packages/pen/src packages/core/src packages/cli/src packages/dom-css/src src --min-lines 5 --min-tokens 50 --format typescript --threshold 0",
|
|
"test:packages": "bun tools/package-quality/src/check/metadata.ts && bun tools/package-quality/src/check/publint.ts && bun tools/package-quality/src/check/attw.ts && bun tools/package-quality/src/smoke.ts",
|
|
"build:packages": "bun --filter @open-pencil/scene-graph build && bun --filter @open-pencil/pen build && bun --filter @open-pencil/kiwi build && bun --filter @open-pencil/fig build && bun --filter @open-pencil/core build && bun --filter @open-pencil/dom-css build && bun --filter @open-pencil/vue build && bun --filter @open-pencil/mcp build && bun --filter @open-pencil/cli build",
|
|
"open-pencil": "bun packages/cli/src/index.ts",
|
|
"docs:dev": "bun --filter @open-pencil/docs dev",
|
|
"docs:build": "bun --filter @open-pencil/docs build",
|
|
"docs:build:production": "bun --filter @open-pencil/docs build:production",
|
|
"docs:preview": "bun --filter @open-pencil/docs preview",
|
|
"visual-compare": "bun tools/visual-oracles/src/compare.ts",
|
|
"generate:tauri-menu": "bun tools/tauri-menu/src/generate.ts"
|
|
},
|
|
"dependencies": {
|
|
"@ai-sdk/anthropic": "^3.0.111",
|
|
"@ai-sdk/deepseek": "^2.0.56",
|
|
"@ai-sdk/google": "^3.0.110",
|
|
"@ai-sdk/openai": "^3.0.97",
|
|
"@ai-sdk/valibot": "^2.0.47",
|
|
"@ai-sdk/vue": "^3.0.256",
|
|
"@atlaskit/pragmatic-drag-and-drop": "^1.8.1",
|
|
"@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.2.0",
|
|
"@chenglou/pretext": "^0.0.7",
|
|
"@codemirror/autocomplete": "^6.20.3",
|
|
"@codemirror/commands": "^6.11.0",
|
|
"@codemirror/lang-html": "^6.4.12",
|
|
"@codemirror/lang-javascript": "^6.2.5",
|
|
"@codemirror/language": "^6.12.4",
|
|
"@codemirror/lint": "^6.9.7",
|
|
"@codemirror/search": "^6.7.1",
|
|
"@codemirror/state": "^6.7.1",
|
|
"@codemirror/view": "^6.43.9",
|
|
"@open-pencil/cli": "workspace:*",
|
|
"@open-pencil/core": "workspace:*",
|
|
"@open-pencil/dom-css": "workspace:*",
|
|
"@open-pencil/fig": "workspace:*",
|
|
"@open-pencil/kiwi": "workspace:*",
|
|
"@open-pencil/pen": "workspace:*",
|
|
"@open-pencil/scene-graph": "workspace:*",
|
|
"@open-pencil/vue": "workspace:*",
|
|
"@openrouter/ai-sdk-provider": "^2.10.0",
|
|
"@tailwindcss/vite": "^4.3.3",
|
|
"@tanstack/vue-table": "^8.21.3",
|
|
"@tauri-apps/api": "^2.11.1",
|
|
"@tauri-apps/plugin-clipboard-manager": "^2.3.2",
|
|
"@tauri-apps/plugin-dialog": "^2.7.2",
|
|
"@tauri-apps/plugin-fs": "^2.5.1",
|
|
"@tauri-apps/plugin-opener": "^2.5.4",
|
|
"@tauri-apps/plugin-process": "^2.3.1",
|
|
"@tauri-apps/plugin-shell": "^2.3.5",
|
|
"@tauri-apps/plugin-updater": "^2.10.1",
|
|
"@unhead/vue": "^2.1.17",
|
|
"@vueuse/core": "^14.4.0",
|
|
"@xmldom/xmldom": "^0.9.11",
|
|
"ai": "^6.0.256",
|
|
"aws4fetch": "^1.0.20",
|
|
"canvaskit-wasm": "^0.40.0",
|
|
"culori": "^4.0.2",
|
|
"dedent": "^1.7.2",
|
|
"es-toolkit": "^1.51.0",
|
|
"fflate": "^0.8.3",
|
|
"fzstd": "^0.1.1",
|
|
"hast-util-to-html": "^9.0.5",
|
|
"idb": "^8.0.3",
|
|
"jspdf": "^4.2.1",
|
|
"lib0": "^0.2.117",
|
|
"motion-v": "^2.4.0",
|
|
"opentype.js": "^2.0.0",
|
|
"reka-ui": "^2.10.3",
|
|
"svg2pdf.js": "^2.7.0",
|
|
"tailwind-merge": "^3.6.0",
|
|
"tailwind-variants": "^3.3.1",
|
|
"tailwindcss": "^4.3.3",
|
|
"tinykeys": "^3.1.0",
|
|
"trystero": "^0.22.0",
|
|
"valibot": "^1.4.2",
|
|
"vue": "^3.5.41",
|
|
"vue-router": "^5.2.0",
|
|
"vue-stream-markdown": "^0.6.5",
|
|
"y-indexeddb": "^9.0.12",
|
|
"y-protocols": "^1.0.7",
|
|
"yjs": "^13.6.32",
|
|
"yoga-layout": "npm:@open-pencil/yoga-layout@3.3.0-grid.3",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@agentclientprotocol/sdk": "^0.14.1",
|
|
"@arethetypeswrong/cli": "0.18.4",
|
|
"@feature-sliced/steiger-plugin": "^0.5.8",
|
|
"@figma/plugin-typings": "^1.134.0",
|
|
"@hono/node-server": "^1.19.17",
|
|
"@iconify-json/lucide": "^1.2.123",
|
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
"@open-pencil/mcp": "workspace:*",
|
|
"@playwright/test": "^1.62.1",
|
|
"@storybook/addon-a11y": "^10.5.8",
|
|
"@storybook/addon-docs": "^10.5.8",
|
|
"@storybook/addon-themes": "^10.5.8",
|
|
"@storybook/vue3-vite": "^10.5.8",
|
|
"@tauri-apps/cli": "^2.11.4",
|
|
"@types/culori": "^4.0.1",
|
|
"@types/node": "^25.9.5",
|
|
"@types/opentype.js": "^1.3.10",
|
|
"@types/ws": "^8.18.1",
|
|
"@typescript/native-preview": "^7.0.0-dev.20260707.2",
|
|
"@vitejs/plugin-vue": "^6.0.8",
|
|
"@wdio/cli": "9.30.1",
|
|
"@wdio/globals": "9.29.1",
|
|
"@wdio/local-runner": "9.30.1",
|
|
"@wdio/mocha-framework": "9.30.1",
|
|
"@wdio/spec-reporter": "9.30.1",
|
|
"@wdio/tauri-service": "1.3.0",
|
|
"changelog-parser": "^4.1.0",
|
|
"cloudflare-redirect-parser": "^1.0.0",
|
|
"esbuild": "^0.27.7",
|
|
"expect-webdriverio": "5.7.0",
|
|
"fake-indexeddb": "^6.2.5",
|
|
"franc": "^6.2.0",
|
|
"hono": "^4.13.2",
|
|
"jscpd": "^4.3.0",
|
|
"knip": "6.20.0",
|
|
"mdast": "^3.0.0",
|
|
"mdast-util-from-markdown": "^2.0.3",
|
|
"mitata": "^1.0.34",
|
|
"oxfmt": "^0.35.0",
|
|
"oxlint": "1.57.0",
|
|
"oxlint-tsgolint": "^0.16.0",
|
|
"publint": "0.3.20",
|
|
"sherif": "1.12.0",
|
|
"steiger": "^0.5.13",
|
|
"storybook": "^10.5.8",
|
|
"tsdown": "^0.22.14",
|
|
"tw-animate-css": "^1.4.0",
|
|
"typescript": "~5.8.3",
|
|
"unist-util-visit": "^5.1.0",
|
|
"unplugin-icons": "^23.0.1",
|
|
"unplugin-raw": "^0.7.0",
|
|
"unplugin-vue": "^7.2.0",
|
|
"unplugin-vue-components": "^31.1.0",
|
|
"vite": "8.1.4",
|
|
"vite-plugin-pwa": "^1.3.0",
|
|
"vue-tsc": "^3.3.10",
|
|
"workbox-window": "^7.4.1",
|
|
"ws": "^8.21.3"
|
|
},
|
|
"overrides": {
|
|
"protobufjs": "7.5.5",
|
|
"websocket-driver": "0.7.5",
|
|
"@codemirror/view": "6.43.9"
|
|
},
|
|
"packageManager": "bun@1.3.10"
|
|
}
|