1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
{
"name": "mullvad-vpn",
"version": "2019.10.0",
"productName": "Mullvad VPN",
"private": true,
"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": {
"connected-react-router": "^5.0.1",
"d3-geo-projection": "^2.7.0",
"electron-log": "^3.0.7",
"gettext-parser": "^4.0.1",
"history": "^4.6.1",
"jsonrpc-lite": "^2.0.7",
"mkdirp": "^0.5.1",
"moment": "^2.24.0",
"node-gettext": "^2.0.0",
"rbush": "^2.0.2",
"react": "^16.5.0",
"react-dom": "^16.5.0",
"react-redux": "^5.1.0",
"react-router": "^4.3.1",
"react-simple-maps": "^0.12.1",
"reactxp": "^1.6.1",
"redux": "^4.0.4",
"sprintf-js": "^1.1.2",
"stream-json": "^1.3.0",
"uuid": "^3.0.1",
"validated": "^2.0.1"
},
"optionalDependencies": {
"nseventmonitor": "^0.0.17"
},
"devDependencies": {
"@types/chai": "^4.1.7",
"@types/chai-as-promised": "^7.1.0",
"@types/chai-spies": "^1.0.0",
"@types/d3-geo": "^1.11.0",
"@types/enzyme": "^3.1.15",
"@types/enzyme-adapter-react-16": "^1.0.3",
"@types/geojson": "^7946.0.7",
"@types/mkdirp": "^0.5.2",
"@types/mocha": "^5.2.6",
"@types/node": "^10.12.3",
"@types/node-gettext": "^2.0.0",
"@types/rbush": "^2.0.2",
"@types/react": "^16.8.8",
"@types/react-dom": "^16.8.2",
"@types/react-redux": "^7.0.6",
"@types/react-router": "^4.4.3",
"@types/sinon": "^7.0.5",
"@types/sprintf-js": "^1.1.2",
"@types/stream-json": "^1.0.0",
"@types/topojson-specification": "^1.0.1",
"@types/uuid": "^3.4.4",
"browser-sync": "^2.26.7",
"chai": "^4.2.0",
"chai-as-promised": "^7.1.1",
"chai-spies": "^1.0.0",
"cross-env": "^5.1.3",
"electron": "^7.1.10",
"electron-builder": "^21.2.0",
"electron-devtools-installer": "^2.2.1",
"electron-mocha": "^8.1.1",
"electron-notarize": "^0.1.1",
"enzyme": "^3.7.0",
"enzyme-adapter-react-16": "^1.7.0",
"gettext-extractor": "^3.5.1",
"gulp": "^4.0.2",
"gulp-inject-string": "^1.1.2",
"gulp-typescript": "^5.0.1",
"prettier": "1.16.4",
"rimraf": "^2.7.1",
"sinon": "^7.1.1",
"ts-node": "^8.3.0",
"tsc-watch": "^2.4.0",
"tslint": "^5.18.0",
"tslint-config-prettier": "^1.18.0",
"tslint-react": "^4.0.0",
"typescript": "^3.5.3"
},
"scripts": {
"postinstall": "cross-env ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true electron-builder install-app-deps",
"build": "gulp build",
"lint": "tslint -t stylish -p .",
"format": "npm run private:format -- --write",
"check-format": "npm run private:format -- --list-different",
"develop": "gulp develop",
"test": "cross-env NODE_ENV=test electron-mocha --renderer --reporter spec --require-main \"test/setup/main.js\" --require ts-node/register --require \"test/setup/renderer.ts\" \"test/**/*.{ts,tsx}\"",
"update-translations": "node scripts/extract-translations",
"pack:mac": "gulp pack-mac",
"pack:win": "gulp pack-win",
"pack:linux": "gulp pack-linux",
"private:format": "prettier \"**/*.{js,css,ts,tsx}\""
},
"engines": {
"node": ">=12",
"npm": ">=6.12"
}
}
|