{
  "name": "immich-web",
  "version": "1.132.3",
  "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 'reactive_declaration_non_reactive_property:ignore' --ignore src/lib/components/photos-page/asset-grid.svelte",
    "check:typescript": "tsc --noEmit",
    "check:watch": "npm run check:svelte -- --watch",
    "check:code": "npm run format && npm run lint:p && npm run check:svelte && npm run check:typescript",
    "check:all": "npm run check:code && npm run test:cov",
    "lint": "eslint . --max-warnings 0",
    "lint:p": "eslint-p . --max-warnings 0 --concurrency=4",
    "lint:fix": "npm run lint -- --fix",
    "format": "prettier --check .",
    "format:fix": "prettier --write .",
    "test": "vitest --run",
    "test:cov": "vitest --coverage",
    "test:watch": "vitest dev",
    "prepare": "svelte-kit sync"
  },
  "dependencies": {
    "@formatjs/icu-messageformat-parser": "^2.9.8",
    "@immich/sdk": "file:../open-api/typescript-sdk",
    "@immich/ui": "^0.18.1",
    "@mapbox/mapbox-gl-rtl-text": "0.2.3",
    "@mdi/js": "^7.4.47",
    "@photo-sphere-viewer/core": "^5.11.5",
    "@photo-sphere-viewer/equirectangular-video-adapter": "^5.11.5",
    "@photo-sphere-viewer/resolution-plugin": "^5.11.5",
    "@photo-sphere-viewer/settings-plugin": "^5.11.5",
    "@photo-sphere-viewer/video-plugin": "^5.11.5",
    "@zoom-image/svelte": "^0.3.0",
    "dom-to-image": "^2.6.0",
    "fabric": "^6.5.4",
    "handlebars": "^4.7.8",
    "intl-messageformat": "^10.7.11",
    "justified-layout": "^4.1.0",
    "lodash-es": "^4.17.21",
    "luxon": "^3.4.4",
    "maplibre-gl": "^5.3.0",
    "pmtiles": "^4.3.0",
    "qrcode": "^1.5.4",
    "socket.io-client": "~4.8.0",
    "svelte-gestures": "^5.1.3",
    "svelte-i18n": "^4.0.1",
    "svelte-maplibre": "^1.0.0",
    "svelte-persisted-store": "^0.12.0",
    "thumbhash": "^0.1.1"
  },
  "devDependencies": {
    "@eslint/eslintrc": "^3.1.0",
    "@eslint/js": "^9.18.0",
    "@faker-js/faker": "^9.3.0",
    "@socket.io/component-emitter": "^3.1.0",
    "@sveltejs/adapter-static": "^3.0.8",
    "@sveltejs/enhanced-img": "^0.4.4",
    "@sveltejs/kit": "^2.15.2",
    "@sveltejs/vite-plugin-svelte": "^5.0.3",
    "@testing-library/jest-dom": "^6.4.2",
    "@testing-library/svelte": "^5.2.6",
    "@testing-library/user-event": "^14.5.2",
    "@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",
    "autoprefixer": "^10.4.17",
    "dotenv": "^16.4.7",
    "eslint": "^9.18.0",
    "eslint-config-prettier": "^10.0.0",
    "eslint-p": "^0.21.0",
    "eslint-plugin-svelte": "^3.0.0",
    "eslint-plugin-unicorn": "^57.0.0",
    "factory.ts": "^1.4.1",
    "globals": "^16.0.0",
    "postcss": "^8.5.0",
    "prettier": "^3.4.2",
    "prettier-plugin-organize-imports": "^4.0.0",
    "prettier-plugin-sort-json": "^4.1.1",
    "prettier-plugin-svelte": "^3.3.3",
    "rollup-plugin-visualizer": "^5.14.0",
    "svelte": "^5.25.3",
    "svelte-check": "^4.1.5",
    "tailwindcss": "^3.4.17",
    "tslib": "^2.6.2",
    "typescript": "^5.7.3",
    "typescript-eslint": "^8.28.0",
    "vite": "^6.0.0",
    "vitest": "^3.0.0"
  },
  "volta": {
    "node": "22.14.0"
  }
}