From ce2dc307c92d3efd49f241c47d846f2c8070b3c8 Mon Sep 17 00:00:00 2001 From: Myrotvorets Date: Sun, 7 Feb 2021 20:05:23 +0200 Subject: [PATCH] Update dependencies --- package-lock.json | 472 +++++++++++++++++++---------------- package.json | 34 +-- src/controllers/lifecycle.ts | 4 +- src/knexfile.ts | 23 +- src/lib/environment.ts | 30 +-- src/lib/ot-telegraf.ts | 4 +- 6 files changed, 300 insertions(+), 267 deletions(-) diff --git a/package-lock.json b/package-lock.json index 00ea6ebd..3277d03d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -412,17 +412,17 @@ "dev": true }, "@bugsnag/browser": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.5.6.tgz", - "integrity": "sha512-VsRTF8fkKjVjf/qkoz7HjPtcyNAz7bf/yGl7dXlqnlQqGaQ0tWRwZB62rZYo1fJZ8Q7mK/myqwLC3IiERR3leQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.6.0.tgz", + "integrity": "sha512-8sth20TM8BVfebkqxqJQOCM2P2L4foOgFH2QA3ruG0iknDKZDhE7XcoWgmUP9zVSNJqkCyiIzcBOuiwZW8JaSQ==", "requires": { - "@bugsnag/core": "^7.5.4" + "@bugsnag/core": "^7.6.0" } }, "@bugsnag/core": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@bugsnag/core/-/core-7.5.4.tgz", - "integrity": "sha512-QOvtWzM0XJTk5QCpiDFTva6FJXCKuKQHJu7sjrZwYA/7fblypl+ClP7inz9At5ijkKGm2pLyvZ9vvT2rq9TXuw==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@bugsnag/core/-/core-7.6.0.tgz", + "integrity": "sha512-hBYAZJw4ScqoyM1jA1x/m2e4iS2EqYEs0I2hdzBCZFv2ls17ILmU58eRSyVdUfyzbv0J7Hi6DwwBGC4Yb6ROZA==", "requires": { "@bugsnag/cuid": "^3.0.0", "@bugsnag/safe-json-stringify": "^6.0.0", @@ -437,20 +437,20 @@ "integrity": "sha512-LOt8aaBI+KvOQGneBtpuCz3YqzyEAehd1f3nC5yr9TIYW1+IzYKa2xWS4EiMz5pPOnRPHkyyS5t/wmSmN51Gjg==" }, "@bugsnag/js": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-7.5.6.tgz", - "integrity": "sha512-PK1rbnKF8KCV8jTAchh34JSmpo1YQ2h/TAfWAE+Yp+Q/rrV84+YJj0Hw4ttzQFFtE59fB7ozUJ17OhRBADkbhw==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-7.6.0.tgz", + "integrity": "sha512-EcI3sTpyOs94/OOjwI7fOg1iZ800o3kkOAipAnULRoP62j1vmErH2l/2xubny7g0JTOL59iZEkt+5O5MhbQJ2A==", "requires": { - "@bugsnag/browser": "^7.5.6", - "@bugsnag/node": "^7.5.6" + "@bugsnag/browser": "^7.6.0", + "@bugsnag/node": "^7.6.0" } }, "@bugsnag/node": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-7.5.6.tgz", - "integrity": "sha512-mUVp1vvZ3zf/gziVs2n0e4ugNVARFJiePfoEbl5YQRijrf+wJLv7jQIWqADklOIDuX4Kmb2CsW/0afP7Bp7yTQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-7.6.0.tgz", + "integrity": "sha512-n3BVb04bq4z16nOM4gbWoXsi6k8R9bryWS/NAYi/jQg6tgyBkNYzmK0ojf3fYJ7uAgCjUJNMX6S9UHSJy/MMcQ==", "requires": { - "@bugsnag/core": "^7.5.4", + "@bugsnag/core": "^7.6.0", "byline": "^5.0.0", "error-stack-parser": "^2.0.2", "iserror": "^0.0.2", @@ -934,48 +934,48 @@ } }, "@myrotvorets/envalidators": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@myrotvorets/envalidators/-/envalidators-1.3.1.tgz", - "integrity": "sha512-R9qy7wrKelVgx2GjFjjthX6m/3Ktd6fpMPc+lV/SwKlSWlGztJN8li6BuVjB9T6HW+fUx8wnaio9xVdCHJoXHw==", + "version": "1.4.0", + "resolved": "https://npm.pkg.github.com/download/@myrotvorets/envalidators/1.4.0/95681ed3dde0ef33240a1bb108170af826500fd1ffbb33987213562e7d33c520", + "integrity": "sha512-TRIpSlvTTw7we8vPzc+t701xBR4dL8mWnpnO4gW0VDwHUBNb5XrrwAVd7tH+XnDPXc82CTxzg5b9NC9ts0EX9A==", "requires": { "ipaddr.js": "^2.0.0", "validator": "^13.5.2" } }, "@myrotvorets/eslint-config-myrotvorets-ts": { - "version": "2.2.4", - "resolved": "https://npm.pkg.github.com/download/@myrotvorets/eslint-config-myrotvorets-ts/2.2.4/8b5a56ecdc7f5da7cb7853001dce61b00609a7aa20acb09a891274b4b4a14fbe", - "integrity": "sha512-lZVydssiMiYNYPAAXO37Hv8yZVWL1fk/dhigp9WyUOjDf5sk0HneWQBC0+xMpkT1g8FXIGMdYJdJ1WzVODeMkA==", + "version": "2.2.5", + "resolved": "https://npm.pkg.github.com/download/@myrotvorets/eslint-config-myrotvorets-ts/2.2.5/c99ad75ac7452aea6706d7ebfb892029adf78d7abb66a348a219592fe3c31610", + "integrity": "sha512-tSt+46eZ9YImSAaZ/FLhcSY7Bvv5UkVpT7FwpQmuIzkPZvKSBHU47eSDKwksaGbh0WY6Ec6s9iHuEJpg1fa2YA==", "dev": true, "requires": { - "@typescript-eslint/parser": "^4.9.1", - "eslint-config-prettier": "^7.0.0" + "@typescript-eslint/parser": "^4.14.2", + "eslint-config-prettier": "^7.2.0" } }, "@myrotvorets/opentelemetry-configurator": { - "version": "1.1.3", - "resolved": "https://npm.pkg.github.com/download/@myrotvorets/opentelemetry-configurator/1.1.3/edbe75f591fbcf19a24927510219edaa94f22663f16e090e5edf8e50bd16abb6", - "integrity": "sha512-HnEsEF1+omsyI/S0nr4wstWcSuvCIsRN3AKCrYhZlKJfhsgqLry/IBKaG5+V9TV0FpfKfRndoGDH8ZLqrcz0sQ==", - "requires": { - "@opentelemetry/api": "^0.14.0", - "@opentelemetry/exporter-jaeger": "^0.14.0", - "@opentelemetry/exporter-zipkin": "^0.14.0", - "@opentelemetry/node": "^0.14.0", - "@opentelemetry/plugin-http": "^0.14.0", - "@opentelemetry/plugin-https": "^0.14.0", - "@opentelemetry/resources": "^0.14.0", - "@opentelemetry/tracing": "^0.14.0", + "version": "1.1.4", + "resolved": "https://npm.pkg.github.com/download/@myrotvorets/opentelemetry-configurator/1.1.4/73e3ae47acbf70b821fc03ca711ea5269a4dc59839e6449c6c53799b105a08c4", + "integrity": "sha512-BQjGpV4PBPRk/CbQPKOkZlZcwq4h8xDgd/FISRS9VtmeW9HjgsOf0LGs4EMrwqev2cQCjO7mIxsAv+jk1FgnYw==", + "requires": { + "@opentelemetry/api": "^0.16.0", + "@opentelemetry/exporter-jaeger": "^0.16.0", + "@opentelemetry/exporter-zipkin": "^0.16.0", + "@opentelemetry/node": "^0.16.0", + "@opentelemetry/plugin-http": "^0.16.0", + "@opentelemetry/plugin-https": "^0.16.0", + "@opentelemetry/resources": "^0.16.0", + "@opentelemetry/tracing": "^0.16.0", "debug": "^4.3.1" } }, "@myrotvorets/opentelemetry-plugin-knex": { - "version": "0.4.0", - "resolved": "https://npm.pkg.github.com/download/@myrotvorets/opentelemetry-plugin-knex/0.4.0/b01788fcafad8a6c54ca691abad5374bd10580218e98f95fe5c4b69e40ab434e", - "integrity": "sha512-D9MAx40zVXID2TacA1IzijIWOCmoShItuEKUW2Ksj8+lJCGBejvoEyA4x8LshCySzUImv5DJ7V7c44e99ViImA==", + "version": "0.5.0", + "resolved": "https://npm.pkg.github.com/download/@myrotvorets/opentelemetry-plugin-knex/0.5.0/0d230b0c1ae3278bad3b3ea86993f2eb6762d82397261291f8b05a7cc9c51623", + "integrity": "sha512-6NFQiUTGEpadMKJ2KN75gY4AIqIP5Szz6al426qfuXnCZuc6j+ZmjbKAiDMnBTGmybtMGkQ+ji1FIY2w7Czrkw==", "requires": { - "@opentelemetry/api": "^0.14.0", - "@opentelemetry/core": "^0.14.0", - "@opentelemetry/semantic-conventions": "^0.14.0", + "@opentelemetry/api": "^0.16.0", + "@opentelemetry/core": "^0.16.0", + "@opentelemetry/semantic-conventions": "^0.16.0", "shimmer": "^1.2.1" } }, @@ -1006,120 +1006,121 @@ } }, "@opentelemetry/api": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-0.14.0.tgz", - "integrity": "sha512-L7RMuZr5LzMmZiQSQDy9O1jo0q+DaLy6XpYJfIGfYSfoJA5qzYwUP3sP1uMIQ549DvxAgM3ng85EaPTM/hUHwQ==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-0.16.0.tgz", + "integrity": "sha512-y5mNFAiktm7Zyf0GrQ6kjsRqace/WCXk9gMo/sOOna4TtMW8NaZgJceKrsQZl3qiPY9Upu8O9VvdlETXDx4U5A==", "requires": { - "@opentelemetry/context-base": "^0.14.0" + "@opentelemetry/context-base": "^0.16.0" } }, "@opentelemetry/context-async-hooks": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-0.14.0.tgz", - "integrity": "sha512-BgAPWbmelvL/xhI0B17aidyw24E1D69PlKjDZD1L5AI050Glg1+pa6W0jMSoZltnM27Bc+Pc9n22fqxa4kvLRg==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-0.16.0.tgz", + "integrity": "sha512-8R77Kc84jBKOsXrsz0Q7bKaHZ4eOEznRKSOwbVKMKVJJYTjXTEkhCZAT+NfUganr787ipErwRk1uOAQmgEmGuw==", "requires": { - "@opentelemetry/context-base": "^0.14.0" + "@opentelemetry/context-base": "^0.16.0" } }, "@opentelemetry/context-base": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-base/-/context-base-0.14.0.tgz", - "integrity": "sha512-sDOAZcYwynHFTbLo6n8kIbLiVF3a3BLkrmehJUyEbT9F+Smbi47kLGS2gG2g0fjBLR/Lr1InPD7kXL7FaTqEkw==" + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-base/-/context-base-0.16.0.tgz", + "integrity": "sha512-2h2s+3P40wIu8ZaJiqBF6E0rEJPeSVOErFlkx2MfRGPs9Vs9Th+i5YSpgvCW4s5LeYTFAf2BRwut39JivEyH9w==" }, "@opentelemetry/core": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-0.14.0.tgz", - "integrity": "sha512-HJ4VM0cV6c5qjdW7C7koB2IT4ADunCOehxnKFRslQkbDqAEA1w42AZ9679siYALpWYxNqcJyqF2jxCNtfNHa6Q==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-0.16.0.tgz", + "integrity": "sha512-NFZwEW5TeFIAUlNty9al0KU9AQzpEiBowem/33d3ftxYHZ7dG1JklFnyKLTVb+pAZFm/peTziVddfHoTsIY4Rg==", "requires": { - "@opentelemetry/api": "^0.14.0", - "@opentelemetry/context-base": "^0.14.0", + "@opentelemetry/api": "^0.16.0", + "@opentelemetry/context-base": "^0.16.0", "semver": "^7.1.3" } }, "@opentelemetry/exporter-jaeger": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-0.14.0.tgz", - "integrity": "sha512-rOT7B5QxSEpRleXZj8HKC4EAj1Bl2LlB4mW+KgV6bTybdKZi8zH+TWo+7PIPLe1ohL9anQyRn9E+V/N3QLqxuA==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-0.16.0.tgz", + "integrity": "sha512-r57HG/KWp2zKIU+wZX9dkSvAROnJm5u53q8DKPjVcmfg9ySVD6MbtQFUkDtGyZq4pv7d+XCitKOYzbw1kWAp2w==", "requires": { - "@opentelemetry/api": "^0.14.0", - "@opentelemetry/core": "^0.14.0", - "@opentelemetry/tracing": "^0.14.0", + "@opentelemetry/api": "^0.16.0", + "@opentelemetry/core": "^0.16.0", + "@opentelemetry/tracing": "^0.16.0", "jaeger-client": "^3.15.0" } }, "@opentelemetry/exporter-zipkin": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-0.14.0.tgz", - "integrity": "sha512-cg/86iRK64NSGEcWOTzTfqMByyAu8udi3HgcYP2r0WF8JseabfhrlnBp/4/ba4HuoaGe8uXVRmvDT0uAguhO8w==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-0.16.0.tgz", + "integrity": "sha512-pwCJnk8f/YPwRL8GX6+vs41WfJloptJHxeFEnAewKVYVmcAdra+NW3nIa5phxRQ5KJCT/wNAh0L256macM2nwg==", "requires": { - "@opentelemetry/api": "^0.14.0", - "@opentelemetry/core": "^0.14.0", - "@opentelemetry/resources": "^0.14.0", - "@opentelemetry/tracing": "^0.14.0" + "@opentelemetry/api": "^0.16.0", + "@opentelemetry/core": "^0.16.0", + "@opentelemetry/resources": "^0.16.0", + "@opentelemetry/tracing": "^0.16.0" } }, "@opentelemetry/node": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/node/-/node-0.14.0.tgz", - "integrity": "sha512-79egldZKRIqXArjLHD8SYTJUfY5PrcFZll4+ykfbz23vy/CXEVev+1S8bS8bkE08DUNzskDuiFYlLdWTY8fdrQ==", - "requires": { - "@opentelemetry/api": "^0.14.0", - "@opentelemetry/context-async-hooks": "^0.14.0", - "@opentelemetry/core": "^0.14.0", - "@opentelemetry/tracing": "^0.14.0", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/node/-/node-0.16.0.tgz", + "integrity": "sha512-hDIMsAZk1D+dFOW7FJH155nQrYKeuSBaiHvHm3F9VfZul+v9UNlNjPXqzAahW3l5au05nJ+e7EIKKq6cgMbw8Q==", + "requires": { + "@opentelemetry/api": "^0.16.0", + "@opentelemetry/context-async-hooks": "^0.16.0", + "@opentelemetry/core": "^0.16.0", + "@opentelemetry/tracing": "^0.16.0", "require-in-the-middle": "^5.0.0", "semver": "^7.1.3" } }, "@opentelemetry/plugin-http": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/plugin-http/-/plugin-http-0.14.0.tgz", - "integrity": "sha512-j6VHSotl+geN+znYgGgn/GohTAirAtHum8Zpc52VZ/WQCrNfHcmEf4NYaGCuz5tW2EgmbH+66iDM/lgNadQuQg==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/plugin-http/-/plugin-http-0.16.0.tgz", + "integrity": "sha512-0jpFhsMOt/eEosD8XI4VIzgUbiTln7CF9ALQJhgNjjxHJhsIjlhysnI6em5ylQj7PkW/df0iwPG+KXvhZnNlVg==", "requires": { - "@opentelemetry/api": "^0.14.0", - "@opentelemetry/core": "^0.14.0", - "@opentelemetry/semantic-conventions": "^0.14.0", + "@opentelemetry/api": "^0.16.0", + "@opentelemetry/core": "^0.16.0", + "@opentelemetry/semantic-conventions": "^0.16.0", "semver": "^7.1.3", "shimmer": "^1.2.1" } }, "@opentelemetry/plugin-https": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/plugin-https/-/plugin-https-0.14.0.tgz", - "integrity": "sha512-FyT3iaEO9CdGu1EeIe+JmAwfoYwjG9GtHiyWSovFEKO/0OLQLrXA2AQDgltOeelu/snPGB2MF92iPqbpfVdhHw==", - "requires": { - "@opentelemetry/api": "^0.14.0", - "@opentelemetry/core": "^0.14.0", - "@opentelemetry/plugin-http": "^0.14.0", - "@opentelemetry/semantic-conventions": "^0.14.0", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/plugin-https/-/plugin-https-0.16.0.tgz", + "integrity": "sha512-tde7H+s6HO+At0gKMjjEHHSl0+qhPpNOlj3IBF15k1JYhBDomrC8U43zE+edxRpOzSf63qJ3PvFw/a/rs9fPfg==", + "requires": { + "@opentelemetry/api": "^0.16.0", + "@opentelemetry/core": "^0.16.0", + "@opentelemetry/plugin-http": "^0.16.0", + "@opentelemetry/semantic-conventions": "^0.16.0", "semver": "^7.1.3", "shimmer": "^1.2.1" } }, "@opentelemetry/resources": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-0.14.0.tgz", - "integrity": "sha512-7XVML4HxvoH6kWY+x0mhMc5m0a2YBvPCTSX7yAqyp9XIGvFpdjzAE2ggJ40DZrL1sPv9f0QYAbnIKFDVLBTfGA==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-0.16.0.tgz", + "integrity": "sha512-HOAmcRnZGbEhcddsjqvz3Q/mEg75PyEoH/CZZ3YGqYmwTPimTiusm8iz5nXMxp1UpT8rkzlEGei/E21SQ/Zh9g==", "requires": { - "@opentelemetry/api": "^0.14.0", - "@opentelemetry/core": "^0.14.0" + "@opentelemetry/api": "^0.16.0", + "@opentelemetry/core": "^0.16.0" } }, "@opentelemetry/semantic-conventions": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.14.0.tgz", - "integrity": "sha512-iDGRLQwo+ka1ljlLo4KyuUmzsJwtPw+PyCjetQwn3m/pTXjdyWLGOTARBrpQGpkQp7k87RaCCg5AqZaKFU2G6g==" + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.16.0.tgz", + "integrity": "sha512-RDYLf6lUtikIDTr6yVDehsUAlNb1U680eOV1QuDN0w6FDGubTnjbADlgpF41ByOow1Jp/WGmynFfOh19Ix4NWw==" }, "@opentelemetry/tracing": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/tracing/-/tracing-0.14.0.tgz", - "integrity": "sha512-sw9lXJQUQO0xaCvHWFUzIhgh2jGFgXubRQ6g1O84Q/ILU93ZMMVt+d97mihcrtBrV89Sy39HF8tAwekjpzv+cA==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/tracing/-/tracing-0.16.0.tgz", + "integrity": "sha512-8UrNbzO56m8fe9ge+XR0Lruwld+W6SM6aWFQT32YCU8lS+Hzz2P6TbevmgT4DzeKszJxnHqzNnqx8HziNeUjTA==", "requires": { - "@opentelemetry/api": "^0.14.0", - "@opentelemetry/context-base": "^0.14.0", - "@opentelemetry/core": "^0.14.0", - "@opentelemetry/resources": "^0.14.0", - "@opentelemetry/semantic-conventions": "^0.14.0" + "@opentelemetry/api": "^0.16.0", + "@opentelemetry/context-base": "^0.16.0", + "@opentelemetry/core": "^0.16.0", + "@opentelemetry/resources": "^0.16.0", + "@opentelemetry/semantic-conventions": "^0.16.0", + "lodash.merge": "^4.6.2" } }, "@sindresorhus/is": { @@ -1263,9 +1264,9 @@ "dev": true }, "@types/node": { - "version": "14.14.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.21.tgz", - "integrity": "sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A==" + "version": "14.14.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz", + "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==" }, "@types/node-fetch": { "version": "2.5.8", @@ -1315,9 +1316,9 @@ "dev": true }, "@types/sqlite3": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@types/sqlite3/-/sqlite3-3.1.6.tgz", - "integrity": "sha512-OBsK0KIGUICExQ/ZvnPY4cKx5Kz4NcrVyGTIvOL5y4ajXu7r++RfBajfpGfGDmDVCKcoCDX1dO84/oeyeITnxA==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/sqlite3/-/sqlite3-3.1.7.tgz", + "integrity": "sha512-8FHV/8Uzd7IwdHm5mvmF2Aif4aC/gjrt4axWD9SmfaxITnOjtOhCbOSTuqv/VbH1uq0QrwlaTj9aTz3gmR6u4w==", "dev": true, "requires": { "@types/node": "*" @@ -1345,13 +1346,13 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.13.0.tgz", - "integrity": "sha512-ygqDUm+BUPvrr0jrXqoteMqmIaZ/bixYOc3A4BRwzEPTZPi6E+n44rzNZWaB0YvtukgP+aoj0i/fyx7FkM2p1w==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.2.tgz", + "integrity": "sha512-uMGfG7GFYK/nYutK/iqYJv6K/Xuog/vrRRZX9aEP4Zv1jsYXuvFUMDFLhUnc8WFv3D2R5QhNQL3VYKmvLS5zsQ==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.13.0", - "@typescript-eslint/scope-manager": "4.13.0", + "@typescript-eslint/experimental-utils": "4.14.2", + "@typescript-eslint/scope-manager": "4.14.2", "debug": "^4.1.1", "functional-red-black-tree": "^1.0.1", "lodash": "^4.17.15", @@ -1361,43 +1362,43 @@ }, "dependencies": { "@typescript-eslint/experimental-utils": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.13.0.tgz", - "integrity": "sha512-/ZsuWmqagOzNkx30VWYV3MNB/Re/CGv/7EzlqZo5RegBN8tMuPaBgNK6vPBCQA8tcYrbsrTdbx3ixMRRKEEGVw==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.2.tgz", + "integrity": "sha512-mV9pmET4C2y2WlyHmD+Iun8SAEqkLahHGBkGqDVslHkmoj3VnxnGP4ANlwuxxfq1BsKdl/MPieDbohCEQgKrwA==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.13.0", - "@typescript-eslint/types": "4.13.0", - "@typescript-eslint/typescript-estree": "4.13.0", + "@typescript-eslint/scope-manager": "4.14.2", + "@typescript-eslint/types": "4.14.2", + "@typescript-eslint/typescript-estree": "4.14.2", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" } }, "@typescript-eslint/scope-manager": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.13.0.tgz", - "integrity": "sha512-UpK7YLG2JlTp/9G4CHe7GxOwd93RBf3aHO5L+pfjIrhtBvZjHKbMhBXTIQNkbz7HZ9XOe++yKrXutYm5KmjWgQ==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.2.tgz", + "integrity": "sha512-cuV9wMrzKm6yIuV48aTPfIeqErt5xceTheAgk70N1V4/2Ecj+fhl34iro/vIssJlb7XtzcaD07hWk7Jk0nKghg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.13.0", - "@typescript-eslint/visitor-keys": "4.13.0" + "@typescript-eslint/types": "4.14.2", + "@typescript-eslint/visitor-keys": "4.14.2" } }, "@typescript-eslint/types": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.13.0.tgz", - "integrity": "sha512-/+aPaq163oX+ObOG00M0t9tKkOgdv9lq0IQv/y4SqGkAXmhFmCfgsELV7kOCTb2vVU5VOmVwXBXJTDr353C1rQ==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.2.tgz", + "integrity": "sha512-LltxawRW6wXy4Gck6ZKlBD05tCHQUj4KLn4iR69IyRiDHX3d3NCAhO+ix5OR2Q+q9bjCrHE/HKt+riZkd1At8Q==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.13.0.tgz", - "integrity": "sha512-9A0/DFZZLlGXn5XA349dWQFwPZxcyYyCFX5X88nWs2uachRDwGeyPz46oTsm9ZJE66EALvEns1lvBwa4d9QxMg==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.2.tgz", + "integrity": "sha512-ESiFl8afXxt1dNj8ENEZT12p+jl9PqRur+Y19m0Z/SPikGL6rqq4e7Me60SU9a2M28uz48/8yct97VQYaGl0Vg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.13.0", - "@typescript-eslint/visitor-keys": "4.13.0", + "@typescript-eslint/types": "4.14.2", + "@typescript-eslint/visitor-keys": "4.14.2", "debug": "^4.1.1", "globby": "^11.0.1", "is-glob": "^4.0.1", @@ -1407,12 +1408,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.13.0.tgz", - "integrity": "sha512-6RoxWK05PAibukE7jElqAtNMq+RWZyqJ6Q/GdIxaiUj2Ept8jh8+FUVlbq9WxMYxkmEOPvCE5cRSyupMpwW31g==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.2.tgz", + "integrity": "sha512-KBB+xLBxnBdTENs/rUgeUKO0UkPBRs2vD09oMRRIkj5BEN8PX1ToXV532desXfpQnZsYTyLLviS7JrPhdL154w==", "dev": true, "requires": { - "@typescript-eslint/types": "4.13.0", + "@typescript-eslint/types": "4.14.2", "eslint-visitor-keys": "^2.0.0" } } @@ -1433,15 +1434,59 @@ } }, "@typescript-eslint/parser": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.12.0.tgz", - "integrity": "sha512-9XxVADAo9vlfjfoxnjboBTxYOiNY93/QuvcPgsiKvHxW6tOZx1W4TvkIQ2jB3k5M0pbFP5FlXihLK49TjZXhuQ==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.2.tgz", + "integrity": "sha512-ipqSP6EuUsMu3E10EZIApOJgWSpcNXeKZaFeNKQyzqxnQl8eQCbV+TSNsl+s2GViX2d18m1rq3CWgnpOxDPgHg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.12.0", - "@typescript-eslint/types": "4.12.0", - "@typescript-eslint/typescript-estree": "4.12.0", + "@typescript-eslint/scope-manager": "4.14.2", + "@typescript-eslint/types": "4.14.2", + "@typescript-eslint/typescript-estree": "4.14.2", "debug": "^4.1.1" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.2.tgz", + "integrity": "sha512-cuV9wMrzKm6yIuV48aTPfIeqErt5xceTheAgk70N1V4/2Ecj+fhl34iro/vIssJlb7XtzcaD07hWk7Jk0nKghg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.14.2", + "@typescript-eslint/visitor-keys": "4.14.2" + } + }, + "@typescript-eslint/types": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.2.tgz", + "integrity": "sha512-LltxawRW6wXy4Gck6ZKlBD05tCHQUj4KLn4iR69IyRiDHX3d3NCAhO+ix5OR2Q+q9bjCrHE/HKt+riZkd1At8Q==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.2.tgz", + "integrity": "sha512-ESiFl8afXxt1dNj8ENEZT12p+jl9PqRur+Y19m0Z/SPikGL6rqq4e7Me60SU9a2M28uz48/8yct97VQYaGl0Vg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.14.2", + "@typescript-eslint/visitor-keys": "4.14.2", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.2.tgz", + "integrity": "sha512-KBB+xLBxnBdTENs/rUgeUKO0UkPBRs2vD09oMRRIkj5BEN8PX1ToXV532desXfpQnZsYTyLLviS7JrPhdL154w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.14.2", + "eslint-visitor-keys": "^2.0.0" + } + } } }, "@typescript-eslint/scope-manager": { @@ -1643,6 +1688,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -2149,6 +2195,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2344,6 +2391,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -2351,7 +2399,8 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "colorette": { "version": "1.2.1", @@ -2747,11 +2796,6 @@ } } }, - "dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" - }, "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", @@ -2798,15 +2842,9 @@ } }, "envalid": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/envalid/-/envalid-6.0.2.tgz", - "integrity": "sha512-ChJb9a5rjwZ/NkcXfBrzEl5cFZaGLg38N7MlWJkv5qsmSypX2WJe28LkoAWcklC60nKZXYKRlBbsjuJSjYw0Xg==", - "requires": { - "chalk": "^3.0.0", - "dotenv": "^8.2.0", - "meant": "^1.0.1", - "validator": "^13.0.0" - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/envalid/-/envalid-7.0.0.tgz", + "integrity": "sha512-uyHMNJqxr44ILkK4SEPJ+cPZ5e+xyj6wP0zvJulXg5r6ITGbyfri8AUlJ6nwD3W8/6fIzvheybkSqiW2sRi3GQ==" }, "error": { "version": "7.0.2", @@ -2939,9 +2977,9 @@ } }, "eslint": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", - "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz", + "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -3002,9 +3040,9 @@ } }, "eslint-config-prettier": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz", - "integrity": "sha512-9sm5/PxaFG7qNJvJzTROMM1Bk1ozXVTKI0buKOyb0Bsr1hrwi0H/TzxF/COtf1uxikIK8SwhX7K6zg78jAzbeA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", + "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", "dev": true }, "eslint-import-resolver-node": { @@ -3197,9 +3235,9 @@ "dev": true }, "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -3669,9 +3707,9 @@ } }, "flatted": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", - "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, "for-in": { @@ -4023,7 +4061,8 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, "has-symbols": { "version": "1.0.1", @@ -5838,9 +5877,9 @@ "dev": true }, "knex": { - "version": "0.21.16", - "resolved": "https://registry.npmjs.org/knex/-/knex-0.21.16.tgz", - "integrity": "sha512-M3FTFfby49AEngsx/0UXEJEMnKMjPjeKOtvk+AY6d6kboz9NsT7xDudl0wRNj+S0lq0yearCSb1v+YxgbU/kWA==", + "version": "0.21.17", + "resolved": "https://registry.npmjs.org/knex/-/knex-0.21.17.tgz", + "integrity": "sha512-kAt58lRwjzqwedApKF7luYPa7HsLb0oDiczwKrkZcekIzTmSow5YGK149S2C8HjH63R3NcOBo9+1rjvWnC1Paw==", "requires": { "colorette": "1.2.1", "commander": "^6.2.0", @@ -5918,9 +5957,9 @@ "dev": true }, "lint-staged": { - "version": "10.5.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.3.tgz", - "integrity": "sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg==", + "version": "10.5.4", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.4.tgz", + "integrity": "sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -6037,9 +6076,9 @@ } }, "listr2": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.2.3.tgz", - "integrity": "sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.3.1.tgz", + "integrity": "sha512-8Zoxe7s/8nNr4bJ8bdAduHD8uJce+exmMmUWTXlq0WuUdffnH3muisHPHPFtW2vvOfohIsq7FGCaguUxN/h3Iw==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -6049,7 +6088,8 @@ "log-update": "^4.0.0", "p-map": "^4.0.0", "rxjs": "^6.6.3", - "through": "^2.3.8" + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" }, "dependencies": { "chalk": { @@ -6061,6 +6101,17 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } } } }, @@ -6091,11 +6142,10 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "lodash.sortby": { "version": "4.7.0", @@ -6222,11 +6272,6 @@ "please-upgrade-node": "^3.2.0" } }, - "meant": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.3.tgz", - "integrity": "sha512-88ZRGcNxAq4EH38cQ4D85PM57pikCwS8Z99EWHODxN7KBY+UuPiqzRTtZzS8KTXO/ywSWbdjjJST2Hly/EQxLw==" - }, "merge": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.0.tgz", @@ -8208,6 +8253,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -8241,9 +8287,9 @@ }, "dependencies": { "ajv": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", - "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.4.tgz", + "integrity": "sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -8278,9 +8324,9 @@ "integrity": "sha512-6usSlV9KyHsspvwu2duKH+FMUhqJnAh6J5J/4MITl8s94iSUQTLkJggdiewKv4RyARQccnigV48Z+khiuVZDJw==" }, "telegraf": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/telegraf/-/telegraf-4.0.1.tgz", - "integrity": "sha512-kpl3vFDnIjlGxDuzNq3McUnJo9jGOlJEYtBeDPZc0Zvx878HFSO64uJeJ2HW6Tg3/76xh3dX77B7IdTGjuTOWA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/telegraf/-/telegraf-4.0.2.tgz", + "integrity": "sha512-MTo8b6P/MMb6RbqDGXNWpCXESTihxRpTThOIPAfVBJohYQtywYl/vldjqUCdIYdg+ge8Sn/gk+OXfqHg4LewnA==", "requires": { "abort-controller": "^3.0.0", "debug": "^4.3.1", @@ -8445,9 +8491,9 @@ } }, "ts-jest": { - "version": "26.4.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", - "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", + "version": "26.5.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.0.tgz", + "integrity": "sha512-Ya4IQgvIFNa2Mgq52KaO8yBw2W8tWp61Ecl66VjF0f5JaV8u50nGoptHVILOPGoI7SDnShmEqnYQEmyHdQ+56g==", "dev": true, "requires": { "@types/jest": "26.x", @@ -8456,7 +8502,7 @@ "fast-json-stable-stringify": "2.x", "jest-util": "^26.1.0", "json5": "2.x", - "lodash.memoize": "4.x", + "lodash": "4.x", "make-error": "1.x", "mkdirp": "1.x", "semver": "7.x", @@ -8464,9 +8510,9 @@ }, "dependencies": { "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -8573,9 +8619,9 @@ } }, "typegram": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/typegram/-/typegram-3.1.6.tgz", - "integrity": "sha512-rFyCVp345olUnHn2BwSs+H2QF4d6xhUlbKNaSduxOs3kbqa3bSkYIv2s5i2IAVysXGsMKs3UmrLa6MYrl95BAg==" + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/typegram/-/typegram-3.1.9.tgz", + "integrity": "sha512-qF1cR8W7pm9oohLYPwH8jPZY3dRgA3/jjx0O83sKYHg1RYxIO90oEKH5FmnMq0lhGtX75pH0XOtyIU5e7hve4Q==" }, "typescript": { "version": "4.1.3", diff --git a/package.json b/package.json index f46a7b90..25b6f5dc 100644 --- a/package.json +++ b/package.json @@ -19,44 +19,44 @@ "author": "Myrotvorets (https://myrotvorets.center/)", "license": "MIT", "dependencies": { - "@bugsnag/js": "^7.5.6", - "@myrotvorets/envalidators": "^1.3.1", - "@myrotvorets/opentelemetry-configurator": "^1.1.3", - "@myrotvorets/opentelemetry-plugin-knex": "^0.4.0", - "@opentelemetry/api": "^0.14.0", - "@opentelemetry/core": "^0.14.0", - "@opentelemetry/semantic-conventions": "^0.14.0", + "@bugsnag/js": "^7.6.0", + "@myrotvorets/envalidators": "^1.4.0", + "@myrotvorets/opentelemetry-configurator": "^1.1.4", + "@myrotvorets/opentelemetry-plugin-knex": "^0.5.0", + "@opentelemetry/api": "^0.16.0", + "@opentelemetry/core": "^0.16.0", + "@opentelemetry/semantic-conventions": "^0.16.0", "debug": "^4.3.2", - "envalid": "^6.0.2", - "knex": "^0.21.16", + "envalid": "^7.0.0", + "knex": "^0.21.17", "knex-mariadb": "^2.0.0", "mariadb": "^2.5.2", "node-fetch": "^2.6.1", "shimmer": "^1.2.1", - "telegraf": "^4.0.1" + "telegraf": "^4.0.2" }, "devDependencies": { - "@myrotvorets/eslint-config-myrotvorets-ts": "^2.2.4", + "@myrotvorets/eslint-config-myrotvorets-ts": "^2.2.5", "@types/debug": "^4.1.5", "@types/jest": "^26.0.20", - "@types/node": "^14.14.21", + "@types/node": "^14.14.25", "@types/node-fetch": "^2.5.8", "@types/shimmer": "^1.0.1", - "@types/sqlite3": "^3.1.6", - "@typescript-eslint/eslint-plugin": "^4.13.0", - "eslint": "^7.18.0", + "@types/sqlite3": "^3.1.7", + "@typescript-eslint/eslint-plugin": "^4.14.2", + "eslint": "^7.19.0", "eslint-plugin-import": "^2.22.1", "eslint-plugin-jest": "^24.1.3", "eslint-plugin-prettier": "^3.3.1", "eslint-plugin-sonarjs": "^0.5.0", "husky": "^4.3.8", "jest": "^26.6.3", - "lint-staged": "^10.5.3", + "lint-staged": "^10.5.4", "merge": "^2.1.0", "nodemon": "^2.0.7", "prettier": "^2.2.1", "sqlite3": "^5.0.1", - "ts-jest": "^26.4.4", + "ts-jest": "^26.5.0", "ts-node": "^9.1.1", "typescript": "^4.1.3" }, diff --git a/src/controllers/lifecycle.ts b/src/controllers/lifecycle.ts index 07c18db0..7ca77307 100644 --- a/src/controllers/lifecycle.ts +++ b/src/controllers/lifecycle.ts @@ -3,7 +3,7 @@ import Bugsnag from '@bugsnag/js'; import debug from 'debug'; import knex from 'knex'; import { Telegraf } from 'telegraf'; -import api from '@opentelemetry/api'; +import api, { context, setSpan } from '@opentelemetry/api'; import { InlineKeyboardMarkup } from 'telegraf/typings/telegram-types'; import { addPost, checkPostExists } from '../lib/db'; import { Environment } from '../lib/environment'; @@ -57,7 +57,7 @@ export function lifecycle(env: Environment, bot: Telegraf): void { const inner = (): void => { const tracer = api.trace.getTracer('tracer'); const span = tracer.startSpan('Get posts'); - void tracer.withSpan(span, async () => { + void context.with(setSpan(context.active(), span), async () => { try { const posts = await getNewPosts(env.NEWS_ENDPOINT, bot.context.db as knex); dbg('Got %d new posts', posts.length); diff --git a/src/knexfile.ts b/src/knexfile.ts index 276cd258..970cb595 100644 --- a/src/knexfile.ts +++ b/src/knexfile.ts @@ -2,21 +2,14 @@ import type { Client, Config } from 'knex'; import type { Database } from 'sqlite3'; import { cleanEnv, str } from 'envalid'; -const env = cleanEnv( - process.env, - { - NODE_ENV: str({ default: 'development' }), - KNEX_DRIVER: str({ default: 'sqlite3', choices: ['sqlite3', 'mysql', 'mariadb'] }), // ! Run `npm i driver` if any other driver is needed - KNEX_DATABASE: str(), - KNEX_HOST: str({ default: 'localhost' }), - KNEX_USER: str({ default: '' }), - KNEX_PASSWORD: str({ default: '' }), - }, - { - strict: true, - dotEnvPath: null, - }, -); +const env = cleanEnv(process.env, { + NODE_ENV: str({ default: 'development' }), + KNEX_DRIVER: str({ default: 'sqlite3', choices: ['sqlite3', 'mysql', 'mariadb'] }), // ! Run `npm i driver` if any other driver is needed + KNEX_DATABASE: str(), + KNEX_HOST: str({ default: 'localhost' }), + KNEX_USER: str({ default: '' }), + KNEX_PASSWORD: str({ default: '' }), +}); export function buildKnexConfig(): Config { // eslint-disable-next-line sonarjs/no-small-switch diff --git a/src/lib/environment.ts b/src/lib/environment.ts index 91166471..84bddde5 100644 --- a/src/lib/environment.ts +++ b/src/lib/environment.ts @@ -18,24 +18,18 @@ let env: Environment | undefined; export function getEnvironment(): Environment { if (!env) { - env = cleanEnv( - process.env, - { - NODE_ENV: str({ default: 'development' }), - BUGSNAG_API_KEY: str(), - BOT_TOKEN: str(), - CHAT_ID: num(), - WEBHOOK_DOMAIN: str({ default: '' }), - WEBHOOK_PORT: portOrZero({ default: 0 }), - LISTEN_HOST: host({ default: '127.0.0.1' }), - NEWS_ENDPOINT: url(), - FETCH_INTERVAL: num({ default: 600_000 }), - PATH_PREFIX: str({ default: '' }), - }, - { - strict: true, - }, - ); + env = cleanEnv(process.env, { + NODE_ENV: str({ default: 'development' }), + BUGSNAG_API_KEY: str(), + BOT_TOKEN: str(), + CHAT_ID: num(), + WEBHOOK_DOMAIN: str({ default: '' }), + WEBHOOK_PORT: portOrZero({ default: 0 }), + LISTEN_HOST: host({ default: '127.0.0.1' }), + NEWS_ENDPOINT: url(), + FETCH_INTERVAL: num({ default: 600_000 }), + PATH_PREFIX: str({ default: '' }), + }); process.env.NODE_ENV = env.NODE_ENV; } diff --git a/src/lib/ot-telegraf.ts b/src/lib/ot-telegraf.ts index 8969df45..2bd10986 100644 --- a/src/lib/ot-telegraf.ts +++ b/src/lib/ot-telegraf.ts @@ -1,4 +1,4 @@ -import { StatusCode, context, setActiveSpan } from '@opentelemetry/api'; +import { StatusCode, context, setSpan } from '@opentelemetry/api'; import { BasePlugin } from '@opentelemetry/core'; import type Telegraf from 'telegraf'; import shimmer from 'shimmer'; @@ -61,7 +61,7 @@ export class TelegrafPlugin extends BasePlugin { const self = this; return function handleUpdate(this: typeof Telegraf, update: Update, ...params): ReturnType { const span = self._tracer.startSpan(`telegraf.handleUpdate(${update.update_id})`); - return context.with(setActiveSpan(context.active(), span), () => + return context.with(setSpan(context.active(), span), () => original.apply(this, [update, ...params]).then( (result) => { span.setStatus({ code: StatusCode.OK }).end();