{ "name": "dockhand", "private": true, "version": "1.0.46", "type": "module", "scripts": { "dev": "npx vite dev", "prebuild": "npx license-checker --json --production | jq 'to_entries | map({name: (.key | split(\"@\")[0:-1] | join(\"@\")), version: (.key | split(\"@\")[-1]), license: .value.licenses, repository: .value.repository}) | sort_by(.name)' > src/lib/data/dependencies.json.tmp && mv src/lib/data/dependencies.json.tmp src/lib/data/dependencies.json || true && npm run generate:openapi", "build": "npx vite build", "start": "node ./server.js", "preview": "node ./build/index.js", "prepare": "npx svelte-kit sync || echo ''", "check": "npx svelte-kit sync && npx svelte-check --tsconfig ./tsconfig.json", "check:watch": "npx svelte-kit sync && npx svelte-check --tsconfig ./tsconfig.json --watch", "test": "bun test tests/", "test:unit": "bun test tests/", "test:e2e": "npx playwright test integration/e2e/", "generate:legal": "node scripts/generate-legal-pages.ts", "generate:openapi": "tsx scripts/generate-openapi.ts", "generate:openapi:check": "tsx scripts/generate-openapi.ts --check" }, "dependencies": { "@1password/sdk": "0.4.1-beta.1", "@codemirror/autocomplete": "6.20.0", "@codemirror/commands": "6.10.1", "@codemirror/lang-css": "6.3.1", "@codemirror/lang-html": "6.4.11", "@codemirror/lang-javascript": "6.2.4", "@codemirror/lang-json": "6.0.2", "@codemirror/lang-markdown": "6.5.0", "@codemirror/lang-python": "6.2.1", "@codemirror/lang-sql": "6.10.0", "@codemirror/lang-xml": "6.1.0", "@codemirror/lang-yaml": "6.1.3", "@codemirror/language": "6.12.1", "@codemirror/legacy-modes": "6.5.3", "@codemirror/search": "6.6.0", "@codemirror/state": "6.5.4", "@codemirror/theme-one-dark": "6.1.3", "@codemirror/view": "6.39.11", "@lezer/highlight": "1.2.3", "@lucide/lab": "0.1.2", "@replit/codemirror-indentation-markers": "6.5.3", "ansi_up": "6.0.6", "argon2": "0.41.1", "better-sqlite3": "11.7.0", "croner": "9.1.0", "cronstrue": "3.9.0", "devalue": "5.8.1", "drizzle-orm": "0.45.2", "fast-xml-parser": "5.7.3", "isomorphic-dompurify": "3.22.0", "js-yaml": "4.3.1", "ldapts": "8.1.3", "marked": "18.0.9", "modern-tar": "0.8.0", "mqtt": "5.15.2", "nodemailer": "9.0.1", "otpauth": "9.4.1", "postgres": "3.4.8", "prom-client": "15.1.3", "qrcode": "1.5.4", "rollup": "4.60.0", "svelte-sonner": "1.0.7", "undici": "7.29.0", "ws": "8.21.0" }, "devDependencies": { "@internationalized/date": "^3.10.1", "@layerstack/tailwind": "^1.0.1", "@lucide/svelte": "^0.562.0", "@playwright/test": "1.57.0", "@redocly/cli": "^2.43.1", "@scalar/api-reference": "1.64.0", "@sveltejs/adapter-node": "^5.2.0", "@sveltejs/kit": "2.50.0", "@sveltejs/vite-plugin-svelte": "6.2.4", "@tailwindcss/vite": "^4.1.18", "@types/better-sqlite3": "^7.6.12", "@types/js-yaml": "^4.0.9", "@types/node": "^22.10.0", "@types/nodemailer": "8.0.1", "@types/qrcode": "^1.5.6", "@types/sarif": "^2.1.7", "@types/ws": "^8.5.13", "@xterm/addon-fit": "^0.11.0", "@xterm/addon-web-links": "^0.12.0", "@xterm/xterm": "^6.0.0", "autoprefixer": "^10.4.23", "bits-ui": "2.15.4", "clsx": "^2.1.1", "cytoscape": "^3.33.1", "d3-scale": "^4.0.2", "d3-shape": "^3.2.0", "drizzle-kit": "0.31.8", "esm-env": "1.2.2", "layerchart": "^1.0.13", "lucide-svelte": "0.562.0", "mode-watcher": "^1.1.0", "postcss": "^8.5.6", "svelte": "5.56.10", "svelte-check": "^4.3.5", "svelte-easy-crop": "^5.0.0", "tailwind-merge": "^3.4.0", "tailwind-variants": "^3.2.2", "tailwindcss": "^4.1.18", "tsx": "4.23.1", "tw-animate-css": "^1.4.0", "typescript": "^5.9.3", "vite": "^7.3.1" }, "overrides": { "@codemirror/state": "6.5.4", "@codemirror/view": "6.39.11", "@codemirror/language": "6.12.1", "@codemirror/commands": "6.10.1", "@codemirror/search": "6.6.0", "@lezer/common": "1.5.0", "@lezer/highlight": "1.2.3", "devalue": "5.8.1" } }