forked from zhenlab-ltri/NemaNode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
package.json
168 lines (168 loc) · 7.08 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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
{
"name": "nemanode",
"version": "1.0.0",
"license": "CC-BY-NC-ND-4.0",
"repository": {
"type": "git",
"url": "git+ssh://git@github.com:dwitvliet/NemaNode.git"
},
"engines": {
"node": ">=11.15.0",
"npm": ">=6.7.0"
},
"browserslist": "> 0.1%, last 5 versions, not dead",
"scripts": {
"watch:sync-bundle": "livereload dist -w 3000",
"watch:sync-server": "nodemon --watch src src/server/index.js",
"watch:js": "webpack --watch --mode development",
"watch": "run-p -c watch:*",
"start": "npm run watch",
"build-prod": "cross-env NODE_ENV=production webpack --mode production --devtool none",
"test:eslint": "eslint src",
"test:sasslint": "sass-lint --verbose",
"test:unit-tests": "jest --config ./test/jest.config.js",
"test": "run-s -c test:*",
"populate-database": "node ./src/server/populate-db/index.js",
"webpack-stats": "webpack --profile --json > webpack-stats.json"
},
"scriptsComments": {
"watch:sync-bundle": "refresh browser when project files are changed",
"watch:sync-server": "refresh server when server files are changed",
"watch:test": "test when src/test files are changed",
"watch:js": "build the project with dev env settings",
"watch": "run all scripts prefixed with 'watch'",
"build-prod": "run the production build",
"test:eslint": "Lint js",
"test:sasslint": "Lint sass",
"test:unit-tests": "Unit tests",
"test": "Run all tests. Returns a non-zero exit code if any test fails",
"populate-database": "populate database",
"webpack-stats": "Summarizes webpack stats for https://chrisbateman.github.io/webpack-visualizer/"
},
"dependencies": {
"body-parser": "^1.18.3",
"clipboard": "^2.0.6",
"compression": "^1.7.4",
"cookie-parser": "^1.4.3",
"core-js": "^3.6.5",
"cytoscape": "^3.15.0",
"cytoscape-cose-bilkent": "^2.0.0",
"cytoscape-dagre": "^2.0.0",
"dagre": "^0.8.5",
"express": "^4.16.4",
"express-basic-auth": "^1.2.0",
"file-saver": "^2.0.2",
"ini": "^1.3.5",
"jquery": "^3.5.1",
"jquery-contextmenu": "^2.8.0",
"jquery-ui": "^1.12.1",
"jquery-ui-bundle": "^1.12.1-migrate",
"lodash.debounce": "^4.0.8",
"lodash.difference": "^4.5.0",
"lodash.frompairs": "^4.0.1",
"lodash.get": "^4.4.2",
"lodash.groupby": "^4.6.0",
"lodash.intersection": "^4.4.0",
"lodash.isempty": "^4.4.0",
"lodash.union": "^4.6.0",
"lodash.uniq": "^4.5.0",
"mysql2": "^2.1.0",
"object-hash": "^1.3.1",
"query-string": "^5.1.1",
"whatwg-fetch": "^3.0.0",
"winston": "^2.4.4"
},
"devDependencies": {
"@babel/core": "^7.9.6",
"@babel/plugin-transform-strict-mode": "^7.10.1",
"@babel/preset-env": "^7.9.6",
"autoprefixer": "^9.8.0",
"babel-loader": "^8.1.0",
"chai": "^4.2.0",
"clean-webpack-plugin": "^2.0.2",
"cross-env": "^5.2.0",
"css-loader": "^3.5.3",
"eslint": "^7.0.0",
"extra-watch-webpack-plugin": "^1.0.3",
"forever": "^2.0.0",
"fs-extra": "^7.0.0",
"html-webpack-plugin": "^3.2.0",
"jest": "^26.0.1",
"livereload": "^0.9.1",
"mini-css-extract-plugin": "^0.9.0",
"mocha": "^7.1.2",
"node-sass": "^4.12.0",
"nodemon": "^2.0.4",
"npm-run-all": "^4.1.5",
"post-compile-webpack-plugin": "^0.1.2",
"postcss-loader": "^3.0.0",
"regenerator-runtime": "^0.13.5",
"sass-lint": "^1.13.1",
"sass-loader": "^8.0.2",
"webpack": "^4.43.0",
"webpack-cli": "^3.3.11"
},
"dependenciesComments": {
"body-parser": "parse incoming request bodies, available under the req.body property",
"clipboard": "copy to clip board",
"compression": "compress data before sending it to the client",
"cookie-parser": "parse cookies sent in requests",
"core-js": "es6 features",
"cytoscape": "network visualization",
"cytoscape-cose-bilkent": "network visualization",
"cytoscape-dagre": "network visualization",
"dagre": "network visualization",
"express": "server framework",
"express-basic-auth": "authenticate people via browser",
"file-saver": "save files",
"ini": "parse ini files. could remove this if we used json files for db data",
"jquery": "ui",
"jquery-contextmenu": "ui",
"jquery-ui": "ui widgets",
"jquery-ui-bundle": "ui widgets",
"lodash.debounce": "prevent a function from running too many times in a very small timeframe",
"lodash.difference": "general difference function for objects, lists, etc",
"lodash.frompairs": "convert array of two-length arrays to a object",
"lodash.get": "get a specific key from object",
"lodash.groupby": "general groupby function",
"lodash.intersection": "general intersection function for objects, lists, etc",
"lodash.isempty": "general check for is empty, could be removed as we only use it a few times and can replace it with .length === 0",
"lodash.union": "general union function for objects, lists, etc",
"lodash.uniq": "compute uniques in an list",
"object-hash": "compute hashes for keys",
"mysql2": "mysql node driver which returns promises",
"query-string": "format request params in the body",
"whatwg-fetch": "modern replacement for ajax httprequest",
"winston": "logging"
},
"devDependenciesComments": {
"@babel/core": "es6 features",
"@babel/plugin-transform-strict-mode": "force strict mode",
"@babel/preset-env": "es6 features",
"autoprefixer": "automatically add browser-specific prefixes to new css tags",
"babel-loader": "webpack plugin to process es6 files and transform it into es5 js",
"chai": "testing framework used in test-populate-database, these should use jest instead",
"clean-webpack-plugin": "used in build process to clean the dist directory before writing output bundles to the dist directory",
"cross-env": "sets environment variables for windows/linux/mac, only used in the build-prod command",
"css-loader": "css in webpack",
"eslint": "lint js code",
"extra-watch-webpack-plugin": "part of the build process to watch for changes in non-js code e.g. css or html files",
"forever": "server startup/management. might not be needed if we use pm2",
"fs-extra": "used in the webpack build script",
"html-webpack-plugin": "generates hashable bundle names and injects it into html dynamically e.g. main-8439427.js -> create script tag in html referencing main-8439427.js",
"jest": "testing framework",
"livereload": "auto reload browser afer dev builds",
"mini-css-extract-plugin": "css in webpack",
"mocha": "testing framework. used in test-populate-database, these should use jest instead",
"node-sass": "process sass files",
"nodemon": "resets server",
"npm-run-all": "utility used in package.json scripts to run multiple scripts sequentially",
"post-compile-webpack-plugin": "builds sass files after the js build is finished to keep both in sync",
"postcss-loader": "post-processing css in webpack",
"regenerator-runtime": "?????",
"sass-lint": "Lint css",
"sass-loader": "sass in webpack",
"webpack": "used to build the project",
"webpack-cli": "cli version of webpack"
}
}