{ "$schema": "https://json.schemastore.org/package", "name": "hula", "type": "module", "version": "3.0.9", "license": "Apache-2.0", "engines": { "node": "^20.19.0 || >=22.12.0", "pnpm": ">=10" }, "repository": { "url": "https://github.com/HuLaSpark/HuLa.git" }, "author": { "name": "HuLaSpark团队", "email": "2439646234@qq.com", "url": "https://github.com/HuLaSpark" }, "scripts": { "========= 启动vue(tauri项目会连带执行不需要单独执行) =========": "", "dev": "vite", "========= 打包vue(tauri项目会连带执行不需要单独执行) =========": "", "build": "vue-tsc --noEmit && vite build", "========= 启动HuLa桌面应用程序 =========": "", "tauri:dev": "tauri dev", "========= 启动HuLa桌面应用程序(简化命令) =========": "", "td": "tauri dev", "========= windows中启动安卓纯前端(简化命令) =========": "", "adev:win": "set TAURI_ENV_PLATFORM=android&& vite", "========= mac中启动ios纯前端(简化命令) =========": "", "idev:mac": "TAURI_ENV_PLATFORM=ios vite", "========= 启动安卓程序(简化命令) =========": "", "adev": "tauri android dev", "========= 启动ios程序(简化命令) =========": "", "idev": "tauri ios dev", "========= 打包桌面应用程序(简化命令) =========": "", "tb": "node scripts/interactive-build-inquirer.js", "========= 打包桌面应用程序 =========": "", "tauri:build": "node scripts/interactive-build-inquirer.js", "========= 启动HuLa ios 程序 =========": "", "tauri:ios:dev": "tauri ios dev", "========= 启动HuLa android 程序 =========": "", "tauri:android:dev": "tauri android dev", "========= 生成icon =========": "", "tauri:icon": "tauri icon public/light.png", "========= 安装依赖前执行 =========": "", "preinstall": "pnpm dlx only-allow pnpm && node scripts/check-all.js", "========= 使用commit来进行代码提交 =========": "", "commit": "git add . && git-cz", "========= 只检查代码问题和格式(不修复) =========": "", "check": "biome check", "========= 修复代码问题和格式并且检查 =========": "", "check:write": "biome check --write --unsafe", "========= 格式化Vue文件模板 =========": "", "format:vue": "pnpm dlx prettier --write \"src/**/*.vue\"", "========= 完整格式化(JS+Vue) =========": "", "format:all": "pnpm check:write && pnpm format:vue", "========= Git提交前的代码检查(简化命令) =========": "", "lint:s": "lint-staged && vue-tsc --noEmit", "========= Git提交前的代码检查 =========": "", "lint:staged": "lint-staged && vue-tsc --noEmit", "========= 安装husky =========": "", "prepare": "husky", "========= 发版 =========": "", "release": "release-it", "========= commit后再次添加修改到上一次的commit =========": "", "addition-commit": "git add . && git commit --amend --no-edit", "========= 单元测试 =========": "", "test:run": "vitest run", "========= 使用 vitest UI =========": "", "test:ui": "vitest --ui --coverage.enabled=true", "========= 测试覆盖率 =========": "", "coverage": "vitest run --coverage", "========= 链接HuLa skill =========": "", "skill": "node scripts/link-skills.js", "========= 单独提交 =========": "", "gitcz": "git-cz" }, "dependencies": { "@actions/github": "^9.1.1", "@breezystack/lamejs": "^1.2.7", "@fingerprintjs/fingerprintjs": "^5.2.0", "@tauri-apps/api": "2.11.0", "@tauri-apps/plugin-autostart": "2.5.1", "@tauri-apps/plugin-barcode-scanner": "2.4.2", "@tauri-apps/plugin-clipboard-manager": "2.3.2", "@tauri-apps/plugin-dialog": "^2.7.0", "@tauri-apps/plugin-fs": "^2.5.0", "@tauri-apps/plugin-global-shortcut": "^2.3.1", "@tauri-apps/plugin-http": "2.5.4", "@tauri-apps/plugin-log": "^2.8.0", "@tauri-apps/plugin-notification": "^2.3.3", "@tauri-apps/plugin-opener": "^2.5.2", "@tauri-apps/plugin-os": "2.3.2", "@tauri-apps/plugin-process": "2.3.1", "@tauri-apps/plugin-shell": "^2.3.3", "@tauri-apps/plugin-sql": "^2.4.0", "@tauri-apps/plugin-updater": "2.10.1", "@vant/area-data": "^2.1.0", "@vue-office/docx": "^1.6.3", "@vue-office/excel": "^1.7.14", "@vue-office/pdf": "^2.0.10", "@vue-office/pptx": "^1.0.1", "@vueuse/components": "^14.3.0", "colorthief": "^3.3.1", "crypto-js": "^4.2.0", "dayjs": "^1.11.20", "digest-wasm": "^0.1.4", "dompurify": "^3.4.2", "driver.js": "^1.4.0", "es-toolkit": "^1.46.1", "file-type": "^22.0.1", "grapheme-splitter": "^1.0.4", "hula-emojis": "^1.3.1", "internal-ip": "^9.0.0", "markstream-vue": "1.0.1-beta.1", "mermaid": "^11.14.0", "mitt": "^3.0.1", "naive-ui": "^2.44.1", "p-limit": "^7.3.0", "pinia": "^3.0.4", "pinia-plugin-persistedstate": "^4.7.1", "pinia-shared-state": "^2.0.1", "seemly": "^0.3.10", "stream-markdown": "^0.0.15", "stream-monaco": "^0.0.41", "tauri-plugin-mic-recorder-api": "^2.0.0", "tauri-plugin-safe-area-insets": "^0.1.0", "three": "^0.184.0", "tlbs-map-vue": "^1.3.2", "vant": "^4.9.24", "vue": "^3.5.33", "vue-cropper": "1.1.4", "vue-demi": "0.14.10", "vue-i18n": "^11.4.0", "vue-router": "^5.0.6", "vue-virtual-scroller": "3.0.2" }, "devDependencies": { "@biomejs/biome": "^2.4.14", "@commitlint/cli": "^20.5.3", "@commitlint/config-conventional": "^20.5.3", "@iconify/vue": "^5.0.0", "@inquirer/prompts": "^8.4.2", "@release-it/bumper": "^7.0.5", "@release-it/conventional-changelog": "10.0.6", "@tauri-apps/cli": "2.9.5", "@types/crypto-js": "^4.2.2", "@types/node": "^25.6.0", "@types/three": "^0.184.0", "@unocss/preset-wind3": "^66.6.8", "@unocss/reset": "^66.6.8", "@unocss/transformer-directives": "^66.6.8", "@unocss/transformer-variant-group": "^66.6.8", "@unocss/vite": "^66.6.8", "@vitejs/plugin-vue": "^6.0.6", "@vitejs/plugin-vue-jsx": "^5.1.5", "@vitest/coverage-v8": "^4.1.5", "@vitest/ui": "^4.1.5", "@vue/test-utils": "^2.4.10", "@vueuse/core": "^14.3.0", "chalk": "^5.6.2", "commitizen": "^4.3.1", "cz-git": "^1.13.0", "eruda": "^3.4.3", "happy-dom": "^20.9.0", "husky": "^9.1.7", "lint-staged": "^16.4.0", "postcss-pxtorem": "^6.1.0", "prettier": "^3.8.3", "release-it": "^20.0.1", "sass": "1.99.0", "typescript": "^6.0.3", "unplugin-auto-import": "^21.0.0", "unplugin-vue-components": "^32.0.0", "vite": "8.0.10", "vite-plugin-vue-setup-extend": "^0.4.0", "vitest": "^4.1.5", "vue-tsc": "^3.2.8", "web-vitals": "^5.2.0" }, "config": { "commitizen": { "path": "node_modules/cz-git" } }, "pnpm": { "overrides": { "conventional-changelog-conventionalcommits": "8.0.0", "lodash": "4.18.1", "lodash-es": "4.18.1", "nopt": "9.0.0", "abbrev": "4.0.0" }, "ignoredBuiltDependencies": ["@parcel/watcher", "esbuild", "sharp", "tlbs-map-vue", "vue-demi"] } }