Files
bookorbit/client/package.json
T
neon b9e041d1b7 ci(i18n): enforce controlled crowdin localization workflow and pr validation
Add Crowdin pull request validation script, centralize locale configuration, and update GitHub workflows to enforce sparse target catalog validation.
2026-08-06 00:00:04 +00:00

131 lines
4.4 KiB
JSON

{
"name": "client",
"version": "0.0.0",
"description": "BookOrbit client - self-hosted library management and reading platform",
"author": "neonsolstice",
"private": true,
"license": "AGPL-3.0",
"homepage": "https://bookorbit.app",
"repository": {
"type": "git",
"url": "https://github.com/bookorbit/bookorbit"
},
"bugs": {
"url": "https://github.com/bookorbit/bookorbit/issues"
},
"type": "module",
"scripts": {
"dev": "vite",
"build": "run-p type-check \"build-only {@}\" --",
"preview": "vite preview",
"test:unit": "vitest",
"test:cov": "vitest --coverage",
"build-only": "vite build",
"pretype-check": "pnpm --filter @bookorbit/types build",
"type-check": "vue-tsc --build",
"lint": "pnpm run lint:check",
"lint:check": "run-s validate:locales validate:styles lint:oxlint:check lint:eslint:check",
"lint:fix": "run-s lint:oxlint:fix lint:eslint:fix",
"lint:oxlint:check": "oxlint src",
"lint:oxlint:fix": "oxlint src --fix",
"lint:eslint:check": "eslint src --cache",
"lint:eslint:fix": "eslint src --fix --cache",
"sync:crowdin": "node ./scripts/sync-crowdin-translations.mjs",
"validate:locales": "node ./scripts/validate-locales.mjs",
"validate:styles": "node ./scripts/validate-styles.mjs",
"format": "prettier --write --experimental-cli src/",
"format:check": "prettier --check src/",
"generate-pwa-icons": "pwa-assets-generator --config pwa-assets.config.ts"
},
"dependencies": {
"@bookorbit/types": "workspace:*",
"@embedpdf/core": "2.14.4",
"@embedpdf/engines": "2.14.4",
"@embedpdf/models": "2.14.4",
"@embedpdf/pdfium": "2.14.4",
"@embedpdf/plugin-annotation": "2.14.4",
"@embedpdf/plugin-bookmark": "2.14.4",
"@embedpdf/plugin-document-manager": "2.14.4",
"@embedpdf/plugin-history": "2.14.4",
"@embedpdf/plugin-interaction-manager": "2.14.4",
"@embedpdf/plugin-pan": "2.14.4",
"@embedpdf/plugin-render": "2.14.4",
"@embedpdf/plugin-rotate": "2.14.4",
"@embedpdf/plugin-scroll": "2.14.4",
"@embedpdf/plugin-search": "2.14.4",
"@embedpdf/plugin-selection": "2.14.4",
"@embedpdf/plugin-spread": "2.14.4",
"@embedpdf/plugin-thumbnail": "2.14.4",
"@embedpdf/plugin-tiling": "2.14.4",
"@embedpdf/plugin-viewport": "2.14.4",
"@embedpdf/plugin-zoom": "2.14.4",
"@fontsource-variable/fraunces": "^5.3.0",
"@fontsource-variable/inter": "^5.3.0",
"@formatjs/icu-messageformat-parser": "^3.5.15",
"@lucide/vue": "1.27.0",
"@tailwindcss/vite": "^4.3.3",
"@tanstack/vue-table": "^8.21.3",
"@tanstack/vue-virtual": "^3.13.34",
"@tiptap/extension-link": "^3.29.1",
"@tiptap/pm": "^3.29.1",
"@tiptap/starter-kit": "^3.29.1",
"@tiptap/vue-3": "^3.29.1",
"@types/howler": "^2.2.13",
"@vueuse/core": "^14.3.0",
"canvas-confetti": "^1.9.4",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cronstrue": "^3.24.0",
"dompurify": "^3.4.12",
"driver.js": "^1.8.0",
"echarts": "^6.1.0",
"howler": "^2.2.4",
"intl-messageformat": "^11.2.12",
"pinia": "^3.0.4",
"reka-ui": "^2.10.1",
"socket.io-client": "^4.8.3",
"tailwind-merge": "^3.6.0",
"tailwindcss": "^4.3.3",
"vite-plugin-pwa": "^1.3.0",
"vue": "^3.5.40",
"vue-draggable-plus": "^0.6.1",
"vue-echarts": "8.1.0-beta.2",
"vue-i18n": "^11.4.8",
"vue-router": "^5.2.0",
"vue-sonner": "^2.0.9",
"vue-virtual-scroller": "^3.0.4"
},
"devDependencies": {
"@intlify/message-compiler": "^11.4.8",
"@tsconfig/node24": "^24.0.4",
"@types/canvas-confetti": "^1.9.0",
"@types/jsdom": "^28.0.3",
"@types/node": "^26.1.1",
"@vite-pwa/assets-generator": "^1.0.2",
"@vitejs/plugin-vue": "^6.0.8",
"@vitest/coverage-v8": "^4.1.10",
"@vitest/eslint-plugin": "^1.6.24",
"@vue/eslint-config-typescript": "^14.9.0",
"@vue/test-utils": "^2.4.11",
"@vue/tsconfig": "^0.9.1",
"eslint": "^10.8.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-oxlint": "~1.73.0",
"eslint-plugin-vue": "~10.9.2",
"jiti": "^2.7.0",
"jsdom": "^29.1.1",
"npm-run-all2": "^9.0.2",
"oxlint": "~1.73.0",
"prettier": "3.9.5",
"tw-animate-css": "^1.4.0",
"typescript": "~6.0.3",
"vite": "^8.1.5",
"vite-plugin-vue-devtools": "^8.2.1",
"vitest": "^4.1.10",
"vue-tsc": "^3.3.8"
},
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
}