summary refs log tree commit diff
path: root/api
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-08-13 20:54:59 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-08-13 20:54:59 +0200
commitf70a24ab6a5c8174c7d417e1c4c0400c0c4bebcb (patch)
tree8759e61a5a1851dd0e2313ebd1cb69705afbb969 /api
parent:pencil: update readme (diff)
parent:bug: fix dependencies and build for bundle (diff)
downloadserver-f70a24ab6a5c8174c7d417e1c4c0400c0c4bebcb.tar.xz
Merge branch 'master' of https://github.com/fosscord/fosscord-api
Diffstat (limited to 'api')
-rw-r--r--api/package-lock.json304
-rw-r--r--api/package.json6
2 files changed, 169 insertions, 141 deletions
diff --git a/api/package-lock.json b/api/package-lock.json
index c9dc3919..3308a6be 100644
--- a/api/package-lock.json
+++ b/api/package-lock.json
@@ -1,12 +1,12 @@
 {
-	"name": "api",
+	"name": "@fosscord/api",
 	"version": "1.0.0",
-	"lockfileVersion": 1,
+	"lockfileVersion": 2,
 	"requires": true,
 	"packages": {
 		"": {
+			"name": "@fosscord/api",
 			"version": "1.0.0",
-			"hasInstallScript": true,
 			"license": "ISC",
 			"dependencies": {
 				"@fosscord/util": "file:../util",
@@ -48,7 +48,7 @@
 				"@types/i18next-node-fs-backend": "^2.1.0",
 				"@types/jsonwebtoken": "^8.5.0",
 				"@types/multer": "^1.4.5",
-				"@types/node": "^14.14.22",
+				"@types/node": "^14.17.9",
 				"@types/node-fetch": "^2.5.7",
 				"@zerollup/ts-transform-paths": "^1.7.18",
 				"0x": "^4.10.2",
@@ -61,13 +61,17 @@
 			}
 		},
 		"../util": {
-			"version": "1.3.52",
+			"name": "@fosscord/util",
+			"version": "1.3.55",
+			"hasInstallScript": true,
 			"license": "GPLV3",
-			"dependencies": {
+			"devDependencies": {
+				"@types/amqplib": "^0.8.1",
 				"@types/jsonwebtoken": "^8.5.0",
+				"@types/mongodb": "^3.6.9",
 				"@types/mongoose-autopopulate": "^0.10.1",
 				"@types/mongoose-lean-virtuals": "^0.5.1",
-				"@types/node": "^14.14.25",
+				"@types/node": "^14.17.9",
 				"ajv": "^8.5.0",
 				"amqplib": "^0.8.0",
 				"dot-prop": "^6.0.1",
@@ -75,12 +79,9 @@
 				"jsonwebtoken": "^8.5.1",
 				"missing-native-js-functions": "^1.2.2",
 				"mongodb": "^3.6.9",
-				"mongoose": "^5.12.3",
+				"mongoose": "^5.13.7",
 				"mongoose-autopopulate": "^0.12.3",
 				"typescript": "^4.1.3"
-			},
-			"devDependencies": {
-				"@types/amqplib": "^0.8.1"
 			}
 		},
 		"node_modules/@babel/code-frame": {
@@ -702,10 +703,6 @@
 				"node": ">=0.1.95"
 			}
 		},
-		"node_modules/@fosscord/server-util": {
-			"resolved": "../util",
-			"link": true
-		},
 		"node_modules/@fosscord/util": {
 			"resolved": "../util",
 			"link": true
@@ -11497,57 +11494,54 @@
 			"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
 			"integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
 			"dev": true,
-			"requires": {
-				"ajv": "^6.9.2",
-				"browserify": "^16.2.3",
-				"concat-stream": "^1.5.2",
-				"d3-fg": "^6.14.0",
-				"debounce": "^1.2.0",
-				"debug": "^4.1.1",
-				"end-of-stream": "^1.1.0",
-				"env-string": "^1.0.0",
-				"escape-string-regexp": "^1.0.5",
-				"execspawn": "^1.0.1",
-				"has-unicode": "^2.0.1",
-				"hsl-to-rgb-for-reals": "^1.1.0",
-				"jsonstream2": "^1.1.2",
-				"make-dir": "^1.3.0",
-				"minimist": "^1.2.0",
-				"morphdom": "^2.3.3",
-				"nanohtml": "^1.4.0",
-				"on-net-listen": "^1.1.0",
-				"opn": "^5.4.0",
-				"perf-sym": "^2.0.3",
-				"pump": "^3.0.0",
-				"pumpify": "^1.4.0",
-				"semver": "^5.5.1",
-				"single-line-log": "^1.0.1",
-				"split2": "^3.1.0",
-				"tachyons": "^4.9.1",
-				"through2": "^2.0.5",
-				"which": "^1.2.4"
+			"dependencies": {
+				"emoji-regex": "^8.0.0",
+				"is-fullwidth-code-point": "^3.0.0",
+				"strip-ansi": "^6.0.0"
 			},
+			"engines": {
+				"node": ">=8"
+			}
+		},
+		"node_modules/yn": {
+			"version": "3.1.1",
+			"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+			"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+			"dev": true,
+			"engines": {
+				"node": ">=6"
+			}
+		},
+		"node_modules/zip-stream": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
+			"integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
+			"dev": true,
 			"dependencies": {
-				"ajv": {
-					"version": "6.12.6",
-					"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-					"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-					"dev": true,
-					"requires": {
-						"fast-deep-equal": "^3.1.1",
-						"fast-json-stable-stringify": "^2.0.0",
-						"json-schema-traverse": "^0.4.1",
-						"uri-js": "^4.2.2"
-					}
-				},
-				"json-schema-traverse": {
-					"version": "0.4.1",
-					"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-					"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-					"dev": true
-				}
+				"archiver-utils": "^2.1.0",
+				"compress-commons": "^4.1.0",
+				"readable-stream": "^3.6.0"
+			},
+			"engines": {
+				"node": ">= 10"
 			}
 		},
+		"node_modules/zip-stream/node_modules/readable-stream": {
+			"version": "3.6.0",
+			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+			"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+			"dev": true,
+			"dependencies": {
+				"inherits": "^2.0.3",
+				"string_decoder": "^1.1.1",
+				"util-deprecate": "^1.0.1"
+			},
+			"engines": {
+				"node": ">= 6"
+			}
+		}
+	},
+	"dependencies": {
 		"@babel/code-frame": {
 			"version": "7.14.5",
 			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
@@ -12019,36 +12013,15 @@
 				"minimist": "^1.2.0"
 			}
 		},
-		"@fosscord/server-util": {
-			"version": "1.3.55",
-			"resolved": "https://registry.npmjs.org/@fosscord/server-util/-/server-util-1.3.55.tgz",
-			"integrity": "sha512-3qcII5tLQJawNVmO2GSGYeY7IFu00hLTPn6G902h1x+AN7SfpIEDglBtWPlMl6dgryi0jpMtQaEna3jFt8l1JQ==",
-			"requires": {
-				"@types/amqplib": "^0.8.1",
-				"@types/jsonwebtoken": "^8.5.0",
-				"@types/mongoose-autopopulate": "^0.10.1",
-				"@types/mongoose-lean-virtuals": "^0.5.1",
-				"@types/node": "^14.14.25",
-				"ajv": "^8.5.0",
-				"amqplib": "^0.8.0",
-				"dot-prop": "^6.0.1",
-				"env-paths": "^2.2.1",
-				"jsonwebtoken": "^8.5.1",
-				"missing-native-js-functions": "^1.2.2",
-				"mongodb": "^3.6.9",
-				"mongoose": "^5.12.3",
-				"mongoose-autopopulate": "^0.12.3",
-				"typescript": "^4.1.3"
-			}
-		},
 		"@fosscord/util": {
 			"version": "file:../util",
 			"requires": {
 				"@types/amqplib": "^0.8.1",
 				"@types/jsonwebtoken": "^8.5.0",
+				"@types/mongodb": "^3.6.9",
 				"@types/mongoose-autopopulate": "^0.10.1",
 				"@types/mongoose-lean-virtuals": "^0.5.1",
-				"@types/node": "^14.14.25",
+				"@types/node": "^14.17.9",
 				"ajv": "^8.5.0",
 				"amqplib": "^0.8.0",
 				"dot-prop": "^6.0.1",
@@ -12729,14 +12702,60 @@
 				"@zerollup/ts-helpers": "^1.7.18"
 			}
 		},
-		"JSONStream": {
-			"version": "1.3.5",
-			"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
-			"integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+		"0x": {
+			"version": "4.10.2",
+			"resolved": "https://registry.npmjs.org/0x/-/0x-4.10.2.tgz",
+			"integrity": "sha512-LXTa7LgSDOns5VsdyMSNTkrXqMZ1cLuPqehojM96WFO9+L2XjmKKTayKi++38CevR1QrjF4EqGDN98oxNhf5uQ==",
 			"dev": true,
 			"requires": {
-				"jsonparse": "^1.2.0",
-				"through": ">=2.2.7 <3"
+				"ajv": "^6.9.2",
+				"browserify": "^16.2.3",
+				"concat-stream": "^1.5.2",
+				"d3-fg": "^6.14.0",
+				"debounce": "^1.2.0",
+				"debug": "^4.1.1",
+				"end-of-stream": "^1.1.0",
+				"env-string": "^1.0.0",
+				"escape-string-regexp": "^1.0.5",
+				"execspawn": "^1.0.1",
+				"has-unicode": "^2.0.1",
+				"hsl-to-rgb-for-reals": "^1.1.0",
+				"jsonstream2": "^1.1.2",
+				"make-dir": "^1.3.0",
+				"minimist": "^1.2.0",
+				"morphdom": "^2.3.3",
+				"nanohtml": "^1.4.0",
+				"on-net-listen": "^1.1.0",
+				"opn": "^5.4.0",
+				"perf-sym": "^2.0.3",
+				"pump": "^3.0.0",
+				"pumpify": "^1.4.0",
+				"semver": "^5.5.1",
+				"single-line-log": "^1.0.1",
+				"split2": "^3.1.0",
+				"tachyons": "^4.9.1",
+				"through2": "^2.0.5",
+				"which": "^1.2.4"
+			},
+			"dependencies": {
+				"ajv": {
+					"version": "6.12.6",
+					"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+					"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+					"dev": true,
+					"requires": {
+						"fast-deep-equal": "^3.1.1",
+						"fast-json-stable-stringify": "^2.0.0",
+						"json-schema-traverse": "^0.4.1",
+						"uri-js": "^4.2.2"
+					}
+				},
+				"json-schema-traverse": {
+					"version": "0.4.1",
+					"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+					"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+					"dev": true
+				}
 			}
 		},
 		"abab": {
@@ -13401,9 +13420,9 @@
 			"integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
 			"dev": true,
 			"requires": {
-				"JSONStream": "^1.0.3",
 				"combine-source-map": "~0.8.0",
 				"defined": "^1.0.0",
+				"JSONStream": "^1.0.3",
 				"safe-buffer": "^5.1.1",
 				"through2": "^2.0.0",
 				"umd": "^3.0.0"
@@ -13430,7 +13449,6 @@
 			"integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==",
 			"dev": true,
 			"requires": {
-				"JSONStream": "^1.0.3",
 				"assert": "^1.4.0",
 				"browser-pack": "^6.0.1",
 				"browser-resolve": "^2.0.0",
@@ -13452,6 +13470,7 @@
 				"https-browserify": "^1.0.0",
 				"inherits": "~2.0.1",
 				"insert-module-globals": "^7.0.0",
+				"JSONStream": "^1.0.3",
 				"labeled-stream-splicer": "^2.0.0",
 				"mkdirp-classic": "^0.5.2",
 				"module-deps": "^6.2.3",
@@ -15327,7 +15346,8 @@
 		"express-async-errors": {
 			"version": "3.1.1",
 			"resolved": "https://registry.npmjs.org/express-async-errors/-/express-async-errors-3.1.1.tgz",
-			"integrity": "sha512-h6aK1da4tpqWSbyCa3FxB/V6Ehd4EEB15zyQq9qe75OZBp0krinNKuH4rAY+S/U/2I36vdLAUFSjQJ+TFmODng=="
+			"integrity": "sha512-h6aK1da4tpqWSbyCa3FxB/V6Ehd4EEB15zyQq9qe75OZBp0krinNKuH4rAY+S/U/2I36vdLAUFSjQJ+TFmODng==",
+			"requires": {}
 		},
 		"express-validator": {
 			"version": "6.12.1",
@@ -16038,11 +16058,11 @@
 			"integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==",
 			"dev": true,
 			"requires": {
-				"JSONStream": "^1.0.3",
 				"acorn-node": "^1.5.2",
 				"combine-source-map": "^0.8.0",
 				"concat-stream": "^1.6.1",
 				"is-buffer": "^1.1.0",
+				"JSONStream": "^1.0.3",
 				"path-is-absolute": "^1.0.1",
 				"process": "~0.11.0",
 				"through2": "^2.0.0",
@@ -16573,7 +16593,8 @@
 			"version": "1.2.2",
 			"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
 			"integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
-			"dev": true
+			"dev": true,
+			"requires": {}
 		},
 		"jest-regex-util": {
 			"version": "26.0.0",
@@ -16948,6 +16969,16 @@
 			"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
 			"dev": true
 		},
+		"JSONStream": {
+			"version": "1.3.5",
+			"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+			"integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+			"dev": true,
+			"requires": {
+				"jsonparse": "^1.2.0",
+				"through": ">=2.2.7 <3"
+			}
+		},
 		"jsonstream2": {
 			"version": "1.1.2",
 			"resolved": "https://registry.npmjs.org/jsonstream2/-/jsonstream2-1.1.2.tgz",
@@ -17300,7 +17331,8 @@
 		"memory-pager": {
 			"version": "1.5.0",
 			"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
-			"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg=="
+			"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+			"devOptional": true
 		},
 		"merge-descriptors": {
 			"version": "1.0.1",
@@ -17467,7 +17499,6 @@
 			"integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==",
 			"dev": true,
 			"requires": {
-				"JSONStream": "^1.0.3",
 				"browser-resolve": "^2.0.0",
 				"cached-path-relative": "^1.0.2",
 				"concat-stream": "~1.6.0",
@@ -17475,6 +17506,7 @@
 				"detective": "^5.2.0",
 				"duplexer2": "^0.1.2",
 				"inherits": "^2.0.1",
+				"JSONStream": "^1.0.3",
 				"parents": "^1.0.0",
 				"readable-stream": "^2.0.2",
 				"resolve": "^1.4.0",
@@ -17558,17 +17590,20 @@
 		"mongoose-autopopulate": {
 			"version": "0.12.3",
 			"resolved": "https://registry.npmjs.org/mongoose-autopopulate/-/mongoose-autopopulate-0.12.3.tgz",
-			"integrity": "sha512-yNmYsfi6OpS/GQ+48mkB0KQ199ExHmmPrt3wt3fyxPHPMtEBGts7yq3wBQR6VgKCPOQaKvCI1URbJCPOtrPeLw=="
+			"integrity": "sha512-yNmYsfi6OpS/GQ+48mkB0KQ199ExHmmPrt3wt3fyxPHPMtEBGts7yq3wBQR6VgKCPOQaKvCI1URbJCPOtrPeLw==",
+			"requires": {}
 		},
 		"mongoose-legacy-pluralize": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
-			"integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ=="
+			"integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==",
+			"requires": {}
 		},
 		"mongoose-long": {
 			"version": "0.3.2",
 			"resolved": "https://registry.npmjs.org/mongoose-long/-/mongoose-long-0.3.2.tgz",
-			"integrity": "sha512-5gTjPH6HUmtNhamv8MPwExWo01Z4d9CT5njZlupqqbmxzMXTbDOgCuP/jnK+9SV0Fs7nuyYlXv7pJ/nA2pAAuA=="
+			"integrity": "sha512-5gTjPH6HUmtNhamv8MPwExWo01Z4d9CT5njZlupqqbmxzMXTbDOgCuP/jnK+9SV0Fs7nuyYlXv7pJ/nA2pAAuA==",
+			"requires": {}
 		},
 		"morphdom": {
 			"version": "2.6.1",
@@ -18066,12 +18101,9 @@
 			}
 		},
 		"optional-require": {
-			"version": "1.1.7",
-			"resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.1.7.tgz",
-			"integrity": "sha512-cIeRZocXsZnZYn+SevbtSqNlLbeoS4mLzuNn4fvXRMDRNhTGg0sxuKXl0FnZCtnew85LorNxIbZp5OeliILhMw==",
-			"requires": {
-				"require-at": "^1.0.6"
-			}
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz",
+			"integrity": "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA=="
 		},
 		"optionator": {
 			"version": "0.8.3",
@@ -18725,10 +18757,21 @@
 			"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
 			"dev": true
 		},
-		"require-at": {
-			"version": "1.0.6",
-			"resolved": "https://registry.npmjs.org/require-at/-/require-at-1.0.6.tgz",
-			"integrity": "sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g=="
+		"require_optional": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz",
+			"integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==",
+			"requires": {
+				"resolve-from": "^2.0.0",
+				"semver": "^5.1.0"
+			},
+			"dependencies": {
+				"resolve-from": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
+					"integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
+				}
+			}
 		},
 		"require-directory": {
 			"version": "2.1.1",
@@ -18747,22 +18790,6 @@
 			"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
 			"dev": true
 		},
-		"require_optional": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz",
-			"integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==",
-			"requires": {
-				"resolve-from": "^2.0.0",
-				"semver": "^5.1.0"
-			},
-			"dependencies": {
-				"resolve-from": {
-					"version": "2.0.0",
-					"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
-					"integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
-				}
-			}
-		},
 		"requires-port": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -19096,6 +19123,7 @@
 			"version": "1.0.3",
 			"resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
 			"integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
+			"devOptional": true,
 			"requires": {
 				"sparse-bitfield": "^3.0.3"
 			}
@@ -19523,6 +19551,7 @@
 			"version": "3.0.3",
 			"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
 			"integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
+			"devOptional": true,
 			"requires": {
 				"memory-pager": "^1.0.2"
 			}
@@ -19875,6 +19904,15 @@
 			"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz",
 			"integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo="
 		},
+		"string_decoder": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+			"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+			"dev": true,
+			"requires": {
+				"safe-buffer": "~5.2.0"
+			}
+		},
 		"string-length": {
 			"version": "4.0.2",
 			"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
@@ -19910,15 +19948,6 @@
 				}
 			}
 		},
-		"string_decoder": {
-			"version": "1.3.0",
-			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-			"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-			"dev": true,
-			"requires": {
-				"safe-buffer": "~5.2.0"
-			}
-		},
 		"strip-ansi": {
 			"version": "6.0.0",
 			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
@@ -20838,7 +20867,8 @@
 			"version": "7.5.3",
 			"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
 			"integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
-			"dev": true
+			"dev": true,
+			"requires": {}
 		},
 		"xml-name-validator": {
 			"version": "3.0.0",
diff --git a/api/package.json b/api/package.json
index 1fe3d574..967c9df8 100644
--- a/api/package.json
+++ b/api/package.json
@@ -5,8 +5,6 @@
 	"main": "dist/Server.js",
 	"types": "dist/Server.d.ts",
 	"scripts": {
-		"link": "npm run build && npm link",
-		"postinstall": "npm run --prefix ../util/ link && npm link @fosscord/util && npm run link",
 		"test": "jest",
 		"test:watch": "jest --watch",
 		"start": "npm run build && node dist/start",
@@ -66,16 +64,16 @@
 		"require_optional": "^1.0.1"
 	},
 	"devDependencies": {
+		"0x": "^4.10.2",
 		"@types/amqplib": "^0.8.1",
 		"@types/bcrypt": "^5.0.0",
 		"@types/express": "^4.17.9",
 		"@types/i18next-node-fs-backend": "^2.1.0",
 		"@types/jsonwebtoken": "^8.5.0",
 		"@types/multer": "^1.4.5",
-		"@types/node": "^14.14.22",
+		"@types/node": "^14.17.9",
 		"@types/node-fetch": "^2.5.7",
 		"@zerollup/ts-transform-paths": "^1.7.18",
-		"0x": "^4.10.2",
 		"caxa": "^2.1.0",
 		"jest": "^26.6.3",
 		"saslprep": "^1.0.3",