{ "name": "safe-react", "version": "2.16.2", "description": "Allowing crypto users manage funds in a safer way", "website": "https://github.com/gnosis/safe-react#readme", "bugs": { "url": "https://github.com/gnosis/safe-react/issues" }, "repository": { "type": "git", "url": "https://github.com/gnosis/safe-react.git" }, "license": "MIT", "author": { "name": "Gnosis Team", "email": "safe@gnosis.io" }, "main": "public/electron.js", "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", "build-desktop": "cross-env REACT_APP_BUILD_FOR_DESKTOP=true REACT_APP_ENV=production yarn build-mainnet", "build-mainnet": "cross-env REACT_APP_NETWORK=mainnet yarn build", "build": "cross-env REACT_APP_APP_VERSION=$npm_package_version rescripts --max-old-space-size=8192 build", "eject": "rescripts eject", "electron-build": "electron-builder --mac --windows --linux", "electron-dev": "concurrently \"BROWSER=none yarn start\" \"wait-on http://localhost:3000 && electron .\"", "format:staged": "lint-staged", "generate-types": "yarn generate-types:contracts && yarn generate-types:spendingLimit", "generate-types:contracts": "cross-env typechain --target=web3-v1 --outDir './src/types/contracts' './node_modules/@gnosis.pm/safe-contracts/build/contracts/*.json'", "generate-types:spendingLimit": "cross-env typechain --target=web3-v1 --outDir './src/types/contracts' ./src/logic/contracts/artifacts/*.json", "lint:check": "eslint './src/**/*.{js,jsx,ts,tsx}'", "lint:fix": "yarn lint:check --fix", "postinstall": "patch-package && electron-builder install-app-deps && yarn generate-types", "preelectron-pack": "yarn build", "prettier:check": "yarn prettier --check", "prettier:fix": "yarn prettier --write", "prettier": "prettier './src/**/*.{js,jsx,ts,tsx}'", "release": "electron-builder --mac --linux --windows -p always", "start-mainnet": "REACT_APP_NETWORK=mainnet yarn start", "start": "rescripts start", "test": "rescripts test --env=jsdom", "test:coverage": "yarn test --coverage --watchAll=false", "coveralls": "cat ./coverage/lcov.info | coveralls", "storybook": "start-storybook -p 9009 -s public", "build-storybook": "build-storybook -s public", "sentry-upload-sourcemaps": "sentry-cli --auth-token $SENTRY_AUTH_TOKEN releases -o $SENTRY_ORG -p $SENTRY_PROJECT files $npm_package_version upload-sourcemaps ./build/static/js/" }, "husky": { "hooks": { "pre-commit": "lint-staged --allow-empty", "pre-push": "tsc --noEmit --incremental" } }, "lint-staged": { "src/**/*.{js,jsx,ts,tsx}": [ "eslint --fix", "prettier --write" ] }, "jest": { "collectCoverageFrom": [ "src/**/*.{js,jsx,ts,tsx}", "!src/**/*.{.test.*}", "!src/**/test/**/*", "!src/**/assets/**" ] }, "productName": "Safe Multisig", "build": { "appId": "io.gnosis.safe.macos", "afterSign": "scripts/notarize.js", "extends": null, "productName": "Safe Multisig", "asar": true, "publish": [ { "provider": "github", "owner": "gnosis", "repo": "safe-react" } ], "dmg": { "sign": false, "contents": [ { "x": 110, "y": 150 }, { "x": 240, "y": 150, "type": "link", "path": "/Applications" } ] }, "files": [ "**/*", "!src${/*}", "!config${/*}", "!contracts${/*}", "!migrations${/*}", "!flow-typed${/*}", "!apps${/*}", "!out${/*}", "!.editorconfig", "!.gitignore", "!README.md", "!yarn-error.log", "!yarn.lock" ], "directories": { "buildResources": "public/build" }, "mac": { "category": "public.app-category.productivity", "hardenedRuntime": true, "entitlements": "public/build/entitlements.mac.plist", "gatekeeperAssess": false, "entitlementsInherit": "public/build/entitlements.mac.plist", "target": [ "dmg", "zip" ], "publish": [ { "provider": "github", "owner": "gnosis", "repo": "safe-react" } ] }, "nsis": { "deleteAppDataOnUninstall": true }, "linux": { "target": [ "AppImage", "deb", "zip" ], "icon": "./public/build/safe.png" }, "win": { "target": [ "nsis" ], "icon": "public/build/icon.ico" } }, "resolutions": { "@babel/core": "^7.12.0", "sass-loader": "^9.0.0" }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "dependencies": { "@gnosis.pm/safe-apps-sdk": "1.0.0-beta.4", "@gnosis.pm/safe-apps-sdk-v1": "npm:@gnosis.pm/safe-apps-sdk@0.4.2", "@gnosis.pm/safe-contracts": "1.1.1-dev.2", "@gnosis.pm/safe-react-components": "https://github.com/gnosis/safe-react-components.git#3afc7cbb6914081036b4cbf10bacfe6270a9e198", "@gnosis.pm/util-contracts": "2.0.6", "@ledgerhq/hw-transport-node-hid-singleton": "5.34.0", "@material-ui/core": "^4.11.0", "@material-ui/icons": "4.9.1", "@material-ui/lab": "4.0.0-alpha.56", "@openzeppelin/contracts": "3.1.0", "@sentry/react": "^5.28.0", "@sentry/tracing": "^5.28.0", "@truffle/contract": "4.2.30", "async-sema": "^3.1.0", "axios": "0.21.0", "bignumber.js": "9.0.1", "bnc-onboard": "^1.16.1", "classnames": "^2.2.6", "concurrently": "^5.3.0", "connected-react-router": "6.8.0", "coveralls": "^3.1.0", "currency-flags": "2.1.2", "date-fns": "2.16.1", "detect-port": "^1.3.0", "electron-is-dev": "^1.2.0", "electron-log": "4.3.0", "electron-settings": "^4.0.2", "electron-updater": "4.3.5", "eth-sig-util": "^2.5.3", "ethereum-blockies-base64": "^1.0.2", "ethereumjs-abi": "0.6.8", "exponential-backoff": "^3.1.0", "express": "^4.17.1", "final-form": "^4.20.1", "final-form-calculate": "^1.3.2", "history": "4.10.1", "immortal-db": "^1.1.0", "immutable": "^4.0.0-rc.12", "js-cookie": "^2.2.1", "lodash.debounce": "^4.0.8", "lodash.memoize": "^4.1.2", "material-ui-search-bar": "^1.0.0", "notistack": "https://github.com/gnosis/notistack.git#v0.9.4", "qrcode.react": "1.0.0", "query-string": "6.13.7", "react": "16.13.1", "react-dom": "16.13.1", "react-final-form": "^6.5.2", "react-final-form-listeners": "^1.0.2", "react-ga": "3.3.0", "react-hot-loader": "4.13.0", "react-qr-reader": "^2.2.1", "react-redux": "7.2.2", "react-router-dom": "5.2.0", "react-scripts": "^4.0.1", "react-window": "^1.8.6", "redux": "4.0.5", "redux-actions": "^2.6.5", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", "semver": "7.3.2", "styled-components": "^5.2.1", "web3": "1.2.11", "web3-core": "^1.2.11", "web3-eth-contract": "^1.2.11", "web3-utils": "^1.2.11" }, "devDependencies": { "@rescripts/cli": "^0.0.15", "@sentry/cli": "^1.59.0", "@storybook/addon-actions": "^5.3.19", "@storybook/addon-links": "^5.3.19", "@storybook/addons": "^5.3.19", "@storybook/preset-create-react-app": "^3.1.5", "@storybook/react": "^5.3.19", "@testing-library/jest-dom": "5.11.6", "@testing-library/react": "11.2.2", "@typechain/web3-v1": "^2.0.0", "@types/history": "4.6.2", "@types/jest": "^26.0.16", "@types/lodash.memoize": "^4.1.6", "@types/node": "^14.14.10", "@types/react": "^16.9.55", "@types/react-dom": "^16.9.9", "@types/react-redux": "^7.1.11", "@types/react-router-dom": "^5.1.6", "@types/styled-components": "^5.1.4", "@typescript-eslint/eslint-plugin": "^4.6.0", "@typescript-eslint/parser": "^4.6.0", "autoprefixer": "9.8.6", "cross-env": "^7.0.3", "dotenv": "^8.2.0", "dotenv-expand": "^5.1.0", "electron": "^9.3.5", "electron-builder": "22.9.1", "electron-notarize": "1.0.0", "eslint": "^7.11.0", "eslint-config-prettier": "^6.14.0", "eslint-plugin-import": "^2.22.1", "eslint-plugin-jsx-a11y": "^6.3.1", "eslint-plugin-prettier": "^3.1.4", "eslint-plugin-react": "^7.21.5", "eslint-plugin-sort-destructure-keys": "^1.3.5", "ethereumjs-abi": "0.6.8", "husky": "^4.3.0", "lint-staged": "^10.5.2", "patch-package": "^6.2.2", "postinstall-postinstall": "^2.1.0", "prettier": "^2.2.0", "sass": "^1.29.0", "typechain": "^4.0.0", "typescript": "4.0.5", "wait-on": "5.2.0" } }