aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2021-09-23 23:18:00 -0700
committerAdam Soltys <[email protected]>2021-09-23 23:19:42 -0700
commit6fe6c1b9d715e7501ada4505af46062714a3d055 (patch)
tree8e668f8a4e0079da7d5d04fd3b6275f521d52caa
parent18814242ad055ecd6f9de1d23209958e12aee69c (diff)
downloadcoinos-server-6fe6c1b9d715e7501ada4505af46062714a3d055.tar.gz
coinos-server-6fe6c1b9d715e7501ada4505af46062714a3d055.zip
request logger
-rw-r--r--.gitignore1
-rw-r--r--README.md1
-rw-r--r--docker-compose.yml1
-rw-r--r--index.js5
-rw-r--r--lib/logging.js19
-rw-r--r--package.json5
-rw-r--r--routes/assets.js2
-rw-r--r--routes/payments.js3
-rw-r--r--yarn.lock164
9 files changed, 139 insertions, 62 deletions
diff --git a/.gitignore b/.gitignore
index ab73f32c..bc8aef57 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,4 @@ mysql
build.json
build.sh
watcher.sh
+logs
diff --git a/README.md b/README.md
index 5d8cbaa3..548f3f6f 100644
--- a/README.md
+++ b/README.md
@@ -24,6 +24,7 @@ This repository contains the code for the backend API server which is implemente
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d --remove-orphans
docker exec -i mariadb mysql -u root -ppassword < db/schema.sql
docker exec -it liquid elements-cli -conf=/config/elements.conf sendtoaddress AzpsKhC6xE9FEK4aWAzMnbvueMLiSa5ym1xpuYogFkHzWgMHSt8B79aNNbFppQzCSQ2yZ9E4nL6RQJU7 1000000
+ docker exec -it lnd lncli unlock
Note the last step will take some time on first run as it will download the aforementioned docker images.
diff --git a/docker-compose.yml b/docker-compose.yml
index 1e4402da..9340f0a6 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -15,6 +15,7 @@ services:
NODE_ENV: development
volumes:
- ./:/app
+ - ./logs:/logs
bitcoin:
image: asoltys/bitcoin:latest
container_name: bitcoin
diff --git a/index.js b/index.js
index 430a2333..e535b16f 100644
--- a/index.js
+++ b/index.js
@@ -9,7 +9,6 @@ const persist = require("./lib/persist");
ah = require("express-async-handler");
-l = require("pino")();
config = require("./config");
networks = [];
prod = process.env.NODE_ENV === "production";
@@ -22,7 +21,7 @@ logins = {};
sessions = {};
sockets = {};
-convert = persist('data/conversions.json');
+convert = persist("data/conversions.json");
SATS = 100000000;
toSats = n => parseInt((n * SATS).toFixed());
@@ -57,6 +56,7 @@ app.use(compression());
server = require("http").Server(app);
require("./db");
+require("./lib/logging");
require("./lib/utils");
require("./lib/sockets");
require("./lib/webhooks");
@@ -124,4 +124,3 @@ process.on("SIGINT", process.exit);
process.on("uncaughtException", function(exception) {
console.log(exception);
});
-
diff --git a/lib/logging.js b/lib/logging.js
new file mode 100644
index 00000000..5b43bf9b
--- /dev/null
+++ b/lib/logging.js
@@ -0,0 +1,19 @@
+const pino = require("pino");
+const expressPino = require("express-pino-logger")({
+ logger: pino("./logs/requests.log"),
+ serializers: {
+ res: res => {},
+ req: req => ({
+ method: req.method,
+ url: req.url
+ })
+ }
+});
+
+l = {
+ info: (...msgs) => pino().info(msgs.join(" ")),
+ warn: (...msgs) => pino().warn(msgs.join(" ")),
+ error: (...msgs) => pino().error(msgs.join(" "))
+};
+
+app.use(expressPino);
diff --git a/package.json b/package.json
index 3a1449b3..eed789a4 100644
--- a/package.json
+++ b/package.json
@@ -28,6 +28,7 @@
"date-fns": "^2.21.3",
"express": "4.17.1",
"express-async-handler": "^1.1.4",
+ "express-pino-logger": "^6.0.0",
"express-session": "^1.16.2",
"http-proxy-middleware": "^0.20.0",
"imap": "^0.8.19",
@@ -47,8 +48,8 @@
"passport": "0.4.0",
"passport-jwt": "^4.0.0",
"passport-local": "1.0.0",
- "pino": "^5.17.0",
- "pino-pretty": "^4.8.0",
+ "pino": "^6.13.2",
+ "pino-pretty": "^7.0.0",
"pm2": "^5.1.0",
"query-string": "^6.13.1",
"sequelize": "^5.21.3",
diff --git a/routes/assets.js b/routes/assets.js
index b33e43b4..14d2c705 100644
--- a/routes/assets.js
+++ b/routes/assets.js
@@ -76,6 +76,8 @@ app.post(
const { id: user_id } = req.user;
const blind = false;
+ if (!user_id) throw new Error("unauthorized");
+
const {
address,
domain,
diff --git a/routes/payments.js b/routes/payments.js
index 7ecfb36f..efe178b3 100644
--- a/routes/payments.js
+++ b/routes/payments.js
@@ -162,6 +162,9 @@ ah(async () => {
if (unaccounted.length)
l.warn("wallet transactions missing from database", unaccounted);
+
+ // let s = fs.createWriteStream("exceptions", { flags: "a" });
+ // unaccounted.map(tx => s.write(tx + "\n"));
};
setTimeout(sanity, 5000);
diff --git a/yarn.lock b/yarn.lock
index 5c526c30..b786f8d5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -93,11 +93,6 @@
protobufjs "^6.10.0"
yargs "^16.1.1"
-"@hapi/bourne@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-2.0.0.tgz#5bb2193eb685c0007540ca61d166d4e1edaf918d"
- integrity sha512-WEezM1FWztfbzqIUbsDzFRVMxSoLy3HugVcux6KDDtTqzPsLE8NDRHfXvev66aH1i2oOKKar3/XDjbvh/OUBdg==
-
"@mapbox/node-pre-gyp@^1.0.0":
version "1.0.5"
resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz#2a0b32fcb416fb3f2250fd24cb2a81421a4f5950"
@@ -1093,14 +1088,6 @@ [email protected], chalk@^3.0.0, chalk@~3.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chalk@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
- integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
charm@~0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/charm/-/charm-0.1.2.tgz#06c21eed1a1b06aeb67553cdc53e23274bac2296"
@@ -1237,6 +1224,11 @@ [email protected]:
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
+colorette@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
+ integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
+
combined-stream@^1.0.6, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@@ -1772,6 +1764,13 @@ express-async-handler@^1.1.4:
resolved "https://registry.yarnpkg.com/express-async-handler/-/express-async-handler-1.1.4.tgz#225a84908df63b35ae9df94b6f0f1af061266426"
integrity sha512-HdmbVF4V4w1q/iz++RV7bUxIeepTukWewiJGkoCKQMtvPF11MLTa7It9PRc/reysXXZSEyD4Pthchju+IUbMiQ==
+express-pino-logger@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/express-pino-logger/-/express-pino-logger-6.0.0.tgz#ed8f71dbbc3c2affbd4104a287f9c2a6a39b435b"
+ integrity sha512-YjBnalqgsNylRnWEpQGf8YzBP54stpoqX/o+SnpGr04OB7dRIQlsC1qvutFOyRjhLhXIWCe43pYJcjp9zM1Ccg==
+ dependencies:
+ pino-http "^5.3.0"
+
express-session@^1.16.2:
version "1.17.2"
resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.17.2.tgz#397020374f9bf7997f891b85ea338767b30d0efd"
@@ -1864,16 +1863,33 @@ fast-printf@^1.3.0:
dependencies:
boolean "^3.0.2"
-fast-redact@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-2.1.0.tgz#dfe3c1ca69367fb226f110aa4ec10ec85462ffdf"
- integrity sha512-0LkHpTLyadJavq9sRzzyqIoMZemWli77K2/MGOkafrR64B9ItrvZ9aT+jluvNDsv0YEHjSNhlMBtbokuoqii4A==
+fast-redact@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.2.tgz#c940ba7162dde3aeeefc522926ae8c5231412904"
+ integrity sha512-YN+CYfCVRVMUZOUPeinHNKgytM1wPI/C/UCLEi56EsY2dwwvI00kIJHJoI7pMVqGoMew8SMZ2SSfHKHULHXDsg==
fast-safe-stringify@^2.0.7:
version "2.0.7"
resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743"
integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==
+fast-safe-stringify@^2.0.8:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884"
+ integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==
+
+fast-url-parser@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d"
+ integrity sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=
+ dependencies:
+ punycode "^1.3.2"
+
+fastify-warning@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/fastify-warning/-/fastify-warning-0.2.0.tgz#e717776026a4493dc9a2befa44db6d17f618008f"
+ integrity sha512-s1EQguBw/9qtc1p/WTY4eq9WMRIACkj+HTcOIK1in4MV5aFaQC9ZCIt0dJ7pr5bIf4lPpHvAtP2ywpTNgs7hqw==
+
[email protected], fclone@~1.0.11:
version "1.0.11"
resolved "https://registry.yarnpkg.com/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640"
@@ -2540,15 +2556,10 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
-jmespath@^0.15.0:
- version "0.15.0"
- resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
- integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=
-
-joycon@^2.2.5:
- version "2.2.5"
- resolved "https://registry.yarnpkg.com/joycon/-/joycon-2.2.5.tgz#8d4cf4cbb2544d7b7583c216fcdfec19f6be1615"
- integrity sha512-YqvUxoOcVPnCp0VU1/56f+iKSdvIRJYPznH22BdXV3xMk75SFXhWeJkZ8C9XxUWt1b5x2X1SxuFygW1U0FmkEQ==
+joycon@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.0.1.tgz#9074c9b08ccf37a6726ff74a18485f85efcaddaf"
+ integrity sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA==
js-git@^0.7.8:
version "0.7.8"
@@ -3513,40 +3524,62 @@ [email protected], pidusage@^2.0.21:
dependencies:
safe-buffer "^5.2.1"
-pino-pretty@^4.8.0:
- version "4.8.0"
- resolved "https://registry.yarnpkg.com/pino-pretty/-/pino-pretty-4.8.0.tgz#f2f3055bf222456217b14ffb04d8be0a0cc17fce"
- integrity sha512-mhQfHG4rw5ZFpWL44m0Utjo4GC2+HMfdNvxyA8lLw0sIqn6fCf7uQe6dPckUcW/obly+OQHD7B/MTso6LNizYw==
+pino-abstract-transport@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.2.0.tgz#e27d58d7bb16735c587c54e1d4efecc2cce27436"
+ integrity sha512-40sX7xrzDXsrUYr65brL0+bLm6rpZ+wCujDeeBmmZ/y5RVcPdVQsmz0bBe8NtTpELgmzmKwRRPVj1lvKjgFVHw==
+ dependencies:
+ split2 "^3.2.2"
+
+pino-http@^5.3.0:
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/pino-http/-/pino-http-5.7.0.tgz#5d30e8e67c8bdf7105e896ee94201b804f8efcbd"
+ integrity sha512-BMpj8CKP48XALGGcEzf+rvaz+gVhVRAkxk08gvGPfyoOB4zAix6WKO7k2BHiw7UAwma1eoG1z2NzkAU/+fkyhA==
+ dependencies:
+ fast-url-parser "^1.1.3"
+ pino "^6.13.0"
+ pino-std-serializers "^4.0.0"
+
+pino-pretty@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pino-pretty/-/pino-pretty-7.0.0.tgz#5a0a1e2ac0c98a4df94d421e52d3b9e19f32da56"
+ integrity sha512-lU5RpkfssYJxRI/veMGsUu7RqTUD/NDb2r+U4VIx7Dyo5vA3MbbbGMUOhAM4e02IAYXuTAa/PH56s8shstP9BA==
dependencies:
- "@hapi/bourne" "^2.0.0"
args "^5.0.1"
- chalk "^4.0.0"
+ colorette "^1.3.0"
dateformat "^4.5.1"
fast-safe-stringify "^2.0.7"
- jmespath "^0.15.0"
- joycon "^2.2.5"
+ joycon "^3.0.0"
+ pino-abstract-transport "^0.2.0"
pump "^3.0.0"
readable-stream "^3.6.0"
rfdc "^1.3.0"
- split2 "^3.1.1"
+ secure-json-parse "^2.4.0"
+ sonic-boom "^2.2.0"
strip-json-comments "^3.1.1"
-pino-std-serializers@^2.4.2:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-2.5.0.tgz#40ead781c65a0ce7ecd9c1c33f409d31fe712315"
- integrity sha512-wXqbqSrIhE58TdrxxlfLwU9eDhrzppQDvGhBEr1gYbzzM4KKo3Y63gSjiDXRKLVS2UOXdPNR2v+KnQgNrs+xUg==
+pino-std-serializers@^3.1.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz#b56487c402d882eb96cd67c257868016b61ad671"
+ integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==
+
+pino-std-serializers@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2"
+ integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==
-pino@^5.17.0:
- version "5.17.0"
- resolved "https://registry.yarnpkg.com/pino/-/pino-5.17.0.tgz#b9def314e82402154f89a25d76a31f20ca84b4c8"
- integrity sha512-LqrqmRcJz8etUjyV0ddqB6OTUutCgQULPFg2b4dtijRHUsucaAdBgSUW58vY6RFSX+NT8963F+q0tM6lNwGShA==
+pino@^6.13.0, pino@^6.13.2:
+ version "6.13.2"
+ resolved "https://registry.yarnpkg.com/pino/-/pino-6.13.2.tgz#948a0fcadca668f3b5fb8a427f2854b08661eccf"
+ integrity sha512-vmD/cabJ4xKqo9GVuAoAEeQhra8XJ7YydPV/JyIP+0zDtFTu5JSKdtt8eksGVWKtTSrNGcRrzJ4/IzvUWep3FA==
dependencies:
- fast-redact "^2.0.0"
- fast-safe-stringify "^2.0.7"
+ fast-redact "^3.0.0"
+ fast-safe-stringify "^2.0.8"
+ fastify-warning "^0.2.0"
flatstr "^1.0.12"
- pino-std-serializers "^2.4.2"
- quick-format-unescaped "^3.0.3"
- sonic-boom "^0.7.5"
+ pino-std-serializers "^3.1.0"
+ quick-format-unescaped "^4.0.3"
+ sonic-boom "^1.0.2"
please-upgrade-node@^3.2.0:
version "3.2.0"
@@ -3764,6 +3797,11 @@ pump@^3.0.0:
end-of-stream "^1.1.0"
once "^1.3.1"
+punycode@^1.3.2:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
+
punycode@^2.1.0, punycode@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
@@ -3803,10 +3841,10 @@ query-string@^6.13.1:
split-on-first "^1.0.0"
strict-uri-encode "^2.0.0"
-quick-format-unescaped@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-3.0.3.tgz#fb3e468ac64c01d22305806c39f121ddac0d1fb9"
- integrity sha512-dy1yjycmn9blucmJLXOfZDx1ikZJUi6E8bBZLnhPG5gBrVhHXx2xVyqqgKBubVNEXmx51dBACMHpoMQK/N/AXQ==
+quick-format-unescaped@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.3.tgz#6d6b66b8207aa2b35eef12be1421bb24c428f652"
+ integrity sha512-MaL/oqh02mhEo5m5J2rwsVL23Iw2PEaGVHgT2vFt8AAsr0lfvQA5dpXo9TPu0rz7tSBdUPgkbam0j/fj5ZM8yg==
random-bytes@~1.0.0:
version "1.0.0"
@@ -4069,6 +4107,11 @@ secp256k1@^3.4.0:
nan "^2.14.0"
safe-buffer "^5.1.2"
+secure-json-parse@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.4.0.tgz#5aaeaaef85c7a417f76271a4f5b0cc3315ddca85"
+ integrity sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==
+
semver-compare@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
@@ -4234,14 +4277,21 @@ socks@~2.3.2:
ip "1.1.5"
smart-buffer "^4.1.0"
-sonic-boom@^0.7.5:
- version "0.7.7"
- resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-0.7.7.tgz#d921de887428208bfa07b0ae32c278de043f350a"
- integrity sha512-Ei5YOo5J64GKClHIL/5evJPgASXFVpfVYbJV9PILZQytTK6/LCwHvsZJW2Ig4p9FMC2OrBrMnXKgRN/OEoAWfg==
+sonic-boom@^1.0.2:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-1.4.1.tgz#d35d6a74076624f12e6f917ade7b9d75e918f53e"
+ integrity sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==
dependencies:
atomic-sleep "^1.0.0"
flatstr "^1.0.12"
+sonic-boom@^2.2.0:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.2.3.tgz#4b97146c4986481b5245aec371bde025415db532"
+ integrity sha512-dm32bzlBchhXoJZe0yLY/kdYsHtXhZphidIcCzJib1aEjfciZyvHJ3NjA1zh6jJCO/OBLfdjc5iw6jLS/Go2fg==
+ dependencies:
+ atomic-sleep "^1.0.0"
+
version "0.5.19"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
@@ -4260,7 +4310,7 @@ split-on-first@^1.0.0:
resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
-split2@^3.1.1:
+split2@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f"
integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==