{ "name": "@uniswap/interface", "version": "1.1.0", "description": "Uniswap Interface", "license": "GPL-3.0-or-later", "scripts": { "ajv": "node scripts/compile-ajv-validators.js", "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:fetch": "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:fetch && 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:contracts\" \"npm:graphql\" \"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": "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", "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", "postinstall": "yarn patch-package" }, "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.22.7", "@cloudflare/workers-types": "^4.20230710.1", "@craco/craco": "^7.1.0", "@ethersproject/experimental": "^5.4.0", "@lingui/cli": "^4.3.0", "@lingui/swc-plugin": "^4.0.4", "@swc/core": "^1.3.72", "@swc/jest": "^0.2.27", "@swc/plugin-styled-components": "^1.5.70", "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.1", "@testing-library/user-event": "^14.4.3", "@typechain/ethers-v5": "^7.0.0", "@types/array.prototype.flat": "^1.2.1", "@types/array.prototype.flatmap": "^1.2.2", "@types/d3": "^6.7.1", "@types/jest": "^27.0.1", "@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": "^13.13.5", "@types/qs": "^6.9.2", "@types/react": "^18.0.15", "@types/react-dom": "^18.0.6", "@types/react-redux": "^7.1.24", "@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.5", "@types/ua-parser-js": "^0.7.36", "@types/uuid": "^8.3.4", "@types/wcag-contrast": "^3.0.0", "@types/xml2js": "^0.4.12", "@uniswap/default-token-list": "^11.8.0", "@uniswap/eslint-config": "^1.2.0", "@vanilla-extract/jest-transform": "^1.1.1", "@vanilla-extract/webpack-plugin": "^2.2.0", "@vercel/og": "0.5.8", "@walletconnect/types": "^2.8.6", "babel-jest": "^29.6.1", "browser-cache-mock": "^0.1.7", "buffer": "^6.0.3", "concurrently": "^8.0.1", "cypress": "12.12.0", "cypress-hardhat": "^2.5.0", "env-cmd": "^10.1.0", "eslint": "^7.11.0", "eslint-plugin-import": "^2.27", "eslint-plugin-rulesdir": "^0.2.2", "hardhat": "^2.14.0", "husky": "^8.0.3", "jest": "^29.6.1", "jest-extended": "^4.0.1", "jest-fail-on-console": "^3.1.1", "jest-fetch-mock": "^3.0.3", "jest-styled-components": "^7.0.8", "jpeg-js": "^0.4.4", "lint-staged": "^14.0.0", "mini-css-extract-plugin": "^2.7.6", "patch-package": "^7.0.0", "path-browserify": "^1.0.1", "png-ts": "^0.0.3", "postinstall-postinstall": "^2.1.0", "prettier": "^2.8.8", "process": "^0.11.10", "react-scripts": "^5.0.1", "resize-observer-polyfill": "^1.5.1", "serve": "^11.3.2", "source-map-explorer": "^2.5.3", "start-server-and-test": "^2.0.0", "swc-loader": "^0.2.3", "terser": "^5.19.4", "terser-webpack-plugin": "^5.3.9", "ts-jest": "^29.1.1", "ts-transform-graphql-tag": "^0.2.1", "tsafe": "^1.6.4", "typechain": "^5.0.0", "typescript": "^4.9.4", "webpack": "^5.88.2", "webpack-retry-chunk-load-plugin": "^3.1.1", "wrangler": "^3.7.0", "yarn-deduplicate": "^6.0.0" }, "dependencies": { "@apollo/client": "^3.7.2", "@coinbase/wallet-sdk": "^3.6.4", "@fontsource/ibm-plex-mono": "^4.5.1", "@fontsource/inter": "^4.5.1", "@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.3.0", "@lingui/macro": "^4.3.0", "@lingui/react": "^4.3.0", "@looksrare/sdk": "^0.10.2", "@metamask/jazzicon": "^2.0.0", "@opensea/seaport-js": "^1.2.0", "@popperjs/core": "^2.4.4", "@reach/dialog": "^0.10.3", "@reach/portal": "^0.10.3", "@reduxjs/toolkit": "^1.9.3", "@sentry/react": "^7.45.0", "@sentry/tracing": "^7.45.0", "@sentry/types": "^7.45.0", "@types/react-helmet": "^6.1.7", "@types/react-window-infinite-loader": "^1.0.6", "@uniswap/analytics": "1.5.0", "@uniswap/analytics-events": "^2.25.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.6.0", "@uniswap/sdk-core": "^4.0.3", "@uniswap/smart-order-router": "^3.15.0", "@uniswap/token-lists": "^1.0.0-beta.33", "@uniswap/uniswapx-sdk": "^1.4.1", "@uniswap/universal-router-sdk": "^1.5.8", "@uniswap/v2-core": "^1.0.1", "@uniswap/v2-periphery": "^1.1.0-beta.0", "@uniswap/v2-sdk": "^3.2.0", "@uniswap/v3-core": "^1.0.1", "@uniswap/v3-periphery": "^1.1.1", "@uniswap/v3-sdk": "^3.10.0", "@vanilla-extract/css": "^1.12.0", "@vanilla-extract/css-utils": "^0.1.3", "@vanilla-extract/dynamic": "^2.0.3", "@vanilla-extract/sprinkles": "^1.6.1", "@visx/axis": "^2.12.2", "@visx/event": "^2.6.0", "@visx/glyph": "^2.10.0", "@visx/group": "^2.10.0", "@visx/react-spring": "^2.12.2", "@visx/responsive": "^2.10.0", "@visx/shape": "^2.11.1", "@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/url": "^8.2.3", "@web3-react/walletconnect-v2": "^8.5.1", "ajv": "^8.11.0", "ajv-formats": "^2.1.1", "array.prototype.flat": "^1.2.4", "array.prototype.flatmap": "^1.2.4", "cids": "^1.0.0", "clsx": "^1.1.1", "copy-to-clipboard": "^3.2.0", "d3": "^7.6.1", "ethers": "^5.7.2", "ext-name": "^5.0.0", "focus-visible": "^5.2.0", "get-graphql-schema": "^2.1.2", "graphql": "^16.5.0", "graphql-request": "^3.4.0", "immer": "^9.0.6", "inter-ui": "^3.13.1", "jotai": "^1.3.7", "jsbi": "^3.1.4", "localforage": "^1.10.0", "make-plural": "^7.0.0", "ms": "^2.1.3", "multicodec": "^3.0.1", "multihashes": "^4.0.2", "nock": "^13.3.3", "node-fetch": "^3.3.2", "node-vibrant": "^3.2.1-alpha.1", "numbro": "^2.3.6", "polished": "^3.3.2", "polyfill-object.fromentries": "^1.0.1", "qrcode.react": "^3.1.0", "qs": "^6.9.4", "rc-slider": "^10.0.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-feather": "^2.0.8", "react-helmet": "^6.1.0", "react-infinite-scroll-component": "^6.1.0", "react-is": "^17.0.2", "react-markdown": "^4.3.1", "react-popper": "^2.2.3", "react-query": "^3.39.1", "react-redux": "^8.0.2", "react-router-dom": "^6.3.0", "react-spring": "^9.5.5", "react-table": "^7.8.0", "react-use-gesture": "^6.0.14", "react-virtualized-auto-sizer": "^1.0.2", "react-window": "^1.8.5", "react-window-infinite-loader": "^1.0.8", "rebass": "^4.0.7", "redux": "^4.1.2", "redux-persist": "^6.0.0", "statsig-react": "^1.22.0", "styled-components": "^5.3.5", "tiny-invariant": "^1.2.0", "ua-parser-js": "^1.0.35", "use-resize-observer": "^9.1.0", "uuid": "^8.3.2", "video-extensions": "^1.2.0", "wcag-contrast": "^3.0.0", "web-vitals": "^2.1.0", "workbox-core": "^6.1.0", "workbox-navigation-preload": "^6.1.0", "workbox-precaching": "^6.1.0", "workbox-routing": "^6.1.0", "xml2js": "^0.6.2", "zustand": "^4.3.6" }, "engines": { "npm": "please-use-yarn", "node": "18.x", "yarn": ">=1.22" } }