{ "name": "m3u-filter", "description": "m3u-filter", "author": "euzu", "version": "2.2.1", "private": true, "homepage": "", "license": "MIT", "scripts": { "react-start": "react-scripts start", "react-build": "react-scripts build", "react-test": "react-scripts test --env=jsdom", "react-eject": "react-scripts eject", "build": "cross-env GENERATE_SOURCEMAP=false REACT_APP_STAGE=production PUBLIC_URL= yarn react-build", "start": "yarn react-start", "lint": "eslint --config eslintrc.json src/** --no-error-on-unmatched-pattern --quiet", "upgr": "yarn upgrade-interactive --latest", "analyze": "source-map-explorer 'build/static/js/*.js'" }, "dependencies": { "file-saver": "2.0.5", "notistack": "3.0.2", "react": "19.0.0", "react-datepicker": "8.1.0", "react-dom": "19.0.0", "react-tag-input-component": "2.0.2", "rxjs": "7.8.1", "@fontsource/rubik": "5.1.1", "jwt-decode": "4.0.0", "i18next": "24.2.2", "react-i18next": "15.4.1" }, "devDependencies": { "@babel/plugin-proposal-private-property-in-object": "7.21.11", "@babel/runtime": "7.26.9", "@types/file-saver": "2.0.7", "@types/react": "19.0.10", "@types/react-dom": "19.0.4", "@types/video.js": "7.3.58", "@typescript-eslint/eslint-plugin": "8.24.1", "@typescript-eslint/parser": "8.24.1", "babel-eslint": "10.1.0", "concurrently": "9.1.2", "cross-env": "7.0.3", "eslint": "9.20.1", "eslint-config-prettier": "10.0.1", "eslint-config-react-app": "7.0.1", "eslint-plugin-flowtype": "8.0.3", "eslint-plugin-import": "2.31.0", "eslint-plugin-jest": "28.11.0", "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-node": "11.1.0", "eslint-plugin-react": "7.37.4", "eslint-plugin-react-hooks": "5.1.0", "prettier": "3.5.1", "react-scripts": "5.0.1", "sass": "1.85.0", "source-map-explorer": "2.5.3", "typescript": "5.7.3", "wait-on": "8.0.2" }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "eslintConfig": { "extends": [ "react-app", "react-app/jest" ] } }