{ "name": "kept", "private": true, "version": "0.5.0", "type": "module", "scripts": { "dev": "bun --bun vite dev", "build": "bun --bun vite build", "preview": "bun --bun vite preview", "start": "bun ./build/index.js", "prepare": "svelte-kit sync || echo \"\"", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "lint": "eslint \"src/**/*.ts\" && eslint --ignore-pattern \"src/**/*.ts\" .", "lint:fix": "eslint \"src/**/*.ts\" --fix && eslint --ignore-pattern \"src/**/*.ts\" . --fix", "format": "prettier --write .", "format:check": "prettier --check .", "test": "bun --bun vitest run --project sqlite", "test:pg": "bun --bun vitest run --project pg --passWithNoTests", "test:watch": "bun --bun vitest", "test:coverage": "bun --bun vitest run --project sqlite --coverage", "verify": "bun run format:check && bun run lint && bun run check && bun run test", "db:generate": "bun run db:generate:sqlite && bun run db:generate:pg", "db:generate:sqlite": "drizzle-kit generate --config drizzle.sqlite.config.ts", "db:generate:pg": "drizzle-kit generate --config drizzle.pg.config.ts", "db:migrate": "drizzle-kit migrate --config drizzle.sqlite.config.ts", "db:studio": "drizzle-kit studio --config drizzle.sqlite.config.ts", "security": "./scripts/security/scan-all.sh", "security:install": "./scripts/security/install-tools.sh", "leak-guard": "bun scripts/leak-guard.ts" }, "devDependencies": { "@eslint/js": "^10.0.1", "@internationalized/date": "^3.12.4", "@lucide/svelte": "^1.66.0", "@sveltejs/kit": "^2.70.3", "@sveltejs/vite-plugin-svelte": "^7.3.0", "@tailwindcss/vite": "^4.3.3", "@tanstack/table-core": "^8.21.3", "@types/bun": "^1.4.4", "@types/node": "^26.6.6", "@types/nodemailer": "^8.0.2", "@types/pdfmake": "^0.3.3", "@types/qrcode": "^1.5.6", "@vite-pwa/sveltekit": "^1.1.0", "@vitest/coverage-v8": "^5.0.5", "bits-ui": "^2.20.2", "clsx": "^2.1.1", "drizzle-kit": "^0.31.11", "embla-carousel-svelte": "^8.6.0", "eslint": "^10.14.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-svelte": "^3.23.1", "formsnap": "^2.1.0", "globals": "^17.13.0", "layerchart": "2.9.2", "mode-watcher": "^1.1.0", "paneforge": "^1.0.2", "prettier": "^3.9.10", "prettier-plugin-svelte": "^4.1.1", "prettier-plugin-tailwindcss": "^0.8.1", "svelte": "^5.57.3", "svelte-adapter-bun": "^1.0.2", "svelte-check": "^4.7.7", "svelte-sonner": "^1.2.2", "sveltekit-superforms": "^2.30.2", "tailwind-merge": "^3.7.0", "tailwind-variants": "^3.3.1", "tailwindcss": "^4.3.3", "tw-animate-css": "^1.4.0", "typescript": "^6.0.3", "typescript-eslint": "^8.72.1", "vaul-svelte": "^1.0.0-next.7", "vite": "^8.3.5", "vitest": "^5.0.5" }, "dependencies": { "@fontsource-variable/inter": "^5.3.0", "@napi-rs/canvas": "^1.1.0", "@simplewebauthn/browser": "^14.0.0", "@simplewebauthn/server": "^14.0.3", "drizzle-orm": "^0.45.4", "fast-xml-parser": "^5.11.2", "fflate": "^0.8.3", "nodemailer": "^10.3.1", "pdfjs-dist": "^6.4.299", "pdfmake": "^0.3.13", "qrcode": "^1.5.4", "zod": "^4.6.7", "zxing-wasm": "^3.1.6" }, "engines": { "bun": ">=1.4" } }