From e33de09b6a18597bd9894d0ad7a0fd4534b7f173 Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Tue, 19 Jul 2022 00:22:45 +0200 Subject: [PATCH] update node types to v18, ditch node-fetch --- api/package.json | 6 ++---- bundle/package-lock.json | Bin 679767 -> 673595 bytes bundle/package.json | 6 ++---- bundle/tsconfig.json | 2 +- cdn/package.json | 6 ++---- gateway/package.json | 6 ++---- package-lock.json | Bin 855275 -> 851945 bytes util/package-lock.json | Bin 494172 -> 466540 bytes util/package.json | 9 ++------- util/src/fetch.js | 1 + util/src/index.ts | 1 + util/src/util/AutoUpdate.ts | 2 +- util/src/util/cdn.ts | 3 ++- 13 files changed, 16 insertions(+), 26 deletions(-) create mode 100644 util/src/fetch.js diff --git a/api/package.json b/api/package.json index 8f9d1c8f3..f8d8376eb 100644 --- a/api/package.json +++ b/api/package.json @@ -39,6 +39,7 @@ "@babel/core": "^7.18.9", "@babel/preset-env": "^7.18.9", "@babel/preset-typescript": "^7.15.0", + "@ovos-media/ts-transform-paths": "^1.7.18-1", "@types/amqplib": "^0.8.1", "@types/bcrypt": "^5.0.0", "@types/express": "^4.17.9", @@ -48,10 +49,8 @@ "@types/jsonwebtoken": "^8.5.0", "@types/morgan": "^1.9.3", "@types/multer": "^1.4.5", - "@types/node": "^14.18.22", - "@types/node-fetch": "^2.5.5", + "@types/node": "^18.0.6", "@types/supertest": "^2.0.11", - "@ovos-media/ts-transform-paths": "^1.7.18-1", "jest": "^28.1.3", "jest-expect-message": "^1.0.2", "jest-runtime": "^28.1.3", @@ -86,7 +85,6 @@ "morgan": "^1.10.0", "multer": "^1.4.5-lts.1", "node-2fa": "^2.0.3", - "node-fetch": "^3.2.9", "patch-package": "^6.4.7", "picocolors": "^1.0.0", "proxy-agent": "^5.0.0", diff --git a/bundle/package-lock.json b/bundle/package-lock.json index fd388bd2edf08b5ee0076e08394d2715245b3a22..5078696fd47b825037a4224e64601b52cd8459a1 100644 GIT binary patch delta 555 zcmcbUlCep=3$f=m}_Kam|78HmKhb|o0%3`8SGkO;vQt` z9bu6gSsAJAY~ma27f=|SVVUpe8DL&gW#sPT9g^dgnCX<19_3e&mX;r6>>L*4uAQ8d zRX&~ZIiu9{1tLt`)0b7TubW=*k5Od%V=<=LleX_!#dObZ`^VQz^SIjCelTrk`@#HH zsa-;zWxIqtD_2c>>KxYXsdLzZGY}r%&dbWaf(aBNlWqA!rn9MX@of+0VBZK0o9PX# z>}s3&M0PNO0!MB#54XhjSYCEHSP11xDNjGa$9^0XINML~vu{nu9Uh@H36JTH73`9e z<+-@0>npGbPq!CinlSx+3OoDu=xX-k<=ZvCu)i|go~X`oi(`ASAxFTIb^{5{?FJHD MoZ8#nT(|_K0a~22lmGw# delta 3419 zcmd6pduUtt700<(_g+0}$B7?t^RO+;PMucKy^^k;p-C-EmMu%NuHKK)CRftc`|YbI zDUI15VbFvXQ6EYnjE?=c(ipdhG04_G3hih{^Vi1cprvJlvaSh(HYr&)Nyd$1ybZQ_ z?EZIu=l*`@ch32q^SM92_VjOVK7Hd29G)eG5}YR0q;cz2T!~>CQl*ExDSYg(BEj*o zl~E5tfp+dp~|+gcnNMv3l0 z22$PMwD%}&`;J)NZemZuogX6@{O}&}9DF?}8G@m22`fBL;}U3mOPt?&Y4|;~?`!*l z?ZZQJeQWzBA>87}%1Fap0o5;vsC;Il0;S=zOIC^MnWIT%OItPAvpE%XtAP#je z``)8~kL(Rt4G;cC%zXdqvCh?F$ke@^h)f;<1vgHjLb!QIGPtvf{0x!$%Plq>4Fy{1 zf^Lz?BvT10<%`>*g+NfXSaCKC6{c19tgfVT(dJ63s`fU^xmsq)6{h&8pVtMf%~n#Y z%XwTe7w2_*Y=si9qrp>o774)dBp~zPWRC7>%}J zeHokCC}9I|F^l4RC6`j zv%09Uh6>@JXQ`TLRXjnrO_Nut6YjDnTMsF9W~H4iq#PAZ$}V4O#$&0-8Vf2F_7qIM zhD>(;^b_>c^F&XtiYTm;qVbIfA`Ff{FQAV1Rji2Sicv~IJ$g~lB;0)tmj(1qle=V5 z`<*K-M_Oem*Yss;xWGhNrlF4{tacrfwl&-uCXroYnyby6+MjI5S*n`%7YliNIg@f~ zEQLhWS&N5sMLtwE&}&7v8}4}V?+s+q`Fyj^R`_%w32q-g1!q4)p8&&s?8wm)+bpp; zGS5+uef7H}dKx|98tpEDT!(>QLN;58*{zn>|Il6 zHYU+oU$n~Ams`$S*r7IN;+)$TusOJxmyOs9JmpylW{MHBRqG1slo6etTFQGJ3t5-d zsV}EgjE!ztSNWAF8*ykkcU4t$B-oa#o@paLm_Gcd8vQ9l1N)6Yj;Yk7y1hO>1=2sG z*p=*8XeaxX;7i$e`GCuBXse3Q!q)r06Ww zl~%)&r=HVLoWtW{Omr*}3-Jz9iBY;+j=bMTEms+HB-mWg+rq|3#mU+0Y8O?o+RBW3 zfo1|uBOA^ut+YyQ3R(6mb2*7lz~y_`vnrl_vxeQVx^ zH>)+QvHmclWT=E^g>E$XgwqmMYvg9TFPq3KExA;)K%2dxRfp1B^rX!ZgQwMgB`yVz zTs&rxy`UkLq*8XKe@ofk3Xv*O^PO$4T>3@qZikNo*y)}w7vW429fOB|5zOo!Ae+x% z6a8qfgod$BXc(7VI=olhJ+Y4U6LB$tiQ2`F=j8jfK)2reEw|tL_>`YhI$d-<9tzqk zj;KRvNiG%q0ex^eP^}wX{+dIR$|MU+*2XQ?7QI=$CTX(y(%L1RQn$iKm=bM_#SP0Q zW5C@q+iE6_(NSVnwZO)@Gw0W@V-r^{T*EsTt`ULM4gz|7+)JTt)EUrNXZagqahqn3 zk+ah!r%dqALG~f~Y=UGIOw8W2b})SQVlKTqYzUU}#*tjkuTRy94=?5OEav z_r-63;)ducc;*9f6fRsOhBjP6qVsZExZVK2Ts#i*A7TUh0xobMfHQR-ek#1LBK{q& z`45C^u=%#|pH>s6)7U_ND+xdegIqu9|#xR N-AZ&O&qyXt{2i3lR#pH2 diff --git a/bundle/package.json b/bundle/package.json index 670569e50..002ed7f9d 100644 --- a/bundle/package.json +++ b/bundle/package.json @@ -29,6 +29,7 @@ "@babel/core": "^7.18.9", "@babel/preset-env": "^7.18.9", "@babel/preset-typescript": "^7.15.0", + "@ovos-media/ts-transform-paths": "^1.7.18-1", "@types/amqplib": "^0.8.1", "@types/bcrypt": "^5.0.0", "@types/body-parser": "^1.19.0", @@ -42,12 +43,10 @@ "@types/jsonwebtoken": "^8.5.0", "@types/morgan": "^1.9.3", "@types/multer": "^1.4.7", - "@types/node": "^14.17.9", - "@types/node-fetch": "^2.5.12", + "@types/node": "^18.0.6", "@types/node-os-utils": "^1.2.0", "@types/supertest": "^2.0.11", "@types/ws": "^8.5.3", - "@ovos-media/ts-transform-paths": "^1.7.18-1", "jest": "^28.1.3", "jest-expect-message": "^1.0.2", "jest-runtime": "^28.1.3", @@ -98,7 +97,6 @@ "nan": "^2.15.0", "nanocolors": "^0.2.12", "node-2fa": "^2.0.3", - "node-fetch": "^3.2.9", "node-os-utils": "^1.3.5", "patch-package": "^6.4.7", "pg": "^8.7.3", diff --git a/bundle/tsconfig.json b/bundle/tsconfig.json index 5fa811741..87f6578ac 100644 --- a/bundle/tsconfig.json +++ b/bundle/tsconfig.json @@ -8,7 +8,7 @@ "target": "ESNext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, "lib": [ - "ES2021" + "ESNext" ] /* Specify library files to be included in the compilation. */, "allowJs": true /* Allow javascript files to be compiled. */, "checkJs": true /* Report errors in .js files. */, diff --git a/cdn/package.json b/cdn/package.json index b9aaea69e..2b2866cbd 100644 --- a/cdn/package.json +++ b/cdn/package.json @@ -21,6 +21,7 @@ }, "homepage": "https://github.com/fosscord/fosscord-server#readme", "devDependencies": { + "@ovos-media/ts-transform-paths": "^1.7.18-1", "@types/amqplib": "^0.8.1", "@types/body-parser": "^1.19.0", "@types/btoa": "^1.2.3", @@ -29,9 +30,7 @@ "@types/fs-extra": "^9.0.12", "@types/jsonwebtoken": "^8.5.0", "@types/multer": "^1.4.7", - "@types/node": "^14.17.0", - "@types/node-fetch": "^2.5.7", - "@ovos-media/ts-transform-paths": "^1.7.18-1", + "@types/node": "^18.0.6", "ts-patch": "^2.0.1" }, "dependencies": { @@ -54,7 +53,6 @@ "missing-native-js-functions": "^1.2.17", "multer": "^1.4.5-lts.1", "nanocolors": "^0.2.12", - "node-fetch": "^3.2.9", "supertest": "^6.1.6", "typescript": "^4.1.2" }, diff --git a/gateway/package.json b/gateway/package.json index fe59527f4..05ef5c558 100644 --- a/gateway/package.json +++ b/gateway/package.json @@ -15,12 +15,11 @@ "author": "Fosscord", "license": "AGPL-3.0-only", "devDependencies": { + "@ovos-media/ts-transform-paths": "^1.7.18-1", "@types/amqplib": "^0.8.1", "@types/jsonwebtoken": "^8.5.0", - "@types/node": "^14.17.9", - "@types/node-fetch": "^2.5.12", + "@types/node": "^18.0.6", "@types/ws": "^8.5.3", - "@ovos-media/ts-transform-paths": "^1.7.18-1", "ts-node-dev": "^2.0.0", "ts-patch": "^2.0.1", "typescript": "^4.2.3" @@ -32,7 +31,6 @@ "jsonwebtoken": "^8.5.1", "lambert-server": "^1.2.11", "missing-native-js-functions": "^1.2.18", - "node-fetch": "^3.2.9", "proxy-agent": "^5.0.0", "typeorm": "^0.3.7", "ws": "^8.8.1" diff --git a/package-lock.json b/package-lock.json index 6de2acb6e9de69304fa523924dfb0eba14d358c9..18a82aab57003acae56a179d01cfb82518caf920 100644 GIT binary patch delta 1849 zcmd6nTWAzl7{@u|&dizJ)y=vIUK(RGX>AfGnVFqzqO{0nX*SX9xZO*VUE9!Y%qFYZ zPNIpqyjW<4u&Ns_`A?{oZ;b@>)ZxZ3tMj46?p4sd%igz zpAbqSRfEx9PlJ+pJ*{};j=_j06^{f`$>>n{wLaA!s@~ID+YuXzRru6ESPS-syLRYW zW3Z-gSn)UQiFDT|Qgv^4#Ol?BaGq-ygp%95=LMx6|_s9AUC1T;0PWfPWA`t68?AH5zd!tcp zxV=%8dcuuIbh$ zS+dzOE&Vz4YaDqQX{3By_AJieE$hF#nZP z?cEZ5bxPVIqBgpYa+A)F?ZqA};F@QfdBhur#5>pwR!rRxnPqF{MkUy!sBq^RDFgo{ zW|1_d$>RqU$7T7x_!U|OaeIl4|5;;ypte@yfbeD0lMqF?AvbAnLfoJ>wE2Web2HC& zp`yN(-}4PTl-Br)zmgcru=J(bnb#$n60C>6msmBhI4&({&(kRH3M2}4|joVh=?F5rKwJH^d!NW5@*&$Uf9%EWV7vYMyh=DPW5aqt)^Mek0vPEWNW zG1ZEjt?+#hrl9V{1b(iSf8kZf%c1Udomzhj&kCInb;3`d6$bVM{2IgM@O4IRHhQ%| zODEn8uB`l2Y;UwPmQKcB?aZ{NgRks(S&a@K=+#2L_VBKr{@CvER7ZC-wr6BeJM=<& zyz8a0bYHTgtG9npO=-g|-Osm$_NhDjU-YF0)YPt>ZG*d8e0%CMfUcsTVa@pT{spYV zq=V>?beP5d1-kqjzlF9##VmW~zk(*pPqIZ^9E=gp4rm6pEFu=U35gTS%p`+$maU2p zeqg61(flc!GYLJu73lxNGK0P1%{lhP!@=i+cK{mg)G2J=vbV8uYZAds|0XNkUu2`k z!|;NFsq+z`a2uiU_)BDcc_L#+5`Bm3Qina;+@6r4DGeS!p9pv%@;Rd$56M@o?;aja z3=Qrxs#PVZDr)hdcVw*ZVAA0EF<;hj!YVZ=^-7rE_IbIWR_+c|fRbZvrjQbXGYYNV zFz2WQw;b}Cu$^IL`JX9Rw2oomF0zQkMYh@lGm1>bwOSdq%aKgqp^>4X@dVsC&s>i? bH1GdT14d}7r&qGFjuIW4#7efb>b-vek~@{n diff --git a/util/package-lock.json b/util/package-lock.json index 51b6016cb57cc8899e4514fd3b974cbfe3f8bcfd..e56a5f1bcd7197c46b65533f6d7619eff93be005 100644 GIT binary patch delta 2050 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 E2P$m