/
package.json
123 lines (123 loc) · 3.99 KB
/
package.json
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
{
"name": "@paretoman/votekit",
"version": "0.0.5",
"description": "An explorable sandbox that shows how different voting methods work using a spatial opinion model.",
"type": "module",
"directories": {
"test": "test"
},
"scripts": {
"prepare": "node esinstall-list.js",
"test": "mocha src/**/*.test.js --parallel",
"test-compute": "npm run test -w @paretoman/votekit-compute",
"test-vote-casters": "npm run test -w @paretoman/votekit-vote-casters",
"test-sample-election": "npm run test -w @paretoman/votekit-sample-election",
"test-ws": "npm run test -ws",
"lint": "eslint .",
"lint-fix": "eslint --fix --ext .js,.jsx .",
"lint-compute": "eslint ./src/compute",
"check-types": "tsc --noEmit -p ./src/compute/jsconfig.json",
"check-types-silent": "tsc-silent -p ./src/compute/jsconfig.json --suppress @/node_modules",
"check-types-silent-all": "tsc-silent -p ./jsconfig.json --suppress @/node_modules",
"doc": "jsdoc -c jsdoc.json -d src/demo/docs",
"build": "npm run build-1 && npm run build-2 && npm run build-3",
"build-1": "npm run build -w @paretoman/votekit-add-sandboxes",
"build-2": "npm run copy-1 && npm run copy-2 && npm run copy-3",
"build-3": "npm run build -w @paretoman/votekit-demo",
"copy-1": "copyfiles -u 3 \"src/addSandboxes/dist/addSandboxes*.js\" src/demo/dist/src/addSandboxes/",
"copy-2": "copyfiles \"src/**/*.{css,html}\" -e \"src/demo/**/*\" -e \"**/dist/**/*\" src/demo/dist",
"copy-3": "copyfiles \"test/**/*.*\" src/demo/dist",
"clean": "npm run clean -w @paretoman/votekit-demo",
"build-clean": "npm run clean && npm run prepare && npm run doc && npm run build",
"push-site": "npm run push-site -w @paretoman/votekit-demo",
"patch": "npm version patch --workspaces && git add . && git commit -m versionPatch && npm version patch",
"push-main": "git push --follow-tags && git push",
"publish": "npm publish -ws --access public",
"after-build": "npm run push-site && npm run patch && npm run push-main && npm run publish",
"all": "npm run build-clean && npm run after-build"
},
"repository": {
"type": "git",
"url": "git+https://github.com/paretoman/votekit.git"
},
"author": {
"name": "paretoman",
"url": "https://paretoman.github.io"
},
"license": "MIT-0",
"bugs": {
"url": "https://github.com/paretoman/votekit/issues"
},
"homepage": "https://paretoman.github.io/votekit",
"dependencies": {
"@paretoman/votekit-add-sandboxes": "^0.0.5"
},
"devDependencies": {
"@babel/core": "^7.17.8",
"@babel/plugin-transform-runtime": "^7.17.0",
"@mithrandirii/canvas2svg": "^1.0.24",
"@tweenjs/tween.js": "^18.6.4",
"copyfiles": "^2.4.1",
"d3-contour": "^3.0.1",
"d3-delaunay": "^6.0.2",
"d3-geo": "^3.0.1",
"d3-polygon": "^3.0.1",
"esinstall": "^0.3.7",
"eslint": "^8.7.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.25.4",
"eslint-plugin-jsdoc": "^48.2.1",
"jest": "^29.7.0",
"jsdoc": "^4.0.2",
"mocha": "^10.3.0",
"parcel": "^2.4.1",
"process": "^0.11.10",
"rimraf": "^5.0.5",
"seedrandom": "^3.0.5",
"simplex-noise": "^3.0.1",
"split-polygon": "^1.0.0",
"tsc-silent": "^1.2.2",
"typescript": "^5.4.2"
},
"keywords": [
"explorable",
"sandbox",
"voting",
"voting-methods",
"social-choice",
"computational-social-choice",
"elections",
"strategy",
"electoral-methods",
"plurality",
"approval",
"condorcet",
"instant-runoff",
"score",
"star",
"proportional",
"proportional-representation",
"districts",
"redistricting",
"single-transferable-vote",
"monroe",
"thiele",
"proportional-approval-voting",
"phragmen",
"party-list",
"party-list-proportional",
"dHondt",
"Huntington-Hill",
"Webster",
"Sainte-Lague",
"MMP",
"OLPR"
],
"workspaces": [
"src/*",
"src/compute/*"
],
"engines": {
"node": ">=16.0.0"
}
}