Ctrl K
ComunidadGuías…

package.json

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "name": "open-pencil-app",
  "version": "0.17.0-beta.2",
  "private": true,
  "license": "MIT",
  "workspaces": [
    "packages/canvaskit",
    "packages/scene-graph",
    "packages/pen",
    "packages/drawio",
    "packages/mermaid",
    "packages/html-engine",
    "packages/kiwi",
    "packages/fig",
    "packages/core",
    "packages/dom-css",
    "packages/design-jsx",
    "packages/emit",
    "packages/collab",
    "packages/test-support",
    "packages/oxlint-plugin",
    "packages/vue",
    "packages/cli",
    "packages/mcp",
    "packages/harness",
    "packages/feedback",
    "packages/cloud",
    "packages/docs",
    "vite",
    "tools",
    "tools/checks/architecture",
    "tools/checks/bundle-budget",
    "tools/checks/cloud-off",
    "tools/checks/docs",
    "tools/checks/i18n",
    "tools/checks/lint",
    "tools/checks/package-quality",
    "tools/checks/secret-scan",
    "tools/checks/type-shapes",
    "tools/checks/workflows",
    "tools/ci/cloud-deploy",
    "tools/ci/images",
    "tools/ci/policy",
    "tools/ci/pr-review-guidance",
    "tools/dev/cloud",
    "tools/dev/dev-server",
    "tools/dev/navigation-benchmark",
    "tools/dev/unit-tests",
    "tools/generate/authoring-reference",
    "tools/generate/brand",
    "tools/generate/demo",
    "tools/generate/emoji-metrics",
    "tools/generate/landing-posters",
    "tools/generate/mermaid-sources",
    "tools/generate/tauri-menu",
    "tools/generate/visual-oracles",
    "tools/release/package-artifacts",
    "tools/release/release-packages"
  ],
  "type": "module",
  "scripts": {
    "postinstall": "bun packages/canvaskit/scripts/fetch.ts",
    "dev": "vite",
    "dev:portless": "portless run vite",
    "cloud:dev": "bun tools/dev/cloud/src/index.ts up",
    "cloud:dev:down": "bun tools/dev/cloud/src/index.ts down",
    "build": "bun run build:packages && bun run lint && vite build",
    "build:cloud": "vite build --mode cloud",
    "build:metrics": "vite build --mode metrics",
    "preview": "vite preview",
    "storybook": "storybook dev -p 6006",
    "build-storybook": "storybook build",
    "tauri": "tauri",
    "build:native-test": "bun run generate:icons --target desktop && bun run build:packages && bun tauri build --debug --no-bundle --features native-test --config desktop/tauri.native-test.conf.json",
    "benchmark:navigation": "bun tools/dev/navigation-benchmark/src/cli.ts run",
    "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/harness/src/ packages/feedback/src/ packages/cloud/src/ packages/dom-css/src/ packages/pen/src/ packages/design-jsx/src/ packages/emit/src/ packages/collab/src/ packages/oxlint-plugin/src/ packages/kiwi/src/ packages/fig/src/ packages/drawio/src/ packages/mermaid/src/ packages/html-engine/src/ packages/docs/.vitepress/theme/landing/",
    "lint:structure": "oxlint -c oxlint.json commitlint.config.ts vite.config.ts vite/ .storybook/ src/ packages/scene-graph/src/ packages/core/src/ packages/vue/src/ packages/cli/src/ packages/mcp/src/ packages/mcp/tests/ packages/harness/src/ packages/harness/tests/ packages/feedback/src/ packages/feedback/tests/ packages/cloud/src/ packages/cloud/tests/ packages/cloud/deploy/ packages/dom-css/src/ packages/dom-css/tests/ packages/pen/src/ packages/pen/tests/ packages/design-jsx/src/ packages/design-jsx/tests/ packages/emit/src/ packages/oxlint-plugin/src/ packages/oxlint-plugin/tests/ packages/emit/tests/ packages/collab/src/ packages/collab/tests/ packages/kiwi/src/ packages/kiwi/tests/ packages/fig/src/ packages/fig/tests/ packages/test-support/src/ packages/drawio/src/ packages/drawio/tests/ packages/mermaid/src/ packages/mermaid/tests/ packages/html-engine/src/ packages/html-engine/scripts/ packages/html-engine/tests/ packages/canvaskit/scripts/ packages/core/tests/ packages/cli/tests/ packages/scene-graph/tests/ packages/vue/tests/ tests/ scripts/ tools/ packages/docs/.vitepress/theme/landing/",
    "format": "oxfmt --write .oxfmtrc.json commitlint.config.ts vite.config.ts vite/ .storybook/ src/ packages/scene-graph/src/ packages/core/src/ packages/cli/src/ packages/mcp/src/ packages/mcp/tests/ packages/harness/src/ packages/harness/tests/ packages/feedback/src/ packages/feedback/tests/ packages/cloud/src/ packages/cloud/tests/ packages/cloud/deploy/ packages/cloud/tsdown.config.ts packages/cloud/tsdown.standalone.config.ts packages/vue/src/ packages/dom-css/src/ packages/dom-css/tests/ packages/pen/src/ packages/pen/tests/ packages/design-jsx/src/ packages/design-jsx/tests/ packages/emit/src/ packages/oxlint-plugin/src/ packages/oxlint-plugin/tests/ packages/emit/tests/ packages/collab/src/ packages/collab/tests/ packages/kiwi/src/ packages/kiwi/tests/ packages/fig/src/ packages/fig/tests/ packages/test-support/src/ packages/drawio/src/ packages/drawio/tests/ packages/mermaid/src/ packages/mermaid/tests/ packages/html-engine/src/ packages/html-engine/scripts/ packages/html-engine/tests/ packages/canvaskit/scripts/ tests scripts/ tools/ packages/docs/.vitepress/theme/landing/",
    "format:check": "bun run format && status=$(git status --porcelain -uall) && test -z \"$status\" || (echo \"$status\" && exit 1)",
    "check": "bun run check:icons && bun run build:packages && bun run lint && tsc --noEmit && bun run check:vue && bun run check:native-test && bun run check:i18n && bun run check:docs && bun run check:changelog && bun run check:packages && bun run check:deps && bun run check:audit && bun run check:secrets && bun run check:workflows && bun run check:monorepo && bun run check:arch && bun run check:cloud-off && bun run check:test-types && bun run test:type-shapes && bun run check:tools && bun run test:tools && bun run test:dupes && bun run test:dupes:helpers",
    "check:bundle": "bun tools/checks/bundle-budget/src/index.ts",
    "check:commits": "commitlint",
    "check:changelog": "bun tools/release/release-packages/src/changelog/check.ts",
    "changelog:assemble": "bun tools/release/release-packages/src/changelog/assemble.ts",
    "check:deps": "knip --include unlisted,unresolved,binaries",
    "check:docs": "bun --filter @open-pencil/docs check && bun run check:authoring-reference",
    "check:authoring-reference": "bun tools/generate/authoring-reference/src/check.ts",
    "generate:authoring-reference": "bun tools/generate/authoring-reference/src/generate.ts",
    "check:audit": "bun audit --audit-level=critical",
    "check:secrets": "bun tools/checks/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/checks/i18n/src/check-locales.ts",
    "check:packages": "bun tools/checks/package-quality/src/cli.ts check",
    "check:arch": "steiger .",
    "check:cloud-off": "bun tools/checks/cloud-off/src/index.ts",
    "check:test-types": "bun tools/checks/test-types/src/index.ts",
    "check:licenses:desktop": "cargo deny --manifest-path desktop/Cargo.toml check licenses",
    "check:workflows": "bun tools/checks/workflows/src/index.ts",
    "check:vue": "vue-tsc --noEmit -p tsconfig.json && vue-tsc --noEmit -p packages/vue/tsconfig.json && vue-tsc --noEmit -p packages/vue/example/tsconfig.json",
    "test": "OPENPENCIL_TEST_SERVER=app playwright test --project=openpencil --grep-invert @real-llm",
    "test:storybook": "OPENPENCIL_TEST_SERVER=storybook playwright test --project=storybook-chromium",
    "test:real-llm": "OPENPENCIL_TEST_SERVER=app playwright test --project=openpencil --grep @real-llm",
    "test:update": "OPENPENCIL_TEST_SERVER=app playwright test --project=openpencil --update-snapshots",
    "test:figma": "OPENPENCIL_TEST_SERVER=app playwright test --project=figma",
    "figma:debug": "open -a Figma --args --remote-debugging-port=9222",
    "typecheck": "tsc --noEmit && bun run check:vue",
    "test:unit": "bun tools/dev/unit-tests/src/run.ts all --include-heavy",
    "test:unit:quick": "bun tools/dev/unit-tests/src/run.ts all -- --parallel",
    "test:unit:isolated": "bun tools/dev/unit-tests/src/run.ts all -- --isolate",
    "test:unit:heavy": "bun tools/dev/unit-tests/src/run.ts all --heavy-only -- --timeout 180000",
    "test:coverage": "bun tools/dev/unit-tests/src/run.ts all --include-heavy -- --coverage",
    "test:type-shapes": "bun tools/checks/type-shapes/src/index.ts",
    "test:tools": "bun --filter '@open-pencil/*-tools' test && bun --filter @open-pencil/harness test && bun --filter @open-pencil/oxlint-plugin test",
    "test:feedback": "bun --filter @open-pencil/feedback typecheck && bun --filter @open-pencil/feedback check:types && bun --filter @open-pencil/feedback test",
    "test:cloud": "bun --filter @open-pencil/cloud typecheck && bun --filter @open-pencil/cloud test",
    "test:dupes": "jscpd packages/scene-graph/src packages/collab/src packages/pen/src packages/design-jsx/src packages/emit/src packages/oxlint-plugin/src packages/core/src packages/cli/src packages/feedback/src packages/cloud/src packages/dom-css/src packages/fig/src src --min-lines 5 --min-tokens 50 --format typescript --threshold 0",
    "test:dupes:helpers": "jscpd packages --pattern '{*/tests/**/helpers/**/*.ts,*/tests/**/helpers.ts,test-support/src/**/*.ts}' --ignore '**/node_modules/**' --min-lines 5 --min-tokens 50 --format typescript --threshold 0 && jscpd tests/helpers --min-lines 5 --min-tokens 50 --format typescript --threshold 0",
    "test:packages": "bun tools/checks/package-quality/src/cli.ts verify",
    "build:packages": "bun tools/release/package-artifacts/src/build.ts",
    "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",
    "generate:demo": "bun tools/generate/demo/src/cli.ts --force",
    "generate:emoji-metrics": "bun tools/generate/emoji-metrics/src/generate.ts",
    "generate:mermaid-sources": "bun tools/generate/mermaid-sources/src/generate.ts",
    "generate:landing-posters": "bun tools/generate/landing-posters/src/generate.ts --force",
    "generate:icons": "bun tools/generate/brand/src/cli.ts generate",
    "check:icons": "bun tools/generate/brand/src/cli.ts check",
    "generate:tauri-menu": "bun tools/generate/tauri-menu/src/generate.ts",
    "check:tools": "bun tools/checks/test-types/src/index.ts tools"
  },
  "dependencies": {
    "@ai-sdk/anthropic": "^4.0.71",
    "@ai-sdk/deepseek": "^3.0.58",
    "@ai-sdk/google": "^4.0.87",
    "@ai-sdk/openai": "^4.0.83",
    "@ai-sdk/valibot": "^3.0.53",
    "@ai-sdk/vue": "^4.0.127",
    "@atlaskit/pragmatic-drag-and-drop": "^1.8.1",
    "@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.2.0",
    "@aws-sdk/client-s3": "^3.1149.0",
    "@codemirror/autocomplete": "^6.20.3",
    "@codemirror/commands": "^6.11.1",
    "@codemirror/lang-css": "^6.3.1",
    "@codemirror/lang-html": "^6.4.12",
    "@codemirror/lang-javascript": "^6.2.5",
    "@codemirror/lang-json": "^6.0.2",
    "@codemirror/language": "^6.12.4",
    "@codemirror/lint": "^6.9.7",
    "@codemirror/merge": "^6.12.2",
    "@codemirror/search": "^6.7.2",
    "@codemirror/state": "^6.7.6",
    "@codemirror/view": "^6.43.9",
    "@floating-ui/vue": "^1.1.11",
    "@internationalized/date": "^3.12.3",
    "@lezer/highlight": "^1.2.3",
    "@nanostores/i18n": "^1.3.3",
    "@nanostores/vue": "^1.1.0",
    "@open-pencil/canvaskit": "workspace:*",
    "@open-pencil/cli": "workspace:*",
    "@open-pencil/cloud": "workspace:*",
    "@open-pencil/collab": "workspace:*",
    "@open-pencil/core": "workspace:*",
    "@open-pencil/design-jsx": "workspace:*",
    "@open-pencil/dom-css": "workspace:*",
    "@open-pencil/feedback": "workspace:*",
    "@open-pencil/fig": "workspace:*",
    "@open-pencil/harness": "workspace:*",
    "@open-pencil/kiwi": "workspace:*",
    "@open-pencil/html-engine": "workspace:*",
    "@open-pencil/mermaid": "workspace:*",
    "@open-pencil/pen": "workspace:*",
    "@open-pencil/scene-graph": "workspace:*",
    "@open-pencil/vue": "workspace:*",
    "@openrouter/ai-sdk-provider": "^3.1.0",
    "@posthog/core": "1.59.1",
    "@smithy/fetch-http-handler": "^5.8.0",
    "@stream-markdown/code": "2.1.0",
    "@tailwindcss/vite": "^4.3.3",
    "@tanstack/hotkeys": "^0.24.0",
    "@tanstack/vue-table": "^9.3.1",
    "@tauri-apps/api": "^2.12.1",
    "@tauri-apps/plugin-clipboard-manager": "^2.4.1",
    "@tauri-apps/plugin-dialog": "^2.8.1",
    "@tauri-apps/plugin-fs": "^2.6.0",
    "@tauri-apps/plugin-notification": "^2.8.0",
    "@tauri-apps/plugin-opener": "^2.7.0",
    "@tauri-apps/plugin-os": "^2.3.2",
    "@tauri-apps/plugin-process": "^2.3.1",
    "@tauri-apps/plugin-shell": "^2.4.0",
    "@tauri-apps/plugin-updater": "^2.13.1",
    "@trystero-p2p/mqtt": "^0.26.0",
    "@unhead/vue": "^2.1.17",
    "@valibot/to-json-schema": "^1.8.0",
    "@vueuse/core": "^14.4.0",
    "@xmldom/xmldom": "^0.9.12",
    "ai": "^7.0.127",
    "copy-to-clipboard": "^4.0.2",
    "culori": "^4.0.2",
    "dedent": "^1.7.2",
    "diff": "^8.0.4",
    "entities": "^8.0.0",
    "es-toolkit": "^1.52.0",
    "fflate": "^0.8.3",
    "fuse.js": "^7.5.0",
    "happy-dom": "^20.14.6",
    "harfbuzzjs": "1.6.4",
    "hast-util-to-html": "^9.0.5",
    "idb": "^8.0.3",
    "js-base64": "^3.9.3",
    "lib0": "^0.2.117",
    "mdast-util-from-markdown": "^2.0.3",
    "mdast-util-gfm": "^3",
    "mdast-util-to-string": "^4.0.0",
    "micromark-extension-gfm": "^3",
    "motion-v": "^2.5.2",
    "nanostores": "^1.5.4",
    "partial-json": "^0.1.7",
    "pathe": "^2.0.3",
    "qrcode": "1.5.4",
    "reka-ui": "^2.10.5",
    "tailwind-merge": "^3.7.0",
    "tailwind-variants": "^3.3.1",
    "tailwindcss": "^4.3.3",
    "ufo": "^1.6.4",
    "valibot": "^1.5.0",
    "vccs": "1.0.0-beta.2",
    "vee-validate": "5.0.0-beta.0",
    "vue": "^3.5.43",
    "vue-router": "^5.3.1",
    "vue-stream-markdown": "2.1.0",
    "y-indexeddb": "^9.0.12",
    "y-protocols": "^1.0.7",
    "yaml": "^2.9.0",
    "yjs": "^13.6.32",
    "yoga-layout": "npm:@open-pencil/yoga-layout@3.3.0-grid.3",
    "zod": "^4.6.5"
  },
  "devDependencies": {
    "@agentclientprotocol/sdk": "^0.14.1",
    "@arethetypeswrong/cli": "0.18.4",
    "@commitlint/cli": "^21.2.3",
    "@commitlint/config-conventional": "^21.2.3",
    "@commitlint/is-ignored": "^21.2.3",
    "@commitlint/types": "^21.2.3",
    "@electric-sql/pglite": "0.4.1",
    "@feature-sliced/steiger-plugin": "^0.5.8",
    "@figma/plugin-typings": "^1.140.0",
    "@hono/node-server": "^1.19.17",
    "@iconify-json/lucide": "^1.2.139",
    "@lobehub/icons-static-svg": "^1.95.1",
    "@modelcontextprotocol/client": "^2.0.0",
    "@open-pencil/brand-tools": "workspace:*",
    "@open-pencil/demo-tools": "workspace:*",
    "@open-pencil/mcp": "workspace:*",
    "@open-pencil/test-support": "workspace:*",
    "@open-pencil/vite-config": "workspace:*",
    "@oxlint/plugins": "1.57.0",
    "@playwright/test": "^1.63.0",
    "@storybook/addon-a11y": "^10.6.2",
    "@storybook/addon-docs": "^10.6.2",
    "@storybook/addon-themes": "^10.6.2",
    "@storybook/vue3-vite": "^10.6.2",
    "@tauri-apps/cli": "2.12.1",
    "@types/bun": "^1.3.14",
    "@types/culori": "^4.0.1",
    "@types/mdast": "^4.0.4",
    "@types/node": "^25.9.9",
    "@types/qrcode": "1.5.5",
    "@types/ws": "^8.18.1",
    "@typescript-eslint/utils": "^8.71.0",
    "@typescript/native": "npm:typescript@^7.0.2",
    "@vitejs/plugin-react": "^6.1.2",
    "@vitejs/plugin-vue": "^6.0.9",
    "@vue/compiler-core": "^3.5.43",
    "@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",
    "eslint-plugin-compat": "^7.0.2",
    "expect-webdriverio": "5.7.0",
    "fake-indexeddb": "^6.2.5",
    "fast-check": "4.10.2",
    "franc": "^6.2.0",
    "hono": "^4.13.13",
    "jose": "^6.2.8",
    "jscpd": "^4.3.0",
    "knip": "6.20.0",
    "kysely-pglite-dialect": "1.3.1",
    "mdast": "^3.0.0",
    "mitata": "^1.0.34",
    "oxfmt": "^0.75.0",
    "oxlint": "1.90.0",
    "oxlint-tsgolint": "^7.0.2005",
    "portless": "0.15.5",
    "publint": "0.3.20",
    "radix-ui": "^1.7.0",
    "react": "^19.3.0",
    "react-dom": "^19.3.0",
    "sherif": "1.12.0",
    "steiger": "^0.5.13",
    "storybook": "^10.6.2",
    "tsdown": "^0.22.14",
    "tw-animate-css": "^1.4.0",
    "typescript": "npm:@typescript/typescript6@^6.0.2",
    "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.11",
    "webmcp-types": "^0.1.10",
    "workbox-window": "^7.4.1",
    "ws": "^8.21.3"
  },
  "overrides": {
    "@codemirror/view": "6.43.9",
    "protobufjs": "7.5.5",
    "websocket-driver": "0.7.5"
  },
  "packageManager": "bun@1.4.4",
  "patchedDependencies": {
    "unifont@1.0.3": "patches/unifont@1.0.3.patch"
  }
}