{
  "name": "immich-web",
  "version": "2.4.1",
  "license": "GNU Affero General Public License version 3",
  "type": "module",
  "scripts": {
    "dev": "vite dev --host 0.0.0.0 --port 3000",
    "build": "vite build",
    "build:stats": "BUILD_STATS=true vite build",
    "package": "svelte-kit package",
    "preview": "vite preview",
    "check:svelte": "svelte-check --no-tsconfig --fail-on-warnings --compiler-warnings 'state_referenced_locally:ignore'",
    "check:typescript": "tsc --noEmit",
    "check:watch": "pnpm run check:svelte --watch",
    "check:code": "pnpm run format && pnpm run lint && pnpm run check:svelte && pnpm run check:typescript",
    "check:all": "pnpm run check:code && pnpm run test:cov",
    "lint": "eslint . --max-warnings 0 --concurrency 4",
    "lint:fix": "pnpm run lint --fix",
    "format": "prettier --check .",
    "format:fix": "prettier --write . && pnpm run format:i18n",
    "format:i18n": "pnpm dlx sort-json ../i18n/*.json",
    "test": "vitest --run",
    "test:cov": "vitest --coverage",
    "test:watch": "vitest dev",
    "prepare": "svelte-kit sync"
  },
  "dependencies": {
    "@formatjs/icu-messageformat-parser": "^2.9.8",
    "@immich/justified-layout-wasm": "^0.4.3",
    "@immich/sdk": "file:../open-api/typescript-sdk",
    "@immich/ui": "^0.50.1",
    "@mapbox/mapbox-gl-rtl-text": "0.2.3",
    "@mdi/js": "^7.4.47",
    "@photo-sphere-viewer/core": "^5.14.0",
    "@photo-sphere-viewer/equirectangular-video-adapter": "^5.14.0",
    "@photo-sphere-viewer/markers-plugin": "^5.14.0",
    "@photo-sphere-viewer/resolution-plugin": "^5.14.0",
    "@photo-sphere-viewer/settings-plugin": "^5.14.0",
    "@photo-sphere-viewer/video-plugin": "^5.14.0",
    "@types/geojson": "^7946.0.16",
    "@zoom-image/core": "^0.41.0",
    "@zoom-image/svelte": "^0.3.0",
    "async-mutex": "^0.5.0",
    "dom-to-image": "^2.6.0",
    "fabric": "^6.5.4",
    "geo-coordinates-parser": "^1.7.4",
    "geojson": "^0.5.0",
    "handlebars": "^4.7.8",
    "happy-dom": "^20.0.0",
    "intl-messageformat": "^10.7.11",
    "justified-layout": "^4.1.0",
    "lodash-es": "^4.17.21",
    "luxon": "^3.4.4",
    "maplibre-gl": "^5.6.2",
    "pmtiles": "^4.3.0",
    "qrcode": "^1.5.4",
    "simple-icons": "^15.15.0",
    "socket.io-client": "~4.8.0",
    "svelte-gestures": "^5.2.2",
    "svelte-i18n": "^4.0.1",
    "svelte-maplibre": "^1.2.5",
    "svelte-persisted-store": "^0.12.0",
    "tabbable": "^6.2.0",
    "thumbhash": "^0.1.1",
    "uplot": "^1.6.32"
  },
  "devDependencies": {
    "@eslint/js": "^9.36.0",
    "@faker-js/faker": "^10.0.0",
    "@koddsson/eslint-plugin-tscompat": "^0.2.0",
    "@socket.io/component-emitter": "^3.1.0",
    "@sveltejs/adapter-static": "^3.0.8",
    "@sveltejs/enhanced-img": "^0.9.0",
    "@sveltejs/kit": "^2.27.1",
    "@sveltejs/vite-plugin-svelte": "6.2.1",
    "@tailwindcss/vite": "^4.1.7",
    "@testing-library/jest-dom": "^6.4.2",
    "@testing-library/svelte": "^5.2.8",
    "@testing-library/user-event": "^14.5.2",
    "@types/chromecast-caf-sender": "^1.0.11",
    "@types/dom-to-image": "^2.6.7",
    "@types/justified-layout": "^4.1.4",
    "@types/lodash-es": "^4.17.12",
    "@types/luxon": "^3.4.2",
    "@types/qrcode": "^1.5.5",
    "@vitest/coverage-v8": "^3.0.0",
    "dotenv": "^17.0.0",
    "eslint": "^9.36.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-compat": "^6.0.2",
    "eslint-plugin-svelte": "^3.12.4",
    "eslint-plugin-unicorn": "^62.0.0",
    "factory.ts": "^1.4.1",
    "globals": "^16.0.0",
    "happy-dom": "^20.0.0",
    "prettier": "^3.7.4",
    "prettier-plugin-organize-imports": "^4.0.0",
    "prettier-plugin-sort-json": "^4.1.1",
    "prettier-plugin-svelte": "^3.3.3",
    "rollup-plugin-visualizer": "^6.0.0",
    "svelte": "5.43.3",
    "svelte-check": "^4.1.5",
    "svelte-eslint-parser": "^1.3.3",
    "tailwindcss": "^4.1.7",
    "typescript": "^5.8.3",
    "typescript-eslint": "^8.45.0",
    "vite": "^7.1.2",
    "vitest": "^3.0.0"
  },
  "volta": {
    "node": "24.11.1"
  }
}
