e0a5f57793
Vendor the rebranded BoosAPI Desktop client (Tauri + Vue) into metapi as a monorepo subdirectory under desktop/. Source only — node_modules, dist, Cargo target and the upstream .git history are excluded. desktop/ keeps its own independent Cargo workspace (desktop/src-tauri with crates/*); it is not part of the backend boosapi crate, so a `cargo check` at the metapi root still compiles only the backend. Build the desktop app from desktop/src-tauri per desktop/README.md. Note: app icons are still placeholder assets pending the final BoosAPI logo. The updater signing keys live outside the repo and are not included.
327 lines
13 KiB
JSON
327 lines
13 KiB
JSON
{
|
|
"name": "markstream-vue",
|
|
"type": "module",
|
|
"version": "0.0.14-beta.2",
|
|
"packageManager": "pnpm@10.33.0",
|
|
"description": "Streaming-friendly Vue 3 Markdown renderer for docs sites, AI chat UIs, and large documents.",
|
|
"author": "Simon He",
|
|
"license": "MIT",
|
|
"homepage": "https://markstream-vue-docs.simonhe.me/guide/",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/Simon-He95/markstream-vue.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/Simon-He95/markstream-vue/issues"
|
|
},
|
|
"keywords": [
|
|
"vue",
|
|
"vue3",
|
|
"markdown",
|
|
"markdown-to-html",
|
|
"markdown-renderer",
|
|
"streaming-markdown",
|
|
"streaming-renderer",
|
|
"vue-markdown",
|
|
"vue-markdown-renderer",
|
|
"vue-markdown-component",
|
|
"markdown-preview",
|
|
"markdown-viewer",
|
|
"vue-component",
|
|
"nuxt",
|
|
"vitepress",
|
|
"vite",
|
|
"sse",
|
|
"sse-markdown",
|
|
"ai",
|
|
"ai-chat",
|
|
"chat-ui",
|
|
"docs-site",
|
|
"knowledge-base",
|
|
"html",
|
|
"renderer",
|
|
"custom-component",
|
|
"mermaid",
|
|
"mermaid-diagram",
|
|
"katex",
|
|
"shiki",
|
|
"monaco-editor",
|
|
"progressive-mermaid",
|
|
"streaming-diff",
|
|
"diff-codeblock",
|
|
"large-documents",
|
|
"performance",
|
|
"real-time-preview",
|
|
"markstream-vue"
|
|
],
|
|
"sideEffects": [
|
|
"**/*.css"
|
|
],
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/index.js",
|
|
"require": "./dist/index.js"
|
|
},
|
|
"./utils": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/exports.js",
|
|
"require": "./dist/exports.js"
|
|
},
|
|
"./utils/katex-threshold": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/exports.js",
|
|
"require": "./dist/exports.js"
|
|
},
|
|
"./utils/performance-monitor": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/exports.js",
|
|
"require": "./dist/exports.js"
|
|
},
|
|
"./utils/safeRaf": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/safeRaf.js",
|
|
"require": "./dist/safeRaf.js"
|
|
},
|
|
"./index.css": "./dist/index.css",
|
|
"./index.px.css": "./dist/index.px.css",
|
|
"./index.tailwind.css": "./dist/index.tailwind.css",
|
|
"./tailwind": "./dist/tailwind.ts",
|
|
"./workers/katexWorkerClient": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/exports.js",
|
|
"require": "./dist/exports.js"
|
|
},
|
|
"./workers/mermaidWorkerClient": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/exports.js",
|
|
"require": "./dist/exports.js"
|
|
},
|
|
"./workers/katexCdnWorker": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/exports.js",
|
|
"require": "./dist/exports.js"
|
|
},
|
|
"./workers/mermaidCdnWorker": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/exports.js",
|
|
"require": "./dist/exports.js"
|
|
},
|
|
"./workers/katexRenderer.worker": "./dist/workers/katexRenderer.worker.js",
|
|
"./workers/mermaidParser.worker": "./dist/workers/mermaidParser.worker.js"
|
|
},
|
|
"main": "./dist/index.js",
|
|
"module": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"bin": {
|
|
"markstream-vue": "./bin/markstream-vue.mjs"
|
|
},
|
|
"files": [
|
|
".agents",
|
|
"bin",
|
|
"dist",
|
|
"dist/workers",
|
|
"prompts"
|
|
],
|
|
"scripts": {
|
|
"dev": "pnpm run -C playground dev",
|
|
"test": "vitest",
|
|
"test:perf:height-estimation-experiment": "node scripts/benchmark-height-estimation-experiment.mjs",
|
|
"test:e2e:diff-folding": "node scripts/e2e-diff-folding.mjs",
|
|
"test:e2e:codeblock-highlight-stability": "node scripts/e2e-codeblock-highlight-stability.mjs",
|
|
"test:e2e:height-estimation-experiment": "node scripts/e2e-height-estimation-experiment.mjs",
|
|
"test:e2e:main-playground-performance": "node scripts/e2e-main-playground-performance.mjs",
|
|
"test:e2e:playground-performance": "node scripts/e2e-playground-performance.mjs",
|
|
"test:e2e:angular-playground": "node scripts/e2e-angular-playground.mjs",
|
|
"test:e2e:diff-theme-switch": "node scripts/e2e-diff-theme-switch.mjs",
|
|
"test:e2e:nuxt-ssr": "node scripts/e2e-nuxt-ssr.mjs",
|
|
"test:e2e:katex-unicode-unit": "node scripts/e2e-katex-unicode-unit-regression.mjs",
|
|
"lint": "eslint . --cache",
|
|
"lint:fix": "pnpm run lint --fix",
|
|
"test:ui": "vitest --ui",
|
|
"test:update": "vitest -u",
|
|
"typecheck": "vue-tsc --noEmit",
|
|
"check:ssr": "vitest --run -t \"SSR import safety\"",
|
|
"prepublishOnly": "npm run build",
|
|
"play": "pnpm run -C playground dev",
|
|
"play:angular": "pnpm run -C playground-angular dev",
|
|
"play:vue2": "pnpm run -C playground-vue2 dev",
|
|
"play:vue2-cli": "pnpm run -C playground-vue2-cli dev",
|
|
"play:build": "pnpm run -C playground build",
|
|
"play:vue2:build": "pnpm run -C playground-vue2 build",
|
|
"play:vue2:preview": "pnpm run -C playground-vue2 preview",
|
|
"play:nuxt": "pnpm run -C playground-nuxt dev",
|
|
"play:nuxt:build": "pnpm run -C playground-nuxt build",
|
|
"play:nuxt:preview": "pnpm run -C playground-nuxt preview",
|
|
"play:react": "pnpm run -C playground-react18 dev",
|
|
"play:react18": "pnpm run -C playground-react18 dev",
|
|
"play:react19": "pnpm run -C playground-react19 dev",
|
|
"play:next14": "pnpm run build:parser && pnpm --filter markstream-react build && pnpm run -C playground-next14 dev",
|
|
"play:next15": "pnpm run build:parser && pnpm --filter markstream-react build && pnpm run -C playground-next15 dev",
|
|
"play:angular:build": "pnpm run -C playground-angular build",
|
|
"play:react:build": "pnpm run -C playground-react18 build",
|
|
"play:react18:build": "pnpm run -C playground-react18 build",
|
|
"play:react19:build": "pnpm run -C playground-react19 build",
|
|
"play:angular:preview": "pnpm run -C playground-angular preview",
|
|
"play:react:preview": "pnpm run -C playground-react18 preview",
|
|
"play:react18:preview": "pnpm run -C playground-react18 preview",
|
|
"play:react19:preview": "pnpm run -C playground-react19 preview",
|
|
"preview": "pnpm run -C playground preview",
|
|
"build:parser": "pnpm run -C packages/markdown-parser build",
|
|
"build": "vite build --mode npm && vite build --config vite.config.tailwind.ts --mode npm && node scripts/copy-tailwind-css.mjs && node scripts/generate-px-css.mjs && pnpm run build:dts",
|
|
"build:analyze": "ANALYZE=true pnpm build",
|
|
"size:check": "node scripts/check-package-size.mjs",
|
|
"docs:dev": "vitepress dev docs",
|
|
"docs:sync-zh": "node scripts/sync-zh-docs.mjs",
|
|
"docs:check-zh": "node scripts/check-zh-parity.mjs",
|
|
"docs:build": "vitepress build docs",
|
|
"docs:build:ci": "pnpm run build:parser && pnpm run build && pnpm docs:build",
|
|
"docs:build:netlify": "VITEPRESS_BASE=/ pnpm docs:build",
|
|
"docs:build:gh": "VITEPRESS_BASE=/markstream-vue/ pnpm docs:build",
|
|
"docs:build:gh:ci": "pnpm run build:parser && pnpm run build && pnpm docs:build:gh",
|
|
"docs:serve": "vitepress serve docs",
|
|
"docs:deploy": "VITEPRESS_BASE=/markstream-vue/ pnpm docs:build && pnpm docs:serve",
|
|
"docs:deploy:netlify": "pnpm docs:build && echo 'Docs built to docs/.vitepress/dist'",
|
|
"skills:list": "node ./bin/markstream-vue.mjs skills list",
|
|
"skills:install": "node ./bin/markstream-vue.mjs skills install --target agents --mode symlink",
|
|
"skills:install:copy": "node ./bin/markstream-vue.mjs skills install --target agents --mode copy",
|
|
"skills:install:codex": "node ./bin/markstream-vue.mjs skills install --target codex --mode symlink",
|
|
"prompts:list": "node ./bin/markstream-vue.mjs prompts list",
|
|
"prompts:dir": "node ./bin/markstream-vue.mjs prompts dir",
|
|
"prebuild:dts": "node ./scripts/prepare-dts-entry.cjs",
|
|
"build:dts": "rollup -c ./scripts/rollup.dts.config.mjs && node ./scripts/clean-dts.cjs",
|
|
"build:demo": "vite build",
|
|
"build:view": "vite preview",
|
|
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
|
|
"release": "bumpp --all --commit --no-tag --no-push --execute 'conventional-changelog -p angular -i CHANGELOG.md -s -r 0' && pnpm publish && node scripts/tag-package.mjs --package-json package.json --push",
|
|
"release:angular": "pnpm run -C packages/markstream-angular release",
|
|
"tag": "node scripts/tag-package.mjs",
|
|
"tag:vue3": "node scripts/tag-package.mjs --package-json package.json",
|
|
"tag:vue3:push": "node scripts/tag-package.mjs --package-json package.json --push",
|
|
"tag:vue2": "node scripts/tag-package.mjs --package-json packages/markstream-vue2/package.json",
|
|
"tag:vue2:push": "node scripts/tag-package.mjs --package-json packages/markstream-vue2/package.json --push",
|
|
"tag:react": "node scripts/tag-package.mjs --package-json packages/markstream-react/package.json",
|
|
"tag:react:push": "node scripts/tag-package.mjs --package-json packages/markstream-react/package.json --push",
|
|
"tag:angular": "node scripts/tag-package.mjs --package-json packages/markstream-angular/package.json",
|
|
"tag:angular:push": "node scripts/tag-package.mjs --package-json packages/markstream-angular/package.json --push",
|
|
"tag:parser": "node scripts/tag-package.mjs --package-json packages/markdown-parser/package.json",
|
|
"tag:parser:push": "node scripts/tag-package.mjs --package-json packages/markdown-parser/package.json --push",
|
|
"tag:backfill:dry": "node scripts/backfill-legacy-tags.mjs --dry-run",
|
|
"tag:backfill": "node scripts/backfill-legacy-tags.mjs --apply",
|
|
"tag:prune:v:dry": "node scripts/prune-tags.mjs --pattern 'v*' --dry-run",
|
|
"tag:prune:v:local": "node scripts/prune-tags.mjs --pattern 'v*' --apply --local",
|
|
"tag:prune:v:all": "node scripts/prune-tags.mjs --pattern 'v*' --apply --local --remote-delete",
|
|
"check:peer-deps": "node ./scripts/check-peer-deps.cjs",
|
|
"test:e2e:link-tooltip-streaming": "node scripts/e2e-link-tooltip-streaming.mjs",
|
|
"test:e2e:vue2-cli-smoke": "node scripts/e2e-vue2-cli-smoke.mjs",
|
|
"test:e2e:math-streaming-stability": "node scripts/e2e-math-streaming-stability.mjs",
|
|
"test:e2e:next14-ssr": "node scripts/e2e-next-ssr.mjs --playground playground-next14 --version next14",
|
|
"test:e2e:next15-ssr": "node scripts/e2e-next-ssr.mjs --playground playground-next15 --version next15",
|
|
"test:e2e:next-ssr": "pnpm run test:e2e:next14-ssr && pnpm run test:e2e:next15-ssr"
|
|
},
|
|
"peerDependencies": {
|
|
"@antv/infographic": "^0.2.3",
|
|
"@terrastruct/d2": ">=0.1.33",
|
|
"katex": ">=0.16.22",
|
|
"mermaid": ">=11",
|
|
"stream-markdown": ">=0.0.15",
|
|
"stream-monaco": ">=0.0.40",
|
|
"vue": ">=3.0.0",
|
|
"vue-i18n": ">=9"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"@antv/infographic": {
|
|
"optional": true
|
|
},
|
|
"@terrastruct/d2": {
|
|
"optional": true
|
|
},
|
|
"katex": {
|
|
"optional": true
|
|
},
|
|
"mermaid": {
|
|
"optional": true
|
|
},
|
|
"stream-markdown": {
|
|
"optional": true
|
|
},
|
|
"stream-monaco": {
|
|
"optional": true
|
|
},
|
|
"vue-i18n": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"dependencies": {
|
|
"@chenglou/pretext": "^0.0.5",
|
|
"@floating-ui/dom": "^1.7.6",
|
|
"stream-markdown-parser": "workspace:*"
|
|
},
|
|
"devDependencies": {
|
|
"@antfu/eslint-config": "^5.4.1",
|
|
"@shikijs/vitepress-twoslash": "^4.0.2",
|
|
"@types/markdown-it-emoji": "^3.0.1",
|
|
"@types/node": "^18.19.130",
|
|
"@vitejs/plugin-vue": "^5.2.4",
|
|
"@vitest/ui": "^4.1.2",
|
|
"@vue/test-utils": "^2.4.6",
|
|
"autoprefixer": "^10.4.27",
|
|
"brotli-compress": "^1.3.3",
|
|
"bumpp": "^8.2.1",
|
|
"conventional-changelog-cli": "^5.0.0",
|
|
"eslint": "^9.39.4",
|
|
"fflate": "^0.8.2",
|
|
"lint-staged": "^13.3.0",
|
|
"lz-string": "^1.5.0",
|
|
"markdown-it-emoji": "^3.0.0",
|
|
"material-icon-theme": "^5.33.1",
|
|
"picocolors": "^1.1.1",
|
|
"playwright-core": "^1.59.0",
|
|
"postcss-cli": "^11.0.1",
|
|
"rollup": "^3.30.0",
|
|
"rollup-plugin-dts": "^5.3.1",
|
|
"rollup-plugin-visualizer": "^6.0.11",
|
|
"tailwindcss": "^3.4.19",
|
|
"terser": "^5.46.1",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "^5.9.3",
|
|
"unplugin-class-extractor": "^0.0.22",
|
|
"unplugin-vue-components": "^28.8.0",
|
|
"vite": "^7.3.1",
|
|
"vite-plugin-dts": "^4.5.4",
|
|
"vite-plugin-pages": "^0.33.3",
|
|
"vite-svg-loader": "^5.1.1",
|
|
"vitepress": "^1.6.4",
|
|
"vitest": "^4.1.2",
|
|
"vue": "^3.5.31",
|
|
"vue-tsc": "^2.2.12"
|
|
},
|
|
"pnpm": {
|
|
"packageExtensions": {
|
|
"vue-template-compiler@2.6.14": {
|
|
"dependencies": {
|
|
"vue": "2.6.14"
|
|
}
|
|
},
|
|
"vue-template-compiler@2.7.16": {
|
|
"dependencies": {
|
|
"vue": "2.7.16"
|
|
}
|
|
}
|
|
},
|
|
"overrides": {
|
|
"@vue/reactivity": "3.5.25",
|
|
"@vue/runtime-core": "3.5.25",
|
|
"@vue/runtime-dom": "3.5.25",
|
|
"playground-vue2-cli>vue": "2.6.14",
|
|
"playground-vue2-cli>vue-template-compiler": "2.6.14",
|
|
"playground-vue2>vue": "2.7.16",
|
|
"playground-vue2>vue-template-compiler": "2.7.16",
|
|
"vue@^3": "3.5.25"
|
|
}
|
|
},
|
|
"lint-staged": {
|
|
"*.{vue,js,ts,jsx,tsx,md,json}": "eslint --fix"
|
|
}
|
|
}
|