{
  "name": "@uniswap/interface",
  "version": "1.1.0",
  "description": "Uniswap Interface",
  "license": "GPL-3.0-or-later",
  "scripts": {
    "ajv": "node scripts/compile-ajv-validators.js",
    "check:deps:usage": "depcheck",
    "contracts:compile:abi": "typechain --target ethers-v5 --out-dir src/abis/types \"./src/abis/**/*.json\"",
    "contracts:compile:v3": "typechain --target ethers-v5 --out-dir src/types/v3 \"../../node_modules/@uniswap/**/artifacts/contracts/**/*[!dbg].json\"",
    "contracts": "yarn contracts:compile:abi && yarn contracts:compile:v3",
    "graphql:schema": "node scripts/fetch-schema.js",
    "graphql:generate:data": "graphql-codegen --config graphql.data.codegen.config.ts",
    "graphql:generate:thegraph": "graphql-codegen --config graphql.thegraph.codegen.config.ts",
    "graphql:generate": "yarn graphql:generate:data && yarn graphql:generate:thegraph",
    "graphql": "yarn graphql:schema && yarn graphql:generate",
    "sitemap:generate": "node scripts/generate-sitemap.js",
    "i18n:extract": "lingui extract --locale en-US",
    "i18n:compile": "lingui compile",
    "i18n": "yarn i18n:extract --clean && yarn i18n:compile",
    "prepare": "concurrently \"npm:ajv\" \"npm:i18n\"",
    "start": "craco start",
    "start:cloud": "NODE_OPTIONS=--dns-result-order=ipv4first PORT=3001 npx wrangler pages dev --compatibility-flags=nodejs_compat --compatibility-date=2023-08-01 --proxy=3001 --port=3000 -- yarn start",
    "build:production": "craco build",
    "analyze": "source-map-explorer 'build/static/js/*.js' --no-border-checks --gzip",
    "serve": "serve build -s -l 3000",
    "lint": "yarn eslint --ignore-path .gitignore --cache --cache-location node_modules/.cache/eslint/ .",
    "typecheck": "tsc && yarn typecheck:cloud && yarn typecheck:cypress",
    "typecheck:cloud": "tsc -p functions/tsconfig.json",
    "typecheck:cypress": "tsc -p cypress/tsconfig.json",
    "test": "craco test",
    "test:cloud": "yarn jest functions --config=functions/jest.config.json",
    "cypress:open": "cypress open --browser chrome --e2e",
    "cypress:run": "cypress run --browser chrome --e2e",
    "deduplicate": "yarn-deduplicate --strategy=highest"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "yarn.lock": [
      "yarn deduplicate"
    ]
  },
  "jest": {
    "collectCoverageFrom": [
      "src/**/*.ts*",
      "!src/**/*.d.ts",
      "!src/abis/types/**",
      "!src/constants/**/*.ts",
      "!src/graphql/**/__generated__/**",
      "!src/locales/**",
      "!src/test-utils/**",
      "!src/types/v3/**"
    ],
    "coveragePathIgnorePatterns": [
      ".snap"
    ],
    "coverageThreshold": {
      "global": {
        "branches": 4,
        "functions": 6,
        "lines": 9,
        "statements": 9
      }
    }
  },
  "browserslist": {
    "production": [
      ">0.5%",
      "not dead"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@babel/preset-env": "7.23.3",
    "@cloudflare/workers-types": "4.20231025.0",
    "@craco/craco": "7.1.0",
    "@ethersproject/experimental": "5.7.0",
    "@lingui/cli": "4.5.0",
    "@lingui/swc-plugin": "4.0.4",
    "@swc/core": "1.3.72",
    "@swc/jest": "0.2.29",
    "@swc/plugin-styled-components": "1.5.97",
    "@testing-library/jest-dom": "5.17.0",
    "@testing-library/react": "13.4.0",
    "@testing-library/user-event": "14.5.1",
    "@typechain/ethers-v5": "7.2.0",
    "@types/array.prototype.flat": "1.2.5",
    "@types/array.prototype.flatmap": "1.2.6",
    "@types/d3": "7.4.3",
    "@types/jest": "29.5.0",
    "@types/lingui__core": "2.7.1",
    "@types/lingui__macro": "2.7.4",
    "@types/lingui__react": "2.8.3",
    "@types/ms": "0.7.31",
    "@types/multicodec": "1.0.0",
    "@types/node": "18.16.0",
    "@types/qs": "6.9.2",
    "@types/react": "^18.0.15",
    "@types/react-dom": "^18.0.6",
    "@types/react-redux": "7.1.30",
    "@types/react-table": "7.7.12",
    "@types/react-virtualized-auto-sizer": "1.0.0",
    "@types/react-window": "1.8.2",
    "@types/rebass": "4.0.7",
    "@types/styled-components": "5.1.25",
    "@types/testing-library__cypress": "5.0.13",
    "@types/uuid": "9.0.1",
    "@types/wcag-contrast": "3.0.0",
    "@types/xml2js": "0.4.14",
    "@uniswap/default-token-list": "11.11.0",
    "@uniswap/eslint-config": "workspace:^",
    "@vanilla-extract/jest-transform": "1.1.1",
    "@vanilla-extract/webpack-plugin": "2.3.1",
    "@vercel/og": "0.5.8",
    "@walletconnect/types": "2.11.2",
    "babel-jest": "29.6.1",
    "browser-cache-mock": "0.1.7",
    "concurrently": "^8.0.1",
    "cypress": "12.12.0",
    "cypress-hardhat": "2.5.0",
    "dotenv": "16.0.3",
    "eslint": "8.44.0",
    "eslint-plugin-import": "2.27.5",
    "eslint-plugin-rulesdir": "0.2.2",
    "hardhat": "2.14.0",
    "husky": "^8.0.3",
    "jest": "29.7.0",
    "jest-extended": "4.0.1",
    "jest-fail-on-console": "3.1.1",
    "jest-fetch-mock": "3.0.3",
    "jest-styled-components": "7.2.0",
    "jpeg-js": "0.4.4",
    "lint-staged": "^14.0.0",
    "mini-css-extract-plugin": "^2.7.6",
    "path-browserify": "1.0.1",
    "png-ts": "0.0.3",
    "postinstall-postinstall": "2.1.0",
    "prettier": "latest",
    "process": "0.11.10",
    "react-scripts": "5.0.1",
    "resize-observer-polyfill": "1.5.1",
    "serve": "^14.2.0",
    "source-map-explorer": "2.5.3",
    "start-server-and-test": "2.0.0",
    "swc-loader": "^0.2.3",
    "terser": "5.24.0",
    "terser-webpack-plugin": "5.3.9",
    "ts-jest": "^29.1.1",
    "tsafe": "1.6.4",
    "typescript": "5.3.3",
    "webpack": "5.89.0",
    "webpack-retry-chunk-load-plugin": "3.1.1",
    "wrangler": "3.15.0",
    "yarn-deduplicate": "6.0.0"
  },
  "dependencies": {
    "@apollo/client": "3.9.6",
    "@coinbase/wallet-sdk": "3.7.2",
    "@graphql-codegen/cli": "^3.3.1",
    "@graphql-codegen/client-preset": "^3.0.1",
    "@graphql-codegen/typescript": "^3.0.4",
    "@graphql-codegen/typescript-operations": "^3.0.2",
    "@graphql-codegen/typescript-react-apollo": "^3.3.7",
    "@graphql-codegen/typescript-resolvers": "^3.2.1",
    "@juggle/resize-observer": "3.4.0",
    "@lingui/core": "4.5.0",
    "@lingui/macro": "4.5.0",
    "@lingui/react": "4.5.0",
    "@looksrare/sdk": "0.10.4",
    "@metamask/jazzicon": "2.0.0",
    "@opensea/seaport-js": "1.3.0",
    "@popperjs/core": "2.11.8",
    "@reach/dialog": "0.10.5",
    "@reach/portal": "0.10.5",
    "@reduxjs/toolkit": "1.9.3",
    "@rive-app/react-canvas": "4.6.2",
    "@sentry/browser": "7.80.0",
    "@sentry/core": "7.80.0",
    "@sentry/react": "7.80.0",
    "@sentry/types": "7.80.0",
    "@tanstack/react-table": "8.10.7",
    "@types/poisson-disk-sampling": "2.2.4",
    "@types/react-scroll-sync": "0.8.7",
    "@types/react-window-infinite-loader": "1.0.6",
    "@uniswap/analytics": "1.7.0",
    "@uniswap/analytics-events": "2.31.0",
    "@uniswap/governance": "1.0.2",
    "@uniswap/liquidity-staker": "1.0.2",
    "@uniswap/merkle-distributor": "1.0.1",
    "@uniswap/permit2-sdk": "1.2.0",
    "@uniswap/redux-multicall": "1.1.8",
    "@uniswap/router-sdk": "1.8.0",
    "@uniswap/sdk-core": "4.1.2",
    "@uniswap/smart-order-router": "3.17.3",
    "@uniswap/token-lists": "1.0.0-beta.33",
    "@uniswap/uniswapx-sdk": "1.4.1",
    "@uniswap/universal-router-sdk": "1.7.1",
    "@uniswap/v2-core": "1.0.1",
    "@uniswap/v2-periphery": "1.1.0-beta.0",
    "@uniswap/v2-sdk": "4.1.0",
    "@uniswap/v3-core": "1.0.1",
    "@uniswap/v3-periphery": "1.4.4",
    "@uniswap/v3-sdk": "3.10.2",
    "@vanilla-extract/css": "1.14.0",
    "@vanilla-extract/dynamic": "2.1.0",
    "@vanilla-extract/sprinkles": "1.6.1",
    "@visx/axis": "2.18.0",
    "@visx/event": "2.17.0",
    "@visx/glyph": "2.17.0",
    "@visx/group": "2.17.0",
    "@visx/responsive": "2.17.0",
    "@visx/shape": "2.18.0",
    "@web3-react/coinbase-wallet": "8.2.3",
    "@web3-react/core": "8.2.3",
    "@web3-react/eip1193": "8.2.3",
    "@web3-react/empty": "8.2.3",
    "@web3-react/gnosis-safe": "8.2.4",
    "@web3-react/metamask": "8.2.4",
    "@web3-react/network": "8.2.3",
    "@web3-react/types": "8.2.3",
    "@web3-react/walletconnect-v2": "8.5.1",
    "ajv": "8.11.0",
    "ajv-formats": "2.1.1",
    "array.prototype.flat": "1.3.2",
    "array.prototype.flatmap": "1.3.2",
    "buffer": "6.0.3",
    "cids": "1.1.6",
    "clsx": "1.2.1",
    "copy-to-clipboard": "3.3.3",
    "d3": "7.6.1",
    "date-fns": "2.30.0",
    "ethers": "5.7.2",
    "fancy-canvas": "2.1.0",
    "focus-visible": "5.2.0",
    "framer-motion": "10.17.6",
    "get-graphql-schema": "^2.1.2",
    "graphql": "16.6.0",
    "immer": "9.0.6",
    "inter-ui": "3.19.3",
    "jotai": "1.3.7",
    "jsbi": "3.2.5",
    "lightweight-charts": "4.1.1",
    "localforage": "1.10.0",
    "make-plural": "7.0.0",
    "ms": "2.1.3",
    "multicodec": "3.2.1",
    "multihashes": "4.0.2",
    "nock": "13.3.3",
    "poisson-disk-sampling": "2.3.1",
    "polished": "3.3.2",
    "polyfill-object.fromentries": "1.0.1",
    "qrcode.react": "3.1.0",
    "qs": "6.9.4",
    "query-string": "7.1.3",
    "rc-slider": "10.4.0",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-feather": "2.0.10",
    "react-helmet-async": "2.0.4",
    "react-infinite-scroll-component": "6.1.0",
    "react-is": "18.2.0",
    "react-markdown": "4.3.1",
    "react-native-gesture-handler": "2.15.0",
    "react-popper": "2.3.0",
    "react-query": "3.39.1",
    "react-redux": "8.0.5",
    "react-router-dom": "6.10.0",
    "react-scroll-sync": "0.11.2",
    "react-spring": "9.7.3",
    "react-table": "7.8.0",
    "react-use-gesture": "6.0.14",
    "react-virtualized-auto-sizer": "1.0.20",
    "react-window": "1.8.9",
    "react-window-infinite-loader": "1.0.9",
    "rebass": "4.0.7",
    "redux": "4.2.1",
    "redux-persist": "6.0.0",
    "statsig-react": "1.32.0",
    "styled-components": "5.3.11",
    "tiny-invariant": "1.3.1",
    "uniswap": "workspace:^",
    "use-resize-observer": "9.1.0",
    "utilities": "workspace:^",
    "uuid": "9.0.0",
    "video-extensions": "1.2.0",
    "wcag-contrast": "3.0.0",
    "web-vitals": "2.1.4",
    "workbox-core": "6.6.0",
    "workbox-navigation-preload": "6.6.0",
    "workbox-precaching": "6.6.0",
    "workbox-routing": "6.6.0",
    "xml2js": "0.6.2",
    "zone.js": "0.14.4",
    "zustand": "4.4.6"
  },
  "engines": {
    "npm": "please-use-yarn",
    "node": "18.x",
    "yarn": ">=1.22"
  }
}
