{ "name": "yacd", "version": "0.2.12", "description": "Yet another Clash dashboard", "scripts": { "lint": "eslint --fix --cache src", "start": "NODE_ENV=development node server.js", "build": "NODE_ENV=production webpack", "pretty": "prettier --single-quote --write 'src/**/*.{js,scss,ts,tsx,md}'" }, "browserslist": [ ">0.25%", "not ie 11", "not op_mini all" ], "keywords": [ "react", "clash" ], "author": "Haishan (https://haishan.me)", "private": true, "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "@hsjs/react-cache": "0.0.0-alpha.aa94237", "@reach/tooltip": "^0.11.2", "@sentry/browser": "^5.28.0", "chart.js": "^2.9.2", "clsx": "^1.1.0", "core-js": "^3.8.0", "date-fns": "^2.16.0", "fontsource-open-sans": "^3.0.9", "fontsource-roboto-mono": "^3.0.3", "framer-motion": "^2.9.5", "history": "^5.0.0", "immer": "^8.0.0", "invariant": "^2.2.4", "lodash-es": "^4.17.14", "memoize-one": "^5.1.1", "modern-normalize": "^1.0.0", "prop-types": "^15.5.10", "react": "0.0.0-experimental-94c0244ba", "react-dom": "0.0.0-experimental-94c0244ba", "react-feather": "^2.0.9", "react-helmet": "^6.1.0", "react-icons": "^3.10.0", "react-modal": "^3.12.1", "react-query": "^2.26.3", "react-router": "6.0.0-beta.0", "react-router-dom": "6.0.0-beta.0", "react-switch": "^5.0.1", "react-table": "^7.6.2", "react-tabs": "^3.1.0", "react-tiny-fab": "^3.5.0", "react-window": "^1.8.5", "recoil": "^0.1.2", "regenerator-runtime": "^0.13.7", "reselect": "^4.0.0", "workbox-core": "^5.1.4", "workbox-expiration": "^5.1.4", "workbox-precaching": "^5.1.4", "workbox-routing": "^5.1.4", "workbox-strategies": "^5.1.4" }, "devDependencies": { "@babel/core": "^7.12.9", "@babel/plugin-proposal-class-properties": "^7.7.4", "@babel/plugin-proposal-do-expressions": "^7.7.4", "@babel/plugin-syntax-dynamic-import": "^7.7.4", "@babel/plugin-transform-runtime": "^7.11.0", "@babel/preset-env": "^7.12.7", "@babel/preset-flow": "^7.7.4", "@babel/preset-react": "^7.12.7", "@babel/preset-typescript": "^7.12.7", "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", "@types/invariant": "^2.2.33", "@types/jest": "^26.0.16", "@types/lodash-es": "^4.17.3", "@types/react": "^17.0.0", "@types/react-dom": "^17.0.0", "@types/react-helmet": "^6.1.0", "@types/react-modal": "^3.10.6", "@types/react-tabs": "^2.3.2", "@typescript-eslint/eslint-plugin": "^4.9.0", "@typescript-eslint/parser": "^4.9.0", "autoprefixer": "^10.0.4", "babel-eslint": "10.x", "babel-loader": "^8.2.2", "clean-webpack-plugin": "^3.0.0", "copy-webpack-plugin": "^6.3.2", "css-loader": "^5.0.1", "css-minimizer-webpack-plugin": "^1.1.5", "cssnano": "^4.1.7", "eslint": "^7.14.0", "eslint-config-airbnb-base": "^14.2.1", "eslint-config-prettier": "^6.11.0", "eslint-config-react-app": "^6.0.0", "eslint-import-resolver-webpack": "^0.13.0", "eslint-plugin-flowtype": "^5.2.0", "eslint-plugin-import": "^2.22.1", "eslint-plugin-jest": "^24.1.3", "eslint-plugin-jsx-a11y": "^6.3.1", "eslint-plugin-react": "^7.21.4", "eslint-plugin-react-hooks": "^4.1.2", "eslint-plugin-simple-import-sort": "^6.0.1", "file-loader": "^6.1.1", "fork-ts-checker-notifier-webpack-plugin": "^3.0.0", "fork-ts-checker-webpack-plugin": "^6.0.4", "html-webpack-plugin": "^4.5.0", "mini-css-extract-plugin": "^1.3.1", "postcss": "^8.1.10", "postcss-custom-media": "^7.0.8", "postcss-extend-rule": "^3.0.0", "postcss-import": "^13.0.0", "postcss-loader": "^4.1.0", "postcss-nested": "^5.0.0", "postcss-simple-vars": "^6.0.0", "prettier": "^2.2.1", "react-refresh": "^0.9.0", "resize-observer-polyfill": "^1.5.1", "style-loader": "^2.0.0", "terser-webpack-plugin": "^5.0.0", "ts-loader": "^8.0.11", "typescript": "^4.1.2", "webpack": "^5.9.0", "webpack-bundle-analyzer": "^4.2.0", "webpack-cli": "^4.2.0", "webpack-dev-middleware": "^4.0.2", "webpack-hot-middleware": "^2.22.2", "workbox-webpack-plugin": "^5.1.4" } }