{ "name": "mullvad-vpn", "version": "2018.1.0", "description": "Mullvad VPN client", "main": "init.js", "author": { "name": "Mullvad VPN", "email": "support@mullvad.net" }, "repository": "https://github.com/mullvad/mullvadvpn-app", "license": "GPL-3.0", "dependencies": { "babel-runtime": "^6.22.0", "d3-geo-projection": "^2.3.2", "electron-log": "^2.2.8", "history": "^4.6.1", "jsonrpc-lite": "^1.2.3", "mkdirp": "^0.5.1", "moment": "^2.20.1", "rbush": "^2.0.2", "react": "^16.0.0", "react-dom": "^16.0.0", "react-native": "^0.53.3", "react-native-windows": "^0.51.0-rc.1", "react-redux": "^5.0.2", "react-router": "^4.2.0", "react-router-redux": "^5.0.0-alpha.9", "react-simple-maps": "^0.10.1", "reactxp": "1.3.0-rc.0", "redux": "^3.0.0", "redux-thunk": "^2.2.0", "uuid": "^3.0.1", "validated": "^1.1.0" }, "optionalDependencies": { "nseventmonitor": "https://github.com/mullvad/NSEventMonitor.git#0.0.9", "windows-security": "https://github.com/mullvad/windows-security.git#0.0.5" }, "devDependencies": { "babel-cli": "^6.22.2", "babel-core": "^6.25.0", "babel-eslint": "^8.2.3", "babel-plugin-transform-builtin-extend": "^1.1.2", "babel-plugin-transform-class-properties": "^6.24.1", "babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-preset-env": "^1.7.0", "babel-preset-react": "^6.22.0", "browser-sync": "^2.23.6", "chai": "^4.1.0", "chai-spies": "^1.0.0", "cross-env": "^5.1.3", "electron": "^2.0.2", "electron-builder": "^20.16.0", "electron-devtools-installer": "^2.2.1", "electron-mocha": "^6.0.4", "enzyme": "^3.2.0", "enzyme-adapter-react-16": "^1.1.0", "eslint": "^4.19.1", "eslint-config-prettier": "^2.9.0", "eslint-plugin-flowtype": "^2.49.3", "eslint-plugin-react": "^7.9.1", "flow-bin": "^0.66.0", "flow-typed": "^2.4.0", "npm-run-all": "^4.0.1", "prettier": "1.13.3", "redux-mock-store": "^1.3.0", "rimraf": "^2.5.4" }, "scripts": { "android": "react-native run-android", "postinstall": "electron-builder install-app-deps", "develop": "cross-env BABEL_ENV=electron npm run private:compile -- --source-maps true && run-p -r private:watch private:serve", "test": "cross-env BABEL_ENV=electron electron-mocha --renderer -R spec --require babel-core/register --require-main test/setup/main.js --preload test/setup/renderer.js test/*.spec.js test/**/*.spec.js", "lint": "eslint --no-ignore scripts app test *.js", "format": "prettier --write 'app/**/*.js' 'test/**/*.js'", "check-format": "prettier --list-different 'app/**/*.js' 'test/**/*.js'", "flow": "flow", "pack:mac": "cross-env BABEL_ENV=electron run-s private:clean private:compile private:build:mac && rm -r ./dist/mac", "pack:win": "cross-env BABEL_ENV=electron run-s private:clean private:compile private:build:win", "pack:linux": "cross-env BABEL_ENV=electron run-s private:clean private:compile private:build:linux", "private:build:mac": "npm run private:build -- --mac", "private:build:win": "npm run private:build -- --win", "private:build:linux": "npm run private:build -- --linux", "private:build": "electron-builder", "private:watch": "cross-env BABEL_ENV=electron npm run private:compile -- --source-maps true --watch --skip-initial-build", "private:serve": "cross-env BABEL_ENV=electron babel-node scripts/serve.js", "private:compile": "babel app/ --copy-files --out-dir build", "private:clean": "rimraf build" } }