{ "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" } }