{ "name": "safe-react", "version": "2.15.0", "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", "postinstall": "electron-builder install-app-deps", "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 react-app-rewired --max-old-space-size=8192 build", "eject": "react-app-rewired 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", "generate-types:contracts": "cross-env typechain --target=web3-v1 --outDir './src/types/contracts' './node_modules/@gnosis.pm/safe-contracts/build/contracts/*.json'", "lint:check": "eslint './src/**/*.{js,jsx,ts,tsx}'", "lint:fix": "yarn lint:check --fix", "postinstall": "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": "react-app-rewired start", "test": "react-app-rewired 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" } }, "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": { "@typescript-eslint/eslint-plugin": "^4.5.0", "@typescript-eslint/parser": "^4.5.0", "node-gyp": "^7.1.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": "https://github.com/gnosis/safe-apps-sdk.git#3f0689f", "@gnosis.pm/safe-contracts": "1.1.1-dev.2", "@gnosis.pm/safe-react-components": "https://github.com/gnosis/safe-react-components.git#03ff672d6f73366297986d58631f9582fe2ed4a3", "@gnosis.pm/util-contracts": "2.0.6", "@ledgerhq/hw-transport-node-hid": "5.28.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.27.3", "@sentry/tracing": "^5.27.3", "@truffle/contract": "4.2.28", "async-sema": "^3.1.0", "axios": "0.21.0", "bignumber.js": "9.0.1", "bnc-onboard": "1.14.0", "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.6", "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.2.0", "react-hot-loader": "4.13.0", "react-qr-reader": "^2.2.1", "react-redux": "7.2.1", "react-router-dom": "5.2.0", "react-scripts": "^3.4.3", "react-window": "^1.8.5", "recompose": "^0.30.0", "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.0", "web3": "1.2.11", "web3-core": "^1.2.11", "web3-eth-contract": "^1.2.11", "web3-utils": "^1.2.11" }, "devDependencies": { "@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.4", "@storybook/react": "^5.3.19", "@testing-library/jest-dom": "5.11.5", "@testing-library/react": "10.4.9", "@typechain/web3-v1": "^1.0.0", "@types/history": "4.6.2", "@types/jest": "^26.0.15", "@types/lodash.memoize": "^4.1.6", "@types/node": "^14.14.6", "@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.1", "@typescript-eslint/parser": "4.6.1", "autoprefixer": "9.8.6", "cross-env": "^7.0.2", "dotenv": "^8.2.0", "dotenv-expand": "^5.1.0", "electron": "9.3.3", "electron-builder": "22.9.1", "electron-notarize": "1.0.0", "eslint": "6.8.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.1", "node-sass": "^4.14.1", "prettier": "2.1.2", "react-app-rewired": "^2.1.6", "react-docgen-typescript-loader": "^3.7.2", "typechain": "^2.0.0", "typescript": "4.0.5", "wait-on": "5.2.0" } }