{
  "name": "frontend",
  "version": "0.1.0",
  "private": true,
  "license": "SEE LICENSE IN https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/refs/heads/main/proprietary/LICENSE",
  "proxy": "http://localhost:8080",
  "dependencies": {
    "@atlaskit/pragmatic-drag-and-drop": "^1.7.7",
    "@embedpdf/core": "^1.3.14",
    "@embedpdf/engines": "^1.3.14",
    "@embedpdf/plugin-annotation": "^1.3.14",
    "@embedpdf/plugin-export": "^1.3.14",
    "@embedpdf/plugin-history": "^1.3.14",
    "@embedpdf/plugin-interaction-manager": "^1.3.14",
    "@embedpdf/plugin-loader": "^1.3.14",
    "@embedpdf/plugin-pan": "^1.3.14",
    "@embedpdf/plugin-render": "^1.3.14",
    "@embedpdf/plugin-rotate": "^1.3.14",
    "@embedpdf/plugin-scroll": "^1.3.14",
    "@embedpdf/plugin-search": "^1.3.14",
    "@embedpdf/plugin-selection": "^1.3.14",
    "@embedpdf/plugin-spread": "^1.3.14",
    "@embedpdf/plugin-thumbnail": "^1.3.14",
    "@embedpdf/plugin-tiling": "^1.3.14",
    "@embedpdf/plugin-viewport": "^1.3.14",
    "@embedpdf/plugin-zoom": "^1.3.14",
    "@emotion/react": "^11.14.0",
    "@tauri-apps/api": "^2.5.0",
    "@tauri-apps/plugin-fs": "^2.4.0",
    "@emotion/styled": "^11.14.1",
    "@iconify/react": "^6.0.2",
    "@mantine/core": "^8.3.1",
    "@mantine/dates": "^8.3.1",
    "@mantine/dropzone": "^8.3.1",
    "@mantine/hooks": "^8.3.1",
    "@mui/icons-material": "^7.3.2",
    "@mui/material": "^7.3.2",
    "@reactour/tour": "^3.8.0",
    "@tailwindcss/postcss": "^4.1.13",
    "@tanstack/react-virtual": "^3.13.12",
    "autoprefixer": "^10.4.21",
    "axios": "^1.12.2",
    "globals": "^16.4.0",
    "i18next": "^25.5.2",
    "i18next-browser-languagedetector": "^8.2.0",
    "i18next-http-backend": "^3.0.2",
    "jszip": "^3.10.1",
    "license-report": "^6.8.0",
    "pdf-lib": "^1.17.1",
    "pdfjs-dist": "^5.4.149",
    "posthog-js": "^1.268.0",
    "react": "^19.1.1",
    "react-dom": "^19.1.1",
    "react-i18next": "^15.7.3",
    "react-router-dom": "^7.9.1",
    "signature_pad": "^5.0.4",
    "tailwindcss": "^4.1.13",
    "web-vitals": "^5.1.0"
  },
  "scripts": {
    "predev": "npm run generate-icons",
    "dev": "vite",
    "prebuild": "npm run generate-icons",
    "lint": "eslint --max-warnings=0",
    "build": "vite build",
    "preview": "vite preview",
    "tauri-dev": "tauri dev --no-watch",
    "tauri-build": "tauri build",
    "typecheck": "npm run typecheck:proprietary",
    "typecheck:core": "tsc --noEmit --project tsconfig.core.json",
    "typecheck:proprietary": "tsc --noEmit --project tsconfig.proprietary.json",
    "typecheck:desktop": "tsc --noEmit --project tsconfig.desktop.json",
    "typecheck:all": "npm run typecheck:core && npm run typecheck:proprietary && npm run typecheck:desktop",
    "check": "npm run typecheck && npm run lint && npm run test:run",
    "generate-licenses": "node scripts/generate-licenses.js",
    "generate-icons": "node scripts/generate-icons.js",
    "generate-icons:verbose": "node scripts/generate-icons.js --verbose",
    "generate-sample-pdf": "node scripts/sample-pdf/generate.mjs",
    "test": "vitest",
    "test:run": "vitest run",
    "test:watch": "vitest --watch",
    "test:coverage": "vitest --coverage",
    "test:e2e": "playwright test",
    "test:e2e:ui": "playwright test --ui",
    "test:e2e:install": "playwright install",
    "update:minor": "npm outdated || npm update && npm audit fix && npm test",
    "update:major": "npx npm-check-updates -u && npm install",
    "update:interactive": "npx npm-check-updates -i",
    "update:minor-strict": "npx npm-check-updates -u --target minor && npm install"
  },
  "eslintConfig": {
    "extends": [
      "eslint:recommended",
      "plugin:@typescript-eslint/recommended",
      "plugin:react-hooks/recommended"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@tauri-apps/cli": "^2.5.0",
    "@eslint/js": "^9.36.0",
    "@iconify-json/material-symbols": "^1.2.37",
    "@iconify/utils": "^3.0.2",
    "@playwright/test": "^1.55.0",
    "@testing-library/dom": "^10.4.1",
    "@testing-library/jest-dom": "^6.8.0",
    "@testing-library/react": "^16.3.0",
    "@testing-library/user-event": "^14.6.1",
    "@types/gapi": "^0.0.47",
    "@types/gapi.client.drive-v3": "^0.0.5",
    "@types/google.accounts": "^0.0.18",
    "@types/google.picker": "^0.0.51",
    "@types/node": "^24.5.2",
    "@types/react": "^19.1.13",
    "@types/react-dom": "^19.1.9",
    "@typescript-eslint/eslint-plugin": "^8.44.1",
    "@typescript-eslint/parser": "^8.44.1",
    "@vitejs/plugin-react-swc": "^4.1.0",
    "@vitest/coverage-v8": "^3.2.4",
    "eslint": "^9.36.0",
    "eslint-import-resolver-typescript": "^4.4.4",
    "eslint-plugin-import": "^2.32.0",
    "eslint-plugin-react-hooks": "^5.2.0",
    "jsdom": "^27.0.0",
    "license-checker": "^25.0.1",
    "madge": "^8.0.0",
    "postcss": "^8.5.6",
    "postcss-cli": "^11.0.1",
    "postcss-preset-mantine": "^1.18.0",
    "postcss-simple-vars": "^7.0.1",
    "puppeteer": "^24.25.0",
    "typescript": "^5.9.2",
    "typescript-eslint": "^8.44.1",
    "vite": "^7.1.7",
    "vite-tsconfig-paths": "^5.1.4",
    "vitest": "^3.2.4"
  },
  "depcheck": {
    "ignoreMatches": [
      "@emotion/*",
      "tailwindcss",
      "@testing-library/user-event",
      "@vitest/coverage-v8"
    ]
  }
}
