package.json 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. {
  2. "name": "@flyfish-group/file-viewer-workspace",
  3. "version": "2.1.8",
  4. "private": true,
  5. "type": "module",
  6. "packageManager": "pnpm@11.0.9",
  7. "description": "Browser-native Office, PDF, CAD, archive, email, media, and code viewer for internal web apps with no server-side conversion.",
  8. "keywords": [
  9. "file-viewer",
  10. "vue3",
  11. "doc-preview",
  12. "document-viewer",
  13. "document-preview",
  14. "file-preview",
  15. "office-viewer",
  16. "pdf-viewer",
  17. "docx",
  18. "pptx",
  19. "xlsx",
  20. "cad-viewer",
  21. "web-component",
  22. "web-components",
  23. "react",
  24. "svelte",
  25. "typescript",
  26. "wasm",
  27. "offline-first",
  28. "self-hosted",
  29. "private-deployment",
  30. "internal-tools"
  31. ],
  32. "author": "Wangyu <wybaby168@gmail.com>",
  33. "repository": {
  34. "type": "git",
  35. "url": "git+https://github.com/flyfish-dev/file-viewer.git"
  36. },
  37. "homepage": "https://file-viewer.app",
  38. "bugs": {
  39. "url": "https://github.com/flyfish-dev/file-viewer/issues"
  40. },
  41. "funding": {
  42. "type": "individual",
  43. "url": "https://dev.flyfish.group/shop"
  44. },
  45. "scripts": {
  46. "cad:copy-wasm": "node scripts/copy-cad-wasm.mjs",
  47. "patch:msdoc": "node scripts/patch-msdoc-viewer.mjs",
  48. "dev": "pnpm --filter @flyfish-group/file-viewer-demo dev",
  49. "preview": "pnpm --filter @flyfish-group/file-viewer-demo preview",
  50. "build": "pnpm type-check && pnpm build-only",
  51. "build-only": "pnpm --filter @flyfish-group/file-viewer-demo build",
  52. "build:viewer-workers": "node scripts/build-viewer-workers.mjs",
  53. "build:vue3": "pnpm --filter @file-viewer/vue3 build",
  54. "build:renderer-packages": "pnpm --filter @file-viewer/core build && pnpm --filter './packages/renderers/**' build && pnpm --filter './packages/presets/**' build",
  55. "build:viewer-assets": "pnpm build-only && node scripts/sync-viewer-assets.mjs",
  56. "build:component-packages": "pnpm build:vue3 && pnpm --filter @flyfish-group/file-viewer3 build && pnpm --filter file-viewer3 build && pnpm --filter @file-viewer/web build && pnpm --filter @flyfish-group/file-viewer-web build && pnpm --filter @file-viewer/react build && pnpm --filter @flyfish-group/file-viewer-react build && pnpm --filter @file-viewer/react-legacy build && pnpm --filter @file-viewer/vue2.7 build && pnpm --filter @flyfish-group/file-viewer build && pnpm --filter @file-viewer/vue2.6 build && pnpm --filter @file-viewer/jquery build && pnpm --filter @file-viewer/svelte build && pnpm --filter @file-viewer/web-full build && pnpm --filter @file-viewer/vue3-full build && pnpm --filter @file-viewer/vue2.7-full build && pnpm --filter @file-viewer/vue2.6-full build && pnpm --filter @file-viewer/react-full build && pnpm --filter @file-viewer/react-legacy-full build && pnpm --filter @file-viewer/jquery-full build && pnpm --filter @file-viewer/svelte-full build",
  57. "build:components": "pnpm build:viewer-assets && pnpm build:component-packages",
  58. "type-check": "pnpm --filter @flyfish-group/file-viewer-demo type-check",
  59. "type-check:core": "pnpm --filter @file-viewer/pptx type-check && pnpm --filter @file-viewer/core build && pnpm --filter @file-viewer/renderer-pdf type-check && pnpm --filter @file-viewer/renderer-ofd type-check && pnpm --filter @file-viewer/renderer-presentation type-check && pnpm --filter @file-viewer/renderer-word type-check && pnpm --filter @file-viewer/renderer-cad type-check && pnpm --filter @file-viewer/renderer-drawing type-check && pnpm --filter @file-viewer/geometry-engine type-check && pnpm --filter @file-viewer/renderer-3d type-check && pnpm --filter @file-viewer/renderer-typst type-check && pnpm --filter @file-viewer/renderer-archive type-check && pnpm --filter @file-viewer/renderer-email type-check && pnpm --filter @file-viewer/renderer-epub type-check && pnpm --filter @file-viewer/renderer-text type-check && pnpm --filter @file-viewer/renderer-image type-check && pnpm --filter @file-viewer/renderer-media type-check && pnpm --filter @file-viewer/renderer-mindmap type-check && pnpm --filter @file-viewer/renderer-geo type-check && pnpm --filter @file-viewer/renderer-data type-check && pnpm --filter @file-viewer/eda-layout type-check && pnpm --filter @file-viewer/eda-orcad type-check && pnpm --filter @file-viewer/renderer-eda type-check && pnpm --filter @file-viewer/preset-all type-check && pnpm --filter @file-viewer/preset-lite type-check && pnpm --filter @file-viewer/preset-office type-check && pnpm --filter @file-viewer/preset-engineering type-check && pnpm --filter @file-viewer/vite-plugin type-check",
  60. "type-check:components": "pnpm --filter @flyfish-group/file-viewer-web type-check && pnpm --filter @flyfish-group/file-viewer-react type-check && pnpm --filter @flyfish-group/file-viewer type-check && pnpm --filter file-viewer3 type-check && pnpm --filter @file-viewer/web type-check && pnpm --filter @file-viewer/react type-check && pnpm --filter @file-viewer/react-legacy type-check && pnpm --filter @file-viewer/vue3 type-check && pnpm --filter @file-viewer/vue2.7 type-check && pnpm --filter @file-viewer/vue2.6 type-check && pnpm --filter @file-viewer/jquery type-check && pnpm --filter @file-viewer/svelte type-check && pnpm --filter @file-viewer/web-full type-check && pnpm --filter @file-viewer/vue3-full type-check && pnpm --filter @file-viewer/vue2.7-full type-check && pnpm --filter @file-viewer/vue2.6-full type-check && pnpm --filter @file-viewer/react-full type-check && pnpm --filter @file-viewer/react-legacy-full type-check && pnpm --filter @file-viewer/jquery-full type-check && pnpm --filter @file-viewer/svelte-full type-check",
  61. "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
  62. "format": "prettier --write apps packages scripts test docs *.md",
  63. "docs:dev": "vitepress dev docs",
  64. "docs:build": "vitepress build docs",
  65. "docs:preview": "vitepress preview docs",
  66. "docs:wiki:sync": "node scripts/sync-github-wiki.mjs",
  67. "docs:wiki:publish": "node scripts/sync-github-wiki.mjs --push",
  68. "docs:deploy:cloudflare": "pnpm docs:build && CLOUDFLARE_PAGES_PROJECT=flyfish-file-viewer-docs CLOUDFLARE_PAGES_OUTPUT_DIR=docs/.vitepress/dist node scripts/deploy-cloudflare-pages.mjs",
  69. "site:dev": "pnpm --filter @flyfish-group/file-viewer-site dev",
  70. "site:build": "pnpm --filter @flyfish-group/file-viewer-site build",
  71. "site:preview": "pnpm --filter @flyfish-group/file-viewer-site preview",
  72. "site:deploy:cloudflare": "pnpm site:build && CLOUDFLARE_PAGES_PROJECT=flyfish-file-viewer-site CLOUDFLARE_PAGES_OUTPUT_DIR=apps/official-site/dist node scripts/deploy-cloudflare-pages.mjs",
  73. "dev:components": "pnpm --filter @flyfish-group/file-viewer-component-demo dev",
  74. "build:component-demo": "pnpm --filter @flyfish-group/file-viewer-component-demo build && pnpm verify:component-demo-output",
  75. "verify:demo-output": "node scripts/verify-demo-output.mjs",
  76. "verify:demo-browser-smoke": "npm exec --yes --package playwright -- node scripts/verify-demo-browser-smoke.mjs",
  77. "verify:component-demo-output": "node scripts/verify-wrapper-demo-output.mjs",
  78. "verify:component-browser-smoke": "npm exec --yes --package playwright -- node scripts/verify-wrapper-browser-smoke.mjs",
  79. "verify:browser-smoke": "pnpm build:component-demo && pnpm verify:demo-browser-smoke && pnpm verify:component-browser-smoke",
  80. "verify:branch-roles": "node scripts/verify-branch-roles.mjs",
  81. "verify:core-api": "node scripts/verify-core-api.mjs",
  82. "verify:core-framework-neutral": "node scripts/verify-core-framework-neutral.mjs",
  83. "verify:core-dependency-budget": "node scripts/verify-core-dependency-budget.mjs",
  84. "verify:core-dependency-budget:strict": "node scripts/verify-core-dependency-budget.mjs --strict",
  85. "verify:format-support": "node scripts/verify-format-support.mjs",
  86. "verify:ecosystem-readmes": "node scripts/verify-ecosystem-readmes.mjs",
  87. "verify:compatibility-api": "node scripts/verify-compatibility-api.mjs",
  88. "verify:compatibility-readmes": "node scripts/verify-compatibility-readmes.mjs",
  89. "verify:wrapper-api": "node scripts/verify-wrapper-api.mjs",
  90. "verify:wrapper-options": "node scripts/verify-wrapper-options.mjs",
  91. "verify:wrapper-public-remotes": "node scripts/verify-wrapper-public-remotes.mjs",
  92. "verify:wrapper-github-content": "pnpm components:export && node scripts/verify-wrapper-repo-content.mjs --host=github",
  93. "verify:wrapper-gitee-content": "pnpm components:export && node scripts/verify-wrapper-repo-content.mjs --host=gitee",
  94. "verify:offline-assets": "node scripts/verify-offline-runtime-assets.mjs",
  95. "verify:smoke-matrix": "node scripts/verify-smoke-matrix.mjs",
  96. "verify:experience-baseline": "node scripts/verify-experience-baseline.mjs",
  97. "verify:ecosystem-tarballs": "node scripts/verify-ecosystem-tarballs.mjs",
  98. "verify:npm-install-smoke": "node scripts/verify-npm-install-smoke.mjs",
  99. "verify:ecosystem-versions": "node scripts/verify-ecosystem-versions.mjs",
  100. "verify:cloudflare-compression": "node scripts/verify-cloudflare-compression.mjs",
  101. "verify:docs-portal": "node scripts/verify-docs-portal.mjs",
  102. "verify:npm-registry-release": "node scripts/verify-npm-registry-release.mjs",
  103. "verify:release-status-schema": "node scripts/verify-release-status-schema.mjs",
  104. "verify:public-main": "node scripts/verify-public-main.mjs",
  105. "verify:github-release-assets": "node scripts/verify-github-release-assets.mjs",
  106. "verify:production-entrypoints": "node scripts/verify-production-entrypoints.mjs",
  107. "verify:renderer-contracts": "node scripts/verify-renderer-contracts.mjs",
  108. "verify:renderer-assets": "node scripts/verify-renderer-assets.mjs",
  109. "verify:eda-layout-webgl": "pnpm --filter @file-viewer/eda-layout build && node scripts/verify-eda-layout-webgl.mjs",
  110. "verify:on-demand-boundaries": "node scripts/verify-on-demand-boundaries.mjs",
  111. "verify:vite-plugin-auto-scan": "pnpm --filter @file-viewer/vite-plugin build && node scripts/verify-vite-plugin-auto-scan.mjs",
  112. "verify:vite-plugin-format-coverage": "pnpm --filter @file-viewer/core build && pnpm --filter @file-viewer/vite-plugin build && node scripts/verify-vite-plugin-format-coverage.mjs",
  113. "verify:renderer-standalone-smoke": "pnpm --filter @file-viewer/core build && pnpm --filter './packages/renderers/**' build && pnpm --filter @file-viewer/vite-plugin build && node scripts/verify-renderer-standalone-smoke.mjs --all",
  114. "verify:install-budget": "node scripts/verify-install-budget.mjs",
  115. "verify:cold-install-time": "pnpm build:renderer-packages && pnpm build:vue3 && node scripts/verify-cold-install-time.mjs",
  116. "verify:cold-install-time:fast": "pnpm --filter @file-viewer/core build && pnpm --filter @file-viewer/renderer-text build && pnpm --filter @file-viewer/renderer-image build && pnpm --filter @file-viewer/renderer-media build && pnpm --filter @file-viewer/preset-lite build && pnpm build:vue3 && node scripts/verify-cold-install-time.mjs --target=core --target=vue3 --target=vue3-lite",
  117. "verify:bundle-budget": "node scripts/verify-bundle-budget.mjs",
  118. "verify:github-growth-assets": "node scripts/verify-github-growth-assets.mjs",
  119. "verify:github-growth-assets:strict": "node scripts/verify-github-growth-assets.mjs --strict-social-preview",
  120. "verify:migration-gates": "pnpm type-check && pnpm type-check:core && pnpm build-only && pnpm docs:build && pnpm verify:docs-portal && pnpm verify:format-support && pnpm verify:ecosystem-readmes && pnpm verify:offline-assets && pnpm verify:smoke-matrix && pnpm verify:experience-baseline && pnpm verify:branch-roles && pnpm verify:core-api && pnpm verify:core-framework-neutral && pnpm verify:core-dependency-budget && pnpm verify:renderer-contracts && pnpm verify:renderer-assets && pnpm verify:eda-layout-webgl && pnpm verify:on-demand-boundaries && pnpm verify:vite-plugin-auto-scan && pnpm verify:vite-plugin-format-coverage && pnpm verify:renderer-standalone-smoke && pnpm verify:install-budget && pnpm verify:cold-install-time:fast && pnpm verify:bundle-budget && pnpm components:verify --source-only && pnpm verify:wrapper-api && pnpm verify:wrapper-options && pnpm verify:compatibility-api && pnpm verify:compatibility-readmes && pnpm verify:ecosystem-versions && pnpm verify:ecosystem-tarballs && pnpm release:ecosystem:list",
  121. "branch:cutover:prepare": "node scripts/prepare-branch-cutover.mjs",
  122. "branch:cutover:verify": "node scripts/prepare-branch-cutover.mjs --verify-only",
  123. "branch:cutover:apply": "node scripts/apply-branch-cutover.mjs",
  124. "audit:renderer-deps": "node scripts/audit-renderer-dependencies.mjs",
  125. "audit:ecosystem-status": "node scripts/audit-ecosystem-status.mjs",
  126. "audit:ecosystem-status:fast": "node scripts/audit-ecosystem-status.mjs --fast",
  127. "deploy:cloudflare": "pnpm build-only && pnpm verify:demo-output && node scripts/deploy-cloudflare-pages.mjs",
  128. "docker:build": "node scripts/docker-buildx.mjs --load",
  129. "docker:repo:create": "node scripts/docker-hub-create-repo.mjs",
  130. "docker:publish": "node scripts/docker-buildx.mjs --push",
  131. "release:components:pack": "pnpm release:ecosystem:build && pnpm verify:ecosystem-versions && node scripts/release-ecosystem-packages.mjs --pack --pack-dir .release/components",
  132. "release:components:publish": "pnpm release:ecosystem:build && pnpm verify:ecosystem-versions && node scripts/release-ecosystem-packages.mjs --publish",
  133. "release:ecosystem:list": "node scripts/release-ecosystem-packages.mjs --list",
  134. "release:ecosystem:build": "pnpm --filter @file-viewer/pptx build && pnpm --filter @file-viewer/core build && pnpm --filter @file-viewer/renderer-pdf build && pnpm --filter @file-viewer/renderer-ofd build && pnpm --filter @file-viewer/renderer-presentation build && pnpm --filter @file-viewer/renderer-word build && pnpm --filter @file-viewer/renderer-cad build && pnpm --filter @file-viewer/renderer-drawing build && pnpm --filter @file-viewer/geometry-engine build && pnpm --filter @file-viewer/renderer-3d build && pnpm --filter @file-viewer/renderer-typst build && pnpm --filter @file-viewer/renderer-archive build && pnpm --filter @file-viewer/renderer-email build && pnpm --filter @file-viewer/renderer-epub build && pnpm --filter @file-viewer/renderer-text build && pnpm --filter @file-viewer/renderer-image build && pnpm --filter @file-viewer/renderer-media build && pnpm --filter @file-viewer/renderer-mindmap build && pnpm --filter @file-viewer/renderer-geo build && pnpm --filter @file-viewer/renderer-data build && pnpm --filter @file-viewer/eda-layout build && pnpm --filter @file-viewer/eda-orcad build && pnpm --filter @file-viewer/renderer-eda build && pnpm --filter @file-viewer/preset-all build && pnpm --filter @file-viewer/preset-lite build && pnpm --filter @file-viewer/preset-office build && pnpm --filter @file-viewer/preset-engineering build && pnpm --filter @file-viewer/vite-plugin build && pnpm build:viewer-assets && pnpm build:component-packages && pnpm obfuscate && pnpm components:export && pnpm verify:offline-assets && pnpm verify:production-entrypoints",
  135. "release:ecosystem:pack": "pnpm release:ecosystem:build && pnpm verify:ecosystem-versions && node scripts/release-ecosystem-packages.mjs --pack --clean",
  136. "release:ecosystem:publish:preflight": "node scripts/release-ecosystem-packages.mjs --publish --preflight",
  137. "release:ecosystem:publish:dry-run": "pnpm release:ecosystem:build && pnpm verify:ecosystem-versions && node scripts/release-ecosystem-packages.mjs --publish --dry-run",
  138. "release:ecosystem:publish": "pnpm release:ecosystem:publish:preflight && pnpm release:ecosystem:build && pnpm verify:ecosystem-versions && node scripts/release-ecosystem-packages.mjs --publish",
  139. "release:channels:preflight": "node scripts/preflight-release-channels.mjs",
  140. "release:status:write": "node scripts/write-release-status-report.mjs --fast",
  141. "release:public": "node scripts/sync-public-main.mjs",
  142. "public:gitee:snapshot": "node scripts/publish-public-gitee-snapshot.mjs",
  143. "core:export": "node scripts/sync-core-repo.mjs",
  144. "renderers:export": "node scripts/sync-renderer-repos.mjs",
  145. "renderers:verify": "node scripts/verify-renderer-repos.mjs",
  146. "components:readme": "node scripts/sync-wrapper-readmes.mjs",
  147. "components:verify": "node scripts/verify-wrapper-repos.mjs",
  148. "components:export": "pnpm components:readme && pnpm core:export && node scripts/sync-wrapper-repos.mjs && pnpm components:verify",
  149. "components:standalone-smoke": "pnpm --filter @file-viewer/core build && pnpm build:component-packages && pnpm components:export && node scripts/verify-wrapper-standalone-builds.mjs",
  150. "components:publish:dry-run": "pnpm components:export && node scripts/publish-wrapper-repos.mjs --dry-run",
  151. "components:publish": "pnpm components:export && node scripts/publish-wrapper-repos.mjs --push",
  152. "components:gitee:preflight": "node scripts/create-gitee-component-repos.mjs --preflight",
  153. "components:gitee:create": "node scripts/create-gitee-component-repos.mjs",
  154. "components:gitee:publish": "pnpm components:gitee:preflight && pnpm components:gitee:create && pnpm components:export && node scripts/publish-wrapper-repos.mjs --host=gitee --push && pnpm verify:wrapper-public-remotes --host=gitee",
  155. "github:descriptions:update": "node scripts/update-github-repo-descriptions.mjs",
  156. "github:topics:plan": "node scripts/update-github-repo-topics.mjs",
  157. "github:topics:update": "node scripts/update-github-repo-topics.mjs --apply",
  158. "github:social-preview:render": "node scripts/render-social-preview.mjs",
  159. "github:social-preview:check": "node scripts/check-github-open-graph-image.mjs",
  160. "github:traffic:snapshot": "node scripts/snapshot-github-traffic.mjs",
  161. "npm:downloads:snapshot": "node scripts/snapshot-npm-downloads.mjs",
  162. "obfuscate": "FILE_VIEWER_DIST_DIR=packages/components/vue3/dist node scripts/obfuscate-dist.mjs",
  163. "pretest": "node scripts/patch-msdoc-viewer.mjs",
  164. "test": "vitest",
  165. "test:coverage": "vitest run --coverage"
  166. },
  167. "devDependencies": {
  168. "@rushstack/eslint-patch": "^1.16.1",
  169. "@types/node": "^25.9.2",
  170. "@vue/eslint-config-prettier": "^10.2.0",
  171. "@vue/eslint-config-typescript": "^14.8.0",
  172. "eslint": "^10.4.1",
  173. "eslint-plugin-vue": "^10.9.2",
  174. "javascript-obfuscator": "^5.4.3",
  175. "linkedom": "^0.18.12",
  176. "msdoc-viewer": "^0.2.0",
  177. "prettier": "^3.8.3",
  178. "typescript": "^6.0.3",
  179. "vitepress": "^1.6.4",
  180. "vitest": "^4.1.8"
  181. },
  182. "license": "Apache-2.0",
  183. "main": "index.js",
  184. "directories": {
  185. "doc": "docs",
  186. "test": "test"
  187. }
  188. }