{ "name": "movie-web", "version": "4.7.0", "private": true, "homepage": "https://github.com/movie-web/movie-web", "scripts": { "dev": "vite", "build": "vite build", "build:pwa": "cross-env VITE_PWA_ENABLED=true vite build", "test": "vitest run", "preview": "vite preview", "lint": "eslint --ext .tsx,.ts src", "lint:fix": "eslint --fix --ext .tsx,.ts src", "lint:report": "eslint --ext .tsx,.ts --output-file eslint_report.json --format json src", "preinstall": "npx -y only-allow pnpm" }, "browserslist": { "production": [ "defaults", "chrome > 90" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "dependencies": { "@formkit/auto-animate": "^0.8.1", "@headlessui/react": "^1.7.17", "@ladjs/country-language": "^1.0.3", "@movie-web/providers": "^2.3.0", "@noble/hashes": "^1.3.3", "@plasmohq/messaging": "^0.6.1", "@react-spring/web": "^9.7.3", "@scure/bip39": "^1.2.2", "@sozialhelden/ietf-language-tags": "^5.4.2", "@types/node-forge": "^1.3.10", "classnames": "^2.3.2", "core-js": "^3.34.0", "detect-browser": "^5.3.0", "dompurify": "^3.0.6", "flag-icons": "^7.1.0", "focus-trap-react": "^10.2.3", "fscreen": "^1.2.0", "fuse.js": "^7.0.0", "hls.js": "^1.5.7", "i18next": "^23.7.11", "immer": "^10.0.3", "jwt-decode": "^4.0.0", "lodash.isequal": "^4.5.0", "lodash.merge": "^4.6.2", "million": "^2.6.4", "nanoid": "^5.0.4", "node-forge": "^1.3.1", "ofetch": "^1.3.3", "react": "^18.2.0", "react-dom": "^18.2.0", "react-ga4": "^2.1.0", "react-google-recaptcha-v3": "^1.10.1", "react-helmet-async": "^2.0.4", "react-i18next": "^14.0.0", "react-lazy-with-preload": "^2.2.1", "react-router-dom": "^6.21.1", "react-sticky-el": "^2.1.0", "react-turnstile": "^1.1.2", "react-use": "^17.4.2", "semver": "^7.5.4", "slugify": "^1.6.6", "subsrt-ts": "^2.1.2", "zustand": "^4.4.7" }, "devDependencies": { "@babel/core": "^7.23.6", "@babel/preset-env": "^7.23.6", "@babel/preset-typescript": "^7.23.3", "@rollup/wasm-node": "^4.9.4", "@types/chromecast-caf-sender": "^1.0.8", "@types/crypto-js": "^4.2.1", "@types/dompurify": "^3.0.5", "@types/fscreen": "^1.0.4", "@types/lodash.isequal": "^4.5.8", "@types/lodash.merge": "^4.6.9", "@types/lodash.throttle": "^4.1.9", "@types/node": "^20.10.5", "@types/pako": "^2.0.3", "@types/react": "^18.2.45", "@types/react-dom": "^18.2.18", "@types/react-helmet": "^6.1.11", "@types/react-router": "^5.1.20", "@types/react-router-dom": "^5.3.3", "@types/react-stickynode": "^4.0.3", "@types/react-transition-group": "^4.4.10", "@types/semver": "^7.5.6", "@typescript-eslint/eslint-plugin": "^6.15.0", "@typescript-eslint/parser": "^6.15.0", "@vitejs/plugin-react": "^4.2.1", "autoprefixer": "^10.4.16", "cross-env": "^7.0.3", "eslint": "^8.56.0", "eslint-config-airbnb": "19.0.4", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-prettier": "^5.1.1", "eslint-plugin-react": "7.33.2", "eslint-plugin-react-hooks": "4.6.0", "glob": "^10.3.10", "handlebars": "^4.7.8", "jsdom": "^23.0.1", "postcss": "^8.4.32", "postcss-rtl": "^2.0.0", "postcss-rtlcss": "^4.0.9", "prettier": "^3.1.1", "prettier-plugin-tailwindcss": "^0.5.9", "rollup-plugin-visualizer": "^5.11.0", "tailwind-scrollbar": "^3.0.5", "tailwindcss": "^3.4.0", "tailwindcss-themer": "^4.0.0", "type-fest": "^4.8.3", "typescript": "^5.3.3", "vite": "^5.0.13", "vite-plugin-checker": "^0.6.2", "vite-plugin-package-version": "^1.1.0", "vite-plugin-pwa": "^0.17.4", "vite-plugin-static-copy": "^1.0.0", "vitest": "^1.1.0", "workbox-window": "^7.0.0" }, "pnpm": { "overrides": { "get-func-name@<2.0.1": ">=2.0.1", "postcss@<8.4.31": ">=8.4.31", "@babel/traverse@<7.23.2": ">=7.23.2", "crypto-js@<4.2.0": ">=4.2.0", "rollup": "npm:@rollup/wasm-node" } } }