{ "name": "whirlpool-gui", "productName": "whirlpool-gui", "version": "0.10.3", "description": "Desktop GUI for Whirlpool by Samourai-Wallet", "scripts": { "build": "concurrently \"yarn build-main\" \"yarn build-renderer\"", "build-dll": "cross-env NODE_ENV=development webpack --config ./configs/webpack.config.renderer.dev.dll.babel.js --colors", "build-e2e": "cross-env E2E_BUILD=true yarn build", "build-main": "cross-env NODE_ENV=production webpack --config ./configs/webpack.config.main.prod.babel.js --colors", "build-renderer": "cross-env NODE_ENV=production webpack --config ./configs/webpack.config.renderer.prod.babel.js --colors", "dev": "cross-env START_HOT=1 node -r @babel/register ./internals/scripts/CheckPortInUse.js && cross-env START_HOT=1 yarn start-renderer-dev", "flow": "flow", "flow-typed": "rimraf flow-typed/npm && flow-typed install --overwrite || true", "lint": "cross-env NODE_ENV=development eslint --cache --format=pretty .", "lint-fix": "yarn --silent lint --fix; exit 0", "lint-styles": "stylelint --ignore-path .eslintignore '**/*.*(css|scss)' --syntax scss", "lint-styles-fix": "yarn --silent lint-styles --fix; exit 0", "package": "yarn build && electron-builder build --publish never", "package-all": "yarn build && electron-builder build -mwl", "package-ci": "yarn postinstall && yarn build && electron-builder --publish always", "package-linux": "yarn build && electron-builder build --linux", "package-win": "yarn build && electron-builder build --win --x64", "postinstall": "node -r @babel/register internals/scripts/CheckNativeDep.js && yarn flow-typed && electron-builder install-app-deps && yarn build-dll && opencollective-postinstall", "postlint-fix": "prettier --ignore-path .eslintignore --single-quote --write '**/*.{*{js,jsx,json},babelrc,eslintrc,prettierrc,stylelintrc}'", "postlint-styles-fix": "prettier --ignore-path .eslintignore --single-quote --write '**/*.{css,scss}'", "preinstall": "node ./internals/scripts/CheckYarn.js", "prestart": "yarn build", "start": "cross-env NODE_ENV=production electron ./app/main.prod.js", "start-main-dev": "cross-env HOT=1 NODE_ENV=development electron -r @babel/register ./app/main.dev.js", "start-renderer-dev": "cross-env NODE_ENV=development webpack-dev-server --config configs/webpack.config.renderer.dev.babel.js", "test": "cross-env NODE_ENV=test BABEL_DISABLE_CACHE=1 jest", "test-all": "yarn lint && yarn flow && yarn build && yarn test && yarn build-e2e && yarn test-e2e", "test-e2e": "node -r @babel/register ./internals/scripts/CheckBuildsExist.js && cross-env NODE_ENV=test testcafe electron:./ ./test/e2e/HomePage.e2e.js", "test-e2e-live": "node -r @babel/register ./internals/scripts/CheckBuildsExist.js && cross-env NODE_ENV=test testcafe-live electron:./ ./test/e2e/HomePage.e2e.js", "test-watch": "yarn test --watch" }, "lint-staged": { "*.{js,jsx}": [ "cross-env NODE_ENV=development eslint --cache --format=pretty", "prettier --ignore-path .eslintignore --single-quote --write", "git add" ], "{*.json,.{babelrc,eslintrc,prettierrc,stylelintrc}}": [ "prettier --ignore-path .eslintignore --parser json --write", "git add" ], "*.{css,scss}": [ "stylelint --ignore-path .eslintignore --syntax scss --fix", "prettier --ignore-path .eslintignore --single-quote --write", "git add" ], "*.{yml,md}": [ "prettier --ignore-path .eslintignore --single-quote --write", "git add" ] }, "main": "./app/main.prod.js", "build": { "productName": "whirlpool-gui", "appId": "com.samouraiwallet.whirlpool-gui", "files": [ "app/dist/", "app/app.html", "app/main.prod.js", "app/main.prod.js.map", "app/img/", "package.json" ], "mac": { "category": "public.app-category.utilities", "target": [ "dmg" ] }, "dmg": { "contents": [ { "x": 130, "y": 220 }, { "x": 410, "y": 220, "type": "link", "path": "/Applications" } ] }, "win": { "target": [ "nsis" ] }, "linux": { "target": [ "deb", "rpm", "snap", "AppImage" ], "category": "Network" }, "directories": { "buildResources": "resources", "output": "release" }, "publish": { "provider": "github", "owner": "electron-react-boilerplate", "repo": "electron-react-boilerplate", "private": false }, "extraResources": [ "./extraResources/**" ] }, "repository": { "type": "git", "url": "git@code.samourai.io:whirlpool/whirlpool-gui.git" }, "author": { "name": "zeroleak", "url": "https://github.com/zeroleak", "email": "zeroleak@samourai.io" }, "license": "Unlicense", "bugs": { "url": "https://code.samourai.io/whirlpool/whirlpool-gui/issues" }, "keywords": [ "samourai", "bitcoin", "wallet", "coinjoin", "whirlpool" ], "homepage": "https://code.samourai.io/whirlpool/whirlpool-gui", "jest": { "testURL": "http://localhost/", "moduleNameMapper": { "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/internals/mocks/fileMock.js", "\\.(css|less|sass|scss)$": "identity-obj-proxy" }, "moduleFileExtensions": [ "js", "jsx", "json" ], "transform": { "^.+\\.jsx?$": "babel-jest" }, "setupFiles": [ "./internals/scripts/CheckBuildsExist.js" ] }, "devDependencies": { "@babel/core": "^7.8.4", "@babel/plugin-proposal-class-properties": "^7.8.3", "@babel/plugin-proposal-decorators": "^7.8.3", "@babel/plugin-proposal-do-expressions": "^7.8.3", "@babel/plugin-proposal-export-default-from": "^7.8.3", "@babel/plugin-proposal-export-namespace-from": "^7.8.3", "@babel/plugin-proposal-function-bind": "^7.8.3", "@babel/plugin-proposal-function-sent": "^7.8.3", "@babel/plugin-proposal-json-strings": "^7.8.3", "@babel/plugin-proposal-logical-assignment-operators": "^7.8.3", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-proposal-numeric-separator": "^7.8.3", "@babel/plugin-proposal-optional-chaining": "^7.8.3", "@babel/plugin-proposal-pipeline-operator": "^7.8.3", "@babel/plugin-proposal-throw-expressions": "^7.8.3", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-import-meta": "^7.8.3", "@babel/plugin-transform-react-constant-elements": "^7.8.3", "@babel/plugin-transform-react-inline-elements": "^7.8.3", "@babel/preset-env": "^7.8.4", "@babel/preset-flow": "^7.8.3", "@babel/preset-react": "^7.8.3", "@babel/register": "^7.8.3", "babel-core": "7.0.0-bridge.0", "babel-eslint": "^10.0.1", "babel-jest": "^24.9.0", "babel-loader": "^8.0.4", "babel-plugin-dev-expression": "^0.2.1", "babel-plugin-transform-react-remove-prop-types": "^0.4.20", "chalk": "^3.0.0", "concurrently": "^5.1.0", "connected-react-router": "^6.7.0", "cross-env": "^6.0.3", "cross-spawn": "^7.0.1", "css-loader": "^3.4.2", "detect-port": "^1.3.0", "electron": "^7.1.7", "electron-builder": "^22.9.1", "electron-devtools-installer": "^2.2.4", "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.2", "enzyme-to-json": "^3.4.4", "eslint": "^6.8.0", "eslint-config-airbnb": "^18.0.1", "eslint-config-prettier": "^6.10.0", "eslint-formatter-pretty": "^3.0.1", "eslint-import-resolver-webpack": "^0.11.1", "eslint-plugin-compat": "^3.5.1", "eslint-plugin-flowtype": "^4.6.0", "eslint-plugin-import": "^2.20.1", "eslint-plugin-jest": "^23.7.0", "eslint-plugin-jsx-a11y": "6.2.3", "eslint-plugin-promise": "^4.0.1", "eslint-plugin-react": "^7.18.3", "eslint-plugin-testcafe": "^0.2.1", "fbjs-scripts": "^1.0.1", "file-loader": "^5.1.0", "flow-bin": "^0.113.0", "flow-runtime": "^0.17.0", "flow-typed": "^2.5.1", "husky": "^3.1.0", "identity-obj-proxy": "^3.0.0", "jest": "^25.1.0", "lint-staged": "^9.5.0", "mini-css-extract-plugin": "^0.8.0", "node-sass": "^4.13.1", "opencollective-postinstall": "^2.0.1", "optimize-css-assets-webpack-plugin": "^5.0.1", "prettier": "^1.15.2", "raw-loader": "^4.0.0", "react-test-renderer": "^16.6.3", "redux-logger": "^3.0.6", "rimraf": "^3.0.2", "sass-loader": "^8.0.2", "sinon": "^7.1.1", "spectron": "^9.0.0", "style-loader": "^1.1.3", "stylelint": "^12.0.0", "stylelint-config-prettier": "^8.0.1", "stylelint-config-standard": "^19.0.0", "terser-webpack-plugin": "^2.3.5", "testcafe": "^1.8.2", "testcafe-browser-provider-electron": "^0.0.13", "testcafe-live": "^0.1.4", "testcafe-react-selectors": "^3.0.0", "url-loader": "^3.0.0", "webpack": "^4.41.6", "webpack-bundle-analyzer": "^3.0.3", "webpack-cli": "^3.3.11", "webpack-dev-server": "^3.10.3", "webpack-merge": "^4.1.4" }, "dependencies": { "@fortawesome/fontawesome-svg-core": "^1.2.27", "@fortawesome/free-solid-svg-icons": "^5.12.1", "@fortawesome/react-fontawesome": "^0.1.8", "await-lock": "^2.0.1", "bootstrap": "^4.5.3", "core-js": "2", "crypto": "^1.0.1", "devtron": "^1.4.0", "electron-debug": "^3.0.1", "electron-dl": "^1.13.0", "electron-log": "^3.0.1", "electron-store": "^5.1.0", "electron-updater": "^4.2.2", "feather-icons": "^4.26.0", "history": "^4.7.2", "if-not-running": "^0.0.15", "immer": "3.3.0", "jquery": "^3.3.1", "lodash": "^4.17.11", "md5ify": "^1.0.0", "moment": "^2.24.0", "node-fetch": "^2.3.0", "popper.js": "^1.16.1", "ps-node": "^0.1.6", "qrcode-decoder": "^0.1.2", "qrcode.react": "^1.0.0", "react": "^16.6.3", "react-bootstrap": "^1.4.0", "react-dom": "^16.6.3", "react-feather": "^2.0.3", "react-helmet": "^5.2.0", "react-hot-loader": "^4.12.19", "react-redux": "^7.2.0", "react-router": "^5.1.2", "react-router-dom": "^5.1.2", "react-table": "^7.6.1", "react-webcam": "^4.0.0", "redux": "^4.0.5", "redux-thunk": "^2.3.0", "sjcl": "^1.0.8", "source-map-support": "^0.5.9", "tcp-port-used": "^1.0.1" }, "devEngines": { "node": ">=8.x", "npm": ">=4.x", "yarn": ">=1.10.0" }, "collective": { "url": "https://opencollective.com/electron-react-boilerplate-594" }, "browserslist": [ "electron 7.1.3" ] }