{ "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.2.1", "@embedpdf/engines": "^1.2.1", "@embedpdf/plugin-interaction-manager": "^1.2.1", "@embedpdf/plugin-loader": "^1.2.1", "@embedpdf/plugin-pan": "^1.2.1", "@embedpdf/plugin-render": "^1.2.1", "@embedpdf/plugin-rotate": "^1.2.1", "@embedpdf/plugin-scroll": "^1.2.1", "@embedpdf/plugin-search": "^1.2.1", "@embedpdf/plugin-selection": "^1.2.1", "@embedpdf/plugin-spread": "^1.2.1", "@embedpdf/plugin-thumbnail": "^1.2.1", "@embedpdf/plugin-tiling": "^1.2.1", "@embedpdf/plugin-viewport": "^1.2.1", "@embedpdf/plugin-zoom": "^1.2.1", "@emotion/react": "^11.14.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", "@tailwindcss/postcss": "^4.1.13", "@tanstack/react-virtual": "^3.13.12", "autoprefixer": "^10.4.21", "axios": "^1.12.2", "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", "tailwindcss": "^4.1.13", "web-vitals": "^5.1.0" }, "scripts": { "predev": "npm run generate-icons", "dev": "npm run typecheck && vite", "prebuild": "npm run generate-icons", "lint": "eslint", "build": "npm run typecheck && vite build", "preview": "vite preview", "typecheck": "tsc --noEmit", "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", "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": { "@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/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-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", "typescript": "^5.9.2", "typescript-eslint": "^8.44.1", "vite": "^7.1.7", "vitest": "^3.2.4" }, "depcheck": { "ignoreMatches": [ "@emotion/*", "tailwindcss", "@testing-library/user-event", "@vitest/coverage-v8" ] } }