feat(desktop): embed BoosAPI Desktop client as a subproject
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.
This commit is contained in:
@@ -0,0 +1,326 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user