mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 00:11:37 -06:00
0a11d54fe0
- add displayOrder column to lenses and collections schema
- add POST /api/v1/{lenses,collections}/reorder endpoints (user-scoped)
- move Lens type to @projectx/types; add displayOrder to Collection type
- add useDraggableOrder composable with optimistic updates, debounce, rollback, and unmount cleanup
- wire VueDraggable into AppSidebar with per-section edit-mode toggle
- replace section header add/reorder buttons with a single kebab dropdown
75 lines
2.2 KiB
JSON
75 lines
2.2 KiB
JSON
{
|
|
"name": "client",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"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",
|
|
"type-check": "vue-tsc --build",
|
|
"lint": "pnpm run lint:check",
|
|
"lint:check": "run-s 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",
|
|
"format": "prettier --write --experimental-cli src/",
|
|
"format:check": "prettier --check src/"
|
|
},
|
|
"dependencies": {
|
|
"@fontsource-variable/fraunces": "^5.2.9",
|
|
"@fontsource-variable/inter": "^5.2.8",
|
|
"@projectx/types": "workspace:*",
|
|
"@tailwindcss/vite": "^4.2.1",
|
|
"@vueuse/core": "^14.2.1",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"lucide-vue-next": "^0.577.0",
|
|
"pdfjs-dist": "^5.5.207",
|
|
"pinia": "^3.0.4",
|
|
"reka-ui": "^2.9.2",
|
|
"socket.io-client": "^4.8.3",
|
|
"tailwind-merge": "^3.5.0",
|
|
"tailwindcss": "^4.2.1",
|
|
"vue": "^3.5.30",
|
|
"vue-draggable-plus": "^0.6.1",
|
|
"vue-router": "^5.0.3",
|
|
"vue-sonner": "^2.0.9",
|
|
"vue-virtual-scroller": "^1.1.2"
|
|
},
|
|
"devDependencies": {
|
|
"@tsconfig/node24": "^24.0.4",
|
|
"@types/jsdom": "^28.0.0",
|
|
"@types/node": "^25.5.0",
|
|
"@vitejs/plugin-vue": "^6.0.5",
|
|
"@vitest/coverage-v8": "^4.1.0",
|
|
"@vitest/eslint-plugin": "^1.6.12",
|
|
"@vue/eslint-config-typescript": "^14.7.0",
|
|
"@vue/test-utils": "^2.4.6",
|
|
"@vue/tsconfig": "^0.9.0",
|
|
"eslint": "^10.0.3",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-oxlint": "~1.56.0",
|
|
"eslint-plugin-vue": "~10.8.0",
|
|
"jiti": "^2.6.1",
|
|
"jsdom": "^29.0.0",
|
|
"npm-run-all2": "^8.0.4",
|
|
"oxlint": "~1.56.0",
|
|
"prettier": "3.8.1",
|
|
"tw-animate-css": "^1.4.0",
|
|
"typescript": "~5.9.3",
|
|
"vite": "^8.0.0",
|
|
"vite-plugin-vue-devtools": "^8.1.0",
|
|
"vitest": "^4.1.0",
|
|
"vue-tsc": "^3.2.5"
|
|
},
|
|
"engines": {
|
|
"node": "^20.19.0 || >=22.12.0"
|
|
}
|
|
}
|