From 26afab11832a4a69a99d17fb375e6d17ae04d7df Mon Sep 17 00:00:00 2001 From: eenvin Date: Tue, 31 Oct 2023 13:25:25 +0100 Subject: [PATCH 01/12] refactor(data-api): refactor data retrieval api functions --- src/hooks/use-sentinels-historical-data.js | 27 +++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/src/hooks/use-sentinels-historical-data.js b/src/hooks/use-sentinels-historical-data.js index fcf8e8d..dbea5d8 100644 --- a/src/hooks/use-sentinels-historical-data.js +++ b/src/hooks/use-sentinels-historical-data.js @@ -6,6 +6,8 @@ import { groupBy } from 'lodash' import { formatCurrency } from '../utils/amount' import { useTotalNumberOfBorrowersInEpochs, useTotalNumberOfLendersInEpochs } from './use-lending-manager' +const EPOCHS_ENDPOINT = 'https://pnetwork.watch/static/epoch-dash.json' + const calculateFee = ({ epochs, data, keyAppender = '' }, _isValid) => { let sum = [] for (const epoch of epochs) { @@ -26,6 +28,27 @@ const calculateFee = ({ epochs, data, keyAppender = '' }, _isValid) => { return sum } +/* In case the API is not updated to the current epoch it returns a corrupted JSON where the missing data + * is reported as a space which prevents axios to decode the JSON directly. + * This function detects that (the data is a string and not a object) replace the space with a NaN which is + * interpreted by charts.js as null data. + * In case the data is not string nor object returns null + */ +export const handlePartialData = (data) => + typeof data === 'object' + ? data + : typeof data === 'string' + ? JSON.parse(data.replace(/: ,/g, ': "NaN",').replace(/: }/g, ': "NaN"}')) + : null + +export const getEpochsFromRawData = async () => { + const { data: rawData } = await axios.get(EPOCHS_ENDPOINT) + const data = handlePartialData(rawData) + if (data === null) throw new Error('Unrecongnized data type') + if (!data['epochs']) throw new Error('Data do not contain epochs information') + return data['epochs'] +} + const useSentinelsHistoricalData = () => { const totalNumberOfLendersInEpochs = useTotalNumberOfLendersInEpochs() const totalNumberOfBorrowersInEpochs = useTotalNumberOfBorrowersInEpochs() @@ -40,9 +63,7 @@ const useSentinelsHistoricalData = () => { useEffect(() => { const fetchData = async () => { try { - const { data: rawData } = await axios.get('https://pnetwork.watch/api/datasources/proxy/3') - const correctedData = rawData.replace(/: ,/g, ': "NaN",').replace(/: }/g, ': "NaN"}') - const { epochs: data } = JSON.parse(correctedData) + const data = await getEpochsFromRawData() const epochs = Object.keys(data).filter((_epoch) => !_epoch.includes('-')) setEpochs(epochs) From 43a41f3dbabdc730bbe1105f87482ffd1229d5b9 Mon Sep 17 00:00:00 2001 From: eenvin Date: Tue, 31 Oct 2023 13:26:23 +0100 Subject: [PATCH 02/12] chore(jest): add jest support and eslint config --- .eslintrc | 18 +++++++++++++++ package-lock.json | 56 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 5 ++++- 3 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 .eslintrc diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..571dbfa --- /dev/null +++ b/.eslintrc @@ -0,0 +1,18 @@ +{ + "plugins": ["react", "react-hooks"], + "parserOptions": { + "sourceType": "module", + "ecmaVersion": 13 + }, + "overrides": [ + { + "files": [ + "**/*.test.js", + "**/*.test.jsx" + ], + "env": { + "jest": true + } + } + ] +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 1b16fa2..00b6533 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,10 +40,12 @@ "react-scripts": "5.0.1", "react-svg": "^15.1.15", "react-switch": "^7.0.0", + "react-test-renderer": "^18.2.0", "react-toastify": "^9.1.1", "react-web3-settings": "^1.1.0", "redux": "^4.2.0", "redux-thunk": "^2.4.2", + "save-dev": "^0.0.1-security", "stream": "^0.0.2", "styled-components": "^5.3.6", "unique-names-generator": "^4.7.1", @@ -18021,6 +18023,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/react-shallow-renderer": { + "version": "16.15.0", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "dependencies": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-style-singleton": { "version": "2.2.1", "license": "MIT", @@ -18067,6 +18081,19 @@ "react-dom": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/react-test-renderer": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.2.0.tgz", + "integrity": "sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==", + "dependencies": { + "react-is": "^18.2.0", + "react-shallow-renderer": "^16.15.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, "node_modules/react-toastify": { "version": "9.1.2", "license": "MIT", @@ -18807,6 +18834,11 @@ } } }, + "node_modules/save-dev": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/save-dev/-/save-dev-0.0.1-security.tgz", + "integrity": "sha512-k6knZTDNK8PKKbIqnvxiOveJinuw2LcQjqDoaorZWP9M5AR2EPsnpDeSbeoZZ0pHr5ze1uoaKdK8NBGQrJ34Uw==" + }, "node_modules/sax": { "version": "1.2.4", "license": "ISC" @@ -33165,6 +33197,15 @@ } } }, + "react-shallow-renderer": { + "version": "16.15.0", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "requires": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + } + }, "react-style-singleton": { "version": "2.2.1", "requires": { @@ -33188,6 +33229,16 @@ "prop-types": "^15.7.2" } }, + "react-test-renderer": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.2.0.tgz", + "integrity": "sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==", + "requires": { + "react-is": "^18.2.0", + "react-shallow-renderer": "^16.15.0", + "scheduler": "^0.23.0" + } + }, "react-toastify": { "version": "9.1.2", "requires": { @@ -33634,6 +33685,11 @@ "neo-async": "^2.6.2" } }, + "save-dev": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/save-dev/-/save-dev-0.0.1-security.tgz", + "integrity": "sha512-k6knZTDNK8PKKbIqnvxiOveJinuw2LcQjqDoaorZWP9M5AR2EPsnpDeSbeoZZ0pHr5ze1uoaKdK8NBGQrJ34Uw==" + }, "sax": { "version": "1.2.4" }, diff --git a/package.json b/package.json index eb6588e..271bb45 100644 --- a/package.json +++ b/package.json @@ -35,10 +35,12 @@ "react-scripts": "5.0.1", "react-svg": "^15.1.15", "react-switch": "^7.0.0", + "react-test-renderer": "^18.2.0", "react-toastify": "^9.1.1", "react-web3-settings": "^1.1.0", "redux": "^4.2.0", "redux-thunk": "^2.4.2", + "save-dev": "^0.0.1-security", "stream": "^0.0.2", "styled-components": "^5.3.6", "unique-names-generator": "^4.7.1", @@ -68,7 +70,8 @@ "analyze:bundle": "node ./scripts/bundle-analyzer.js", "build-and-deploy": "npm run build && npm run deploy", "deploy": "node ./scripts/deploy.js", - "postinstall": "./scripts/postinstall.sh" + "postinstall": "./scripts/postinstall.sh", + "test": "react-scripts test --transformIgnorePatterns --testPathIgnorePatterns=.data.js" }, "eslintConfig": { "extends": [ From 766ae2dd898aebd3eb44c4dcdccb0eacb86ba455 Mon Sep 17 00:00:00 2001 From: eenvin Date: Tue, 31 Oct 2023 13:27:05 +0100 Subject: [PATCH 03/12] chore(tests): test data retrieval api functions --- src/hooks/__tests__/api.data.js | 354 ++++++++++++++++++ .../use_sentinels-historical-data.test.js | 50 +++ 2 files changed, 404 insertions(+) create mode 100644 src/hooks/__tests__/api.data.js create mode 100644 src/hooks/__tests__/use_sentinels-historical-data.test.js diff --git a/src/hooks/__tests__/api.data.js b/src/hooks/__tests__/api.data.js new file mode 100644 index 0000000..d0de0be --- /dev/null +++ b/src/hooks/__tests__/api.data.js @@ -0,0 +1,354 @@ +export const partialData = + '{"epochs": \ + {"18": {"number": 18, "fees":{"pBTC": {"amount": 0.37752667, "amount_usd": 21610.76, "amount_usd_single": 2161.07}, "CGG": {"amount": 233.88213904, "amount_usd": 418.65, "amount_usd_single": 41.80}, "pLTC": {"amount": 0.33341377, "amount_usd": 117.56, "amount_usd_single": 11.70}}, "nodes_count": 10},\ + "19": {"number": 19, "fees":{"pBTC": {"amount": 0.79066, "amount_usd": 34812.76, "amount_usd_single": 3481.28}, "CGG": {"amount": 1567.51, "amount_usd": 1677.23, "amount_usd_single": 167.72}, "PNT": {"amount": 1410.26, "amount_usd": 2482.06, "amount_usd_single": 248.20}}, "nodes_count": 10},\ + "20": {"number": 20, "fees":{"pBTC": {"amount": 1.31713916, "amount_usd": 48417.93, "amount_usd_single": 4401.63}, "CGG": {"amount": 1086.43, "amount_usd": 630.02, "amount_usd_single": 57.27}, "PNT": {"amount": 1427.33, "amount_usd": 1500.70, "amount_usd_single": 136.43}}, "nodes_count": 11},\ + "21": {"number": 21, "fees":{"pBTC": {"amount": 0.156, "amount_usd": 5824.67496, "amount_usd_single": 529.51590545}, "OPEN": {"amount": 1144.895, "amount_usd": 643.087, "amount_usd_single": 58.462}, "PNT": {"amount": 1791.6200, "amount_usd": 1776.0329, "amount_usd_single": 161.4575}}, "nodes_count": 11},\ + "22": {"number": 22, "fees":{"pBTC": {"amount": 0.18206328, "amount_usd": 6150.19, "amount_usd_single": 512.52}, "CGG": {"amount": 12153.823199999999, "amount_usd": 2056.42, "amount_usd_single": 171.37}, "PNT": {"amount": 4023.06, "amount_usd": 2874.075, "amount_usd_single": 239.51}}, "nodes_count": 12},\ + "23": {"number": 23, "fees":{"pBTC": {"amount": 0.030996, "amount_usd": 1184.39, "amount_usd_single": 84.59}, "CGG": {"amount": 8667.89, "amount_usd": 4184.52, "amount_usd_single": 298.89}, "PNT": {"amount": 1238.846, "amount_usd": 910.93, "amount_usd_single": 65.06}}, "nodes_count": 14},\ + "24": {"number": 24, "fees":{"pBTC": {"amount": 0.07946318, "amount_usd": 3426.67, "amount_usd_single": 201.56}, "CGG": {"amount": 3667.252935, "amount_usd": 1888.27, "amount_usd_single": 111.07}, "$ANRX": {"amount": 28723.825824, "amount_usd": 2588.59, "amount_usd_single": 152.27}}, "nodes_count": 17},\ + "25": {"number": 25, "fees":{"pBTC": {"amount": 0.240451, "amount_usd": 11696.38, "amount_usd_single": 649.79}, "PNT": {"amount": 1342.2908, "amount_usd": 1497.99, "amount_usd_single": 83.22}, "$ANRX": {"amount": 13287.059, "amount_usd": 1842.91, "amount_usd_single": 102.38}}, "nodes_count": 18},\ + "26": {"number": 26, "fees":{"pBTC": {"amount": 0.313, "amount_usd": 14327.63, "amount_usd_single": 795.97}}, "nodes_count": 18},\ + "27": {"number": 27, "fees":{"pBTC": {"amount": 0.497, "amount_usd": 27059.28, "amount_usd_single": 1503.29}, "OPEN": {"amount": 8136, "amount_usd": 2302.14, "amount_usd_single": 127.89}, "CGG": {"amount": 2319.84, "amount_usd": 2108.03, "amount_usd_single": 117.11}, "$ANRX": {"amount": 18360, "amount_usd": 1139.21, "amount_usd_single": 63.28}}, "nodes_count": 18},\ + "28": {"number": 28, "fees":{"pBTC": {"amount": 2.29273352, "amount_usd": 148596.02, "amount_usd_single": 8255.33}, "PNT": {"amount": 5936.0363, "amount_usd": 6096.90, "amount_usd_single": 338.71}, "TLOS": {"amount": 33232.3704, "amount_usd": 29204.60, "amount_usd_single": 1622.47}}, "nodes_count": 18},\ + "29": {"number": 29, "fees":{"pBTC": {"amount": 2.118, "amount_usd": 101566.57, "amount_usd_single": 5642.58}, "CGG": {"amount": 9106.449, "amount_usd": 8336.95, "amount_usd_single": 463.16}, "$ANRX": {"amount": 28330.28, "amount_usd": 3005.82, "amount_usd_single": 166.99}, "pWSB": {"amount": 239564.840, "amount_usd": 5560.29, "amount_usd_single": 308.90}}, "nodes_count": 18},\ + "30": {"number": 30, "fees":{"pBTC": {"amount": 1.30499711, "amount_usd": 58114.67, "amount_usd_single": 3058.66}, "TLOS": {"amount": 8769.87, "amount_usd": 11137.73, "amount_usd_single": 586.19}, "GALA": {"amount": 98789.20, "amount_usd": 34991.13, "amount_usd_single": 1841.63}}, "nodes_count": 19},\ + "31": {"number": 31, "fees":{"pBTC": {"amount": 0.58273, "amount_usd": 27134.69, "amount_usd_single": 1507.48}, "GALA": {"amount": 14290.91659, "amount_usd": 3882.33, "amount_usd_single": 793.93}}, "nodes_count": 18},\ + "32": {"number": 32, "fees":{"pBTC": {"amount": 1.45737, "amount_usd": 43272.90, "amount_usd_single": 1881.43}}, "nodes_count": 23},\ + "33": {"number": 33, "fees":{"GALA": {"amount": 385367.35, "amount_usd": 20925.44, "amount_usd_single": 871.89}}, "nodes_count": 24},\ + "34": {"number": 34, "fees":{"pBTC": {"amount": 0.29587, "amount_usd": 5849.25}, "PNT": {"amount": 15777.76050, "amount_usd": 3748.79}, "TLOS": {"amount": 11318.32910, "amount_usd": 2039.56}}, "nodes_count": 27},\ + "35": {"number": 35, "fees":{"WETH": {"amount": 1.43499, "amount_usd": 1856.76}, "PNT": {"amount": 8980.27, "amount_usd": 1957.65}, "pLTC": {"amount": 23.79251, "amount_usd": 1247.56}, "IQ": {"amount": 1337944.71, "amount_usd": 6279.33}, "CGG": {"amount": 15214.67, "amount_usd": 1447.98}}, "nodes_count": 27},\ + "36": {"number": 36, "fees":{"pBTC": {"amount": 0.45275, "amount_usd": 7678.64}, "UOS": {"amount": 11759, "amount_usd": 2508.19}, "EFX": {"amount": 205871, "amount_usd": 821.63}, "PNT": {"amount": 23239, "amount_usd": 3776.34}}, "nodes_count": 25},\ + "37": {"number": 37, "fees":{"pBTC": {"amount": 0.33195, "amount_usd": 5619.56}, "pLTC": {"amount": 16.46201, "amount_usd": 933.07}, "GALA": {"amount": 41618.46403, "amount_usd": 1714.84}, "PNT": {"amount": 7315.25147, "amount_usd": 1005.66}, "IQ": {"amount": 456355.53168, "amount_usd": 2229.75}}, "nodes_count": 24},\ + "38": {"number": 38, "fees":{"pBTC": {"amount": 0.14947, "amount_usd": 3699.08}, "WSB": {"amount": 1711991.7959, "amount_usd": 1635.53}, "GALA": {"amount": 20495.121, "amount_usd": 962.04}, "CGG": {"amount": 10844.197, "amount_usd": 1177.68}, "IQ": {"amount": 263925.945, "amount_usd": 1983.66}, "EFX": {"amount": 139707.633, "amount_usd": 1595.46}, "TLOS": {"amount": 6191.976, "amount_usd": 1425.39}}, "nodes_count": 20},\ + "39": {"number": 39, "fees":{"pBTC": {"amount": 0.08602739, "amount_usd": 2408.21}, "PNT": {"amount": 5771.935, "amount_usd": 1171.74}}, "nodes_count": 20},\ + "40": {"number": 40, "fees":{"pBTC": {"amount": 0.0501628, "amount_usd": 1412.00}, "USDT": {"amount": 457.17, "amount_usd": 457.17}, "TLOS": {"amount": 5591, "amount_usd": 1016.82}, "UOS": {"amount": 4086, "amount_usd": 909.95}}, "nodes_count": 22},\ + "41": {"number": 41, "fees":{"pBTC": {"amount": 0.03966, "amount_usd": 1046.98}, "WSB": {"amount": 854825.30651, "amount_usd": 2424.28}, "TLOS": {"amount": 7914.24903, "amount_usd": 1447.51}, "CGG": {"amount": 5668.26115, "amount_usd": 405.96}, "GALA": {"amount": 22187.14208, "amount_usd": 572.42}}, "nodes_count": 21},\ + "41-lenders": {"number": 41, "type": "lender", "fees":{"pBTC": {"amount": 0.00142054397, "amount_usd": 35.34}, "WSB": {"amount": 30618.17, "amount_usd": 68.76}, "TLOS": {"amount": 283.47298, "amount_usd": 43.71}, "CGG": {"amount": 203.0260, "amount_usd": 14.24}, "GALA": {"amount": 794.7002, "amount_usd": 17.10}}, "nodes_count": 1},\ + "41-borrowers": {"number": 41, "type": "borrower", "fees":{"pBTC": {"amount": 0.00041099802, "amount_usd": 10.22}, "WSB": {"amount": 8858.585, "amount_usd": 19.89}, "TLOS": {"amount": 82.0156, "amount_usd": 12.64}, "CGG": {"amount": 58.7403, "amount_usd": 4.12}, "GALA": {"amount": 229.9261, "amount_usd": 4.94}}, "nodes_count": 1},\ + "42": {"number": 42, "fees":{"pBTC": {"amount": 0.22446, "amount_usd": 6790.58}, "pLTC": {"amount": 6.0886, "amount_usd": 622.92}}, "nodes_count": 21},\ + "42-lenders": {"number": 42, "type": "lender", "fees":{"pBTC": {"amount": 0.00787881659, "amount_usd": 238.35}, "pLTC": {"amount": 0.21371719981, "amount_usd": 21.86}}, "nodes_count": 1},\ + "42-borrowers": {"number": 42, "type": "borrower", "fees":{"pBTC": {"amount": 0.00227953383, "amount_usd": 69.96}, "pLTC": {"amount": 0.06183359933, "amount_usd": 6.32}}, "nodes_count": 1},\ + "43": {"number": 43, "fees":{"pBTC": {"amount": 0.24780, "amount_usd": 7190.16}, "BIST": {"amount": 17420.95920, "amount_usd": 393.20}, "WSB": {"amount": 218854.21890, "amount_usd": 438.14}, "TLOS": {"amount": 8373.82350, "amount_usd": 905.21}, "PNT": {"amount": 6746.20300, "amount_usd": 815.61}}, "nodes_count": 21},\ + "44": {"number": 44, "fees":{"pBTC": {"amount": 0.14601, "amount_usd": 3761.50}, "EFX": {"amount": 126698.41, "amount_usd": 296.98}, "TLOS": {"amount": 15708.44, "amount_usd": 1260.91}, "PNT": {"amount": 4090.09, "amount_usd": 403.32}}, "nodes_count": 21},\ + "44-lenders": {"number": 44, "type": "lender", "fees":{"pBTC": {"amount": 0.00539, "amount_usd": 138.85}, "EFX": {"amount": 4681.60, "amount_usd": 10.97}, "TLOS": {"amount": 580.43, "amount_usd": 46.59}, "PNT": {"amount": 151.13, "amount_usd": 14.90}}, "nodes_count": 1},\ + "44-borrowers": {"number": 44, "type": "borrower", "fees":{"pBTC": {"amount": 0.00156, "amount_usd": 40.18}, "EFX": {"amount": 1355.97, "amount_usd": 3.17}, "TLOS": {"amount": 168.11, "amount_usd": 13.49}, "PNT": {"amount": 43.77, "amount_usd": 4.31}}, "nodes_count": 1},\ + "45": {"number": 45, "fees":{"pBTC": {"amount": , "amount_usd": }}, "nodes_count": 21},\ + "45-lenders": {"number": 45, "type": "lender", "fees":{"pBTC": {"amount": 0.00387, "amount_usd": 107.97}}, "nodes_count": 1},\ + "45-borrowers": {"number": 45, "type": "borrower", "fees":{"pBTC": {"amount": 0.00112, "amount_usd": 31.24}}, "nodes_count": 1}}\ + }' + +export const completeData = { + epochs: { + 18: { + number: 18, + fees: { + pBTC: { amount: 0.37752667, amount_usd: 21610.76, amount_usd_single: 2161.07 }, + CGG: { amount: 233.88213904, amount_usd: 418.65, amount_usd_single: 41.8 }, + pLTC: { amount: 0.33341377, amount_usd: 117.56, amount_usd_single: 11.7 } + }, + nodes_count: 10 + }, + 19: { + number: 19, + fees: { + pBTC: { amount: 0.79066, amount_usd: 34812.76, amount_usd_single: 3481.28 }, + CGG: { amount: 1567.51, amount_usd: 1677.23, amount_usd_single: 167.72 }, + PNT: { amount: 1410.26, amount_usd: 2482.06, amount_usd_single: 248.2 } + }, + nodes_count: 10 + }, + 20: { + number: 20, + fees: { + pBTC: { amount: 1.31713916, amount_usd: 48417.93, amount_usd_single: 4401.63 }, + CGG: { amount: 1086.43, amount_usd: 630.02, amount_usd_single: 57.27 }, + PNT: { amount: 1427.33, amount_usd: 1500.7, amount_usd_single: 136.43 } + }, + nodes_count: 11 + }, + 21: { + number: 21, + fees: { + pBTC: { amount: 0.156, amount_usd: 5824.67496, amount_usd_single: 529.51590545 }, + OPEN: { amount: 1144.895, amount_usd: 643.087, amount_usd_single: 58.462 }, + PNT: { amount: 1791.62, amount_usd: 1776.0329, amount_usd_single: 161.4575 } + }, + nodes_count: 11 + }, + 22: { + number: 22, + fees: { + pBTC: { amount: 0.18206328, amount_usd: 6150.19, amount_usd_single: 512.52 }, + CGG: { amount: 12153.823199999999, amount_usd: 2056.42, amount_usd_single: 171.37 }, + PNT: { amount: 4023.06, amount_usd: 2874.075, amount_usd_single: 239.51 } + }, + nodes_count: 12 + }, + 23: { + number: 23, + fees: { + pBTC: { amount: 0.030996, amount_usd: 1184.39, amount_usd_single: 84.59 }, + CGG: { amount: 8667.89, amount_usd: 4184.52, amount_usd_single: 298.89 }, + PNT: { amount: 1238.846, amount_usd: 910.93, amount_usd_single: 65.06 } + }, + nodes_count: 14 + }, + 24: { + number: 24, + fees: { + pBTC: { amount: 0.07946318, amount_usd: 3426.67, amount_usd_single: 201.56 }, + CGG: { amount: 3667.252935, amount_usd: 1888.27, amount_usd_single: 111.07 }, + $ANRX: { amount: 28723.825824, amount_usd: 2588.59, amount_usd_single: 152.27 } + }, + nodes_count: 17 + }, + 25: { + number: 25, + fees: { + pBTC: { amount: 0.240451, amount_usd: 11696.38, amount_usd_single: 649.79 }, + PNT: { amount: 1342.2908, amount_usd: 1497.99, amount_usd_single: 83.22 }, + $ANRX: { amount: 13287.059, amount_usd: 1842.91, amount_usd_single: 102.38 } + }, + nodes_count: 18 + }, + 26: { + number: 26, + fees: { pBTC: { amount: 0.313, amount_usd: 14327.63, amount_usd_single: 795.97 } }, + nodes_count: 18 + }, + 27: { + number: 27, + fees: { + pBTC: { amount: 0.497, amount_usd: 27059.28, amount_usd_single: 1503.29 }, + OPEN: { amount: 8136, amount_usd: 2302.14, amount_usd_single: 127.89 }, + CGG: { amount: 2319.84, amount_usd: 2108.03, amount_usd_single: 117.11 }, + $ANRX: { amount: 18360, amount_usd: 1139.21, amount_usd_single: 63.28 } + }, + nodes_count: 18 + }, + 28: { + number: 28, + fees: { + pBTC: { amount: 2.29273352, amount_usd: 148596.02, amount_usd_single: 8255.33 }, + PNT: { amount: 5936.0363, amount_usd: 6096.9, amount_usd_single: 338.71 }, + TLOS: { amount: 33232.3704, amount_usd: 29204.6, amount_usd_single: 1622.47 } + }, + nodes_count: 18 + }, + 29: { + number: 29, + fees: { + pBTC: { amount: 2.118, amount_usd: 101566.57, amount_usd_single: 5642.58 }, + CGG: { amount: 9106.449, amount_usd: 8336.95, amount_usd_single: 463.16 }, + $ANRX: { amount: 28330.28, amount_usd: 3005.82, amount_usd_single: 166.99 }, + pWSB: { amount: 239564.84, amount_usd: 5560.29, amount_usd_single: 308.9 } + }, + nodes_count: 18 + }, + 30: { + number: 30, + fees: { + pBTC: { amount: 1.30499711, amount_usd: 58114.67, amount_usd_single: 3058.66 }, + TLOS: { amount: 8769.87, amount_usd: 11137.73, amount_usd_single: 586.19 }, + GALA: { amount: 98789.2, amount_usd: 34991.13, amount_usd_single: 1841.63 } + }, + nodes_count: 19 + }, + 31: { + number: 31, + fees: { + pBTC: { amount: 0.58273, amount_usd: 27134.69, amount_usd_single: 1507.48 }, + GALA: { amount: 14290.91659, amount_usd: 3882.33, amount_usd_single: 793.93 } + }, + nodes_count: 18 + }, + 32: { + number: 32, + fees: { pBTC: { amount: 1.45737, amount_usd: 43272.9, amount_usd_single: 1881.43 } }, + nodes_count: 23 + }, + 33: { + number: 33, + fees: { GALA: { amount: 385367.35, amount_usd: 20925.44, amount_usd_single: 871.89 } }, + nodes_count: 24 + }, + 34: { + number: 34, + fees: { + pBTC: { amount: 0.29587, amount_usd: 5849.25 }, + PNT: { amount: 15777.7605, amount_usd: 3748.79 }, + TLOS: { amount: 11318.3291, amount_usd: 2039.56 } + }, + nodes_count: 27 + }, + 35: { + number: 35, + fees: { + WETH: { amount: 1.43499, amount_usd: 1856.76 }, + PNT: { amount: 8980.27, amount_usd: 1957.65 }, + pLTC: { amount: 23.79251, amount_usd: 1247.56 }, + IQ: { amount: 1337944.71, amount_usd: 6279.33 }, + CGG: { amount: 15214.67, amount_usd: 1447.98 } + }, + nodes_count: 27 + }, + 36: { + number: 36, + fees: { + pBTC: { amount: 0.45275, amount_usd: 7678.64 }, + UOS: { amount: 11759, amount_usd: 2508.19 }, + EFX: { amount: 205871, amount_usd: 821.63 }, + PNT: { amount: 23239, amount_usd: 3776.34 } + }, + nodes_count: 25 + }, + 37: { + number: 37, + fees: { + pBTC: { amount: 0.33195, amount_usd: 5619.56 }, + pLTC: { amount: 16.46201, amount_usd: 933.07 }, + GALA: { amount: 41618.46403, amount_usd: 1714.84 }, + PNT: { amount: 7315.25147, amount_usd: 1005.66 }, + IQ: { amount: 456355.53168, amount_usd: 2229.75 } + }, + nodes_count: 24 + }, + 38: { + number: 38, + fees: { + pBTC: { amount: 0.14947, amount_usd: 3699.08 }, + WSB: { amount: 1711991.7959, amount_usd: 1635.53 }, + GALA: { amount: 20495.121, amount_usd: 962.04 }, + CGG: { amount: 10844.197, amount_usd: 1177.68 }, + IQ: { amount: 263925.945, amount_usd: 1983.66 }, + EFX: { amount: 139707.633, amount_usd: 1595.46 }, + TLOS: { amount: 6191.976, amount_usd: 1425.39 } + }, + nodes_count: 20 + }, + 39: { + number: 39, + fees: { pBTC: { amount: 0.08602739, amount_usd: 2408.21 }, PNT: { amount: 5771.935, amount_usd: 1171.74 } }, + nodes_count: 20 + }, + 40: { + number: 40, + fees: { + pBTC: { amount: 0.0501628, amount_usd: 1412.0 }, + USDT: { amount: 457.17, amount_usd: 457.17 }, + TLOS: { amount: 5591, amount_usd: 1016.82 }, + UOS: { amount: 4086, amount_usd: 909.95 } + }, + nodes_count: 22 + }, + 41: { + number: 41, + fees: { + pBTC: { amount: 0.03966, amount_usd: 1046.98 }, + WSB: { amount: 854825.30651, amount_usd: 2424.28 }, + TLOS: { amount: 7914.24903, amount_usd: 1447.51 }, + CGG: { amount: 5668.26115, amount_usd: 405.96 }, + GALA: { amount: 22187.14208, amount_usd: 572.42 } + }, + nodes_count: 21 + }, + '41-lenders': { + number: 41, + type: 'lender', + fees: { + pBTC: { amount: 0.00142054397, amount_usd: 35.34 }, + WSB: { amount: 30618.17, amount_usd: 68.76 }, + TLOS: { amount: 283.47298, amount_usd: 43.71 }, + CGG: { amount: 203.026, amount_usd: 14.24 }, + GALA: { amount: 794.7002, amount_usd: 17.1 } + }, + nodes_count: 1 + }, + '41-borrowers': { + number: 41, + type: 'borrower', + fees: { + pBTC: { amount: 0.00041099802, amount_usd: 10.22 }, + WSB: { amount: 8858.585, amount_usd: 19.89 }, + TLOS: { amount: 82.0156, amount_usd: 12.64 }, + CGG: { amount: 58.7403, amount_usd: 4.12 }, + GALA: { amount: 229.9261, amount_usd: 4.94 } + }, + nodes_count: 1 + }, + 42: { + number: 42, + fees: { pBTC: { amount: 0.22446, amount_usd: 6790.58 }, pLTC: { amount: 6.0886, amount_usd: 622.92 } }, + nodes_count: 21 + }, + '42-lenders': { + number: 42, + type: 'lender', + fees: { pBTC: { amount: 0.00787881659, amount_usd: 238.35 }, pLTC: { amount: 0.21371719981, amount_usd: 21.86 } }, + nodes_count: 1 + }, + '42-borrowers': { + number: 42, + type: 'borrower', + fees: { pBTC: { amount: 0.00227953383, amount_usd: 69.96 }, pLTC: { amount: 0.06183359933, amount_usd: 6.32 } }, + nodes_count: 1 + }, + 43: { + number: 43, + fees: { + pBTC: { amount: 0.2478, amount_usd: 7190.16 }, + BIST: { amount: 17420.9592, amount_usd: 393.2 }, + WSB: { amount: 218854.2189, amount_usd: 438.14 }, + TLOS: { amount: 8373.8235, amount_usd: 905.21 }, + PNT: { amount: 6746.203, amount_usd: 815.61 } + }, + nodes_count: 21 + }, + 44: { + number: 44, + fees: { + pBTC: { amount: 0.14601, amount_usd: 3761.5 }, + EFX: { amount: 126698.41, amount_usd: 296.98 }, + TLOS: { amount: 15708.44, amount_usd: 1260.91 }, + PNT: { amount: 4090.09, amount_usd: 403.32 } + }, + nodes_count: 21 + }, + '44-lenders': { + number: 44, + type: 'lender', + fees: { + pBTC: { amount: 0.00539, amount_usd: 138.85 }, + EFX: { amount: 4681.6, amount_usd: 10.97 }, + TLOS: { amount: 580.43, amount_usd: 46.59 }, + PNT: { amount: 151.13, amount_usd: 14.9 } + }, + nodes_count: 1 + }, + '44-borrowers': { + number: 44, + type: 'borrower', + fees: { + pBTC: { amount: 0.00156, amount_usd: 40.18 }, + EFX: { amount: 1355.97, amount_usd: 3.17 }, + TLOS: { amount: 168.11, amount_usd: 13.49 }, + PNT: { amount: 43.77, amount_usd: 4.31 } + }, + nodes_count: 1 + }, + 45: { number: 45, fees: { pBTC: { amount: 0.11, amount_usd: 2930.0 } }, nodes_count: 21 }, + '45-lenders': { + number: 45, + type: 'lender', + fees: { pBTC: { amount: 0.00387, amount_usd: 107.97 } }, + nodes_count: 1 + }, + '45-borrowers': { + number: 45, + type: 'borrower', + fees: { pBTC: { amount: 0.00112, amount_usd: 31.24 } }, + nodes_count: 1 + } + } +} diff --git a/src/hooks/__tests__/use_sentinels-historical-data.test.js b/src/hooks/__tests__/use_sentinels-historical-data.test.js new file mode 100644 index 0000000..9a5f645 --- /dev/null +++ b/src/hooks/__tests__/use_sentinels-historical-data.test.js @@ -0,0 +1,50 @@ +import { handlePartialData, getEpochsFromRawData } from '../use-sentinels-historical-data' +import { completeData, partialData } from './api.data' +import axios from 'axios' + +jest.mock('axios') + +it('should elaborate data', () => { + const pData = handlePartialData(partialData) + const cData = handlePartialData(completeData) + const nData = handlePartialData(0) + expect(typeof pData).toBe('object') + expect(typeof cData).toBe('object') + expect(nData).toBe(null) + expect(pData['epochs']['45']['fees']['pBTC']['amount']).toBe('NaN') + expect(pData['epochs']['18']).toEqual(cData['epochs']['18']) +}) + +it('should retreive partial data', async () => { + axios.get.mockResolvedValue({ data: partialData }) + const { epochs: expectedData } = handlePartialData(partialData) + const data = await getEpochsFromRawData() + expect(data).toEqual(expectedData) +}) + +it('should retreive data', async () => { + axios.get.mockResolvedValue({ data: completeData }) + const { epochs: expectedData } = handlePartialData(completeData) + const data = await getEpochsFromRawData() + expect(data).toEqual(expectedData) +}) + +it('should throw if data is neither a object or a string', async () => { + try { + axios.get.mockResolvedValue({ data: 0 }) + void (await getEpochsFromRawData()) + fail() + } catch (_err) { + expect(_err.message).toBe('Unrecongnized data type') + } +}) + +it('should throw if epochs field is missing', async () => { + try { + axios.get.mockResolvedValue({ data: { files: 2 } }) + void (await getEpochsFromRawData()) + fail() + } catch (_err) { + expect(_err.message).toBe('Data do not contain epochs information') + } +}) From 1d50259093509e98edc3bf0a2d661c096655194d Mon Sep 17 00:00:00 2001 From: eenvin Date: Tue, 31 Oct 2023 14:44:17 +0100 Subject: [PATCH 04/12] chore(package): remove unused packages --- package-lock.json | 11 ----------- package.json | 1 - 2 files changed, 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 00b6533..e103d5a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,7 +45,6 @@ "react-web3-settings": "^1.1.0", "redux": "^4.2.0", "redux-thunk": "^2.4.2", - "save-dev": "^0.0.1-security", "stream": "^0.0.2", "styled-components": "^5.3.6", "unique-names-generator": "^4.7.1", @@ -18834,11 +18833,6 @@ } } }, - "node_modules/save-dev": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/save-dev/-/save-dev-0.0.1-security.tgz", - "integrity": "sha512-k6knZTDNK8PKKbIqnvxiOveJinuw2LcQjqDoaorZWP9M5AR2EPsnpDeSbeoZZ0pHr5ze1uoaKdK8NBGQrJ34Uw==" - }, "node_modules/sax": { "version": "1.2.4", "license": "ISC" @@ -33685,11 +33679,6 @@ "neo-async": "^2.6.2" } }, - "save-dev": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/save-dev/-/save-dev-0.0.1-security.tgz", - "integrity": "sha512-k6knZTDNK8PKKbIqnvxiOveJinuw2LcQjqDoaorZWP9M5AR2EPsnpDeSbeoZZ0pHr5ze1uoaKdK8NBGQrJ34Uw==" - }, "sax": { "version": "1.2.4" }, diff --git a/package.json b/package.json index 271bb45..29ad94c 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,6 @@ "react-web3-settings": "^1.1.0", "redux": "^4.2.0", "redux-thunk": "^2.4.2", - "save-dev": "^0.0.1-security", "stream": "^0.0.2", "styled-components": "^5.3.6", "unique-names-generator": "^4.7.1", From 0c5d98a3eee1007342b725434e221fcfc257235d Mon Sep 17 00:00:00 2001 From: eenvin Date: Wed, 1 Nov 2023 08:11:25 +0100 Subject: [PATCH 05/12] fix(gitHub): fix link to GitHub branch --- src/components/complex/Version/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/complex/Version/index.jsx b/src/components/complex/Version/index.jsx index 3e384a7..7dab75b 100644 --- a/src/components/complex/Version/index.jsx +++ b/src/components/complex/Version/index.jsx @@ -34,7 +34,7 @@ const VersionButton = styled.button` ` export default function Version({ ..._props }) { - const githubLink = 'https://github.com/pnetwork-association/dao-v2-ui/tree/feat/multichain' + const githubLink = 'https://github.com/pnetwork-association/dao-v2-ui/tree/v2' return ( From 2fcf9e7c90662d9576420c964ce72b65bf7cac62 Mon Sep 17 00:00:00 2001 From: eenvin Date: Wed, 1 Nov 2023 08:11:25 +0100 Subject: [PATCH 06/12] fix(gitHub): fix link to GitHub branch --- src/components/complex/Version/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/complex/Version/index.jsx b/src/components/complex/Version/index.jsx index 3e384a7..54411ab 100644 --- a/src/components/complex/Version/index.jsx +++ b/src/components/complex/Version/index.jsx @@ -34,7 +34,7 @@ const VersionButton = styled.button` ` export default function Version({ ..._props }) { - const githubLink = 'https://github.com/pnetwork-association/dao-v2-ui/tree/feat/multichain' + const githubLink = `https://github.com/pnetwork-association/dao-v2-ui/tree/${process.env.REACT_APP_GIT_SHA}` return ( From a5377301688eb7d0ba36346e82affe17fefbeebd Mon Sep 17 00:00:00 2001 From: eenvin Date: Thu, 23 Nov 2023 16:33:32 +0100 Subject: [PATCH 07/12] feat(votes): show votes from all dao versions --- src/components/complex/Proposal/index.jsx | 34 ++++++++++++++++++++--- src/hooks/use-proposals.js | 30 +++++++++++++++++++- src/utils/proposals.js | 13 ++++----- 3 files changed, 65 insertions(+), 12 deletions(-) diff --git a/src/components/complex/Proposal/index.jsx b/src/components/complex/Proposal/index.jsx index 37d7ec5..857b06c 100644 --- a/src/components/complex/Proposal/index.jsx +++ b/src/components/complex/Proposal/index.jsx @@ -1,5 +1,7 @@ import React, { Fragment, useCallback, useMemo, useState, useEffect } from 'react' import { Row, Col } from 'react-bootstrap' +import OverlayTrigger from 'react-bootstrap/OverlayTrigger' +import Tooltip from 'react-bootstrap/Tooltip' import styled from 'styled-components' import { usePrepareContractWrite, useContractWrite, useChainId, useAccount } from 'wagmi' import { toast } from 'react-toastify' @@ -17,6 +19,7 @@ import Action from '../Action' import Line from '../../base/Line' import Spinner from '../../base/Spinner' import Badge from '../../base/Badge' +import { formatAssetAmount } from '../../../utils/amount' const ProposalContainer = styled.div` display: flex; @@ -104,6 +107,10 @@ const QuorumText = styled(Text)` color: ${({ theme, quorumreached }) => (quorumreached ? theme.yellow : theme.red)}; ` +const QuorumContainer = styled.div` + margin-left: 7px; +` + const StyledIcon = styled(Icon)` margin-right: 5px; ` @@ -157,7 +164,10 @@ const Proposal = ({ formattedPercentageNay, formattedPercentageYea, formattedVote, + votingPnt, formattedVotingPnt, + votingPntDouble, + formattedVotingPntDouble, id, idText, open, @@ -229,6 +239,14 @@ const Proposal = ({ } }, [noData, activeChainId]) + const renderTooltip = (props) => ( + + + {formattedVotingPntDouble ? `${formattedVotingPnt} on DAO-v2 and ${formattedVotingPntDouble} on DAO-v1` : null} + + + ) + return ( @@ -260,7 +278,7 @@ const Proposal = ({ - + {quorumReached ? 'The quorum has been reached' : "The quorum hasn't been reached"} @@ -268,9 +286,17 @@ const Proposal = ({ - - Voted by {formattedVotingPnt} - + {votingPntDouble ? ( + + + Voted by {formatAssetAmount(votingPnt.plus(votingPntDouble), 'PNT')} + + + ) : ( + + Voted by {formattedVotingPnt} + + )} diff --git a/src/hooks/use-proposals.js b/src/hooks/use-proposals.js index 55aba06..0f3a6f5 100644 --- a/src/hooks/use-proposals.js +++ b/src/hooks/use-proposals.js @@ -11,6 +11,7 @@ import { getRole } from '../utils/role' import { isValidHexString, isValidMultiHash } from '../utils/format' import { ProposalsContext } from '../components/context/Proposals' +import { formatAssetAmount } from '../utils/amount' const useProposals = () => { const { proposals } = useContext(ProposalsContext) @@ -97,9 +98,36 @@ const useProposals = () => { if (!oldProposal) return _proposal + const totalVotingPnt = _proposal.yes.plus(_proposal.no).plus(oldProposal.yes).plus(oldProposal.no) + const totalYes = _proposal.yes.plus(oldProposal.yes) + const totalNo = _proposal.no.plus(oldProposal.no) + const percentageYea = totalYes.dividedBy(totalVotingPnt).multipliedBy(100) + const percentageNay = totalNo.dividedBy(totalVotingPnt).multipliedBy(100) + const totalYesPercentage = formatAssetAmount(percentageYea, '%', { decimals: 2 }) + const totalNoPercentage = formatAssetAmount(percentageNay, '%', { decimals: 2 }) + + const minAcceptQuorum = + _proposal.minAcceptQuorum > oldProposal.minAcceptQuorum + ? _proposal.minAcceptQuorum + : oldProposal.minAcceptQuorum + + const totalVotingPower = _proposal.votingPower.plus(oldProposal.votingPower) + const totalQuorum = _proposal.yes.plus(oldProposal.yes).dividedBy(totalVotingPower) + const biggestMinQuorum = minAcceptQuorum + const totalQuorumReached = totalQuorum.isGreaterThan(biggestMinQuorum) + const totalPassed = percentageYea.isGreaterThan(51) && totalQuorumReached + const totalOpen = _proposal.open || oldProposal.open + return { + ..._proposal, // Copy properties from the original object + formattedPercentageYea: totalYesPercentage, + formattedPercentageNay: totalNoPercentage, + quorumReached: totalQuorumReached, + passed: totalPassed, + open: totalOpen, idTextDouble: oldProposal.idText, - ..._proposal + votingPntDouble: oldProposal.votingPnt, + formattedVotingPntDouble: oldProposal.formattedVotingPnt } }) diff --git a/src/utils/proposals.js b/src/utils/proposals.js index 5d04a5c..190d932 100644 --- a/src/utils/proposals.js +++ b/src/utils/proposals.js @@ -103,7 +103,7 @@ const prepareOldProposal = ( id: _proposal.id + _idStart, minAcceptQuorum: minAcceptQuorum.toFixed(), multihash: url.slice(url.length - 46, url.length), - no: no.toFixed(), + no: no, open, passed, quorum: quorum.toFixed(), @@ -113,8 +113,8 @@ const prepareOldProposal = ( startBlock: startBlock.toNumber(), url, votingPnt, - votingPower: votingPower.toFixed(), - yes: yes.toFixed() + votingPower: votingPower, + yes: yes } } @@ -124,7 +124,6 @@ const prepareNewProposal = (_proposal, _voteData, _voteActions, _chainId, _idSta const votingPower = BigNumber(_voteData.votingPower.toString()).dividedBy(10 ** 18) const no = BigNumber(_voteData.nay.toString()).dividedBy(10 ** 18) const yes = BigNumber(_voteData.yea.toString()).dividedBy(10 ** 18) - const votingPnt = yes.plus(no) const percentageYea = yes.dividedBy(votingPnt).multipliedBy(100) const percentageNay = no.dividedBy(votingPnt).multipliedBy(100) @@ -165,7 +164,7 @@ const prepareNewProposal = (_proposal, _voteData, _voteActions, _chainId, _idSta id: _proposal.id + _idStart, minAcceptQuorum: minAcceptQuorum.toFixed(), multihash: url.slice(url.length - 46, url.length), - no: no.toFixed(), + no: no, open, passed, quorum: quorum.toFixed(), @@ -175,8 +174,8 @@ const prepareNewProposal = (_proposal, _voteData, _voteActions, _chainId, _idSta startDate: startDate.toNumber(), url, votingPnt, - votingPower: votingPower.toFixed(), - yes: yes.toFixed() + votingPower: votingPower, + yes: yes } } From eeb708d5e54b6af4550793a91b57f41f2287d1e5 Mon Sep 17 00:00:00 2001 From: eenvin Date: Tue, 12 Dec 2023 17:25:00 +0100 Subject: [PATCH 08/12] chore(version): bump version and fix vulnerabilities --- package-lock.json | 25 ++++++++++++++----------- package.json | 2 +- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index e103d5a..f654d79 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "dao-v2-ui", - "version": "0.1.0", + "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dao-v2-ui", - "version": "0.1.0", + "version": "1.0.0", "hasInstallScript": true, "dependencies": { "@rainbow-me/rainbowkit": "^0.12.18", @@ -64,9 +64,9 @@ } }, "node_modules/@adobe/css-tools": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.1.tgz", - "integrity": "sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==" + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz", + "integrity": "sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==" }, "node_modules/@ampproject/remapping": { "version": "2.2.0", @@ -7309,8 +7309,9 @@ } }, "node_modules/axios": { - "version": "1.3.4", - "license": "MIT", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -21719,9 +21720,9 @@ }, "dependencies": { "@adobe/css-tools": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.1.tgz", - "integrity": "sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==" + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz", + "integrity": "sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==" }, "@ampproject/remapping": { "version": "2.2.0", @@ -26488,7 +26489,9 @@ "version": "4.6.3" }, "axios": { - "version": "1.3.4", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", "requires": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", diff --git a/package.json b/package.json index 29ad94c..4ad4dc4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dao-v2-ui", - "version": "0.1.0", + "version": "1.0.0", "private": true, "homepage": ".", "dependencies": { From 5e311e063fdeb853fa3cfc2053b0a5bf3ff76e3a Mon Sep 17 00:00:00 2001 From: eenvin Date: Tue, 12 Dec 2023 17:25:48 +0100 Subject: [PATCH 09/12] feat(mode): support only for native mode --- src/components/App.jsx | 14 +++----------- src/components/complex/ChainModal/index.jsx | 9 ++++----- src/components/complex/Header/index.jsx | 2 +- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/src/components/App.jsx b/src/components/App.jsx index 6a44dd5..5e6e797 100644 --- a/src/components/App.jsx +++ b/src/components/App.jsx @@ -3,7 +3,7 @@ import { ThemeContext } from 'styled-components' import { createHashRouter, RouterProvider } from 'react-router-dom' import { getDefaultWallets, RainbowKitProvider } from '@rainbow-me/rainbowkit' import { configureChains, createClient, WagmiConfig, createStorage } from 'wagmi' -import { mainnet, polygon, bsc } from 'wagmi/chains' +import { polygon } from 'wagmi/chains' import { jsonRpcProvider } from '@wagmi/core/providers/jsonRpc' import { getWeb3Settings } from 'react-web3-settings' @@ -43,23 +43,15 @@ const router = createHashRouter([ const settings = getWeb3Settings() const { chains, provider } = configureChains( - [mainnet, polygon, bsc], + [polygon], [ jsonRpcProvider({ rpc: (chain) => ({ http: - chain.id === mainnet.id - ? settings.rpcEndpoints && settings.rpcEndpoints[0] !== '' - ? settings.rpcEndpoints[0] - : `https://eth-mainnet.alchemyapi.io/v2/${process.env.REACT_APP_ALCHEMY_ID}` - : chain.id === polygon.id + chain.id === polygon.id ? settings.rpcEndpoints && settings.rpcEndpoints[1] !== '' ? settings.rpcEndpoints[1] : `https://polygon-mainnet.alchemyapi.io/v2/${process.env.REACT_APP_ALCHEMY_ID}` - : chain.id === bsc.id - ? settings.rpcEndpoints && settings.rpcEndpoints[2] !== '' - ? settings.rpcEndpoints[2] - : `https://bsc-mainnet.alchemyapi.io/v2/${process.env.REACT_APP_ALCHEMY_ID}` : 'Unsupported Chain' }) }) diff --git a/src/components/complex/ChainModal/index.jsx b/src/components/complex/ChainModal/index.jsx index c48674d..bd2dca6 100644 --- a/src/components/complex/ChainModal/index.jsx +++ b/src/components/complex/ChainModal/index.jsx @@ -1,6 +1,6 @@ import { Fragment, useState, useEffect, useCallback } from 'react' import { Row, Col } from 'react-bootstrap' -import { useChainId, useSwitchNetwork, useAccount } from 'wagmi' +import { useNetwork, useSwitchNetwork, useAccount } from 'wagmi' import { polygon } from 'wagmi/chains' import styled from 'styled-components' import { FaInfoCircle } from 'react-icons/fa' @@ -49,7 +49,7 @@ const StyledFaInfoCircle = styled(FaInfoCircle)` ` const ChainModal = ({ show, onClose }) => { - const activeChainId = useChainId() + const activeNetwork = useNetwork() const { chains, error: networkError, switchNetwork } = useSwitchNetwork() const { connector: activeConnector } = useAccount() const [switchingToChain, setSwitchingToChain] = useState(false) @@ -91,7 +91,7 @@ const ChainModal = ({ show, onClose }) => {
{switchNetwork ? ( chains.map((_chain) => { - const isCurrentChain = _chain.id === activeChainId + const isCurrentChain = _chain.id === activeNetwork.chain.id const switching = _chain.id === switchingToChain return ( @@ -118,8 +118,7 @@ const ChainModal = ({ show, onClose }) => {
diff --git a/src/components/complex/Header/index.jsx b/src/components/complex/Header/index.jsx index f2202f7..0e4fd1f 100644 --- a/src/components/complex/Header/index.jsx +++ b/src/components/complex/Header/index.jsx @@ -191,7 +191,7 @@ const CustomConnectButton = () => { if (chain.unsupported) { return ( ) } From 6ac3710fe3aaf199475fd7cb26d44287d798dfe5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Jan 2024 08:34:23 +0000 Subject: [PATCH 10/12] chore(deps): bump semver and @commitlint/cli Bumps [semver](https://github.com/npm/node-semver) to 7.5.4 and updates ancestor dependency [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli). These dependencies need to be updated together. Updates `semver` from 7.3.5 to 7.5.4 - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v7.3.5...v7.5.4) Updates `@commitlint/cli` from 14.1.0 to 18.4.4 - [Release notes](https://github.com/conventional-changelog/commitlint/releases) - [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md) - [Commits](https://github.com/conventional-changelog/commitlint/commits/v18.4.4/@commitlint/cli) --- updated-dependencies: - dependency-name: semver dependency-type: indirect - dependency-name: "@commitlint/cli" dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- package-lock.json | 1355 +++++++++++++++++++++++++-------------------- package.json | 2 +- 2 files changed, 768 insertions(+), 589 deletions(-) diff --git a/package-lock.json b/package-lock.json index f654d79..cd59d63 100644 --- a/package-lock.json +++ b/package-lock.json @@ -52,7 +52,7 @@ "web-vitals": "^2.1.4" }, "devDependencies": { - "@commitlint/cli": "^14.1.0", + "@commitlint/cli": "^18.4.4", "@commitlint/config-conventional": "^14.1.0", "dotenv": "^10.0.0", "husky": "^7.0.4", @@ -1960,16 +1960,18 @@ } }, "node_modules/@commitlint/cli": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-18.4.4.tgz", + "integrity": "sha512-Ro3wIo//fV3XiV1EkdpHog6huaEyNcUAVrSmtgKqYM5g982wOWmP4FXvEDFwRMVgz878CNBvvCc33dMZ5AQJ/g==", "dev": true, - "license": "MIT", "dependencies": { - "@commitlint/format": "^14.1.0", - "@commitlint/lint": "^14.1.0", - "@commitlint/load": "^14.1.0", - "@commitlint/read": "^14.0.0", - "@commitlint/types": "^14.0.0", - "lodash": "^4.17.19", + "@commitlint/format": "^18.4.4", + "@commitlint/lint": "^18.4.4", + "@commitlint/load": "^18.4.4", + "@commitlint/read": "^18.4.4", + "@commitlint/types": "^18.4.4", + "execa": "^5.0.0", + "lodash.isfunction": "^3.0.9", "resolve-from": "5.0.0", "resolve-global": "1.0.0", "yargs": "^17.0.0" @@ -1978,7 +1980,7 @@ "commitlint": "cli.js" }, "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/config-conventional": { @@ -1992,175 +1994,275 @@ "node": ">=v12" } }, + "node_modules/@commitlint/config-validator": { + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-18.4.4.tgz", + "integrity": "sha512-/QI8KIg/h7O0Eus36fPcEcO3QPBcdXuGfZeCF5m15k0EB2bcU8s6pHNTNEa6xz9PrAefHCL+yzRJj7w20T6Mow==", + "dev": true, + "dependencies": { + "@commitlint/types": "^18.4.4", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-validator/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@commitlint/config-validator/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "node_modules/@commitlint/ensure": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-18.4.4.tgz", + "integrity": "sha512-KjD19p6julB5WrQL+Cd8p+AePwpl1XzGAjB0jnuFMKWtji9L7ucCZUKDstGjlkBZGGzH/nvdB8K+bh5K27EVUg==", "dev": true, - "license": "MIT", "dependencies": { - "@commitlint/types": "^14.0.0", - "lodash": "^4.17.19" + "@commitlint/types": "^18.4.4", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" }, "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/execute-rule": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-18.4.4.tgz", + "integrity": "sha512-a37Nd3bDQydtg9PCLLWM9ZC+GO7X5i4zJvrggJv5jBhaHsXeQ9ZWdO6ODYR+f0LxBXXNYK3geYXJrCWUCP8JEg==", "dev": true, - "license": "MIT", "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/format": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-18.4.4.tgz", + "integrity": "sha512-2v3V5hVlv0R3pe7p66IX5F7cjeVvGM5JqITRIbBCFvGHPJ/CG74rjTkAu0RBEiIhlk3eOaLjVGq3d5falPkLBA==", "dev": true, - "license": "MIT", "dependencies": { - "@commitlint/types": "^14.0.0", - "chalk": "^4.0.0" + "@commitlint/types": "^18.4.4", + "chalk": "^4.1.0" }, "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/is-ignored": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-18.4.4.tgz", + "integrity": "sha512-rXWes9owKBTjfTr6Od7YlflRg4N+ngkOH+dUZhk0qL/XQb26mHz0EgVgdixMVBac1OsohRwJaLmVHX+5F6vfmg==", "dev": true, - "license": "MIT", "dependencies": { - "@commitlint/types": "^14.0.0", - "semver": "7.3.5" + "@commitlint/types": "^18.4.4", + "semver": "7.5.4" }, "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/lint": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-18.4.4.tgz", + "integrity": "sha512-SoyQstVxMY5Z4GnFRtRzy+NWYb+yVseXgir+7BxnpB59oH05C9XztRrhDw6OnkNeXhjINTpi1HLnuY7So+CaAQ==", "dev": true, - "license": "MIT", "dependencies": { - "@commitlint/is-ignored": "^14.0.0", - "@commitlint/parse": "^14.0.0", - "@commitlint/rules": "^14.1.0", - "@commitlint/types": "^14.0.0" + "@commitlint/is-ignored": "^18.4.4", + "@commitlint/parse": "^18.4.4", + "@commitlint/rules": "^18.4.4", + "@commitlint/types": "^18.4.4" }, "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/load": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-18.4.4.tgz", + "integrity": "sha512-RaDIa9qwOw2xRJ3Jr2DBXd14rmnHJIX2XdZF4kmoF1rgsg/+7cvrExLSUNAkQUNimyjCn1b/bKX2Omm+GdY0XQ==", "dev": true, - "license": "MIT", "dependencies": { - "@commitlint/execute-rule": "^14.0.0", - "@commitlint/resolve-extends": "^14.1.0", - "@commitlint/types": "^14.0.0", - "@endemolshinegroup/cosmiconfig-typescript-loader": "^3.0.2", - "chalk": "^4.0.0", - "cosmiconfig": "^7.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0", - "typescript": "^4.4.3" + "@commitlint/config-validator": "^18.4.4", + "@commitlint/execute-rule": "^18.4.4", + "@commitlint/resolve-extends": "^18.4.4", + "@commitlint/types": "^18.4.4", + "chalk": "^4.1.0", + "cosmiconfig": "^8.3.6", + "cosmiconfig-typescript-loader": "^5.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=v12" + "node": ">=v18" + } + }, + "node_modules/@commitlint/load/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@commitlint/load/node_modules/cosmiconfig-typescript-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz", + "integrity": "sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==", + "dev": true, + "dependencies": { + "jiti": "^1.19.1" + }, + "engines": { + "node": ">=v16" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=8.2", + "typescript": ">=4" } }, "node_modules/@commitlint/message": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-18.4.4.tgz", + "integrity": "sha512-lHF95mMDYgAI1LBXveJUyg4eLaMXyOqJccCK3v55ZOEUsMPrDi8upqDjd/NmzWmESYihaOMBTAnxm+6oD1WoDQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/parse": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-18.4.4.tgz", + "integrity": "sha512-99G7dyn/OoyNWXJni0Ki0K3aJd01pEb/Im/Id6y4X7PN+kGOahjz2z/cXYYHn7xDdooqFVdiVrVLeChfgpWZ2g==", "dev": true, - "license": "MIT", "dependencies": { - "@commitlint/types": "^14.0.0", - "conventional-changelog-angular": "^5.0.11", - "conventional-commits-parser": "^3.2.2" + "@commitlint/types": "^18.4.4", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" }, "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/read": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-18.4.4.tgz", + "integrity": "sha512-r58JbWky4gAFPea/CZmvlqP9Ehbs+8gSEUqhIJOojKzTc3xlxFnZUDVPcEnnaqzQEEoV6C69VW7xuzdcBlu/FQ==", "dev": true, - "license": "MIT", "dependencies": { - "@commitlint/top-level": "^14.0.0", - "@commitlint/types": "^14.0.0", - "fs-extra": "^10.0.0", - "git-raw-commits": "^2.0.0" + "@commitlint/top-level": "^18.4.4", + "@commitlint/types": "^18.4.4", + "git-raw-commits": "^2.0.11", + "minimist": "^1.2.6" }, "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/resolve-extends": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-18.4.4.tgz", + "integrity": "sha512-RRpIHSbRnFvmGifVk21Gqazf1QF/yeP+Kkg/e3PlkegcOKd/FGOXp/Kx9cvSO2K7ucSn4GD/oBvgasFoy+NCAw==", "dev": true, - "license": "MIT", "dependencies": { + "@commitlint/config-validator": "^18.4.4", + "@commitlint/types": "^18.4.4", "import-fresh": "^3.0.0", - "lodash": "^4.17.19", + "lodash.mergewith": "^4.6.2", "resolve-from": "^5.0.0", "resolve-global": "^1.0.0" }, "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/rules": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-18.4.4.tgz", + "integrity": "sha512-6Uzlsnl/GljEI+80NWjf4ThOfR8NIsbm18IfXYuCEchlwMHSxiuYG4rHSK5DNmG/+MIo8eR5VdQ0gQyt7kWzAA==", "dev": true, - "license": "MIT", "dependencies": { - "@commitlint/ensure": "^14.1.0", - "@commitlint/message": "^14.0.0", - "@commitlint/to-lines": "^14.0.0", - "@commitlint/types": "^14.0.0", + "@commitlint/ensure": "^18.4.4", + "@commitlint/message": "^18.4.4", + "@commitlint/to-lines": "^18.4.4", + "@commitlint/types": "^18.4.4", "execa": "^5.0.0" }, "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/to-lines": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-18.4.4.tgz", + "integrity": "sha512-mwe2Roa59NCz/krniAdCygFabg7+fQCkIhXqBHw00XQ8Y7lw4poZLLxeGI3p3bLpcEOXdqIDrEGLwHmG5lBdwQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/top-level": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-18.4.4.tgz", + "integrity": "sha512-PBwW1drgeavl9CadB7IPRUk6rkUP/O8jEkxjlC+ofuh3pw0bzJdAT+Kw7M1Yc9KtTb9xTaqUB8uvRtaybHa/tQ==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^5.0.0" }, "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@commitlint/types": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-18.4.4.tgz", + "integrity": "sha512-/FykLtodD8gKs3+VNkAUwofu4LBHankclj+I8fB2jTRvG6PV7k/OUt4P+VbM7ip853qS4F0g7Z6hLNa6JeMcAQ==", "dev": true, - "license": "MIT", "dependencies": { - "chalk": "^4.0.0" + "chalk": "^4.1.0" }, "engines": { - "node": ">=v12" + "node": ">=v18" } }, "node_modules/@csstools/normalize.css": { @@ -2440,23 +2542,6 @@ "version": "0.7.5", "license": "MIT" }, - "node_modules/@endemolshinegroup/cosmiconfig-typescript-loader": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash.get": "^4", - "make-error": "^1", - "ts-node": "^9", - "tslib": "^2" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "cosmiconfig": ">=6" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "license": "MIT", @@ -4081,31 +4166,6 @@ "node": ">=14.0.0" } }, - "node_modules/@metamask/utils/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@metamask/utils/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@metamask/utils/node_modules/superstruct": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.3.tgz", @@ -4114,11 +4174,6 @@ "node": ">=14.0.0" } }, - "node_modules/@metamask/utils/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/@motionone/animation": { "version": "10.16.3", "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.16.3.tgz", @@ -5318,9 +5373,10 @@ "license": "MIT" }, "node_modules/@types/minimist": { - "version": "1.2.2", - "dev": true, - "license": "MIT" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true }, "node_modules/@types/ms": { "version": "0.7.33", @@ -5332,9 +5388,10 @@ "license": "MIT" }, "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "dev": true, - "license": "MIT" + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -5508,34 +5565,6 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/@typescript-eslint/experimental-utils": { "version": "5.57.1", "license": "MIT", @@ -5654,34 +5683,6 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/@typescript-eslint/utils": { "version": "5.57.1", "license": "MIT", @@ -5724,34 +5725,6 @@ "node": ">=4.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/@typescript-eslint/visitor-keys": { "version": "5.57.1", "license": "MIT", @@ -7182,8 +7155,9 @@ }, "node_modules/arrify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7981,8 +7955,9 @@ }, "node_modules/camelcase-keys": { "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, - "license": "MIT", "dependencies": { "camelcase": "^5.3.1", "map-obj": "^4.0.0", @@ -8435,15 +8410,15 @@ } }, "node_modules/conventional-changelog-angular": { - "version": "5.0.13", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", "dev": true, - "license": "ISC", "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" + "compare-func": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/conventional-changelog-conventionalcommits": { @@ -8460,22 +8435,21 @@ } }, "node_modules/conventional-commits-parser": { - "version": "3.2.4", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", "dev": true, - "license": "MIT", "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" }, "bin": { - "conventional-commits-parser": "cli.js" + "conventional-commits-parser": "cli.mjs" }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/convert-source-map": { @@ -8586,8 +8560,9 @@ }, "node_modules/create-require": { "version": "1.1.1", - "devOptional": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/cross-fetch": { "version": "3.1.8", @@ -8689,34 +8664,6 @@ "webpack": "^5.0.0" } }, - "node_modules/css-loader/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/css-minimizer-webpack-plugin": { "version": "3.4.1", "license": "MIT", @@ -9044,8 +8991,9 @@ }, "node_modules/dargs": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -9108,8 +9056,9 @@ }, "node_modules/decamelize-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, - "license": "MIT", "dependencies": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -9123,8 +9072,9 @@ }, "node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11274,8 +11224,9 @@ }, "node_modules/git-raw-commits": { "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", "dev": true, - "license": "MIT", "dependencies": { "dargs": "^7.0.0", "lodash": "^4.17.15", @@ -11290,6 +11241,52 @@ "node": ">=10" } }, + "node_modules/git-raw-commits/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-raw-commits/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/git-raw-commits/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/glob": { "version": "7.2.0", "license": "ISC", @@ -11342,8 +11339,9 @@ }, "node_modules/global-dirs": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", "dev": true, - "license": "MIT", "dependencies": { "ini": "^1.3.4" }, @@ -11458,8 +11456,9 @@ }, "node_modules/hard-rejection": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -11596,8 +11595,9 @@ }, "node_modules/hosted-git-info": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -11607,8 +11607,9 @@ }, "node_modules/hosted-git-info/node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -11618,8 +11619,9 @@ }, "node_modules/hosted-git-info/node_modules/yallist": { "version": "4.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/hpack.js": { "version": "2.1.6", @@ -12270,8 +12272,9 @@ }, "node_modules/is-plain-obj": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12362,14 +12365,15 @@ } }, "node_modules/is-text-path": { - "version": "1.0.1", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", "dev": true, - "license": "MIT", "dependencies": { - "text-extensions": "^1.0.0" + "text-extensions": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/is-typed-array": { @@ -14309,8 +14313,9 @@ } }, "node_modules/jiti": { - "version": "1.18.2", - "license": "MIT", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", "bin": { "jiti": "bin/jiti.js" } @@ -14777,20 +14782,39 @@ "version": "4.17.21", "license": "MIT" }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, "node_modules/lodash.debounce": { "version": "4.0.8", "license": "MIT" }, - "node_modules/lodash.get": { - "version": "4.4.2", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" }, + "node_modules/lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, "node_modules/lodash.memoize": { "version": "4.1.2", "license": "MIT" @@ -14799,14 +14823,38 @@ "version": "4.6.2", "license": "MIT" }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true + }, "node_modules/lodash.sortby": { "version": "4.7.0", "license": "MIT" }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, "node_modules/lodash.uniq": { "version": "4.5.0", "license": "MIT" }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, "node_modules/log-update": { "version": "4.0.0", "dev": true, @@ -14914,8 +14962,9 @@ }, "node_modules/make-error": { "version": "1.3.6", - "devOptional": true, - "license": "ISC" + "license": "ISC", + "optional": true, + "peer": true }, "node_modules/makeerror": { "version": "1.0.12", @@ -14926,8 +14975,9 @@ }, "node_modules/map-obj": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -14973,35 +15023,12 @@ } }, "node_modules/meow": { - "version": "8.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=10" + "node": ">=16.10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -15170,8 +15197,9 @@ }, "node_modules/minimist-options": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, - "license": "MIT", "dependencies": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", @@ -15343,8 +15371,9 @@ }, "node_modules/normalize-package-data": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^4.0.1", "is-core-module": "^2.5.0", @@ -15962,14 +15991,6 @@ "split2": "^4.0.0" } }, - "node_modules/pino-abstract-transport/node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "engines": { - "node": ">= 10.x" - } - }, "node_modules/pino-std-serializers": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", @@ -17595,8 +17616,9 @@ }, "node_modules/quick-lru": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -18148,8 +18170,9 @@ }, "node_modules/read-pkg": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, - "license": "MIT", "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^2.5.0", @@ -18162,8 +18185,9 @@ }, "node_modules/read-pkg-up": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.1.0", "read-pkg": "^5.2.0", @@ -18178,8 +18202,9 @@ }, "node_modules/read-pkg-up/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -18190,8 +18215,9 @@ }, "node_modules/read-pkg-up/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -18201,8 +18227,9 @@ }, "node_modules/read-pkg-up/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -18215,8 +18242,9 @@ }, "node_modules/read-pkg-up/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -18226,21 +18254,24 @@ }, "node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/read-pkg/node_modules/hosted-git-info": { "version": "2.8.9", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true }, "node_modules/read-pkg/node_modules/normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -18259,8 +18290,9 @@ }, "node_modules/read-pkg/node_modules/type-fest": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } @@ -18497,8 +18529,9 @@ }, "node_modules/resolve-global": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", "dev": true, - "license": "MIT", "dependencies": { "global-dirs": "^0.1.1" }, @@ -18922,8 +18955,9 @@ } }, "node_modules/semver": { - "version": "7.3.5", - "license": "ISC", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -19243,8 +19277,9 @@ }, "node_modules/spdx-correct": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -19252,22 +19287,25 @@ }, "node_modules/spdx-exceptions": { "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { - "version": "3.0.13", - "dev": true, - "license": "CC0-1.0" + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true }, "node_modules/spdy": { "version": "4.0.2", @@ -19304,11 +19342,11 @@ } }, "node_modules/split2": { - "version": "3.2.2", - "dev": true, - "license": "ISC", - "dependencies": { - "readable-stream": "^3.0.0" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "engines": { + "node": ">= 10.x" } }, "node_modules/sprintf-js": { @@ -20129,11 +20167,15 @@ "integrity": "sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==" }, "node_modules/text-extensions": { - "version": "1.9.0", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/text-table": { @@ -20175,8 +20217,9 @@ }, "node_modules/through2": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "3" } @@ -20257,8 +20300,9 @@ }, "node_modules/trim-newlines": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -20273,8 +20317,9 @@ }, "node_modules/ts-node": { "version": "9.1.1", - "devOptional": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "arg": "^4.1.0", "create-require": "^1.1.0", @@ -20298,13 +20343,15 @@ }, "node_modules/ts-node/node_modules/arg": { "version": "4.1.3", - "devOptional": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/ts-node/node_modules/diff": { "version": "4.0.2", - "devOptional": true, "license": "BSD-3-Clause", + "optional": true, + "peer": true, "engines": { "node": ">=0.3.1" } @@ -20427,6 +20474,7 @@ "node_modules/typescript": { "version": "4.9.5", "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -20701,8 +20749,9 @@ }, "node_modules/validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -21679,8 +21728,9 @@ }, "node_modules/yn": { "version": "3.1.1", - "devOptional": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=6" } @@ -22879,15 +22929,18 @@ } }, "@commitlint/cli": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-18.4.4.tgz", + "integrity": "sha512-Ro3wIo//fV3XiV1EkdpHog6huaEyNcUAVrSmtgKqYM5g982wOWmP4FXvEDFwRMVgz878CNBvvCc33dMZ5AQJ/g==", "dev": true, "requires": { - "@commitlint/format": "^14.1.0", - "@commitlint/lint": "^14.1.0", - "@commitlint/load": "^14.1.0", - "@commitlint/read": "^14.0.0", - "@commitlint/types": "^14.0.0", - "lodash": "^4.17.19", + "@commitlint/format": "^18.4.4", + "@commitlint/lint": "^18.4.4", + "@commitlint/load": "^18.4.4", + "@commitlint/read": "^18.4.4", + "@commitlint/types": "^18.4.4", + "execa": "^5.0.0", + "lodash.isfunction": "^3.0.9", "resolve-from": "5.0.0", "resolve-global": "1.0.0", "yargs": "^17.0.0" @@ -22900,119 +22953,208 @@ "conventional-changelog-conventionalcommits": "^4.3.1" } }, + "@commitlint/config-validator": { + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-18.4.4.tgz", + "integrity": "sha512-/QI8KIg/h7O0Eus36fPcEcO3QPBcdXuGfZeCF5m15k0EB2bcU8s6pHNTNEa6xz9PrAefHCL+yzRJj7w20T6Mow==", + "dev": true, + "requires": { + "@commitlint/types": "^18.4.4", + "ajv": "^8.11.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, "@commitlint/ensure": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-18.4.4.tgz", + "integrity": "sha512-KjD19p6julB5WrQL+Cd8p+AePwpl1XzGAjB0jnuFMKWtji9L7ucCZUKDstGjlkBZGGzH/nvdB8K+bh5K27EVUg==", "dev": true, "requires": { - "@commitlint/types": "^14.0.0", - "lodash": "^4.17.19" + "@commitlint/types": "^18.4.4", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" } }, "@commitlint/execute-rule": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-18.4.4.tgz", + "integrity": "sha512-a37Nd3bDQydtg9PCLLWM9ZC+GO7X5i4zJvrggJv5jBhaHsXeQ9ZWdO6ODYR+f0LxBXXNYK3geYXJrCWUCP8JEg==", "dev": true }, "@commitlint/format": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-18.4.4.tgz", + "integrity": "sha512-2v3V5hVlv0R3pe7p66IX5F7cjeVvGM5JqITRIbBCFvGHPJ/CG74rjTkAu0RBEiIhlk3eOaLjVGq3d5falPkLBA==", "dev": true, "requires": { - "@commitlint/types": "^14.0.0", - "chalk": "^4.0.0" + "@commitlint/types": "^18.4.4", + "chalk": "^4.1.0" } }, "@commitlint/is-ignored": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-18.4.4.tgz", + "integrity": "sha512-rXWes9owKBTjfTr6Od7YlflRg4N+ngkOH+dUZhk0qL/XQb26mHz0EgVgdixMVBac1OsohRwJaLmVHX+5F6vfmg==", "dev": true, "requires": { - "@commitlint/types": "^14.0.0", - "semver": "7.3.5" + "@commitlint/types": "^18.4.4", + "semver": "7.5.4" } }, "@commitlint/lint": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-18.4.4.tgz", + "integrity": "sha512-SoyQstVxMY5Z4GnFRtRzy+NWYb+yVseXgir+7BxnpB59oH05C9XztRrhDw6OnkNeXhjINTpi1HLnuY7So+CaAQ==", "dev": true, "requires": { - "@commitlint/is-ignored": "^14.0.0", - "@commitlint/parse": "^14.0.0", - "@commitlint/rules": "^14.1.0", - "@commitlint/types": "^14.0.0" + "@commitlint/is-ignored": "^18.4.4", + "@commitlint/parse": "^18.4.4", + "@commitlint/rules": "^18.4.4", + "@commitlint/types": "^18.4.4" } }, "@commitlint/load": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-18.4.4.tgz", + "integrity": "sha512-RaDIa9qwOw2xRJ3Jr2DBXd14rmnHJIX2XdZF4kmoF1rgsg/+7cvrExLSUNAkQUNimyjCn1b/bKX2Omm+GdY0XQ==", "dev": true, "requires": { - "@commitlint/execute-rule": "^14.0.0", - "@commitlint/resolve-extends": "^14.1.0", - "@commitlint/types": "^14.0.0", - "@endemolshinegroup/cosmiconfig-typescript-loader": "^3.0.2", - "chalk": "^4.0.0", - "cosmiconfig": "^7.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0", - "typescript": "^4.4.3" + "@commitlint/config-validator": "^18.4.4", + "@commitlint/execute-rule": "^18.4.4", + "@commitlint/resolve-extends": "^18.4.4", + "@commitlint/types": "^18.4.4", + "chalk": "^4.1.0", + "cosmiconfig": "^8.3.6", + "cosmiconfig-typescript-loader": "^5.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "requires": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + } + }, + "cosmiconfig-typescript-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz", + "integrity": "sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==", + "dev": true, + "requires": { + "jiti": "^1.19.1" + } + } } }, "@commitlint/message": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-18.4.4.tgz", + "integrity": "sha512-lHF95mMDYgAI1LBXveJUyg4eLaMXyOqJccCK3v55ZOEUsMPrDi8upqDjd/NmzWmESYihaOMBTAnxm+6oD1WoDQ==", "dev": true }, "@commitlint/parse": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-18.4.4.tgz", + "integrity": "sha512-99G7dyn/OoyNWXJni0Ki0K3aJd01pEb/Im/Id6y4X7PN+kGOahjz2z/cXYYHn7xDdooqFVdiVrVLeChfgpWZ2g==", "dev": true, "requires": { - "@commitlint/types": "^14.0.0", - "conventional-changelog-angular": "^5.0.11", - "conventional-commits-parser": "^3.2.2" + "@commitlint/types": "^18.4.4", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" } }, "@commitlint/read": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-18.4.4.tgz", + "integrity": "sha512-r58JbWky4gAFPea/CZmvlqP9Ehbs+8gSEUqhIJOojKzTc3xlxFnZUDVPcEnnaqzQEEoV6C69VW7xuzdcBlu/FQ==", "dev": true, "requires": { - "@commitlint/top-level": "^14.0.0", - "@commitlint/types": "^14.0.0", - "fs-extra": "^10.0.0", - "git-raw-commits": "^2.0.0" + "@commitlint/top-level": "^18.4.4", + "@commitlint/types": "^18.4.4", + "git-raw-commits": "^2.0.11", + "minimist": "^1.2.6" } }, "@commitlint/resolve-extends": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-18.4.4.tgz", + "integrity": "sha512-RRpIHSbRnFvmGifVk21Gqazf1QF/yeP+Kkg/e3PlkegcOKd/FGOXp/Kx9cvSO2K7ucSn4GD/oBvgasFoy+NCAw==", "dev": true, "requires": { + "@commitlint/config-validator": "^18.4.4", + "@commitlint/types": "^18.4.4", "import-fresh": "^3.0.0", - "lodash": "^4.17.19", + "lodash.mergewith": "^4.6.2", "resolve-from": "^5.0.0", "resolve-global": "^1.0.0" } }, "@commitlint/rules": { - "version": "14.1.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-18.4.4.tgz", + "integrity": "sha512-6Uzlsnl/GljEI+80NWjf4ThOfR8NIsbm18IfXYuCEchlwMHSxiuYG4rHSK5DNmG/+MIo8eR5VdQ0gQyt7kWzAA==", "dev": true, "requires": { - "@commitlint/ensure": "^14.1.0", - "@commitlint/message": "^14.0.0", - "@commitlint/to-lines": "^14.0.0", - "@commitlint/types": "^14.0.0", + "@commitlint/ensure": "^18.4.4", + "@commitlint/message": "^18.4.4", + "@commitlint/to-lines": "^18.4.4", + "@commitlint/types": "^18.4.4", "execa": "^5.0.0" } }, "@commitlint/to-lines": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-18.4.4.tgz", + "integrity": "sha512-mwe2Roa59NCz/krniAdCygFabg7+fQCkIhXqBHw00XQ8Y7lw4poZLLxeGI3p3bLpcEOXdqIDrEGLwHmG5lBdwQ==", "dev": true }, "@commitlint/top-level": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-18.4.4.tgz", + "integrity": "sha512-PBwW1drgeavl9CadB7IPRUk6rkUP/O8jEkxjlC+ofuh3pw0bzJdAT+Kw7M1Yc9KtTb9xTaqUB8uvRtaybHa/tQ==", "dev": true, "requires": { "find-up": "^5.0.0" } }, "@commitlint/types": { - "version": "14.0.0", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-18.4.4.tgz", + "integrity": "sha512-/FykLtodD8gKs3+VNkAUwofu4LBHankclj+I8fB2jTRvG6PV7k/OUt4P+VbM7ip853qS4F0g7Z6hLNa6JeMcAQ==", "dev": true, "requires": { - "chalk": "^4.0.0" + "chalk": "^4.1.0" } }, "@csstools/normalize.css": { @@ -23127,16 +23269,6 @@ "@emotion/unitless": { "version": "0.7.5" }, - "@endemolshinegroup/cosmiconfig-typescript-loader": { - "version": "3.0.2", - "dev": true, - "requires": { - "lodash.get": "^4", - "make-error": "^1", - "ts-node": "^9", - "tslib": "^2" - } - }, "@eslint-community/eslint-utils": { "version": "4.4.0", "requires": { @@ -24147,31 +24279,10 @@ "superstruct": "^1.0.3" }, "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, "superstruct": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.3.tgz", "integrity": "sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -25007,7 +25118,9 @@ "version": "3.0.1" }, "@types/minimist": { - "version": "1.2.2", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", "dev": true }, "@types/ms": { @@ -25019,7 +25132,9 @@ "version": "18.15.11" }, "@types/normalize-package-data": { - "version": "2.4.1", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true }, "@types/parse-json": { @@ -25151,25 +25266,6 @@ "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", "tsutils": "^3.21.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0" - } } }, "@typescript-eslint/experimental-utils": { @@ -25216,25 +25312,6 @@ "is-glob": "^4.0.3", "semver": "^7.3.7", "tsutils": "^3.21.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0" - } } }, "@typescript-eslint/utils": { @@ -25259,23 +25336,6 @@ }, "estraverse": { "version": "4.3.0" - }, - "lru-cache": { - "version": "6.0.0", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0" } } }, @@ -26415,6 +26475,8 @@ }, "arrify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true }, "asap": { @@ -26930,6 +26992,8 @@ }, "camelcase-keys": { "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, "requires": { "camelcase": "^5.3.1", @@ -27204,11 +27268,12 @@ "version": "1.0.5" }, "conventional-changelog-angular": { - "version": "5.0.13", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", "dev": true, "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" + "compare-func": "^2.0.0" } }, "conventional-changelog-conventionalcommits": { @@ -27221,15 +27286,15 @@ } }, "conventional-commits-parser": { - "version": "3.2.4", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", "dev": true, "requires": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" } }, "convert-source-map": { @@ -27306,7 +27371,8 @@ }, "create-require": { "version": "1.1.1", - "devOptional": true + "optional": true, + "peer": true }, "cross-fetch": { "version": "3.1.8", @@ -27357,25 +27423,6 @@ "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", "semver": "^7.3.8" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0" - } } }, "css-minimizer-webpack-plugin": { @@ -27572,6 +27619,8 @@ }, "dargs": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true }, "data-urls": { @@ -27609,6 +27658,8 @@ }, "decamelize-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, "requires": { "decamelize": "^1.1.0", @@ -27617,6 +27668,8 @@ "dependencies": { "map-obj": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true } } @@ -29033,6 +29086,8 @@ }, "git-raw-commits": { "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", "dev": true, "requires": { "dargs": "^7.0.0", @@ -29040,6 +29095,42 @@ "meow": "^8.0.0", "split2": "^3.0.0", "through2": "^4.0.0" + }, + "dependencies": { + "meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + } + }, + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "requires": { + "readable-stream": "^3.0.0" + } + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + } } }, "glob": { @@ -29079,6 +29170,8 @@ }, "global-dirs": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", "dev": true, "requires": { "ini": "^1.3.4" @@ -29149,6 +29242,8 @@ }, "hard-rejection": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true }, "harmony-reflect": { @@ -29231,6 +29326,8 @@ }, "hosted-git-info": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -29238,6 +29335,8 @@ "dependencies": { "lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -29245,6 +29344,8 @@ }, "yallist": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -29610,6 +29711,8 @@ }, "is-plain-obj": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true }, "is-potential-custom-element-name": { @@ -29653,10 +29756,12 @@ } }, "is-text-path": { - "version": "1.0.1", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", "dev": true, "requires": { - "text-extensions": "^1.0.0" + "text-extensions": "^2.0.0" } }, "is-typed-array": { @@ -31041,7 +31146,9 @@ } }, "jiti": { - "version": "1.18.2" + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==" }, "js-sdsl": { "version": "4.4.0" @@ -31350,30 +31457,74 @@ "lodash": { "version": "4.17.21" }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, "lodash.debounce": { "version": "4.0.8" }, - "lodash.get": { - "version": "4.4.2", - "dev": true - }, "lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" }, + "lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, "lodash.memoize": { "version": "4.1.2" }, "lodash.merge": { "version": "4.6.2" }, + "lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true + }, + "lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true + }, "lodash.sortby": { "version": "4.7.0" }, + "lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, "lodash.uniq": { "version": "4.5.0" }, + "lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, "log-update": { "version": "4.0.0", "dev": true, @@ -31446,7 +31597,8 @@ }, "make-error": { "version": "1.3.6", - "devOptional": true + "optional": true, + "peer": true }, "makeerror": { "version": "1.0.12", @@ -31456,6 +31608,8 @@ }, "map-obj": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true }, "md5.js": { @@ -31485,27 +31639,10 @@ } }, "meow": { - "version": "8.1.2", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "dependencies": { - "type-fest": { - "version": "0.18.1", - "dev": true - } - } + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "dev": true }, "merge-descriptors": { "version": "1.0.1" @@ -31596,6 +31733,8 @@ }, "minimist-options": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, "requires": { "arrify": "^1.0.1", @@ -31713,6 +31852,8 @@ }, "normalize-package-data": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, "requires": { "hosted-git-info": "^4.0.1", @@ -32082,13 +32223,6 @@ "requires": { "duplexify": "^4.1.2", "split2": "^4.0.0" - }, - "dependencies": { - "split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" - } } }, "pino-std-serializers": { @@ -32924,6 +33058,8 @@ }, "quick-lru": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true }, "raf": { @@ -33274,6 +33410,8 @@ }, "read-pkg": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "requires": { "@types/normalize-package-data": "^2.4.0", @@ -33284,10 +33422,14 @@ "dependencies": { "hosted-git-info": { "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -33304,12 +33446,16 @@ }, "type-fest": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true } } }, "read-pkg-up": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, "requires": { "find-up": "^4.1.0", @@ -33319,6 +33465,8 @@ "dependencies": { "find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -33327,6 +33475,8 @@ }, "locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -33334,6 +33484,8 @@ }, "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -33341,6 +33493,8 @@ }, "p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -33348,6 +33502,8 @@ }, "type-fest": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } @@ -33504,6 +33660,8 @@ }, "resolve-global": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", "dev": true, "requires": { "global-dirs": "^0.1.1" @@ -33737,7 +33895,9 @@ } }, "semver": { - "version": "7.3.5", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" }, @@ -33961,6 +34121,8 @@ }, "spdx-correct": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -33969,10 +34131,14 @@ }, "spdx-exceptions": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -33980,7 +34146,9 @@ } }, "spdx-license-ids": { - "version": "3.0.13", + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", "dev": true }, "spdy": { @@ -34010,11 +34178,9 @@ "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" }, "split2": { - "version": "3.2.2", - "dev": true, - "requires": { - "readable-stream": "^3.0.0" - } + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" }, "sprintf-js": { "version": "1.0.3" @@ -34534,7 +34700,9 @@ "integrity": "sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==" }, "text-extensions": { - "version": "1.9.0", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", "dev": true }, "text-table": { @@ -34568,6 +34736,8 @@ }, "through2": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, "requires": { "readable-stream": "3" @@ -34626,6 +34796,8 @@ }, "trim-newlines": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, "tryer": { @@ -34636,7 +34808,8 @@ }, "ts-node": { "version": "9.1.1", - "devOptional": true, + "optional": true, + "peer": true, "requires": { "arg": "^4.1.0", "create-require": "^1.1.0", @@ -34648,11 +34821,13 @@ "dependencies": { "arg": { "version": "4.1.3", - "devOptional": true + "optional": true, + "peer": true }, "diff": { "version": "4.0.2", - "devOptional": true + "optional": true, + "peer": true } } }, @@ -34732,7 +34907,8 @@ } }, "typescript": { - "version": "4.9.5" + "version": "4.9.5", + "peer": true }, "uint8arrays": { "version": "3.1.1", @@ -34882,6 +35058,8 @@ }, "validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -35530,7 +35708,8 @@ }, "yn": { "version": "3.1.1", - "devOptional": true + "optional": true, + "peer": true }, "yocto-queue": { "version": "0.1.0" diff --git a/package.json b/package.json index 4ad4dc4..6263bdb 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "web-vitals": "^2.1.4" }, "devDependencies": { - "@commitlint/cli": "^14.1.0", + "@commitlint/cli": "^18.4.4", "@commitlint/config-conventional": "^14.1.0", "dotenv": "^10.0.0", "husky": "^7.0.4", From 82a4392ab7190ce9b82acd9e32827d2883a2abda Mon Sep 17 00:00:00 2001 From: Alain Olivier Date: Thu, 14 Sep 2023 16:49:01 +0200 Subject: [PATCH 11/12] chore(husky): create dedicated commit message hook for commitlint --- .husky/commit-msg | 4 ++++ .husky/pre-commit | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100755 .husky/commit-msg diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100755 index 0000000..0bd658f --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx --no-install commitlint --edit "$1" diff --git a/.husky/pre-commit b/.husky/pre-commit index 3a52771..36af219 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -2,4 +2,3 @@ . "$(dirname "$0")/_/husky.sh" npx lint-staged -npx --no-install commitlint --edit "$1" \ No newline at end of file From 5386c2d142f7708675dc5a477b9f6c284b4cdddd Mon Sep 17 00:00:00 2001 From: Alain Olivier Date: Fri, 12 Jan 2024 11:30:22 +0100 Subject: [PATCH 12/12] chore(deps): bump follow-redirects --- package-lock.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index cd59d63..8685c96 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10930,14 +10930,15 @@ "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.15.2", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], - "license": "MIT", "engines": { "node": ">=4.0" }, @@ -28930,7 +28931,9 @@ "version": "3.2.7" }, "follow-redirects": { - "version": "1.15.2" + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" }, "for-each": { "version": "0.3.3",