{
  "name": "BitFun",
  "private": true,
  "version": "0.2.19",
  "type": "module",
  "engines": {
    "node": ">=22.12.0"
  },
  "scripts": {
    "copy-monaco": "copyfiles -u 5 \"src/web-ui/node_modules/monaco-editor/min/vs/**/*\" src/web-ui/public/monaco-editor && node scripts/prune-monaco-nls.cjs",
    "copy-icons": "copyfiles -f \"src/apps/desktop/icons/Logo-ICON.png\" \"src/web-ui/public/\"",
    "copy-assets": "pnpm run copy-monaco && pnpm run copy-icons",
    "generate-version": "node scripts/generate-version.cjs --build-env production",
    "generate-version:dev": "node scripts/generate-version.cjs --build-env development",
    "generate-startup-appearance-bootstrap": "node scripts/generate-startup-appearance-bootstrap.mjs",
    "generate-all": "pnpm run generate-version && pnpm run generate-startup-appearance-bootstrap",
    "postinstall": "pnpm run ohos:sign && pnpm run copy-assets",
    "ohos:sign": "node scripts/ohos-sign-native.mjs",
    "dev": "node scripts/dev.cjs web",
    "dev:web": "pnpm --dir src/web-ui dev",
    "dev:mobile-web": "pnpm --dir src/mobile-web dev",
    "dev:miniapp-market": "pnpm --dir src/miniapp-market-web dev",
    "dev:skin-market": "pnpm --dir src/skin-market-web dev",
    "dev:mobile-web:host": "pnpm --dir src/mobile-web dev --host",
    "preview:mobile-web": "pnpm --dir src/mobile-web preview",
    "lint:web": "pnpm --dir src/web-ui run lint",
    "lint:web:fix": "pnpm --dir src/web-ui run lint:fix",
    "type-check:mobile-web": "pnpm --dir src/mobile-web run type-check",
    "i18n:generate": "node scripts/generate-i18n-contract.mjs",
    "i18n:contract:test": "node --test scripts/i18n-contract.test.mjs",
    "i18n:contract:test:ci": "cross-env BITFUN_I18N_CONTRACT_TEST_PROFILE=ci node --test scripts/i18n-contract.test.mjs",
    "test:ppt-live": "node --test src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/test/*.test.mjs",
    "i18n:audit": "node scripts/i18n-audit.mjs",
    "theme:color-audit": "node scripts/audit-theme-colors.mjs",
    "theme:color-audit:mobile": "node scripts/audit-theme-colors.mjs --root src/mobile-web/src --baseline scripts/theme-color-governance-baseline.mobile-web.json",
    "theme:color-audit:installer": "node scripts/audit-theme-colors.mjs --root BitFun-Installer/src --baseline scripts/theme-color-governance-baseline.installer.json",
    "theme:color-audit:cli": "node scripts/audit-cli-theme-colors.mjs",
    "theme:color-audit:all": "pnpm run theme:color-audit && pnpm run theme:color-audit:mobile && pnpm run theme:color-audit:installer && pnpm run theme:color-audit:cli",
    "theme:color-audit:test": "node --test scripts/audit-theme-colors.test.mjs scripts/audit-cli-theme-colors.test.mjs",
    "motion:audit": "node scripts/audit-web-motion.mjs",
    "theme:visual-contract": "node scripts/validate-theme-visual-contract.mjs",
    "appearance:contract-audit": "node scripts/audit-appearance-contracts.mjs",
    "flowchat:log:analyze": "node scripts/diagnostics/analyze-flowchat-log.mjs",
    "flowchat:log:analyze:test": "node --test scripts/diagnostics/analyze-flowchat-log.test.mjs",
    "check:repo-hygiene": "node scripts/check-repo-hygiene.mjs && node scripts/update-models-dev-snapshot.mjs --check",
    "models-dev:check": "node scripts/update-models-dev-snapshot.mjs --check",
    "models-dev:update": "node scripts/update-models-dev-snapshot.mjs",
    "check:build-prereqs": "node scripts/check-build-prereqs.mjs",
    "harmony:architecture": "node scripts/check-harmonyos-architecture.mjs",
    "check:core-boundaries": "node scripts/check-core-boundaries.mjs",
    "check:core-boundaries:test": "node --test scripts/check-core-boundaries.test.mjs",
    "check:github-config": "pnpm --dir src/web-ui exec node ../../scripts/check-github-config.mjs && node --test scripts/check-github-config.test.mjs",
    "test:release-packaging": "node --test scripts/release-channel.test.mjs scripts/desktop-tauri-build.test.mjs scripts/version-generation.test.mjs scripts/tauri-release-manifest.test.mjs",
    "fmt:rs": "node scripts/format-changed-rust.mjs",
    "lint:rs": "cargo clippy --workspace --exclude bitfun-desktop --all-targets",
    "lint:rs:desktop": "pnpm run prepare:mobile-web && cargo clippy -p bitfun-desktop --all-targets",
    "lint:rs:installer": "cargo clippy --manifest-path BitFun-Installer/src-tauri/Cargo.toml --all-targets",
    "lint:rs:all": "pnpm run lint:rs && pnpm run lint:rs:desktop && pnpm run lint:rs:installer",
    "prebuild": "pnpm run prebuild:web",
    "prebuild:web": "pnpm run copy-assets --silent && pnpm run generate-all --silent",
    "type-check:web": "pnpm --dir src/web-ui run type-check",
    "build": "pnpm run ohos:sign && pnpm run build:web",
    "build:frontend-only": "pnpm run appearance:contract-audit && node scripts/build-web-parallel.mjs --skip-gen-types && pnpm run verify:monaco-assets && pnpm run prepare:mobile-web",
    "verify:monaco-assets": "node scripts/verify-monaco-assets.cjs",
    "verify:webkit-compatibility": "node scripts/verify-webkit-compatibility.cjs",
    "verify:webkit-compatibility:test": "node --test scripts/verify-webkit-compatibility.test.mjs",
    "build:web": "pnpm run appearance:contract-audit && node scripts/build-web-parallel.mjs && pnpm run verify:monaco-assets && pnpm run verify:webkit-compatibility",
    "build:mobile-web": "pnpm --dir src/mobile-web build",
    "build:miniapp-market": "pnpm --dir src/miniapp-market-web build",
    "type-check:miniapp-market": "pnpm --dir src/miniapp-market-web type-check",
    "test:miniapp-market": "pnpm --dir src/miniapp-market-web test",
    "build:skin-market": "pnpm --dir src/skin-market-web build",
    "type-check:skin-market": "pnpm --dir src/skin-market-web type-check",
    "test:skin-market": "pnpm --dir src/skin-market-web test",
    "prepare:mobile-web": "node scripts/mobile-web-build.cjs",
    "prepare:dsh-profile": "node scripts/prepare-dsh-profile.mjs",
    "plugin-host:install": "bun install --cwd src/apps/extension-host --frozen-lockfile",
    "plugin-host:build": "bun run --cwd src/apps/extension-host build",
    "plugin-host:prepare": "pnpm run plugin-host:install && pnpm run plugin-host:build",
    "plugin-host:test": "bun test --cwd src/apps/extension-host",
    "frontend:build-all": "node scripts/frontend-build-all.mjs",
    "preview": "pnpm --dir src/web-ui preview",
    "desktop:dev": "node scripts/dev.cjs desktop",
    "desktop:preview:debug": "node scripts/dev.cjs desktop-preview",
    "desktop:dev:raw": "cross-env-shell CI=true \"cd src/apps/desktop && tauri dev\"",
    "target:gc": "node scripts/cargo-target-gc.mjs",
    "feedback:mock": "node scripts/feedback-mock-server.mjs",
    "product:check": "node scripts/product-customization/cli.mjs check",
    "product:explain": "node scripts/product-customization/cli.mjs explain",
    "product:test": "node --test --test-concurrency=1 scripts/product-customization/*.test.mjs scripts/cli-product.test.mjs scripts/desktop-tauri-build.test.mjs",
    "desktop:build": "node scripts/desktop-tauri-build.mjs",
    "desktop:build:fast": "node scripts/desktop-tauri-build.mjs --debug --no-bundle",
    "desktop:build:release-fast": "node scripts/desktop-tauri-build.mjs --no-bundle -- --profile release-fast --features devtools",
    "desktop:build:exe": "node scripts/desktop-tauri-build.mjs --no-bundle",
    "desktop:build:nsis": "node scripts/desktop-tauri-build.mjs --bundles nsis",
    "desktop:build:nsis:fast": "node scripts/desktop-tauri-build.mjs --bundles nsis -- --profile release-fast --features devtools",
    "desktop:build:arm64": "node scripts/desktop-tauri-build.mjs --target aarch64-apple-darwin --bundles app,dmg",
    "desktop:build:x86_64": "node scripts/desktop-tauri-build.mjs --target x86_64-apple-darwin --bundles app,dmg",
    "desktop:build:linux": "node scripts/desktop-tauri-build.mjs",
    "desktop:build:linux:deb": "node scripts/desktop-tauri-build.mjs --bundles deb",
    "desktop:build:linux:rpm": "node scripts/desktop-tauri-build.mjs --bundles rpm",
    "desktop:build:linux:appimage": "node scripts/desktop-tauri-build.mjs --bundles appimage",
    "installer:build": "pnpm --dir BitFun-Installer run installer:build",
    "installer:build:fast": "pnpm --dir BitFun-Installer run installer:build:fast",
    "installer:build:only": "pnpm --dir BitFun-Installer run installer:build:only",
    "installer:build:only:fast": "pnpm --dir BitFun-Installer run installer:build:only:fast",
    "installer:dev": "pnpm --dir BitFun-Installer run installer:dev",
    "cli:dev": "pnpm run plugin-host:prepare && node scripts/cli-product.mjs dev",
    "cli:build": "pnpm run plugin-host:prepare && node scripts/cli-product.mjs build",
    "cli:install": "pnpm run plugin-host:prepare && node scripts/install-cli.mjs",
    "cli:install:unix": "pnpm run plugin-host:prepare && bash src/apps/cli/install.sh",
    "cli:install:windows": "pnpm run plugin-host:prepare && powershell.exe -NoProfile -ExecutionPolicy Bypass -File src/apps/cli/install.ps1",
    "cli:run": "cd src/apps/cli && cargo run --release --",
    "cli:exec": "cd src/apps/cli && cargo run -- exec",
    "cli:check": "cd src/apps/cli && cargo check",
    "cli:test": "cd src/apps/cli && cargo test",
    "preview-components": "pnpm --dir src/web-ui exec vite --config vite.config.preview.ts",
    "build-components": "pnpm --dir src/web-ui exec vite build --config vite.config.preview.ts",
    "type-check:relay-page-auth": "tsc --noEmit --skipLibCheck --lib ES2020,DOM --moduleResolution bundler --module preserve --target ES2020 src/crates/services/relay-service/web/page-auth-client.ts",
    "build:relay-page-auth": "pnpm run type-check:relay-page-auth && esbuild src/crates/services/relay-service/web/page-auth-client.ts --bundle --minify --format=iife --platform=browser --target=es2020 --legal-comments=inline --outfile=src/crates/services/relay-service/src/routes/page_auth_client.bundle.js",
    "test:relay-page-auth": "node --test src/crates/services/relay-service/web/page-auth-client.test.mjs",
    "website:dev": "pnpm --dir website run dev",
    "website:build": "pnpm --dir website run build",
    "website:preview": "pnpm --dir website run preview",
    "website:install": "pnpm --dir website install",
    "e2e:install": "pnpm --dir tests/e2e install",
    "e2e:test": "cross-env BITFUN_E2E_APP_MODE=debug pnpm --dir tests/e2e test",
    "e2e:test:l0": "cross-env BITFUN_E2E_APP_MODE=debug pnpm --dir tests/e2e run test:l0",
    "e2e:test:l0:all": "cross-env BITFUN_E2E_APP_MODE=debug pnpm --dir tests/e2e run test:l0:all",
    "e2e:test:l1": "cross-env BITFUN_E2E_APP_MODE=debug pnpm --dir tests/e2e run test:l1",
    "e2e:test:smoke": "cross-env BITFUN_E2E_APP_MODE=debug pnpm --dir tests/e2e run test:smoke",
    "e2e:test:chat": "cross-env BITFUN_E2E_APP_MODE=debug pnpm --dir tests/e2e run test:chat",
    "e2e:test:perf:debug": "cross-env BITFUN_E2E_APP_MODE=debug E2E_LOG_LEVEL=warn pnpm --dir tests/e2e run test:perf",
    "e2e:test:perf:release-fast": "cross-env BITFUN_E2E_APP_MODE=release-fast E2E_LOG_LEVEL=warn pnpm --dir tests/e2e run test:perf",
    "e2e:test:perf:startup-stability:release-fast": "cross-env BITFUN_E2E_APP_MODE=release-fast E2E_LOG_LEVEL=warn node tests/e2e/scripts/run-startup-stability.mjs",
    "e2e:test:perf:long-session-interactions:release-fast": "cross-env BITFUN_E2E_APP_MODE=release-fast E2E_LOG_LEVEL=warn node tests/e2e/scripts/run-long-session-interaction-matrix.mjs"
  },
  "devDependencies": {
    "@noble/hashes": "^2.0.1",
    "@tauri-apps/cli": "^2.10.0",
    "@vitejs/plugin-react": "^4.6.0",
    "copyfiles": "^2.4.1",
    "cross-env": "^10.1.0",
    "sass": "^1.93.2",
    "sharp": "^0.34.3",
    "typescript": "~5.8.3",
    "vite": "^7.0.4"
  },
  "packageManager": "pnpm@10.15.0+sha512.486ebc259d3e999a4e8691ce03b5cac4a71cbeca39372a9b762cb500cfdf0873e2cb16abe3d951b1ee2cf012503f027b98b6584e4df22524e0c7450d9ec7aa7b",
  "dependencies": {
    "jszip": "^3.10.1",
    "pdf-lib": "^1.17.1",
    "pnpm": "^10.32.1",
    "pptxgenjs": "^4.0.1"
  }
}