{ "name": "electron-react-boilerplate", "productName": "ElectronReact", "version": "0.17.0", "description": "Electron application boilerplate based on React, React Router, Webpack, React Hot Loader for rapid application development", "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": "yarn flow-typed && yarn build-dll && electron-builder install-app-deps package.json && 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}'", "precommit": "lint-staged", "prestart": "yarn build", "start": "cross-env NODE_ENV=production electron ./app/", "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/CheckBuiltsExist.js && cross-env NODE_ENV=test testcafe electron:./ ./test/e2e/HomePage.e2e.js", "test-e2e-live": "node -r @babel/register ./internals/scripts/CheckBuiltsExist.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": "ElectronReact", "appId": "org.develar.ElectronReact", "files": [ "app/dist/", "app/app.html", "app/main.prod.js", "app/main.prod.js.map", "package.json" ], "dmg": { "contents": [ { "x": 130, "y": 220 }, { "x": 410, "y": 220, "type": "link", "path": "/Applications" } ] }, "win": { "target": [ "nsis", "msi" ] }, "linux": { "target": [ "deb", "rpm", "snap", "AppImage" ], "category": "Development" }, "directories": { "buildResources": "resources", "output": "release" }, "publish": { "provider": "github", "owner": "electron-react-boilerplate", "repo": "electron-react-boilerplate", "private": false } }, "repository": { "type": "git", "url": "git+https://github.com/electron-react-boilerplate/electron-react-boilerplate.git" }, "author": { "name": "Electron React Boilerplte Maintainers", "email": "electronreactboilerplate@gmail.com", "url": "https://electron-react-boilerplate.js.org" }, "contributors": [ { "name": "Vikram Rangaraj", "email": "vikr01@icloud.com", "url": "https://github.com/vikr01" }, { "name": "Amila Welihinda", "email": "amilajack@gmail.com", "url": "https://github.com/amilajack" } ], "license": "MIT", "bugs": { "url": "https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues" }, "keywords": [ "electron", "boilerplate", "react", "redux", "flow", "sass", "webpack", "hot", "reload" ], "homepage": "https://github.com/electron-react-boilerplate/electron-react-boilerplate#readme", "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/CheckBuiltsExist.js" ] }, "devDependencies": { "@babel/core": "^7.1.2", "@babel/plugin-proposal-class-properties": "^7.1.0", "@babel/plugin-proposal-decorators": "^7.1.2", "@babel/plugin-proposal-do-expressions": "^7.0.0", "@babel/plugin-proposal-export-default-from": "^7.0.0", "@babel/plugin-proposal-export-namespace-from": "^7.0.0", "@babel/plugin-proposal-function-bind": "^7.0.0", "@babel/plugin-proposal-function-sent": "^7.1.0", "@babel/plugin-proposal-json-strings": "^7.0.0", "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", "@babel/plugin-proposal-numeric-separator": "^7.0.0", "@babel/plugin-proposal-optional-chaining": "^7.0.0", "@babel/plugin-proposal-pipeline-operator": "^7.0.0", "@babel/plugin-proposal-throw-expressions": "^7.0.0", "@babel/plugin-syntax-dynamic-import": "^7.0.0", "@babel/plugin-syntax-import-meta": "^7.0.0", "@babel/plugin-transform-react-constant-elements": "^7.0.0", "@babel/plugin-transform-react-inline-elements": "^7.0.0", "@babel/preset-env": "^7.1.0", "@babel/preset-flow": "^7.0.0", "@babel/preset-react": "^7.0.0", "@babel/register": "^7.0.0", "babel-core": "7.0.0-bridge.0", "babel-eslint": "^8.2.6", "babel-jest": "^23.6.0", "babel-loader": "^8.0.4", "babel-plugin-dev-expression": "^0.2.1", "babel-plugin-transform-react-remove-prop-types": "^0.4.19", "chalk": "^2.4.1", "concurrently": "^3.6.1", "connected-react-router": "^4.4.1", "cross-env": "^5.2.0", "cross-spawn": "^6.0.5", "css-loader": "^1.0.1", "detect-port": "^1.2.3", "electron": "^2.0.6", "electron-builder": "^20.28.4", "electron-devtools-installer": "^2.2.4", "enzyme": "^3.3.0", "enzyme-adapter-react-16": "^1.1.1", "enzyme-to-json": "^3.3.4", "eslint": "^5.2.0", "eslint-config-airbnb": "^17.0.0", "eslint-config-prettier": "^2.9.0", "eslint-formatter-pretty": "^1.3.0", "eslint-import-resolver-webpack": "^0.10.1", "eslint-plugin-compat": "^2.5.1", "eslint-plugin-flowtype": "^2.50.0", "eslint-plugin-import": "^2.13.0", "eslint-plugin-jest": "^21.18.0", "eslint-plugin-jsx-a11y": "6.1.2", "eslint-plugin-promise": "^3.8.0", "eslint-plugin-react": "^7.10.0", "eslint-plugin-testcafe": "^0.2.1", "fbjs-scripts": "^0.8.3", "file-loader": "^1.1.11", "flow-bin": "^0.77.0", "flow-runtime": "^0.17.0", "flow-typed": "^2.5.1", "husky": "^0.14.3", "identity-obj-proxy": "^3.0.0", "jest": "^23.6.0", "lint-staged": "^7.2.0", "mini-css-extract-plugin": "^0.4.1", "node-sass": "^4.9.2", "opencollective-postinstall": "^2.0.1", "optimize-css-assets-webpack-plugin": "^5.0.0", "prettier": "^1.14.3", "react-test-renderer": "^16.4.1", "redux-logger": "^3.0.6", "rimraf": "^2.6.2", "sass-loader": "^7.0.3", "sinon": "^6.3.5", "spectron": "^3.8.0", "style-loader": "^0.23.1", "stylelint": "^9.4.0", "stylelint-config-prettier": "^4.0.0", "stylelint-config-standard": "^18.2.0", "testcafe": "^0.23.0", "testcafe-browser-provider-electron": "^0.0.6", "testcafe-live": "^0.1.3", "testcafe-react-selectors": "^3.0.0", "uglifyjs-webpack-plugin": "1.2.7", "url-loader": "^1.0.1", "webpack": "^4.20.2", "webpack-bundle-analyzer": "^2.13.1", "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.9", "webpack-merge": "^4.1.3", "yarn": "^1.10.1" }, "dependencies": { "@fortawesome/fontawesome-free": "^5.2.0", "@material-ui/core": "^3.5.1", "@material-ui/icons": "^3.0.1", "autoscroll-react": "^3.2.0", "devtron": "^1.4.0", "electron-debug": "^2.0.0", "electron-log": "^2.2.17", "electron-updater": "^3.1.6", "eth-keyring-controller": "^3.3.1", "formik": "^1.3.1", "history": "^4.7.2", "lodash": "^4.17.11", "react": "^16.6.3", "react-dom": "^16.6.3", "react-dropzone": "^7.0.1", "react-hot-loader": "^4.3.4", "react-jazzicon": "^0.1.3", "react-linkify": "^0.2.2", "react-redux": "^5.0.7", "react-router": "^4.3.1", "react-router-dom": "^4.3.1", "react-spinners": "^0.4.7", "react-spotify-player": "^1.0.4", "react-syntax-highlighter": "^10.0.1", "react-youtube": "^7.8.0", "redux": "^4.0.0", "redux-thunk": "^2.3.0", "source-map-support": "^0.5.6", "status-js-api": "^1.0.6" }, "engines": { "node": ">=10.x <11", "yarn": ">=1.x" }, "collective": { "url": "https://opencollective.com/electron-react-boilerplate-594" }, "browserslist": "electron 1.6" }